Better Software Design
Better Software Design podcast. Rozmowy o projektowaniu oprogramowania, architekturze i wyzwaniach z tym związanych.
Kategorie:
Technologia
Technologia
30. O rozwoju i utrzymaniu oprogramowania w Displate z Wojtkiem Wiktorowiczem
2022-01-18 01:00:00
Przykłady przykładami, ale jeśli trafia się tylko okazja, to warto porozmawiać o prawdziwych projektach i ich wyzwaniach. Gościem 30-stego odcinka Better Software Design jest Wojtkiem Wiktorowicz, obecnie zajmujący stanowisko Head of Engineering, który na co dzień pracuje nad rozwojem i utrzymaniem platformy Displate - globalnego marketplace’u dla artystów. Skala projektu to 1.5 miliona unikalnych prac, 40 tysięcy artystów na platformie i 5 milionów plakatów rozsianych na całym świecie i sporo ruchu w aplikacji. Za to wszystko odpowiada 40-osobowy zespół Engineeringu i to właśnie o tym zespole, jego transformacjach, zmianach podejścia do tworzenia oprogramowania będziemy rozmawiać.
Przykłady przykładami, ale jeśli trafia się tylko okazja, to warto porozmawiać o prawdziwych projektach i ich wyzwaniach. Gościem 30-stego odcinka Better Software Design jest Wojtkiem Wiktorowicz, obecnie zajmujący stanowisko Head of Engineering, który na co dzień pracuje nad rozwojem i utrzymaniem platformy Displate - globalnego marketplace’u dla artystów. Skala projektu to 1.5 miliona unikalnych prac, 40 tysięcy artystów na platformie i 5 milionów plakatów rozsianych na całym świecie i sporo ruchu w aplikacji. Za to wszystko odpowiada 40-osobowy zespół Engineeringu i to właśnie o tym zespole, jego transformacjach, zmianach podejścia do tworzenia oprogramowania będziemy rozmawiać.
29. Domain Driven Design Essentials: Domain Service
2022-01-11 01:00:00
W ramach mini-serii Domain-Driven Design Essentials rozmawialiśmy do tej pory o wzorcu Value Object. Dziś z Kubą Pilimonem rozmawiamy o kolejnym wzorcu taktycznego DDD, a konkretnie o serwisie domenowym.
A w rozmowie poruszamy dziś następujące tematy:
- czym właściwie jest Domain Service?
- jaki kod można w nim osadzić i jak to identyfikować?
- pojawi się oczywiście kilka różnych przykładów.
W ramach mini-serii Domain-Driven Design Essentials rozmawialiśmy do tej pory o wzorcu Value Object. Dziś z Kubą Pilimonem rozmawiamy o kolejnym wzorcu taktycznego DDD, a konkretnie o serwisie domenowym.
A w rozmowie poruszamy dziś następujące tematy:
- czym właściwie jest Domain Service?
- jaki kod można w nim osadzić i jak to identyfikować?
- pojawi się oczywiście kilka różnych przykładów.
28. O Event Sourcingu z Oskarem Dudyczem
2022-01-04 01:00:00
Materiały dodatkowe: https://event-driven.io/pl/ , blog Oskara - pragmatycznie o programowaniu, można tutaj znaleźć serie artykułów o Event Sourcingu, CQRS, architekturze i innych ciekawych tematach https://martendb.io , implementacja EventStore i bazy dokumentowej dla .NET z wykorzystanie PostgreSQL https://www.eventstore.com , dedykowana baza danych pod Event Sourcing https://github.com/oskardudycz/EventSourcing.NetCore , praktyczne przykłady, ćwiczenia oraz tutoriale o tym jak budować aplikacje z użyciem Event Sourcing w .NET. https://www.architecture-weekly.com , cotygodniowy zestaw materiałów i linków na temat szeroko pojętej Architektury Oprogramowania https://www.eventstore.com/blog/keep-your-streams-short-temporal-modelling-for-fast-reads-and-optimal-data-retention , artykuł Oskara o temporal modelingu i krótkich strumieniach zdarzeń
Materiały dodatkowe:
- https://event-driven.io/pl/, blog Oskara - pragmatycznie o programowaniu, można tutaj znaleźć serie artykułów o Event Sourcingu, CQRS, architekturze i innych ciekawych tematach
- https://martendb.io, implementacja EventStore i bazy dokumentowej dla .NET z wykorzystanie PostgreSQL
- https://www.eventstore.com, dedykowana baza danych pod Event Sourcing
- https://github.com/oskardudycz/EventSourcing.NetCore, praktyczne przykłady, ćwiczenia oraz tutoriale o tym jak budować aplikacje z użyciem Event Sourcing w .NET.
- https://www.architecture-weekly.com, cotygodniowy zestaw materiałów i linków na temat szeroko pojętej Architektury Oprogramowania
- https://www.eventstore.com/blog/keep-your-streams-short-temporal-modelling-for-fast-reads-and-optimal-data-retention, artykuł Oskara o temporal modelingu i krótkich strumieniach zdarzeń
27. O wszystkim i o niczym z Kubą Pilimonem
2021-12-21 01:00:00
Materiały dodatkowe: DevKuchnia #11 z Mariuszem Gilem o żywocie konsultanta DevKuchnia #12 z Bartkiem Słotą o żywocie konsultanta The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully, Gerald M. Weinberg , ciekawa pozycja o byciu konsultantem, jest w niej sporo wartych uwagi wskazówek przydatnych nie tylko konsultantom, More Secrets of Consulting: The Consultant's Tool Kit, Gerald M. Weinberg , kontynuacja poprzedniej pozycji
Materiały dodatkowe:
- DevKuchnia #11 z Mariuszem Gilem o żywocie konsultanta
- DevKuchnia #12 z Bartkiem Słotą o żywocie konsultanta
- The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully, Gerald M. Weinberg, ciekawa pozycja o byciu konsultantem, jest w niej sporo wartych uwagi wskazówek przydatnych nie tylko konsultantom,
- More Secrets of Consulting: The Consultant's Tool Kit, Gerald M. Weinberg, kontynuacja poprzedniej pozycji
26. O perspektywach Being, Behaving, Becoming
2021-06-29 01:00:00
"There are only two hard things in Computer Science: cache invalidation and naming things" - nie pierwszy raz wracam w podkaście do słów Phila Karltona, a zapewne także i nie ostatni. Gdy coś raz zostanie nazwane, zwłaszcza niefortunnie, często bardzo trudno się od tej nazwy uwolnić. Tym razem chciałbym więc zwrócić uwagę na to, co i jak możemy przeanalizować w naszym projekcie zanim zaczniemy nazywać poszczególne jego elementy i obiekty. Mowa tu oczywiście o perspektywach, dzięki którym możemy poznać jak coś wygląda, jak się zachowuje, a czasem dodatkowo czym innym się staje i kiedy. Technika wyjątkowo prosta w użyciu i jednocześnie zaskakująco skuteczna.
"There are only two hard things in Computer Science: cache invalidation and naming things" - nie pierwszy raz wracam w podkaście do słów Phila Karltona, a zapewne także i nie ostatni. Gdy coś raz zostanie nazwane, zwłaszcza niefortunnie, często bardzo trudno się od tej nazwy uwolnić. Tym razem chciałbym więc zwrócić uwagę na to, co i jak możemy przeanalizować w naszym projekcie zanim zaczniemy nazywać poszczególne jego elementy i obiekty. Mowa tu oczywiście o perspektywach, dzięki którym możemy poznać jak coś wygląda, jak się zachowuje, a czasem dodatkowo czym innym się staje i kiedy. Technika wyjątkowo prosta w użyciu i jednocześnie zaskakująco skuteczna.
25. O modelu i modelowaniu ze Sławkiem Sobótką
2021-06-15 01:00:00
Materiały dodatkowe: Model jest wszystkim czego potrzebujesz , prezentacja z konferencji Confitura 2013 DevKuchnia , czyli piątkowe spotkania w symulatorze kuchni
Materiały dodatkowe:
- Model jest wszystkim czego potrzebujesz, prezentacja z konferencji Confitura 2013
- DevKuchnia, czyli piątkowe spotkania w symulatorze kuchni
24. O Aggregates By Example, analiza procesu wypożyczenia ze Sławkiem Sobótką
2021-01-12 01:00:00
Powraca temat analizy przykładowego agregatu i Aggregates By Example, tym razem moim gościem jest jednak Sławek Sobótka i wspólnie rozkładamy na czynniki pierwsze proces wypożyczenia książki z biblioteki. Oczywiście jest to tylko pretekst do tego, aby porozmawiać o samym procesie projektowania agregatu, możliwych jego wersjach i związanych z tym konsekwencjach.
W tym odcinku rozmawiamy m.in. o:
- agregatach zbyt dużych, gdzie granica spójności jest zdecydowanie zbyt obszerna
- agregatach zbyt małych, nie potrafiących utrzymać systemu w spójności
- możliwych agregatach pozwalających zachować spójność reguł biznesowych
- bounded contextach
Powraca temat analizy przykładowego agregatu i Aggregates By Example, tym razem moim gościem jest jednak Sławek Sobótka i wspólnie rozkładamy na czynniki pierwsze proces wypożyczenia książki z biblioteki. Oczywiście jest to tylko pretekst do tego, aby porozmawiać o samym procesie projektowania agregatu, możliwych jego wersjach i związanych z tym konsekwencjach.
W tym odcinku rozmawiamy m.in. o:
- agregatach zbyt dużych, gdzie granica spójności jest zdecydowanie zbyt obszerna
- agregatach zbyt małych, nie potrafiących utrzymać systemu w spójności
- możliwych agregatach pozwalających zachować spójność reguł biznesowych
- bounded contextach
23. O 4 poziomach zdarzeń
2020-12-22 01:00:00
Podczas sesji Big Picture EventStorming bardzo często generowanych jest wiele zdarzeń, które podczas kolejnych kroków stormingu są kolejno eliminowane. W tym odcinku przyjrzymy się 4 rodzajom zdarzeń, czym różnią się od siebie zdarzenia środowiskowe, interfejsowe, domenowe i infrastrukturalne i do czego ten podział można wykorzystać podczas pierwszych warsztatów rozpoznawania domeny.
Podczas sesji Big Picture EventStorming bardzo często generowanych jest wiele zdarzeń, które podczas kolejnych kroków stormingu są kolejno eliminowane. W tym odcinku przyjrzymy się 4 rodzajom zdarzeń, czym różnią się od siebie zdarzenia środowiskowe, interfejsowe, domenowe i infrastrukturalne i do czego ten podział można wykorzystać podczas pierwszych warsztatów rozpoznawania domeny.
22. O Aggregates By Example, kontynuacja analizy agregatu
2020-11-24 01:00:00
Materiały dodatkowe: BSD #2, O Aggregates By Example, analiza procesu rezerwacji z Kubą Pilimonem , odcinek podcastu, w którym razem z Kubą analizujemy kilka propozycji agregatów Repozytorium Aggregates By Example , repozytorium z przykładami implementacji różnych agregatów O odkrywaniu granic - heurystyki ważnych decyzji, Kuba Pilimon , prezentacja z naszego wspólnego eventu z Piątkami na Produkcji, w której Kuba przedstawia heurystyki znajdowania granic w systemach
Materiały dodatkowe:
- BSD #2, O Aggregates By Example, analiza procesu rezerwacji z Kubą Pilimonem, odcinek podcastu, w którym razem z Kubą analizujemy kilka propozycji agregatów
- Repozytorium Aggregates By Example, repozytorium z przykładami implementacji różnych agregatów
- O odkrywaniu granic - heurystyki ważnych decyzji, Kuba Pilimon, prezentacja z naszego wspólnego eventu z Piątkami na Produkcji, w której Kuba przedstawia heurystyki znajdowania granic w systemach
21. O refaktoryzacji legacy z Andrzejem Krzywdą i Robertem Pankowieckim
2020-11-10 01:00:00
Materiały dodatkowe: The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It , Michael E. Gerber Object-oriented metrics by Robert Martin , ciekawe przedstawienie 5 metryk OO Uncle Boba odnośnie couplingu i pochodnych wartości
Materiały dodatkowe:
- The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It, Michael E. Gerber
- Object-oriented metrics by Robert Martin, ciekawe przedstawienie 5 metryk OO Uncle Boba odnośnie couplingu i pochodnych wartości