Better Software Design

Better Software Design podcast. Rozmowy o projektowaniu oprogramowania, architekturze i wyzwaniach z tym związanych.

Kategorie:
Technologia

Odcinki od najnowszych:

70. O Testcontainers, piramidzie testów i jakości życia z Piotrem Przybyłem
2023-09-26 01:00:00

Każdy kod zostanie przetestowany, wcześniej bądź później. Pozostają jedynie pytania na jakim etapie i przez kogo zostanie to wykonane i jaki będzie tego ostateczny koszt. Gdy aplikacja staje się złożona i tworzy ją wiele różnych komponentów, proces testowania może zacząć przysparzać pewnych trudności, choćby z odwzorowaniem odpowiedniego środowiska uruchomienia testów. I tu przychodzi z pomocą biblioteka Testcontainers. Testcontainers to framework pozwalający testować aplikację w oparciu o kontenery Dockera z prawdziwymi zależnościami systemu. I choć pozornie brzmi to banalnie, narzędzie to oferuje szereg bardzo praktycznych i przydatnych rozwiązań, znacznie upraszczających cały proces testowania integracyjnego. Moim gościem jest dziś Piotr Przybył, Software Gardener z wieloletnim doświadczeniem programistycznym, który o praktycznym wykorzystaniu Testcontainers w projektach wie naprawdę sporo. W tym odcinku rozmawiamy z Piotrem między innymi o: częstych problemach z testowaniem kodu i jego jednostkach, możliwych podejściach do organizacji testów w piramidy, odwrócone piramidy, plastry miodu... zasadzie działania biblioteki Testcontainers i jej kluczowych konceptach, różnicach pomiędzy Testcontainers a innymi sposobami uruchamiania usług podczas testów, synchronizacji kodu testów opartych o Testcontainers z infrastrukturą produkcyjną. Zapraszam! Materiały dodatkowe: Testcontainers Getting Started , dokumentacja omawianej w odcinku biblioteki Katalog modułów , dostępne gotowe kontenery z prekonfigurowanymi usługami Testcontainers Workshop , repozytorium na Githubie z przykładowym kodem krok-po-kroku Integration tests are needed and simple , prezentacja Piotra o testach integracyjnych z użyciem TC z konferencji Devoxx UK 2023 Testcontainers: needed, simple, powerful , dłuższa, niemal 3 godzinna prezentacja z Devoxx z Belgii Wpisy o Testcontainers , blog Piotra o oprogramowaniu, nie tylko o testowaniu

Każdy kod zostanie przetestowany, wcześniej bądź później. Pozostają jedynie pytania na jakim etapie i przez kogo zostanie to wykonane i jaki będzie tego ostateczny koszt. Gdy aplikacja staje się złożona i tworzy ją wiele różnych komponentów, proces testowania może zacząć przysparzać pewnych trudności, choćby z odwzorowaniem odpowiedniego środowiska uruchomienia testów. I tu przychodzi z pomocą biblioteka Testcontainers.

Testcontainers to framework pozwalający testować aplikację w oparciu o kontenery Dockera z prawdziwymi zależnościami systemu. I choć pozornie brzmi to banalnie, narzędzie to oferuje szereg bardzo praktycznych i przydatnych rozwiązań, znacznie upraszczających cały proces testowania integracyjnego.

Moim gościem jest dziś Piotr Przybył, Software Gardener z wieloletnim doświadczeniem programistycznym, który o praktycznym wykorzystaniu Testcontainers w projektach wie naprawdę sporo.

W tym odcinku rozmawiamy z Piotrem między innymi o:

  • częstych problemach z testowaniem kodu i jego jednostkach,
  • możliwych podejściach do organizacji testów w piramidy, odwrócone piramidy, plastry miodu...
  • zasadzie działania biblioteki Testcontainers i jej kluczowych konceptach,
  • różnicach pomiędzy Testcontainers a innymi sposobami uruchamiania usług podczas testów,
  • synchronizacji kodu testów opartych o Testcontainers z infrastrukturą produkcyjną.

