Better Software Design

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

Kategorie:
Technologia

Odcinki od najnowszych:

55. O Machine-Learningu i rozwiązaniach Data-Driven dla bankowości z Piotrem Gawrysiakiem
2023-03-21 01:00:00

Często uciekamy od danych i analizujemy zachowania w procesach biznesowych, a równie często to właśnie dane są podstawą do budowy zaawansowanych systemów IT. Zanim dotkniemy gwarantujących spójność agregatów, nasze operacje przechodzą przez systemy oparte o sztuczną inteligencję czy uczenie maszynowe i to właśnie tym zagadnieniom dziś się przyjrzyjmy. Zapraszam dziś na odcinek z wielu powodów dla mnie szczególny, ponieważ moim gościem jest Piotr Gawrysiak, Chief Data Scientist w mBanku i profesor Politechniki Warszawskiej, osoba o ogromnej wiedzy w tematach AI/ML, a także Process Miningu. Po 30 latach życie napisało tu piękną klamrę, bo choć dziś będziemy wspólnie rozmawiać o projektowaniu rozwiązań data-driven czy automatycznej analizie procesów biznesowych, to dawniej chłonąłem treści tworzone przez Piotra pod szyldem magazynów Bajtek i Top Secret... Piotr uchyli rąbka tajemnicy i pokaże jak kierowany przez niego zespół wspiera mBank na polu analizy danych i projektów ML. W tym odcinku rozmawiamy m.in. o: projektach opartych w ML/AI w banku, rodzajach problemów możliwych do rozwiązania z użyciem Machine Learningu, procesie tworzenia rozwiązań data-driven, wykorzystywanych technologiach i potrzebnych umiejętnościach w kwestii data-science, późniejszym wdrażaniu przygotowanych modeli i podejścia do dzielenia się danymi, process miningu i automatycznej analizy procesów, wpływie modeli typu ChatGPT-3 na pracę developerów. Zapraszam na odcinek! Materiały dodatkowe IT w mBanku , więcej rozmów z ekspertami i tematy dookoła software-house'u IT Kursy Andrew NG , kilka kursów od Andrew NG w specjalizacjach Machine Learning, MLOps i Deep Learning Process Mining Warsaw , grupa meetupowa poświęcona tematyce optymalizacji procesów z użyciem Proces Miningu Biblioteka pm4py , implementacja algorytmów Process Mining w Pythonie Odcinek powstał we współpracy z mBankiem.

Często uciekamy od danych i analizujemy zachowania w procesach biznesowych, a równie często to właśnie dane są podstawą do budowy zaawansowanych systemów IT. Zanim dotkniemy gwarantujących spójność agregatów, nasze operacje przechodzą przez systemy oparte o sztuczną inteligencję czy uczenie maszynowe i to właśnie tym zagadnieniom dziś się przyjrzyjmy.

Zapraszam dziś na odcinek z wielu powodów dla mnie szczególny, ponieważ moim gościem jest Piotr Gawrysiak, Chief Data Scientist w mBanku i profesor Politechniki Warszawskiej, osoba o ogromnej wiedzy w tematach AI/ML, a także Process Miningu. Po 30 latach życie napisało tu piękną klamrę, bo choć dziś będziemy wspólnie rozmawiać o projektowaniu rozwiązań data-driven czy automatycznej analizie procesów biznesowych, to dawniej chłonąłem treści tworzone przez Piotra pod szyldem magazynów Bajtek i Top Secret... Piotr uchyli rąbka tajemnicy i pokaże jak kierowany przez niego zespół wspiera mBank na polu analizy danych i projektów ML.

W tym odcinku rozmawiamy m.in. o:

  • projektach opartych w ML/AI w banku,
  • rodzajach problemów możliwych do rozwiązania z użyciem Machine Learningu,
  • procesie tworzenia rozwiązań data-driven,
  • wykorzystywanych technologiach i potrzebnych umiejętnościach w kwestii data-science,
  • późniejszym wdrażaniu przygotowanych modeli i podejścia do dzielenia się danymi,
  • process miningu i automatycznej analizy procesów,
  • wpływie modeli typu ChatGPT-3 na pracę developerów.

Zapraszam na odcinek!

Materiały dodatkowe

  • IT w mBanku, więcej rozmów z ekspertami i tematy dookoła software-house'u IT
  • Kursy Andrew NG, kilka kursów od Andrew NG w specjalizacjach Machine Learning, MLOps i Deep Learning
  • Process Mining Warsaw, grupa meetupowa poświęcona tematyce optymalizacji procesów z użyciem Proces Miningu
  • Biblioteka pm4py, implementacja algorytmów Process Mining w Pythonie

