Posty

Asp.Net Core MVC na Ubuntu 16.04

Korzystając z możliwości jaka nadarzyła mi się dostając od mojego bardzo dobrego kolegi kupon w wysokości 200 zł, na wykorzystanie na stronie e24cloud.com na dowolną technologię chmurową, postanowiłem skorzystać z okazji i postawić sobie wirtualną maszynę na Linuxie Ubuntu 16.04, a co za tym idzie przetestowanie osobiście jak działa .Net Core.

Zamierzam przedstawić krok po kroku jakie czynności musiałem wykonać aby móc 'odpalić' naszą aplikację webową napisaną w .Necie na maszynie z systemem Ubuntu. Pokażę też tutaj jak ustawić nasz serwer www w tym przypadku będzie to Nginx, tak aby nasza aplikacja była widoczna nie tylko lokalnie ale też na zewnątrz i to w dodatku hostowana na porcie 80.

Pierwszą czynnością jaką musimy zrobić to udać się na stronę Microsoftu w celu pobrania wymaganych plików do uruchomienia aplikacji napisanych w .Necie, na innej maszynie niż Windows  https://www.microsoft.com/net/core#linuxubuntu

Dla wersji Ubuntu 16.04 wydajemy kolejno polecenia widocznie pon…

CRUD - RESTful API #4

Obraz
Dziś pokażę jak zaimplementować w naszym API wszystkie CRUD'owe operacje.

Spójrzmy na chwile na to co mamy do tej pory:
CostSchema


Zacznijmy od dodanie kilku pozycji do naszej bazy danych przy użyciu Postmana. Aby to uczynić skorzystamy już z naszej gotowej metody POST, którą zaimplementowaliśmy w poprzednim poście z tej serii. Ja pozwoliłem sobie ją przenieść do pliku server.js.
POST


W Postmanie wpisujemy adres naszego API i wypełniamy niezbędne pola jak na screenie poniżej:



Czynność powtarzamy kilkakrotnie tak aby zapełnić sobie bazę danych.
GET


Metoda get pozwala nam pobrać wszystkie rekordy znajdujące się w naszej bazie danych:

Jak widać wystarczyło tylko zmienić rodzaj metody z POST na GET a adres url został ten sam.
PUT



Metoda PUT służy do updatowania danego obiektu w naszej bazie danych, jak widać w url'u występuje tutaj dodatkowy parametr :id, to właśnie po id naszego obiektu będziemy zmieniać pola w naszym obiekcie. W postmanie wybieramy odowiednia metodę i wypełniamy for…

Implementacja wykresów

Obraz
Zgodnie z zapowiedziami na temat ostrej pracy nad projektem, chciałbym zaprezentować w pełni funkcjonalne 'Pie Chartsy'. Do rysowanie wykresów użyłem biblioteki google charts, link do dokumentacji jest tutaj https://google-developers.appspot.com/chart/interactive/docs/gallery/piechart .
Tak jak widać na przestawionym zrzucie ekranu zaimplementowałem cztery różne owalne wykresy, przestawiają one puki co:  wszystkie koszty zapisane  w baziekoszty na jedzeniekoszty na różnego rodzaju eventykoszty za paliwo Wyjaśnienia wymaga tutaj na pierwszy rzut oka to, że niektóre koszty nijak pasują do ich typów, tak racja ale to nie ze względu na to, że coś jest nie tak w implementacji tylko z tego powodu, iż tak właśnie zaśmieciłem sobie testową bazę :), ale nie mogłem się już doczekać aby ogłosić kolejną funkcjonalność mojej aplikacji na moim blogu więc wybaczcie :).
Kolejnym etapem prac będzie implementacja pozostałych wykresów, będą one już przestawiać zestawienie kosztów ze względu na c…

Aplikacja MyWallet gotowa do testów

Obraz
Dziś 1 maja aplikacja MyWallet po raz pierwszy ujrzała światło dzienne, jest ona dostępna pod tym adresem https://bboczkowski.herokuapp.com/ a lada dzień będzie dostępna pod adresem http://mywallet.com.pl/ .

Minęło trochę czasu od ostatniego posta, lecz było to spowodowane koniecznością poświęcenia trochę więcej czasu na rozwój aplikacji, ponieważ od jakiegoś czasu szło to bardzo powoli.

Zdecydowałem się puki co poświęcić trochę więcej czasu na rozwój mojej aplikacji niż na samo opisywanie jej na blogu, bo przecież wszystkie etapy możecie obserwować na moim GitHubie https://github.com/kandascan/mean .

