Kończąc czytać książkę "Czysta Architektura" Wujka Boba, natknęłam się na rozdział poświęcony organizacji elementów aplikacji. Przedstawił on 4 przykłady różnych architektur tego samego systemu. Zacznijmy od pierwszego typu architektury na przykładzie mojej aplikacji BoardGamesNook. Pakowanie w warstwy - 3 warstwy Tak pokrótce wygląda schemat architektury w mojej aplikacji. Mamy kontroler BoardGameController, który używa interfejsu IBoardGameService.… Czytaj dalej Architektura projektu – 4 typy
Kategoria: BoardGamesNook
Zmiana historii: rebase w GitBashu
W ostatnim wpisie opisywałam, jak używać komendy merge do łączenia zmian. Dzisiaj czas na kolejną komendę - rebase. Początek historii będzie taki sam, jak poprzednio. Dwóch autorów (autor1, autor2) pracuje na dwóch osobnych branchach (branch1, branch2). Każdy z nich wprowadza zmiany w tym samym pliku UserController. Autor1: zmiany na branch1 Zmiany na tym branchu polegały… Czytaj dalej Zmiana historii: rebase w GitBashu
Merge w GitBashu
Załóżmy, że mamy jakiś branch master_xmpl, który jest głównym branchem naszego projektu. Wyobraźmy sobie, że 2 osoby w tym samym czasie pracują nad różnymi funkcjonalnościami. Każda z nich utworzyła swój branch za pomocą komendy checkout z parametrem b. git checkout -b branch1 Dla przykładu będą to branch1 dla osoby autor1 i branch2 dla osoby autor2. Autor1: zmiany… Czytaj dalej Merge w GitBashu
Rebase interaktywny w GitBashu
Jeszcze parę lat temu, gdyby ktoś mi powiedział, że mam zrobić jakikolwiek rebase, to uciekłabym daleko. Wszelkie akcje w GitBashu napawały mnie przerażeniem. Tylko jedna komenda była dla mnie w miarę bezpieczna: git status Czemu? Ponieważ nie mogła niczego popsuć. Pokazywała tylko listę wprowadzonych zmian na aktualnym branchu. Jednak wraz z upływem czasu GitBash stał się moim… Czytaj dalej Rebase interaktywny w GitBashu
FluentValidation – cz. 3 testy i nullowalna properta
Kończąc zbiór wpisów (część 1, część 2) dotyczących FluentValidation czas na napisanie testów. Przykładowa klasa walidatora Dla przypomnienia, tak wygląda klasa BoardGameValidator: Jako dobrzy programiści, już na wstępie, zaraz przed zdefiniowaniem takiego walidatora, powinniśmy utworzyć testy sprawdzające jego poprawność. Ważne, żeby sprawdzić, czy dla każdego sprawdzanego warunku walidator zwraca prawidłowy status (informację o błędzie lub… Czytaj dalej FluentValidation – cz. 3 testy i nullowalna properta
FluentValidation – cz. 2 wzorzec fabryki
W poprzednim wpisie pokazałam prosty (i przy okazji brzydki) sposób na użycie pakietu FluentValidation do walidacji danych po stronie serwera. Dzisiaj czas na refactoring. Integracja Zacznę od tego, że nie muszę tworzyć za każdym razem w kontrolerze nowej instancji walidatora. Mogę skonfigurować specjalną fabrykę walidatora (wzorzec fabryki). Jak by to miało wyglądać? Wystarczy, że dodam… Czytaj dalej FluentValidation – cz. 2 wzorzec fabryki
FluentValidation – cz. 1 proste użycie
Przykładowy widok dodawania nowego stołu do gry wygląda nastepująco: Jak widać, ustawiam w formularzu sporo parametrów. Załóżmy, że chcę ustalić regułę: parametr Miasto musi się składać z minimum 3 znaków i mogą to być tylko litery i spacje. Skorzystam więc z paczki FluentValidation dostępnej przez nugeta. Pełną dokumentację można znaleźć pod linkiem. Przykład walidatora Klasa walidatora GameTableValidator.cs… Czytaj dalej FluentValidation – cz. 1 proste użycie
Deploy z wykorzystaniem Github Pages
Ostatnio przy okazji robienia kursu z Angulara na Udemy, natknęłam się na ciekawe rozwiązanie - deployment aplikacji z GitHub na Github Pages. Nie działa to dla każdego rodzaju aplikacji - można wrzucać tylko pliki HTML, CSS oraz Javascript. Jest to więc idealne rozwiązanie do zdeployowania aplikacji napisanej w Angularze (TypeScript kompiluje się do Javascriptu). Tworzenie… Czytaj dalej Deploy z wykorzystaniem Github Pages
Angular 5 – HttpClient
Przy okazji aktualizacji Angulara do wersji 5, zobaczyłam, że są dostępne nowe, zaktualizowane pakiety. Na początek skupiłam się na HttpClientModule, czyli ulepszonej wesji HttpModule. Poniżej przedstawiam rezultaty zmiany modułu http, czyli po kolei sposób aktualizacji serwisów i komponentów. Aktualizacja serwisów Stara wersja serwisu: Nowa wersja serwisu: Aktualizacja komponentów Stara wersja komponentu: Nowa wersja komponentu: Główne różnice… Czytaj dalej Angular 5 – HttpClient
Najgorszy miesiąc = najlepszy miesiąc?
Ostatni miesiąc spędziłam w domu. Zupełnie uziemiona przez 4 tygodnie. Żadnej pracy, treningów, spotkań na mieście i tym podobnych rzeczy. Myślałam, że to będzie najgorszy miesiąc. Ale doszłam do wniosku, że mogę sprawić, że będzie on najlepszym miesiącem! Plan Postanowiłam sobie, że przez ten czas nie będę się obijać. Bo przecież nawet leżąc na kanapie… Czytaj dalej Najgorszy miesiąc = najlepszy miesiąc?