Zapraszam!

Materiały dodatkowe:

69. O wydajności systemu, optymalizacjach i trade-offach z Tomaszem Lelkiem
2023-09-12 01:00:00

Czy nieczytelny, trudno nierozszerzalny i na dodatek zduplikowany kod może być dobry? Co więcej, nawet pożądany? Tak, jeśli w projekcie istotne są zupełnie inne drivery, np. w postaci oczekiwanej dużej wydajności systemu. Wówczas poświęcenie pewnych cech kodu na cześć innych wydaje się mieć dużo sensu. Dziś zapraszam na rozmowę z Tomaszem Lelkiem, współautorem wydanej w ubiegłym roku w wydawnictwiem Manning książki "Software Mistakes and Tradeoffs: How to make good programming decisions". A rozmawiać będziemy właśnie o świadomym podejmowaniu decyzji, zwłaszcza w kontekście wydajności i optymalizacji systemu. Nie od dziś przecież wiadomo, że zbyt wczesna optymalizacja jest źródłem całego zła. Niestety wykonana zbyt późno też źródłem wszystkich kosztów... Dzięki uprzejmości wydawnictwa Manning mam 2 kody uprawniające do darmowego pobrania książki Tomka "Software Mistakes and Tradeoffs: How to make good programming decisions" w formie ebooka. Zapraszam więc do podzielenia się historiami o optymalizacjach waszych systemów. Kody te trafią do dwóch osób, których zgłoszenia zostały wybrane przeze mnie jako najciekawsze i najbardziej pouczające dla Ciebie i/lub zespołu. Termin przesyłania zgłoszeń mija z końcem 30 września 2023 roku, nadsyłać je można z użyciem formularza dostępnego na stronie https://forms.gle/o2rVAQHmwZuyP7y66

Czy nieczytelny, trudno nierozszerzalny i na dodatek zduplikowany kod może być dobry? Co więcej, nawet pożądany? Tak, jeśli w projekcie istotne są zupełnie inne drivery, np. w postaci oczekiwanej dużej wydajności systemu. Wówczas poświęcenie pewnych cech kodu na cześć innych wydaje się mieć dużo sensu.

Dziś zapraszam na rozmowę z Tomaszem Lelkiem, współautorem wydanej w ubiegłym roku w wydawnictwiem Manning książki "Software Mistakes and Tradeoffs: How to make good programming decisions". A rozmawiać będziemy właśnie o świadomym podejmowaniu decyzji, zwłaszcza w kontekście wydajności i optymalizacji systemu. Nie od dziś przecież wiadomo, że zbyt wczesna optymalizacja jest źródłem całego zła. Niestety wykonana zbyt późno też źródłem wszystkich kosztów...

Dzięki uprzejmości wydawnictwa Manning mam 2 kody uprawniające do darmowego pobrania książki Tomka "Software Mistakes and Tradeoffs: How to make good programming decisions" w formie ebooka. Zapraszam więc do podzielenia się historiami o optymalizacjach waszych systemów. Kody te trafią do dwóch osób, których zgłoszenia zostały wybrane przeze mnie jako najciekawsze i najbardziej pouczające dla Ciebie i/lub zespołu.

Termin przesyłania zgłoszeń mija z końcem 30 września 2023 roku, nadsyłać je można z użyciem formularza dostępnego na stronie https://forms.gle/o2rVAQHmwZuyP7y66

68. O rozwoju domeny generycznej w modelu open-source z Łukaszem Chruścielem
2023-08-29 01:00:00

