90. O projektowaniu architektury multi-tenant z Michałem Giergielewiczem
Architektura systemu nie jest jedynie pochodną wymagań funkcjonalnych. Istotny wpływ ma tu także fakt, czy z system powstaje do obsługi jednej organizacji, czy też będzie z niego korzystać wiele całkowicie osobnych firm, a także w jakim stopniu poszczególni użytkownicy będą wykorzystywać dostępne zasoby. Ale to nie jedyne wyzwania, jakie pojawiają się w architekturach multi-tenant...Tematy zahaczające o infrastrukturę nie pojawiają się w Better Software Design zbyt często, jednak w przypadku tego rodzaju architektur nie sposób od tego tematu uciec. A moim gościem w tej rozmowie jest dziś Michał Giergielewicz, który na co dzień pracuje przy systemie email-marketingowym, z którego korzysta kilkaset tysięcy klientów na całym świecie.W tym odcinku wspólnie z Michałem rozmawiamy między innymi o:trudnościach w tworzeniu systemów multi-tenant, w tym bazach danych czy kolejkachmożliwych sposobach zaprojektowania infrastruktury przechowującej daneproblemach związanych z bezpieczeństwem danych i SQL Jailinguaspektach, które warto wziąć pod uwagę projektując system pod równoczesną obsługę wielu klientówpytaniach, które mogą pomóc w doborze odpowiedniej architekturyrozwiązywaniu problemów technicznych za pomocą narzędzi biznesowychWięcej na stronie tego odcinka na stronie bettersoftwaredesign.pl.
--------
1:16:30
89. O ciemnej stronie implementacji API z GraphQL z Sebastianem Rabiejem
W 2015 roku Meta, a właściwie ówczesny Facebook wydaje pierwszą wersję specyfikacji GraphQL, języka opisu zapytań do API, którego celem jest wydajne i mocno elastyczne pobieranie danych. A ten właśnie problem mocno doskwierał Facebookowi przy implementacji natywnych aplikacji mobilnych. Nadszedł rok 2024 i wiele organizacji przekonało się, że wdrożenie rozbudowanego i wydajnego GraphQL API nie jest zadaniem prostym...O GraphQL powiedziano już wiele, warto przybliżyć trochę ciemniejszych stron używania tego rozwiązania w projekcie. Dziś zapraszam na rozmowę o cieniach GraphQL-a, a moim gościem jest Sebastian Rabiej, który z tą technologią ma sporo doświadczenia produkcyjnego.W tym odcinku wspólnie z Sebastianem rozmawiamy między innymi o:raporcie Postmana i trendach w stosowaniu poszczególnych styli budowy APIczym jest GraphQL i jakie problemy rozwiązujezasadach, popularnych narzędziach i frameworkach do budowy GraphQL APIsposobach atakowania serwera GraphQLpotencjalnych problemach z wydajnością, bezpieczeństwem i wersjonowaniem takich APIbest practices i sposobach rozwiązania typowych problemów w GraphQLMateriały dodatkowe:Dokumentacja i strona domowa GraphQLDostępne wydania specyfikacji GraphQLArtykuł na blogu Meta opisujący jak to się wszystko zaczęłoZestaw zaleceń Principled GraphQLPraca Migrating to GraphQL: A Practical AssessmentWspomniany w odcinku blog post The rise and fall of GraphQL at sennderArtykuł Public versus Published Interfaces Martina Fowlera[Dokumentacja limitów GraphQL[(https://docs.github.com/en/graphql/overview/rate-limits-and-node-limits-for-the-graphql-api) w API GitHubNetflix DGS Framework do implementacji i uruchamiania usług opartych o GraphQLGraphQL Voyager, narzędzie wizualizacji schematu API w formie interkatywnego grafuGraphQL Cop, narzędzie audytu security API opartych o GraphQL
--------
1:07:40
88. O rewolucji w Angularze i frontendzie na sygnałach z Maciejem Wójcikiem prowadzi Tomasz Ducin
Frontend i jego technologie rozwijają się szybko. Tym razem na horyzoncie w świecie Angulara są Signals, które mogą dość mocno zmienić podejście do projektowania systemu.Po mocnym otwarciu serii o architekturze frontendu rozmową z Bartkiem Cytrowskim o makro-frontendzie Atlassiana, pora na temat typowo techniczny, związany jak to często w tym światku bywa, z konkretnym frameworkiem. Gościem Tomka Ducina dziś jest Maciej Wójckik, Software Engineer i Technical Leader w Cisco, a tematem rozmowy są wspomiane już sygnały.W dzisiejszej rozmowie:czym są sygnały i jaki problem rozwiązująw czym są podobne, a czym różnią się od istniejących narzędzi reaktywnych typu RxJskomponentach, zależnościach, zmianach, template'ach i wydajności systemujak sygnały wpływają na projektowanie i testowanie aplikacjiz czym wiąże się migracja aplikacji na Signals i jakie problemy mogą się pojawićMateriały dodatkowe:Oficjalna dokumentacja Angular SignalsDarmowy kurs Angular Signals autorstwa Macieja
--------
1:09:12
87. O roli CTO, budowaniu zespołu, kultury i umiejętności z Danielem Owsiańskim
Zostać CTO i móc samodzielnie podejmować wszystkie decyzje techniczne w projekcie i mieć ostateczne zdanie na każdy temat... Taka wizja przyszłości w nawet średniej wielkości organizacji często nie ma jednak zbyt wiele wspólnego z rzeczywistością. Na czym więc polega rola Chief Technology Officera i ile jest w niej realnie technologii?W wiadomościach od was, na równi z tematami o architekturę, EventStorming czy Domain-Driven Design przewijają się bardo często pytania o dalszą karierę. W jakim kierunku się rozwijać, czy wiązać dalsze plany w IT ze ścieżką stricte techniczną i zostać np. architektem, czy może całkowicie skręcić w stronę managementu i kierowania zespołem czy projektem... W tym wszystkim pytania związane z funkcją i rolą CTO padały chyba najczęściej. Tak więc temat w końcu zagościł na antenie.Dziś zapraszam Cię na rozmowę z Danielem Owsiańskim, na tematy związane właśnie z funkcją Chief Technology Officera i zarządzania technologią w firmie. Wybór gościa był jak zwykle nieprzypadkowy — Daniel pełni rolę CTO w Volt.io, gdzie mamy okazję na codzień współpracować.Jeśli chciałbyś/-abyś dołączyć do jednego z naszych projektów w Java, Go lub PHP, tutaj znajdziesz aktualne oferty pracy.Zapraszam Cię także do odwiedzenia bloga Daniela, owsianski.com, który ostatnio pojawił się w sieci.
--------
55:20
86. O DDD w legacy z wykorzystaniem Bubble i Autonomous Contexts z Marcinem Markowskim
Wiele osób chciałoby przy każdym projekcie pracować w green-fieldzie i móc wszystkie decyzje podejmować samodzielnie. Rzeczywistość jest jednak zwykle całkowicie inna, musimy żyć z odziedziczonym kodem i zaprojektowanym modelem. Taki green-field, w którym można zacząć projektować i wdrażać nowy model i techniki DDD, można jednak sobie wykroić.Wspólnie z Marcinem Markowskim rozmawiamy dziś o technikach Bubble Context, Autonomous Context i Legacy As Exposed Service Erica Evansa, dzięki którym można zacząć refaktoryzację legacy. Z mniejszym lub większym związaniem z legacy, w zależności od potrzeb i możliwości w projekcie.W dzisiejszej rozmowie:na czym polegają techniki Bubble i Autonomous Context,kiedy warto, a kiedy nie, korzystać z ich możliwości,wykorzystaniu istniejących danych w nowym modelu domenowych,ACL-backed repository, Ports & Adapters i innych przydatkach tu technikach,jakie synchronizować dane między kontekstami i jakie inne wyzwania staną prawdopodobnie na drodze ku lepszemu,współpracy w zespole przy wdrażaniu takich technik.Materiały dodatkowe:Artykuł Getting Started with DDD when surrounded by legacy systems Erica Evans, 2013
Słuchaj Better Software Design, AI CODZIENNIE - czyli co słychać w sztucznej inteligencji i wielu innych podcastów z całego świata dzięki aplikacji radio.pl