Odcinek powstał we współpracy z mBankiem.

54. O stosowaniu SCRUMa z Kubą Szczepanikiem i Jackiem Wieczorkiem
2023-03-07 01:00:00

Wiele tematów potrafi podnieść temperaturę rozmowy, zaczynając choćby od osławionego pytania "taby czy spacje". Ale kiedy skręcamy w rejony związane z Agile i pada słowo SCRUM, konwersacja często przechodzi na zupełnie nowy poziom. Do rozmowy na temat realiów SCRUM-a i sposobu jego stosowania zaprosiłem Kubę Szczepanika i Jacka Wieczorka, których wiele osób zna np. ze świetnego podcastu Porządny Agile. W tym odcinku rozmawiamy m.in. na temat: SCRUM Guide i jego stosowania w praktyce, codziennych porannych teatrzykach, wybierania ze SCRUM-a tylko jego elementów, czyli o tzw. SCRUM-Butach zastępowania go znacznie lepszymi i bardziej dopasowanymi technikami, kulturze organizacji i SCRUM Masterach, przypadkach, gdzie te metoda ma sens i gdzie go zupełnie nie ma... Zapraszam! Materiały dodatkowe: PorządnyAgile.pl , podcast Kuby i Jacka na tematy związane z podejściami zwinnymi Kiedy SCRUM nie jest odpowiedzią , #68 odcinek podcastu Porządny Agile rozwijający wątek o niedopasowaniu SCRUM-a do danej sytuacji Labirynty SCRUM-a , książka autorstwa Jacka Wieczorka Agile247.pl , sporo właściwej wiedzy o Agile'u, można tu znaleźć wiele artykułów obu gości Zapraszam Cię także do odwiedzenia moich innych miejsc w internecie: https://twitter.com/mariuszgil https://instagram.com/mariuszgil_dev/ https://youtube.com/c/MariuszGil

Wiele tematów potrafi podnieść temperaturę rozmowy, zaczynając choćby od osławionego pytania "taby czy spacje". Ale kiedy skręcamy w rejony związane z Agile i pada słowo SCRUM, konwersacja często przechodzi na zupełnie nowy poziom. Do rozmowy na temat realiów SCRUM-a i sposobu jego stosowania zaprosiłem Kubę Szczepanika i Jacka Wieczorka, których wiele osób zna np. ze świetnego podcastu Porządny Agile.

W tym odcinku rozmawiamy m.in. na temat:

  • SCRUM Guide i jego stosowania w praktyce,
  • codziennych porannych teatrzykach,
  • wybierania ze SCRUM-a tylko jego elementów, czyli o tzw. SCRUM-Butach
  • zastępowania go znacznie lepszymi i bardziej dopasowanymi technikami,
  • kulturze organizacji i SCRUM Masterach,
  • przypadkach, gdzie te metoda ma sens i gdzie go zupełnie nie ma...

Zapraszam!

Materiały dodatkowe:

Zapraszam Cię także do odwiedzenia moich innych miejsc w internecie:

53. O zaletach i wadach Clean Architecture z Oskarem Dudyczem
2023-02-21 01:00:00

Niezależność od frameworka, interfejsu użytkownika, bazy danych i innych systemów zewnętrznych, a także wsparcie testowalności - to podstawowe filary takich konceptów architektonicznych jak Clean / Hexagonal / Onion / Sreaming Architecture, DCI, BCE. Poszczególne podejścia różnią się w szczegółach, jednak w zbliżony sposób podchodzą do rozdzielania systemu na mniejsze, dedykowane warstwy. Z moim dzisiejszym gościem, Oskarem Dudyczem przyglądamy się dziś pierwszej pozycji tej listy i analizujemy mocne i słabe strony Clean Architecture, zaproponowanej przez Roberta C. Martina. W tym odcinku rozmawiamy m.in. o: czym jest Clean Architecture i skąd wywodzi się ta idea? stosowaniu zasad SOLID na poziomie architektury całego systemu, proponowanych w Clean Architecture zasadach i warstwach, zaletach i wadach tego rozwiązania, pewnych podobieństwach i różnicach w odniesieniu do np. Hexagonal Architecture, stosowaniu tego rodzaju architektury w kontekście projektu i zespołu. Zapraszam! Materiały dodatkowe: The Clean Architecture - wpis na blogu Roberta C. Martina (Uncle Boba), który można także znaleźć w jednym z rozdziałów książki Clean Architecture Clean Architecture - książka autorstwa Roberta C. Martina, 2017, wydawnictwo Pearson Putting SOLID into Perspective - artykuł Jeremiego Millera o stosowaniu zasad SOLID w kontekście projektowania i rozwoju architektury Powiązane z tematem artykuły na blogu Oskara: What onion has to do with Clean Code? Generic does not mean Simple How to slice the codebase effectively?