Temat tworzenia oprogramowania pod konkretne potrzeby biznesowe, we współpracy z ekspertami domenowymi pojawiał się wielokrotnie w podkaście. Ale jak tworzyć oprogramowanie w modelu open-source, które będzie wykorzystywane przez innych developerów i gdzie pojedynczy ekspert domenowy nie istnieje, bo trzeba dbać o wielu różnych klientów? Jak tworzyć oprogramowanie rozszerzane następnie przez innych developerów, jakie techniki stosować, dlaczego to co w innym projekcie byłoby bad-practice tu może być dobrym rozwiązaniem - m.in. o tym będziemy rozmawiać dziś z Łukaszem Chruścielem. Łukasz od wielu lat pracuje w core-teamie open-source'owego frameworka e-commerce Sylius, a dodatkowo miliony pobrań poszczególnych pakietów tego kodu i wiele dużych wdrożeń w projektach będzie tu ciekawą perspektywą. Zapraszam! Materiały dodatkowe: Sylius Github , repozytorium projektu Profil Łukasza na Twitterze Rozterki i decyzje. Czego się nauczyliśmy projektując API Syliusa , prezentacja Łukasza z konferencji Boiling Frogs 2023, przy okazji której mogliśmy się spotkać i porozmawiać

Temat tworzenia oprogramowania pod konkretne potrzeby biznesowe, we współpracy z ekspertami domenowymi pojawiał się wielokrotnie w podkaście. Ale jak tworzyć oprogramowanie w modelu open-source, które będzie wykorzystywane przez innych developerów i gdzie pojedynczy ekspert domenowy nie istnieje, bo trzeba dbać o wielu różnych klientów?

Jak tworzyć oprogramowanie rozszerzane następnie przez innych developerów, jakie techniki stosować, dlaczego to co w innym projekcie byłoby bad-practice tu może być dobrym rozwiązaniem - m.in. o tym będziemy rozmawiać dziś z Łukaszem Chruścielem. Łukasz od wielu lat pracuje w core-teamie open-source'owego frameworka e-commerce Sylius, a dodatkowo miliony pobrań poszczególnych pakietów tego kodu i wiele dużych wdrożeń w projektach będzie tu ciekawą perspektywą.

Zapraszam!

Materiały dodatkowe:

67. O danych prywatnych w architekturach zdarzeniowych z Oskarem Dudyczem
2023-08-15 01:00:00

Eventy świetnie pozwalają rozdzielać duże systemy na mniejsze części i i przenosić między nimi dane. Każda usługa może wówczas je przetwarzać w oparciu o własną logikę biznesową. Problem w tym, że propagacja danych w systemie jest dość prosta, ale ich usunięcie już niekoniecznie... O tym, w jaki sposób możemy rozwiązywać problem przetwarzania danych prywatnych rozmawiam dziś z Oskarem Dudyczem. I choć skupiamy się przede wszystkim na architekturach zdarzeniowych, to w zasadzie wszystkie omawiane techniki można bez problemu zastosować również w innych systemach. W tym odcinku razem z Oskarem rozmawiamy m.in. o: prywatności niektórych danych, usuwaniu danych vs utracie możliwości ich dalszego przetwarzania, strategiach "zapominania" o danych prywatnych w architekturach eventowych, czym jest i jak działa crypto-shredding, tombstoning czy scavenging, GDPR i o tym, o czym zwykle mało pamięta się w projekcie... Materiały dodatkowe: How to deal with privacy and GDPR in Event-Sourced systems , prezentacja Oskara na omawiany w odcinku temat z konferencji Devoxx Greece Scalable User Privacy: Crypto Shredding at Spotify , prezentacja Brama Leendersa na temat przetwarzania danych prywatnych w Spotify GDPR - General Data Protection Regulation , zestaw regulacji na temat prywatności i ochrony danych prywatnych Tombstoning i scavening w EventStoreDB , fragment dokumentacji na temat sposobów usuwania zdarzeń

Eventy świetnie pozwalają rozdzielać duże systemy na mniejsze części i i przenosić między nimi dane. Każda usługa może wówczas je przetwarzać w oparciu o własną logikę biznesową. Problem w tym, że propagacja danych w systemie jest dość prosta, ale ich usunięcie już niekoniecznie...

O tym, w jaki sposób możemy rozwiązywać problem przetwarzania danych prywatnych rozmawiam dziś z Oskarem Dudyczem. I choć skupiamy się przede wszystkim na architekturach zdarzeniowych, to w zasadzie wszystkie omawiane techniki można bez problemu zastosować również w innych systemach.

