Better Software Design
Better Software Design podcast. Rozmowy o projektowaniu oprogramowania, architekturze i wyzwaniach z tym związanych.
Technologia
15. O Test Smells z Olą Kunysz
2020-09-22 01:00:01
Materiały dodatkowe:
- xUnitPatterns Test Smells, lista Test Smells według Gerarda Meszarosa
- Software Unit Tests Smells, uzupełnienie listy o inne smelle i jedocześnie tool do ich wykrywania
- PIT Mutation Testing, testowanie mutacyjne w Java
- Infectionn PHP, testowanie mutacyjne w PHP
- Stryket.NET, testowanie mutacyjne w .NET
- Mutant, testowanie mutacyjne w Ruby
- Data i czas dla programistów, Michał Pipa, Boiling Frogs 2017, ciekawa prezentacja na temat "jak bardzo skomplikowany może być czas"
14. Domain Driven Design Essentials: Value Object
2020-09-15 01:00:16
Materiały dodatkowe:
- Value Object, bliki Martina Fowlera, strona, której przedstawiać raczej nie trzeba...
- Value Object, c2 wiki
- Value Object Should Be Immutable, c2 wiki
- The CHECKS Pattern Language of Information Integrity, Ward Cunningham, zestawienie 11 wzorców zarządzania spójnością informacji, gdzie opisany jest wzorzec Whole Value
13. O architekturze mikroserwisowej z Kubą Nabrdalikiem
2020-09-08 01:00:04
Materiały dodatkowe:
- Common mistakes when moving to microservices & cloud, prezentacja Kuby z Confitury 2019, same slajdy można pobrać tutaj
- Designing Event-Driven Systems: Concepts and Patterns for Streaming Services with Apache Kafka, Ben Stopford, wspomniana w rozmowie książka o projektowaniu systemów w architekturze Event-Driven
- The Influence of Organizational Structure on Software Quality: An Empirical Case Study, opracowanie case study Microsoftu od Nachiappan Nagappan, Brendan Murphy, Victor R. Basili
- The Cathedral and the Bazaar, Eric Steven Raymond, wersja Postscript eseju Erica Raymonda o projektach Open-Source z obserwacji na przykładzie m.in. jądra Linuksa
Polecam także śledzić profil Kuby na Twitterze, pojawia się tam sporo ciekawych materiałów i treści.
12. O zbieraniu i analizie wymagań z Michałem Bartyzelem
2020-09-01 01:00:11
Materiały dodatkowe:
- Blog Michała Bartyzela, sporo ciekawych tekstów dotyczących także zbierania i analizy wymagań w projektach IT, treści jest tu dużo, Michał pisze tego bloga od 12 lat
- Writing Effective Use-Cases, Alistair Cockburn
- Patterns for Effective Use Cases, Alistair Cockburn
Zainteresowanych tą tematyką polecam także grupę Michała na Facebooku IT spotyka klienta, gdzie można o inch podyskutować albo poczytać.
11. Fast Update #1
2020-08-31 01:00:24
10. O refaktoryzacji The Arkency Way z Andrzejem Krzywdą
2020-08-11 01:00:39
Materiały dodatkowe:
- Refactoring: Improving the Design of Existing Code,Martin Fowler, with Kent Beck , klasyka gatunku
- Working Effectively with Legacy Code, Michael Feathers, druga klasyka warta przeczytania i posiadania w swojej biblioteczce
- Fearless Refactoring: Rails Controllers, Andrzej Krzywda, wspomniana przez Andrzeja jego książka o refaktoryzacji Railsowych kontrolerów
- Katalog przekształceń refaktoryzacyjnych Martina Fowlera
- TrunkBasedDevelopment.com, skarbnica wiedzy jeśli chodzi o podejście Trunk Based. Można tu znaleźć zarówno przypadki użycia tej techniki, jak i przydatne wzorce, rozwiązujące typowe problemy
Nasze profile na Instagramie:
Przy okazji wizyty Andrzeja w studio nagraliśmy coś jeszcze! Zapraszam do śledzenia mojego kanału na YouTube.
9. O modelu i strukturach wielkiej skali z Kubą Pilimonem
2020-07-14 01:00:05
Materiały dodatkowe:
- Eric Evans, Domain Driven Design: Tackling Complexity In The Hearth Of Software, rozdział 16
- Zaawansowane modelowanie DDD, techniki strategiczne: konteksty i architektura zdarzeniowa, Sławek Sobótka, część 2 cyklu artykułów "Domain Driven Design krok po kroku" Sławka
Wspominaliśmy także kanały YouTube:
8. O Bounded Contextach ze Sławkiem Sobótką
2020-06-23 01:00:07
Materiały:
- Bounded Context, krótkie wprowadzenie do wzorca na Bliki Martina Fowlera
- Event Storming - od analizy do architektury, prezentacja Sławka Sobótki o wykorzystaniu EventStormingu w procesie analizy, ponad 2.5 godziny konkretnej wiedzy
- The Art of Discovering Bounded Contexts, prezentacja Nicka Tune
- The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully, Gerald M. Weinberg
- More Secrets of Consulting: The Consultant's Tool Kit, Gerald M. Weinberg
- Divergent, Emergent, Convergent Thinking - 3 Thinking Modes, procesy kreatywne i mechanika ich działania
7. O programowaniu aspektowym z Andrzejem Krzywdą
2020-06-01 01:00:08
Materiały:
- Aspect-Oriented Programming, Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier and John Irwin, pochodzący z 1997 roku i Xerox Palo Alto Research Center whitepaper opisujący podejście AOP
- Ruby and AOP: Decouple your code even more, post Marcina Grzywaczewskiego na blogu Arkency
- Programowanie aspektowe: studium empiryczne, Michał Stochmiałek, praca magisterska z 2005 z Politechniki Wrocławskiej, jak ktoś ma więcej wolnego czasu...
Biblioteki i narzędzia:
- AspectJ, implementacja AOP dla Javy
- Aspect Oriented Programming with Spring, dokumentacja opisująca możliwości wykorzystania AOP we frameworku Spring
- Go! AOP PHP, implementacja AOP dla PHP
- Flow Framework, inna implementacja dla PHP we frameworku Flow
- Aquarium, implementacja AOP dla Ruby
- Aspect-Oriented Programming on .NET Framework, implementacja na platformę .NET
Jeśli korzystacie z jakiejś innej implementacji, chętnie zaktualizuję listę o nowe pozycje.
6. O persystencji agregatów z Kubą Pilimonem
2020-05-21 08:40:51
Materiały do odcinka:
- Versioning in an Event Sourced System, Greg Young
- Prezentacja Łukasza Szydło z Boiling Frogs 2020 DDD - o jeden krok za daleko. Nie wspominaliśmy tej prezentacji w odcinku, ale zdecydowanie jest warta polecenia. Łukasz omawia w niej swoje doświadczenia z różnymi podejściami do persystencji. Nagranie z konferencji chyba jeszcze się nie ukazało...
- Patterns, Principles, and Practices of Domain-Driven Design, Scott Millett, Nick Tune, rozdział 21 "Aggregates Persistence Strategies"