Do końca konkursu już nie wiele czasu pozostało, tak więc od dziś zaczynam ostro brać się za robotę, tak żeby chociaż z zaplanowanymi funkcjonalnościami zdążyć na czas, a są nimi miedzy innymi: wykresy, oraz lepsze zestawienie wszystkich kosztów z możliwością różnego rodzaju filtracji.

Tak więc kolejnym etapem mam nadzieję, że jeszcze w tym tygodniu będzie implementacja wykresów, a puki …

Szyfrowanie #2 - Porównanie funkcji skrótu

Obraz
Jakiś czas temu opisywałem dwa rodzaje szyfrowania dostępne na moim blogu pod tym adresem: http://bboczkowski.blogspot.com/2017/03/szyfrowanie.html , dziś chciałbym przedstawić porównanie używanych na co dzień w informatyce funkcji skrótu. Jak przystało według zarysu historycznego po kolei omówię tutaj właśnie najbardziej znane funkcję skrótu zaczynając od tych najstarszych do najnowszych.

Ogólna charakterystyka omawianych funkcji skrótu:

MD5:
Algorytm MD5 posiada następujące cechy charakterystyczne:

wykorzystuje 128b wektor IVwykonuje 64 iteracje (4 rundy po 16 kroków)daje skrót 128bteoretyczna odporność na kolizje 264 jest współcześnie uznawana za zbyt słabą



SHA: Algorytm SHA został opracowany przez NSA (National Security Agency) i przyjęty przez NIST jako standard federalny w 1993r. Wersja oryginalna SHA (SHA-0) jest zbliżona do MD4. Algorytm ten posiada następujące cechy charakterystyczne: przekształca wiadomość o długości do 264b w skrót 160bwykorzystuje 160b wektor IVwykonuje 80 ite…

Mongoose - RESTful API #3

Obraz
Dziś zobaczymy już praktyczne zastosowanie naszego API, za pomocą którego będziemy mogli już pobierać przykładowe dane z bazy Mongo.

Po pierwsze co musimy zrobić to odpalić nasz ulubiony edytor z wcześniejszym projektem, w moim przypadku dzisiaj jest to Visual Studio 2017.

Schema:
Pierwszym krokiem jaki musimy zrobić to utworzyć sobie Scheme dla naszego przykładowego obiektu w bazie danych. W tym celu tworzymy nowy plik o nazwie np. cost.js i uzupełniamy go tak jak na poniższym wycinku ekranu.




To co tutaj się znajduje to użycie frameworka moongose (oczywiście instalujemy go jeśli jeszcze tego nie zrobiliśmy przy użyciu npm), zdefiniowanie pól naszego obiektu w tym przypadu tylko dwóch nazwy i ceny, nadanie im odpowiednich typów, oraz zaimplementowanie metody getCosts do pobierania tych kosztów z bazy danych.
Modyfikujemy nasz plik server.js aby wyglądał jak na screenshotcie poniżej.



Jak widzimy ja mój plik cost.js umieściłem dodawkowo w katalogu Models dla lepszej organizacji mojego ma…

MongoDB w chmurze - RESTful API #2

Obraz
mLab jest serwisem oferującym nam hostowanie baz MongoDB w chmurze. Istnieje tam wiele planów taryfowych w zależności od serwera na którym będziemy hostować naszą kolekcję.
Dziś chciałbym przedstawić jedna z opcji, która mamy do wyboru, a mianowicie darmową bazę danych do 0.5GB na AWS.

Tworzenie nowej bazy:

Udajemy się na stronę https://mlab.com/ gdzie (zakładamy konto użytkownika jeśli jeszcze nie mamy i) logujemy się na nasze konto.
Po zalogowaniu klikamy na przycisk Create new w MongoDB Deployments




Upewniamy się, że Cloud Provider jest zaznaczony jako amazon web services.




Następnie w Planie wybieramy:




I wybieramy Sanbox darmowy plan dla naszej aplikacji.




Nadajemy nazwę dla naszej nowej bazy danych (koniecznie z małych liter), i upewniamy się ze koszt jest 0$.






Po utworzeniu naszej bazy danych, żeby móc z niej korzystać musimy także utworzyć konto użytkownika, w tym celu klikamy na nazwę naszej bazy danych i wybieramy zakładkę Users.
Dodajemy nowego użytkownika i nie zaznaczymy opcji…