W tym odcinku razem z Oskarem rozmawiamy m.in. o:

  • prywatności niektórych danych,
  • usuwaniu danych vs utracie możliwości ich dalszego przetwarzania,
  • strategiach "zapominania" o danych prywatnych w architekturach eventowych,
  • czym jest i jak działa crypto-shredding, tombstoning czy scavenging,
  • GDPR i o tym, o czym zwykle mało pamięta się w projekcie...

Materiały dodatkowe:

66. O Fitness Functions w architekturze ewolucyjnej z Sebastianem Buczyńskim
2023-08-01 01:00:00

"Architekci muszę bez przerwy oceniać cechy architektury, aby upewnić się, że ciągle zapewniają one jakość i nie stają się antywzorcami..." Ten cytat z książki "Building Evolutionary Architectures: Support Constant Change" autorstwa Neala Forda, Rebeki Parsons i Patricka Kua dotyczy jednego z fundamentów architektury ewolucyjnej, czyli tzw. funkcji dopasowania - Fitness Functions. Funkcje te pozwalają konkretnie ocenić dopasowanie architektury oprogramowania względem postawionych wymagań i podejmować świadome decyzje odnośnie wprowadzania zmian. Czym są wspominane tu funkcje, jak można je definiować i weryfikować, a także czym jest architektura ewolucyjna, o tym rozmawiamy z moim dzisiejszym gościem, Sebastianem Buczyńskim. Zapraszam! Materiały dodatkowe: Building Evolutionary Architectures: Support Constant Change , Neal Ford, Rebecca Parsons, Patrick Kua, 2017 Building Evolutionary Architectures , prezentacja Rebeki Parsons, Neala Forda i Jamesa Lewisa z konferencji GOTO 2023 Evolutionary Software Architectures , prezentacja Neala Forda z Voxxed Days Evolutionary Architecture from an Organizational Perspective , artykuł jednego z gości Better Software Design, Radka Maziarki na temat dopasowania architektury do przedsiębiorstwa

"Architekci muszę bez przerwy oceniać cechy architektury, aby upewnić się, że ciągle zapewniają one jakość i nie stają się antywzorcami..." Ten cytat z książki "Building Evolutionary Architectures: Support Constant Change" autorstwa Neala Forda, Rebeki Parsons i Patricka Kua dotyczy jednego z fundamentów architektury ewolucyjnej, czyli tzw. funkcji dopasowania - Fitness Functions.

Funkcje te pozwalają konkretnie ocenić dopasowanie architektury oprogramowania względem postawionych wymagań i podejmować świadome decyzje odnośnie wprowadzania zmian. Czym są wspominane tu funkcje, jak można je definiować i weryfikować, a także czym jest architektura ewolucyjna, o tym rozmawiamy z moim dzisiejszym gościem, Sebastianem Buczyńskim.

Zapraszam!

Materiały dodatkowe:

65. LIVE PHPers Summit 2023
2023-07-18 01:00:00

Konferencja PHPers Summit 2023 była świetną okazją do tego, aby zrobić coś zupełnie inaczej w podkaście. Mikrofony i reszta sprzętu wylądowała w jednej z hal Międzynarodowych Targów Poznańskich, na scenie zasiedli obok mnie Michał Giergielewicz i Grzegorz Korba z trójmiejskiego GetResponse, a na sali pojawiło się kilkaset zainteresowanych rozmową osób. Summit i 10-lecie community były świetną okazją do tego, aby to właśnie słuchacze napisali scenariusz tej rozmowy. Pojawiały się pytania z sali i na chacie, a zaplanowane na sam koniec konferencji 45 minut nagrania przeciągnęło się do 1.5 godziny, za co wszystkim tam zebranym jeszcze raz dziękuję! Zapraszam!

Konferencja PHPers Summit 2023 była świetną okazją do tego, aby zrobić coś zupełnie inaczej w podkaście. Mikrofony i reszta sprzętu wylądowała w jednej z hal Międzynarodowych Targów Poznańskich, na scenie zasiedli obok mnie Michał Giergielewicz i Grzegorz Korba z trójmiejskiego GetResponse, a na sali pojawiło się kilkaset zainteresowanych rozmową osób.