Niezależność od frameworka, interfejsu użytkownika, bazy danych i innych systemów zewnętrznych, a także wsparcie testowalności - to podstawowe filary takich konceptów architektonicznych jak Clean / Hexagonal / Onion / Sreaming Architecture, DCI, BCE. Poszczególne podejścia różnią się w szczegółach, jednak w zbliżony sposób podchodzą do rozdzielania systemu na mniejsze, dedykowane warstwy. Z moim dzisiejszym gościem, Oskarem Dudyczem przyglądamy się dziś pierwszej pozycji tej listy i analizujemy mocne i słabe strony Clean Architecture, zaproponowanej przez Roberta C. Martina.

W tym odcinku rozmawiamy m.in. o:

  • czym jest Clean Architecture i skąd wywodzi się ta idea?
  • stosowaniu zasad SOLID na poziomie architektury całego systemu,
  • proponowanych w Clean Architecture zasadach i warstwach,
  • zaletach i wadach tego rozwiązania,
  • pewnych podobieństwach i różnicach w odniesieniu do np. Hexagonal Architecture,
  • stosowaniu tego rodzaju architektury w kontekście projektu i zespołu.

Zapraszam!

Materiały dodatkowe:

  • The Clean Architecture - wpis na blogu Roberta C. Martina (Uncle Boba), który można także znaleźć w jednym z rozdziałów książki Clean Architecture
  • Clean Architecture - książka autorstwa Roberta C. Martina, 2017, wydawnictwo Pearson
  • Putting SOLID into Perspective - artykuł Jeremiego Millera o stosowaniu zasad SOLID w kontekście projektowania i rozwoju architektury

Powiązane z tematem artykuły na blogu Oskara:

52. O uprawnieniach i domenie z Bartkiem Słotą
2023-02-07 01:00:00

W trakcie implementacji systemu często stajemy przed problemem kontroli uprawnień i decydowaniu, czy pozwalamy użytkownikowi wykonać określoną operację. Ten jeden, pozornie prosty IF w kodzie jest pretekstem do dzisiejszej rozmowy z Bartkiem Słotą, na temat kontroli uprawnień w projekcie opartym o techniki Domain-Driven Design. Na konkretnym przykładzie przejdziemy proces analityczno-modelarski i rozważymy możliwe opcje, ich zalety i wady.   Materiały dodatkowe: Fragment EventStormingu, a także mapa kontekstów z przedstawionymi relacjami znajdują się na boardzie Miro: https://miro.com/app/board/uXjVPq0-LUM=/ W odcinku pojawiają się narzędzia i herystyki modelowania, o których szerzej posłuchać można we wcześniejszych odcinkach podcastu: BSD #43 O subdomenach biznesowych ze Sławkiem Sobótką BSD #37 O Context Mappingu z Bartkiem Słotą BSD #26 O perspektywach Being, Behaving, Becoming BSD #8 O Bounded Contextach ze Sławkiem Sobótka

W trakcie implementacji systemu często stajemy przed problemem kontroli uprawnień i decydowaniu, czy pozwalamy użytkownikowi wykonać określoną operację. Ten jeden, pozornie prosty IF w kodzie jest pretekstem do dzisiejszej rozmowy z Bartkiem Słotą, na temat kontroli uprawnień w projekcie opartym o techniki Domain-Driven Design.

Na konkretnym przykładzie przejdziemy proces analityczno-modelarski i rozważymy możliwe opcje, ich zalety i wady.

 

Materiały dodatkowe:

Fragment EventStormingu, a także mapa kontekstów z przedstawionymi relacjami znajdują się na boardzie Miro: https://miro.com/app/board/uXjVPq0-LUM=/

W odcinku pojawiają się narzędzia i herystyki modelowania, o których szerzej posłuchać można we wcześniejszych odcinkach podcastu:

51. O semantyce i roli reguł biznesowych z Aleksandrem Bartnikiewiczem
2023-01-24 01:00:00

