Author name: Damian

Troszkę o wątkach

W tym wpisie opiszę w mojej subiektywnej opinii najważniejsze informacje odnośnie wątków i tematów z nimi związanymi. Wątek to taki mały proces… Często o wątkach mówi się, że są to takie małe procesy. Ale czy na pewno? Zacznijmy od tego czym jest proces. Proces – to odseparowany od innych procesów działający program: Wątek – to …

Troszkę o wątkach Czytaj dalej »

Idea bastion hosta SSH

Host typu bastion to zwykły host SSH, do którego możemy połączyć się za protokołu SSH. To co różni go od innych hostów SSH, to to, że tylko on akceptuje komunikację z zewnątrz. Warto zajrzeć 1. https://goteleport.com/blog/ssh-bastion-host/

Kategoryzacja stylów architektonicznych [Head First – Software Architecture]

Style architektoniczne można kategoryzować na wiele sposobów. Dwa z nich to:– kategoryzacja ze względu na podział– kategoryzacja ze względu na model wdrażania Kategoryzacja ze względu na podział Podział komponentów aplikacji może być podyktowany:– względami technicznymi– względami domenowymi Względy techniczne Przykładem podziału technicznego będzie:– warstwa prezentacji– warstwa serwisów– warstwa zapisu danych Względy domenowe Tutaj podział wyznaczany …

Kategoryzacja stylów architektonicznych [Head First – Software Architecture] Czytaj dalej »

Problem znaku nowej linii – czyli jak współpracować z programistami posiadającymi różne systemy operacyjne

Gdy cały zespół programistów korzysta z jednego systemu operacyjnego, wtedy współpraca jest bezproblemowa. Problemy zaczynają się gdy mamy różne systemy operacyjne w zespole. Problem ten stanowi różna reprezentacja nowej linii w systemach operacyjnych. Reprezentacja nowej linii w systemach operacyjnych System operacyjny Reprezentacja nowej linii Kod ucieczki Unix/Linux/macOS LF (Line Feed) \n Windows CRLF (Carriage Return …

Problem znaku nowej linii – czyli jak współpracować z programistami posiadającymi różne systemy operacyjne Czytaj dalej »

Tworzenie komponentów logicznych aplikacji [Head First – Software Architecture]

Tworzenie komponentów logicznych można podzielić na cztery etapy:1. Identyfikacja głównych komponentów2. Przypisywanie wymagań do komponentów3. Analiza roli i odpowiedzialności4. Analiza charakterystyk Te etapy powinny być powtarzane przy dokonywaniu znaczących zmian w projekcie. 1. Identyfikacja głównych komponentów Jest to punkt startowy – czyli mamy jakieś wymagania odnośnie aplikacji i trzeba stworzyć pierwszy szkic komponentów. Są tutaj …

Tworzenie komponentów logicznych aplikacji [Head First – Software Architecture] Czytaj dalej »

Komponenty logiczne versus fizyczna reprezentacja

W dużym skrócie – komponent logiczny jest odpowiedzialny za logikę biznesową (np. sprzedaż, przyjęcie zamówień), zaś jego reprezentacja fizyczna będzie ukazywała wszystkie serwisy z których korzysta. Komponenty logiczne Komponenty logiczne będą zatem się mapować na odpowiedzialności. Przykładowo komponent Commenting będzie odpowiedzialny za obsługę komentarzy. Komponenty logiczne a struktura projektu Najczęściej komponenty logiczne są odzwierciedlane w …

Komponenty logiczne versus fizyczna reprezentacja Czytaj dalej »

ADRy – czyli jak opisywać decyzje architektoniczne

ADRy czyli z angielskiego Architectural Decision Record to po prostu opis decyzji architektonicznej. Składa się on w podstawowej wersji z następujących sekcji:– tytułu– statusu– kontekstu– decyzji– konsekwencji Tytuł Jak to tytuł – powinien w zwięzły sposób opisywać decyzję. Ale powinien także zawierać trzy-liczbowy numer. Przykładowo: 014: Użycie grafowej bazy danych Status ADR może posiadać wiele …

ADRy – czyli jak opisywać decyzje architektoniczne Czytaj dalej »

Kolejka a Temat (Queue vs Topic)

W niniejszym wpisie rzucimy okiem na dwie idee pośredników w przesyłaniu wiadomości – kolejka i temat. Pośrednik pozwala na asynchroniczne przesyłanie wiadomości pomiędzy wysyłającym a odbiorcami. Kolejka (Queue) Kolejka – czyli dedykowane kanały dla każdego odbiorcy: Temat (Topic) Temat – czyli jedna wiadomość dla wszystkich: Plusy i minusy Kolejka Plusy Minusy Dedykowana struktura wiadomości dla …

Kolejka a Temat (Queue vs Topic) Czytaj dalej »

SQL joins

Rzućmy okiem na różne typy połączeń pomiędzy tabelami na przykładzie następujących danych: Tabela – Names Id Name 1 Alicja 2 Bogdan 3 Czarek Tabela – Age Id Age 2 30 3 25 4 45 INNER JOIN Zapytanie Wynik Id Name Age 2 Bogdan 30 3 Czarek 25 LEFT JOIN Zapytanie Wynik Id Name Age 1 …

SQL joins Czytaj dalej »

Projektowanie (design) vs. architektura (architecture) [Head First – Software Architecture]

Decyzje projektowe możemy przypisać do tych bardziej projektowych i tych bardziej związanych z architekturą. Przykładowo wybór stylu (mikro usługi czy monolit) będzie decyzją bardziej architektoniczną. Z drugiej strony zmiana pozycji przycisku w interfejsie użytkownika będzie decyzją projektową. Trochę więcej przykładów Architektura Pomiędzy Projektowanie Decyzja o użyciu bazy grafowej Wybór frameworka dla front-endu Wybór biblioteki parsującej …

Projektowanie (design) vs. architektura (architecture) [Head First – Software Architecture] Czytaj dalej »