Summit i 10-lecie community były świetną okazją do tego, aby to właśnie słuchacze napisali scenariusz tej rozmowy. Pojawiały się pytania z sali i na chacie, a zaplanowane na sam koniec konferencji 45 minut nagrania przeciągnęło się do 1.5 godziny, za co wszystkim tam zebranym jeszcze raz dziękuję!

Zapraszam!

64. O architekturze hexagonalnej, portach i adapterach z Kubą Nabrdalikiem
2023-07-04 01:00:00

Idea zaproponowanej przez Alistaira Cockburna architektury heksagonalnej ma już prawie 20 lat. Ale jak krótko i rzeczowo opisać założenia Hexagonal Architecture, czy też Ports & Adapters? I jak to przekłada się na kod systemu? Każdy koncept można bardzo mocno i niepotrzebnie skomplikować. Nawet tak prosty w swojej istocie jak Porty i Adaptery. Dziś z moim gościem, Kubą Nabrdalikiem, wracamy do korzeni z 2005 roku i staramy się wyłuskać esencję tego wzorca architektonicznego. A jeśli przy drugim mikrofonie gości Kuba, to wiadomo, że będzie do bólu pragmatycznie i prosto w z mostu... W dzisiejszym odcinku: czym jest architektura heksagonalna, czym są porty i adaptery, skąd w ogóle wywodzi się ten koncept i jak ma się do dzisiejszych czasów, jakie typowe błędy można popełnić stosując ten wzorzec w kodzie, nie zabrakło oczywiście przykładów z życia i produkcji... Materiały dodatkowe: hexagonalarchitecture.org , homepage na temat Ports & Adapters Hexagonal architecture , nowsza wersja oryginalnego wpisu Alistaira Cockburna na temat architektury heksagonalnej z 2005 roku Hexagonal architecture @ wiki c2 , wpis na blogu Warda Cunninghama SmallerWebHexagon , wspominane w odcinku repo pokazujące bazową ideę Hentai , repozytorium Kuby Nabrdalika pokazujące użycie hexagona z modularyzacją i innymi technikami

Idea zaproponowanej przez Alistaira Cockburna architektury heksagonalnej ma już prawie 20 lat. Ale jak krótko i rzeczowo opisać założenia Hexagonal Architecture, czy też Ports & Adapters? I jak to przekłada się na kod systemu?

Każdy koncept można bardzo mocno i niepotrzebnie skomplikować. Nawet tak prosty w swojej istocie jak Porty i Adaptery. Dziś z moim gościem, Kubą Nabrdalikiem, wracamy do korzeni z 2005 roku i staramy się wyłuskać esencję tego wzorca architektonicznego. A jeśli przy drugim mikrofonie gości Kuba, to wiadomo, że będzie do bólu pragmatycznie i prosto w z mostu...

W dzisiejszym odcinku:

  • czym jest architektura heksagonalna,
  • czym są porty i adaptery,
  • skąd w ogóle wywodzi się ten koncept i jak ma się do dzisiejszych czasów,
  • jakie typowe błędy można popełnić stosując ten wzorzec w kodzie,
  • nie zabrakło oczywiście przykładów z życia i produkcji...

Materiały dodatkowe:

63. O modułach w DDD i organizacji kodu aplikacji biznesowej z Marcinem Markowskim
2023-06-20 01:00:00