O tym, że procesy biznesowe istnieją i że są ważne wiedzą wszyscy. Potrafimy o nich ogólnie mówić na poziomie abstrakcyjnym, ale też umiemy schodzić na niższe poziomy i opisywać ich działanie zdarzeniami lub BPMN-em. Natomiast o regułach często mówi się tylko na ogólnym poziomie, jeśli w ogóle, że "no jakieś tam reguły są w biznesie". Są traktowane trochę jak czarna magia, jak jakiś mityczny stwór. Trochę jak synonim "logiki biznesowej". Reguły biznesowe to jest bardzo konkretna rzecz, za którą stoi mocna teoria, własny standard (SBVR by OMG). która ma nie tylko praktyczne przełożenie na naszą pracę ale wręcz może zrewolucjonizować niektóre aspekty. Takie wprowadzenie do dzisiejszego tematu otrzymałem od mojego gościa, Aleksandra Bartnikiewicza, z którym rozmawiamy o regułach biznesowych, analizie domeny w oparciu o tę wiedzę, zapisie, semantyce i dokumentowaniu reguł. Nie będzie to odcinek poświęcony implementacji reguł w kodzie, ale uważny słuchacz znajdzie zapewne od razu odniesienia do Domain-Driven Design, chronionych agregatami niezmienników lub innych implementacjami zakazów i nakazów. W tym odcinku rozmawiamy z Aleksandrem m.in. o: - czym są, a także czym nie są reguły biznesowe i jak się mają do procesów w domenie, - odpowiednim wyrażaniu i semantyce reguł, aby poprawnie opisywały zasady działania biznesu, - podejściu Evansa vs podejście Rossa do języka biznesowego, - budowanie słowników i dokumentowaniu wiedzy na tem reguł biznesowych, - stosowaniu rulebooka w większym projekcie i zespole. Zapraszam!   Na blogu Aleksandara znaleźć można artykuł  Model pojęciowy - Diagram , który przedstawia wizualną stronę wspomnianego w odcinku przykładu. Materiały dodatkowe: Manifest Reguł Biznesowych , polska wersja manifestu Business Rules Group The Business Rules Manifesto* , angielska wersja 2.0 manifestu, listopad 2003 Business Rule Concepts : Getting to the Point of Knowledge , wspomniana książka Ronalda Rossa Business Knowledge Blueprints: Enabling Your Data to Speak the Language of the Business , kolejna warta uwagi pozycja Rossa Dla wytrwałych odnośnik do specyfikacji SBVR, Semantics Of Business Vocabulary And Business Rules .

O tym, że procesy biznesowe istnieją i że są ważne wiedzą wszyscy. Potrafimy o nich ogólnie mówić na poziomie abstrakcyjnym, ale też umiemy schodzić na niższe poziomy i opisywać ich działanie zdarzeniami lub BPMN-em. Natomiast o regułach często mówi się tylko na ogólnym poziomie, jeśli w ogóle, że "no jakieś tam reguły są w biznesie". Są traktowane trochę jak czarna magia, jak jakiś mityczny stwór. Trochę jak synonim "logiki biznesowej". Reguły biznesowe to jest bardzo konkretna rzecz, za którą stoi mocna teoria, własny standard (SBVR by OMG). która ma nie tylko praktyczne przełożenie na naszą pracę ale wręcz może zrewolucjonizować niektóre aspekty.

Takie wprowadzenie do dzisiejszego tematu otrzymałem od mojego gościa, Aleksandra Bartnikiewicza, z którym rozmawiamy o regułach biznesowych, analizie domeny w oparciu o tę wiedzę, zapisie, semantyce i dokumentowaniu reguł. Nie będzie to odcinek poświęcony implementacji reguł w kodzie, ale uważny słuchacz znajdzie zapewne od razu odniesienia do Domain-Driven Design, chronionych agregatami niezmienników lub innych implementacjami zakazów i nakazów.

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

- czym są, a także czym nie są reguły biznesowe i jak się mają do procesów w domenie,
- odpowiednim wyrażaniu i semantyce reguł, aby poprawnie opisywały zasady działania biznesu,
- podejściu Evansa vs podejście Rossa do języka biznesowego,
- budowanie słowników i dokumentowaniu wiedzy na tem reguł biznesowych,
- stosowaniu rulebooka w większym projekcie i zespole.

Zapraszam!

 

Na blogu Aleksandara znaleźć można artykuł Model pojęciowy - Diagram, który przedstawia wizualną stronę wspomnianego w odcinku przykładu.

Materiały dodatkowe:

Dla wytrwałych odnośnik do specyfikacji SBVR, Semantics Of Business Vocabulary And Business Rules.

50. O implementacji logiki biznesowej z Decider Pattern z Oskarem Dudyczem
2023-01-10 01:00:00

