W ostatnim artykule na temat entity opowiedziałem Wam czym są encje, jak je zaimplementować oraz dlaczego są pomocne. Jeśli go jeszcze nie widzieliście to przed dalszym czytaniem zachęcam Was do zapoznania się z nim. Ten artykuł jest tylko jego rozszerzeniem bazującym na Waszych sugestiach oraz pytaniach, które pojawiły się pod ostatnim postem odnośnie encji na profilu drycode na facebook’u do którego Was serdecznie zapraszam.
Jak pisać dobry kodzik? – Czyli geneza „to zależy”
W dzisiejszym artykule chciałbym Wam nieco opowiedzieć o tym jak pisać „dobry kodzik”. Część z Was pewnie spodziewa się ciekawych wzorców, praktyk oraz zasad dobrego programowania. Otóż nic bardziej mylnego! Ugryzę temat nieco z innej strony i postaram się pokazać Wam, że znajomość technicznych zagadnień nie zawsze wystarcza.
Entity – wprowadzenie do encji
Entity jest to klasa, która podobnie jak value object nie jest jedynie strukturą danych, ale zawiera w sobie zachowania oraz chroni reguły biznesowe. Udostępnia również odpowiednie metody, ktore zmieniają jej stan oraz enkapsulują logikę dbając przy tym o nasze niezmienniki.
Value Object – część druga
W ostatnim artykule na temat value object opowiedziałem Wam czym są value object’y, jak je zaimplementować oraz dlaczego w większości przypadków są lepsze od bezpośredniego używania wartości prymitywnych. Jeśli go jeszcze nie widzieliście to przed dalszym czytaniem zachęcam Was do zapoznania się z nim. Ten artykuł jest tylko jego rozszerzeniem bazującym na Waszych sugestiach oraz pytaniach.
Kompatybilność wsteczna
Kompatybilność wsteczna to temat, który jest bardzo często świadomie lub nieświadomie pomijany. Wiele osób myśli, że kompatybilność wsteczną musimy zapewnić tylko i wyłącznie w momencie kiedy udostępniamy nasze API na zewnątrz np. stosując architekturę mikroserwisową lub wystawiając publiczne API. Nic bardziej mylnego!
Value object – czyli jak nie być prymitywem
Stosowanie wartości prymitywnych nie zawsze jest dobrym rozwiązaniem. Nie rzadko powoduje to bardzo dużą ilość problemów. Na szczęście z pomocą przychodzi nam value object.
Heterogeniczność
Heterogeniczność to inaczej niejednorodność lub zróżnicowanie. Odnosząc się do programowania możemy powiedzieć, że nasza aplikacja jest heterogeniczna jeśli jej moduły różnią się od siebie.
Homogeniczność
Homogeniczność to inaczej jednorodność lub spójność. Odnosząc się do programowania możemy powiedzieć, że nasza aplikacja jest homogeniczna jeśli jej moduły wyglądają w taki sam sposób.
Moduł
Moduł jest logicznym zgrupowaniem elementów (ściśle powiązanych ze sobą funkcjonalności) odpowiadających za konkretną rzecz na przykład autoryzację.
Monolit
Monolit jest to aplikacja zaprojektowana do działania jako pojedyncza oraz niezależna jednostka. Cały system jest zaimplementowany w ramach jednej aplikacji (jednostki wdrożeniowej).
MVP
Pierwsza niedoskonała wersja naszego produktu bądź też usługi powstała w celu walidacji pomysłu.
POC
POC (Proof of concept) służy do sprawdzenia czy daną koncepcję da się wykonać, czy jest ona słuszna oraz czy będzie działać zgodnie z naszymi oczekiwaniami.
Symulacja wolnego połączenia sieciowego z wykorzystaniem narzędzi deweloperskich
Nierzadko zdarzy się, że podczas naszej pracy będziemy potrzebowali zasymulować wolniejsze połączenie sieciowe.Taka sytuacja może zaistnieć w przypadku kiedy będziemy chcieli zobaczyć jak zachowuje się nasza strona/aplikacja przy wolniejszym połączeniu sieciowym lub w...
Generowanie i używanie kluczy SSH
Klucze SSH są wykorzystywane do uwierzytelnienia komunikacji pomiędzy komputerem a serwerem lub pomiędzy dwoma serwerami.
Screenshot z wykorzystaniem narzędzi deweloperskich
Narzędzia deweloperskie posiadają szereg przydatnych komend o których istnieniu wiele osób nie ma pojęcia. Jedną z takich funkcjonalności jest możliwość wykonywania zrzutów ekranu.
Zapis obrazu dockerowego do pliku
Nie raz może zdarzyć nam się sytuacja w której w szybki sposób będziemy chcieli przesłać obraz dockerowy bez wrzucania go na https://hub.docker.com/ lub inny serwis. Jednym ze sposobów, który możemy wykorzystać w takiej sytuacji jest spakowanie obrazu dockerowego do...
Kopiowanie plików przez SSH
Komenda scp umożliwia kopiowanie plików z wykorzystaniem połączenia ssh.
Dlaczego duplikacja kodu jest dobra?
Często słyszymy, że duplikacja kodu jest czymś złym. Niektórzy wręcz posuwają się do stwierdzenia, że to antywzorzec. Ale czy na pewno tak jest?
Architektura warstwowa
Architektura warstwowa jest jednym z najbardziej znanych i najczęściej wybieranych stylów architektonicznych. Polega ona na podzieleniu aplikacji na horyzontalne warstwy.
Cztery cechy OOP – Abstrakcja, Hermetyzacja, Polimorfizm oraz Dziedziczenie
Programowanie obiektowe jest próbą przedstawienia świata rzeczywistego oraz relacji w nim zachodzących za pomocą obiektów. Abstrakcja, hermetyzacja, polimorfizm oraz dziedziczenie to cztery główne cechy, które opisują ten rodzaj programowania.
SOLID & TypeScript – Czyli droga do łatwego utrzymania i rozwijania kodu
SOLID to zbiór 5 zasad, które uczą nas jak powinniśmy tworzyć nasze funkcje i klasy, aby nasz kod był łatwy w zrozumieniu, utrzymaniu, testowaniu oraz rozwijaniu.