Subdomena czy bounded-context może być odkryta lub zamodelowana z użyciem heurystyk, które pojawiły się już kilkukrotnie we wcześniejszych rozmowach. Ale jak te koncepty mapują się na kod naszego systemu? Gdzie i jak zobaczymy w IDE ich istnienie i zakres? Odpowiedzią na te pytania mogą być opisane przez Erica Evansa moduły, zwane także pakietami. Dziś ponownie moim gościem jest Marcin Markowski, a nasza rozmowa będzie dotyczyć wspomnianych już modułów. Będzie i teoretycznie i praktycznie, z obowiązkowym przykładem. W dzisiejszym odcinku rozmawiamy z Marcinem m.in. o: decyzjach wpływających na kształt subdomen biznesowych i bounded contextów, modułach i ich roli w projekcie, organizacji kodu i struktury aplikacji w pakiety. Materiały dodatkowe: Tacking Complexity in the Heart of Software , Eric Evans, rozdział poświęcony modułom, Modules in DDD , artykuł podsumowujący wspomniany powyżej rozdział, DDD Starter DotNet , przykład organizacji kodu w repozytorium Marcina, Modular Monolith with DDD , przykład organizacji kodu w repozytorium Kamila Grzybka, Modularization of domain models , darmowy rozdział książki Functional and Reactive Domain Modeling,

Subdomena czy bounded-context może być odkryta lub zamodelowana z użyciem heurystyk, które pojawiły się już kilkukrotnie we wcześniejszych rozmowach. Ale jak te koncepty mapują się na kod naszego systemu? Gdzie i jak zobaczymy w IDE ich istnienie i zakres? Odpowiedzią na te pytania mogą być opisane przez Erica Evansa moduły, zwane także pakietami.

Dziś ponownie moim gościem jest Marcin Markowski, a nasza rozmowa będzie dotyczyć wspomnianych już modułów. Będzie i teoretycznie i praktycznie, z obowiązkowym przykładem.

W dzisiejszym odcinku rozmawiamy z Marcinem m.in. o:

  • decyzjach wpływających na kształt subdomen biznesowych i bounded contextów,
  • modułach i ich roli w projekcie,
  • organizacji kodu i struktury aplikacji w pakiety.

Materiały dodatkowe:

62. O siedmiu dev-grzechach głównych kariery w IT z Wojtkiem Ptakiem
2023-06-06 01:00:00

Kod często można zmienić relatywnie łatwo. Jednak zupełnie inaczej jest z własnymi nawykami czy podejściem. Dziś na czynniki pierwsze rozkładamy kilka typowych "dev-grzeszków", które z perspektywy osób odpowiedzialnych za całe piony IT mogą przeszkadzać w karierze. Ponieważ technologia to niestety nie wszystko... Moim gościem jest dziś ponownie Wojtek Ptak, Executive Engineering Director oraz Head of Development w Revolut Business. A jakich tematów dotkniemy podczas rozmowy? Choćby tego, że błędem jest nieposiadanie planu. Nasza kariera nie musi się "wydarzać" i podążać od przypadku do przypadku. Ten proces może być znacznie bardziej świadomy, wsparty różnymi ćwiczeniami i działaniami. Jakimi dokładnie? Polecam posłuchać mojego gościa. Materiały dodatkowe: Developer Community Keynote: The thing about burnout , Principles , Ray Dalio, 2017 To Sell is Human: The Surprising Truth About Moving Others , Daniel H. Pink, 2012 The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully , Gerald M. Weinberg, Virginia Satir, 1985 - klasyka gatunku, wielokrotnie wspominana w poprzednich odcinkach Odcinek ukazuje się przy okazji 3 edycji szkolenia Legacy Fighter . Jeśli chcesz nauczyć się tworzyć nowy kod ściśle dopasowany do wymagań biznesowych, odporny na erozję, a także skutecznie naprawiać już istniejące legacy tymi samymi technikami, zapraszam! Cały kod jest dostępny w kilku technologiach jest dostępny na GitHubie .

Kod często można zmienić relatywnie łatwo. Jednak zupełnie inaczej jest z własnymi nawykami czy podejściem. Dziś na czynniki pierwsze rozkładamy kilka typowych "dev-grzeszków", które z perspektywy osób odpowiedzialnych za całe piony IT mogą przeszkadzać w karierze. Ponieważ technologia to niestety nie wszystko...