Materiały dodatkowe: Functional Event Sourcing Decider , źródłowy artykuł na blogu Jérémiego Chassaing na temat implementacji wzorca Decider Functional Event Sourcing , nagranie prezentacji Jérémiego z DDD Europę 2020, niestety bez obrazu z laptopa How to effectively compose your business logic , artykuł Oskara na temat kompozycji logiki z wzorcem Decider How events can help in making the state-based approach efficient , eventowe podejście do zmiany stanu systemu Writing and testing business logic in F# , kolejny artykuł z bloga Oskara na temat użycia Decidera, tym razem w F#

Materiały dodatkowe:

49. O przeprowadzeniu zmiany z Krzysztofem Rakowskim i Pawłem Rekowskim
2023-01-01 06:00:00

Materiały dodatkowe: 8-krokowy process przeprowadzenia zmiany , podsumowanie wspomnianego przez Krzysztofa frameworka Johna Kottera Technology Strategy Patterns: Architecture as Strategy , książka Ebena Hewitta Nerd Management , video podcast Krzysztofa i Pawła na tematy związane z zarządzaniem zespołami IT

Materiały dodatkowe:

48. O CUPID, alternatywie dla zasad SOLID z Piotrem Stawirejem
2022-12-27 01:00:00

Materiały dodatkowe: CUPID - the back story , pierwszy artykuł Dana Northa o kwestionowaniu zasad SOLID CUPID - for joyful coding , kontynuacja tematu na blogu Dana Northa CUPID - for joyful coding , nagranie prezentacji z konferencji NDC London 2022 Patterns of Software: Tales from the Software Community , Richard P. Gabriel

Materiały dodatkowe:

47. O nauce DDD i bi-temporalnych eventach domenowych z Andrzejem Krzywdą
2022-12-20 01:00:00

Materiały dodatkowe: Bitemporal History , wpis na blogu Martina Fowlera na temat problemu modelowania bitemporalnego As Time Goes By…, a Bi-temporal Event Sourcing story , prezentacja - Thomas Pierrain z konferencji DDD Europe 2018 4 Strategies for future events with Event Sourcing , strategie rozwiązywania problemu "zdarzeń z przyszłości" Eventsourcing Patterns: Multi-temporal Events , wpis na blogu Mathiasa Verraesa na temat rozróżniania momentu rejestracji zdarzenia i zmiany przez niego opisywanej Patterns for Decoupling in Distributed Systems: Summary Event , kolejny wpis Matthiasa na temat emisji pojedynczego eventu summary zamiast całego streamu zdarzeń Materiały od zespołu Arkency: Fixing the past and dealing with the future using bi-temporal EventSourcing , wpis Łukasza Reszke na blogu Arkency Take advantage of Turbo Streams in event handlers , wpis Piotra Jurewicza na temat aktualizacji read-modeli i UI aplikacji Speed up aggregate roots loading with snapshot events , wpis Piotra Jurewicza na temat odtwarzania stanu agregatu z użyciem snapshottingu RailsEventStore/ecommerce , repozytorium z kodem poligonu doświadczalnego aplikacji ecommerce z użyciem RailsEventStore Demo ecommerce , prosty interfejs www powyższej aplikacji

Materiały dodatkowe:

Materiały od zespołu Arkency:

46. O testowaniu mutacyjnym z Marcinem Zajączkowskim
2022-12-13 01:00:00

Materiały dodatkowe: Testowanie mutacyjne , prezentacja Marcina na temat testowania mutacyjnego z konferencji Boiling Frogs 2016 Slajdy prezentacji Jak szybkie (lub wolne) jest testowanie mutacyjne? , artykuł Marcina na temat szybkości testowania z mutantami, na przykładzie PIT i projektów FOSS Blog Marcina Twitter Marcina Przykładowe narzędzia testowania mutacyjnego: Java, PIT - https://pitest.org/ Java, Arcmutate - https://www.arcmutate.com/ .NET, Stryker.NET - https://stryker-mutator.io/ JavaScript, Stryker.JS - https://stryker-mutator.io/ PHP, Infection - https://infection.github.io/guide/ PHP 5.x (historycznie), Humbug - https://github.com/humbug/humbug Ruby, Mutant - https://github.com/mbj/mutant Python, Mutmut - https://mutmut.readthedocs.io/en/latest/ Python, Mutatest - https://mutatest.readthedocs.io/en/latest/ Python, Cosmic Ray - https://cosmic-ray.readthedocs.io/en/latest/

Materiały dodatkowe:

Przykładowe narzędzia testowania mutacyjnego:

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

Wyszukiwanie

Kategorie