Moim gościem jest dziś ponownie Wojtek Ptak, Executive Engineering Director oraz Head of Development w Revolut Business. A jakich tematów dotkniemy podczas rozmowy? Choćby tego, że błędem jest nieposiadanie planu. Nasza kariera nie musi się "wydarzać" i podążać od przypadku do przypadku. Ten proces może być znacznie bardziej świadomy, wsparty różnymi ćwiczeniami i działaniami. Jakimi dokładnie? Polecam posłuchać mojego gościa.

Materiały dodatkowe:

Odcinek ukazuje się przy okazji 3 edycji szkolenia Legacy Fighter. Jeśli chcesz nauczyć się tworzyć nowy kod ściśle dopasowany do wymagań biznesowych, odporny na erozję, a także skutecznie naprawiać już istniejące legacy tymi samymi technikami, zapraszam!

Cały kod jest dostępny w kilku technologiach jest dostępny na GitHubie.

61. O dostarczaniu kodu na produkcję z użyciem Feature Toggles z Mateuszem Kwaśniewskim
2023-05-30 01:00:00

Do dziś pamiętam pierwsze wydanie pewnego projektu... 30 sekund po zakończeniu procedury rozdzwoniły się telefony i jasne już było, że choć wdrożenie może i się udało, to wydanie już niekoniecznie. Jakiś czas później sterowaliśmy zmianami w zachowaniu kodu na produkcji bez konieczności jego aktualizacji, już całkowicie bezstresowo. Jedną z zastosowanych tam technik były Feature Toggles i właśnie na ten temat rozmawiamy z moim dzisiejszym gościem, Mateuszem Kwaśniewskim. Ponieważ jeśli na ten temat z kimś rozmawiać, to najlepiej z osobą, która pracuje przy jednym z najbardziej znanych systemów do zarządzania flagami w kodzie. W tym odcinku rozmawiamy z Mateuszem m.in. o: rozdzielaniu wdrożeń od wydań projektu, różnego rodzajach Feature Toggle'ach i ich przeznaczeniu, sposobach i miejscach osadzania toggli w kodzie, dobrych i złych praktykach stosowania tej techniki w projekcie, testowaniu kodu wyposażonego we flagi. Zapraszam! Materiały dodatkowe: Feature Toggles a.k.a Feature Flags , świetny artykuł Pete Hodgsona na temat różnego rodzaju toggli, ich przeznaczenia i cykli życia The most expensive bug in history... , poruszona już w podkaście historia firmy Knights Capital, zakończona m.in. błędnym wykorzystaniem feature flagi Feature Toggles - Why and How to Add to Your Software , 2-godzinny tutorial na temat stosowania toggli z użyciem Unleasha Unleash Quickstart , skrócona wersja tutoriala FeatureFlags.pl , małe kompendium wiedzy na temat Feature Flags i podejścia Trunk Based Development

Do dziś pamiętam pierwsze wydanie pewnego projektu... 30 sekund po zakończeniu procedury rozdzwoniły się telefony i jasne już było, że choć wdrożenie może i się udało, to wydanie już niekoniecznie. Jakiś czas później sterowaliśmy zmianami w zachowaniu kodu na produkcji bez konieczności jego aktualizacji, już całkowicie bezstresowo.

Jedną z zastosowanych tam technik były Feature Toggles i właśnie na ten temat rozmawiamy z moim dzisiejszym gościem, Mateuszem Kwaśniewskim. Ponieważ jeśli na ten temat z kimś rozmawiać, to najlepiej z osobą, która pracuje przy jednym z najbardziej znanych systemów do zarządzania flagami w kodzie.

W tym odcinku rozmawiamy z Mateuszem m.in. o:

  • rozdzielaniu wdrożeń od wydań projektu,
  • różnego rodzajach Feature Toggle'ach i ich przeznaczeniu,
  • sposobach i miejscach osadzania toggli w kodzie,
  • dobrych i złych praktykach stosowania tej techniki w projekcie,
  • testowaniu kodu wyposażonego we flagi.

Zapraszam!

Materiały dodatkowe:

Informacja dotycząca prawa autorskich: Wszelka prezentowana tu zawartość podkastu jest własnością jego autora

Wyszukiwanie

Kategorie