Ostatnie Patoszkolenie w tym roku👇
➡️ 04.06.2024 Architektura 101
Patoarchitekci Short #32 - ostatni przed przerwą wakacyjną! Tym razem więcej o regulacjach odnośnie machine learningu, etyce w AI, dalej o AWS Cedar, GPT-4, row-level security, i nie tylko!
Słuchasz Patoarchitektów dzięki Protopii. Sprawdź, jak Patoarchitekci i Protopia mogą Ci pomóc ➡️ protopia.tech
Linki i ciekawe znaleziska:
Łukasz Kałużny: Cześć, słuchacie Patoarchitektów. Prowadzą Łukasz Kałużny: Szymon Warda: i Szymon Warda. Wszystkie linki do tego odcinka znajdziecie na patoarchitekci.io/81.
Łukasz Kałużny: Dobra, i co? Ostatni odcinek sezonu? Bo chyba trzeba na początek to powiedzieć.
Szymon Warda: Tak. A od nowego sezonu będzie parę zmian i będzie parę fajnych rzeczy, będzie dochodziło, także będzie ruszało i nowy sezon rusza kiedy? Od września.
Łukasz Kałużny: Od września, tak. Czyli robimy sobie przerwę wakacyjną. Dzięki za cały rok słuchania, bo sami jesteśmy w szoku, że udało się tak regularnie i tyle tego nagrać.
Szymon Warda: Ja zakładałem, że się nie uda.
Łukasz Kałużny: Ja też, ale poszło. Dobra, Szymonie, no to ostatni short w tym sezonie. Robimy przegląd. Co na dzisiaj?
Szymon Warda: Co na dzisiaj? Zaczniemy trochę od rzeczy, które mnie ucieszyły i to też trochę są nawiązaniem do tego de facto, co omówiliśmy kilka, kilkadziesiąt odcinków temu. AWS Cedar, czyli język do wdrażania polityk. Fajne rzeczy się wokół tego wydarzyły. Po pierwsze to jest to, że AWS to zopensourceował, co jest bardzo miłe, ale drugi element to jest to, że permit.io opublikował serwer http, który właśnie zwraca i jest w stanie te polityki cedarowe obliczać. No może tak wróćmy się na chwilę, generalnie - czym jest w ogóle Cedar? Cedar jest językiem do wyrażenia polityk airbagowych tak naprawdę, których tam AWS używa u siebie. Z verified permissions i verified access, no nie. Dzięki temu zamiast po prostu wyklikiwać te polityki, albo jakkolwiek je zapisywać, w formie właśnie jakiegoś tam JSONa, to wyrażamy je w formie właściwie takich funkcji. Można powiedzieć. Dość wygląda to podobnie… Oczywiście do czego? Do JavaScriptu. Fajny i dość potężny mechanizm. Wygląda to mega sensownie. Mi się osobiście podoba cała idea wyniesienia polityk, wyniesienia dostępów poza kod aplikacyjny, bo polityki często są reimplementowane w kółko i tak naprawdę w każdym systemie je implementujemy i to jest, to są niebagatelne koszty i co więcej bardzo ryzykowne koszty, bo jak tam się walniemy, to no, to nie jest raczej przyjemne.
Łukasz Kałużny: Raczej, ja uważam… ilość błędów, które się pojawiają w tym, to jest w tych, w uprawnieniach, tam uwierzytelnienie walić, ale model autoryzacji robi problemy. Czyli wyszło nam na to, że mamy troszeczkę alternatywę dla Opy, patrząc się po tym ruchu.
Szymon Warda: I Zanzibara. Dokładnie, dokładnie tak. Więc jestem ciekaw, co z tego wyjdzie, bo wydaje mi się, że może to się ogólnie rozwinąć.
Łukasz Kałużny: Na razie z paczkami jest tylko obsługa Rusta i Javy. Tak wiesz, jako silniki, chociaż nie pamiętam. OPA też chyba jakoś aż tak szeroko nie leciała. No ale jest jakaś całość układanki. Widać, że ten trend idzie. Idzie sobie tak powoli, żeby mieć serwer autoryzacji z jednym typem opisu języka.
Szymon Warda: Cokolwiek co zrobimy, co wywali de facto uprawnienia poza aplikację, a co więcej na poziomie korporacyjnym będzie fajna opcja, bo de facto będziemy mieli ten sam model uprawnień potencjalnie dla wielu, wielu systemów. To będzie po prostu marzenie.
Łukasz Kałużny: Inaczej - przy dobrej dokumentacji API.
Szymon Warda: Tak, to jeszcze będzie dokumentacja, ale.
Łukasz Kałużny: Tak, wiesz co… Jedna rzecz, która mi teraz przeszła przez głowę. Jak powiedziałem te API - to, że tak nie do końca, bo Row-Level Security już w tym nie zaimplementujesz aż tak dobrze.
Szymon Warda: Zaimplementujesz - ale będzie niewyobrażalnie wolne.
Łukasz Kałużny: Tak. W sensie jest tutaj coś… Z tej autoryzacji będzie musiało zostać po stronie kodu. Nie przeskoczymy tego.
Szymon Warda: Masz rację, ale to będzie takie po prostu, będziemy powoli, powoli będziemy odłamywali te kawałki, które muszą być w aplikacji, chociażby same UI-e, same rzeczy, które możemy… Dopiąć do dokumentów de facto, to da radę jeszcze zrobić, czy są uprawnienia tak naprawdę. I na pewno to jest wcześniej to, że dobry model uprawnień zaimplementowany, to musi być elastyczne. Przez to jest cholernie trudne do zrobienia tak naprawdę, tego na UI nie wyklikamy a tu mamy proste funkcje do napisania, więc ma to sens. Zobaczymy jak to się dalej rozwinie. Na pewno będę to obserwował. No. A co Łukaszu masz teraz Ty?
Łukasz Kałużny: Dobra, ja teraz troszeczkę o GPT Czwórce. Tak pokrótce. Jak wiadomo, technologie długo jako tajne się nie utrzymają i zawsze coś wypłynie. I wygląda na to, że OpenAI użyło techniki sklejania wielu modeli, która została gdzieś przedstawiona w 2021 roku. To jest tzw. Mixture of Express Model i pierwszy raz to w researchowych papierach pokazało Google w 2021 roku. Czyli wielkość tego modelu może oznaczać, że mamy dobrze zrobione wejście i ileś tam modelów pod spodem tych LLM i innego typu, które są spięte w jedną dużą całość. I to jest taka ciekawostka, że wygląda na to, że te GPT-4 nie było od tej trójki aż tak dużym przeskokiem jak się wszystkim wydawało.
Szymon Warda: Było przeskokiem jeżeli chodzi o rozmiar, ale fakt, że dość szybko wyszło - znaczy to wiadomo, że tam wcześniej było developowane. No wskazuje na to, że tak rozwinęli to, ale nie oszukujmy się, de facto, no bo to… Rozwijając model w ten sposób, żeby jakby chcieli zrobić z tego jeden wielki monolit, to koszty uczenia i koszty wszystkiego dookoła i czasowe to przede wszystkim - byłyby naprawdę duże, więc rozbicie tego na mniejsze modele i połączenie… sensowny ruch.
Łukasz Kałużny: Możliwość tak, raczej jest to… Rozumiem ideę, po co. Sensowny, dokładnie sensowny ruch.
Szymon Warda: Ale artykuł, który linkujesz też jest fajny, tłumaczyć co, gdzie, jak, po co i dlaczego, także…
Łukasz Kałużny: I ja tutaj teraz to skróciłem de facto, że właśnie do tej starej techniki, a całość jest de facto tutaj bardziej dokładnie wytłumaczona w dłuższy sposób z linkami w tym docelowym artykule i pokazuje troszeczkę całość. Trzeba brać pod uwagę, że jest to… Też to są plotki, ale patrząc się na to wyglądają na bardzo, bardzo realne z całej tej perspektywy.
Szymon Warda: No dobra.
Łukasz Kałużny: Dobra, co u Ciebie teraz.
Szymon Warda: Jako nadworny regulator tego podcastu? Nie wiem czemu wychodzi tak zawsze, że ja mówię o regulacjach i przepisach prawnych, no ale tak wychodzi. Więc trochę… Od jakiegoś czasu mówiliśmy o tym, właśnie że czekamy tak na regulacje, co się wydarzy wokół całego AIa, w cudzysłowie, że tak powiem. No i się wydarzyło, bo Unia Europejska zebrała się i spisała regulacje, propozycje odnośnie regulacji, tak naprawdę. I powiem tak - o ile to jest reklamowane jako AI, nie są to regulacje AI na pewno, tak nie można sklasyfikować, ale podejście wydaje mi się, że bardzo sensowne. Ale też poszli gdzieniegdzie po bandzie. Co się dzieje? Cała regulacja ma bazować na bazie ryzyka. Tak naprawdę które systemy są ryzykowne i na czym się skupiają? Przede wszystkim na tym, że jest ban na identyfikację biometryczną, jeżeli nie ma nakazów sądowych, no nie. Czyli konkretnie mówiąc bardzo prosto to jest identyfikacja, jeżeli chodzi o twarz, o inne rzeczy biometryczne, no nie. Czyli w czasie rzeczywistym po prostu kamera nie będzie mogła Cię identyfikować, ale też, co więcej jest rzeczy ciekawych jest na identyfikację i na zbieranie danych o Tobie ze stron internetowych, z całych social media i zbudowanie Twojego profilu na bazie rzeczy, które normalnie wrzucasz w internet.
Szymon Warda: To co załóżmy robiło Clearview AI. To jest fajny sobie serwisik, który jest w Stanach Zjednoczonych, który umożliwia policji i w ogóle wielu tego typu instytucjom na identyfikację Ciebie, nawet jeżeli nie mają Ciebie w aktach. Wrzucasz zdjęcie i na bazie powiedzmy całych danych facebookowych i tak dalej namierzają Twoje dane, adres zamieszkania itd. Więc trochę przerażające, ale w sumie wcale nie takie trudne. Oni mieli tam jeszcze problemy z tym, że Facebook ich zaskarżył, bo oni by się scrapowali z Facebooka. No dużo ciekawych rzeczy, więc to jest zabanowane. Rzecz kolejna ciekawa, która została zbanowana. Tak zwany predictive policing, czyli to co mieliśmy w minority report, czyli identyfikację, generalnie, gdzie więcej policji na bazie lokalizacji, poprzednich zachowań kryminalnych na bazie jakiegośtam profilowania, żeby bardziej celować w pewne grupy społeczne, pewne rejony i tak dalej. Na bazie właśnie danych, tak naprawdę właśnie przewidywanych, na bazie danych zbieranych od społeczności itd. To oczywiście idzie w ruch starający się przewidzieć albo starać się zaadresować to, co się dzieje w Stanach mianowicie jak mamy predictive policing tak naprawdę cały, gdzie po prostu pewne społeczności są bardziej, bardziej nacelowane przez policję, no i to jest takie samonapędzające się koło.
Szymon Warda: Skoro jest tam więcej policji, będzie więcej wyłapywała i tak dalej, i tak dalej.
Łukasz Kałużny: Wiesz co, w tym punkcie bym zaśmiał się, że Unia Europejska nie jest takim zbiorem socjalistycznym, jakim się go maluje pod tym względem.
Szymon Warda: Oj tak, zdecydowanie.
Łukasz Kałużny: Jak się popatrzy na tą regulację.
Szymon Warda: Znaczy, ta regulacja naprawdę ma sens. To nie jest, jeszcze raz. To nie jest regulacja w ogóle AIowa. To jest typowa taka, takiego typowego, prostego machine learningu. Tak naprawdę, no nie, ta regulacja nie ma nic wspólnego z ChatGPT 3 czy 4.
Łukasz Kałużny: Tak, ale słuchaj, inaczej. Powoli wygląda na to, że będzie zdroworozsądkowa.
Szymon Warda: Tak.
Łukasz Kałużny: Tak ją określmy, bo to jest też chyba, te wszystkie… Coś jeszcze chcesz, ten…
Szymon Warda: Tak, jest jedna rzecz, która według mnie może nas dotknąć tak naprawdę. To jest to, że potrzeba wyjaśnienia tak naprawdę. Czyli jeżeli ludzie, jeżeli jakikolwiek system publicznie dostępny będzie de facto klasyfikował zachowania ludzi i tak dalej, będzie musiał w tym momencie wyjaśnić, czemu tak się dzieje. Więc teraz załóżmy, jeżeli będziemy mieli takie opcje typu właśnie klasyfikacja pod kątem kredytów, i tak dalej, no to to może zahaczać, nie wiadomo jeszcze, czy zahaczy, czy nie zahaczy de facto, ale to może być ciekawy obszar, który może dotknąć aplikacji, które dotąd normalnie były po prostu Enterprisowe. Tam sobie siedziały spokojnie w backendzie i nic się nie działo. Może to dotknąć. Więc jestem ciekawy w jakim to kierunku w ogóle pójdzie.
Łukasz Kałużny: Wiesz co? Tylko zobacz, że część modeli np. kredytowych ryzyka musi być już wyjaśniona, jak popatrzymy gdzieś tam na regulacje finansów w poszczególnych branżach, np. finansowych, więc to też nie jest do końca określmy to, wiesz, że to będzie zaskoczenie dla niektórych.
Szymon Warda: Zgadza się. Bardziej to może dotknąć rynku fintechowego, tych takich właśnie topowych startupów finansowych, medycznych i takich trochę przewidujących. To się już uspokoiło. De facto. Więc tam co miało powstać, to powstało, ale mimo wszystko może zahaczyć. No.
Łukasz Kałużny: Tak. Z takich rzeczy jeszcze bym dodał, bo powiedziałeś o chacieGPT. Jednak od generative AI wymagana będzie transparencja. To jest taka jedna rzecz, która tam dość ciekawie dotyka, czyli pod względem praw autorskich nadanych do treningu przeciwdziałanie generowania nielegalnego kontentu i stamp owania kontentu wygenerowanego przez AI.
Szymon Warda: Tak, właśnie dobrze to uzupełniłeś, bo właśnie to pominąłem. Prawa autorskie, to też bardzo sensownie, ogólnie regulacja wydaje mi się, że wejdzie. Wydaje mi się, że to ma sens. Krok według mnie w dobrym kierunku tak naprawdę. To się musi wydarzyć tak naprawdę. Co dalej? Nie wiem.
Łukasz Kałużny: Wiesz co, bo miałem na infoShare okazję poznać gościa, który zajmuje się etyką w AI i w firmie, w której pracuje… To jest bardzo ważne. Gościu z doktoratem. Background akademicki, filozofia, etyka i inne takie rzeczy i opowiadał, jak wygląda, jak… Bo oni robią audyty gotowych modeli.
Szymon Warda: O, to ciekawe.
Łukasz Kałużny: Tak, firma z Londynu. Zauważyli niszę i teraz się specjalizują właśnie w audytowaniu takich modeli i tego typu rzeczy. I to jest skomplikowana rzecz, bo wychodzi na to, żeby po całości trzeba szukać, czy model nie jest spaczony, jak wyglądają dane treningowe. I co ważne, jeżeli wytrenujesz nową wersję modelu, to wychodzi na to, że to jest zupełnie nowy model, który trzeba znowu… Nawet jak zmienisz dane treningowe a nie zmienisz algorytmów, to trafiamy na zupełnie nowy model, który trzeba sprawdzić.
Szymon Warda: A co więcej, z reguły modelu nie trenujesz od zera, tylko masz petrenowany model, które dotrenowywujesz najczęściej tak naprawdę, no nie. Więc to jest skomplikowane i będzie też drogie, nie oszukujmy się.
Łukasz Kałużny: Tak, wiesz, nie gadałem o cenach, ale domyślam się, że rachunek jest podobny jak za usługi z doradztwa strategicznego.
Szymon Warda: O tak, dokładnie.
Łukasz Kałużny: Dobra.
Szymon Warda: Dobra, co tam jeszcze Ty masz?
Łukasz Kałużny: Skończmy wątki AIowe na dzisiaj. Więc ostatnia rzecz, z której się trochę cieszę, czyli Azure Open AI dostał Bring Your Own Data. To jest taka ciekawa rzecz. Teraz poszło to już w Public Preview. Czyli możemy podłączyć do swojego de facto, swojej instancji OpenAI w Azurze, swojego Tenanta, Open AI. Możemy wystąpienia, możemy podłączyć… Azure Cognitive Searcha albo Azure Bloba, albo załadować po prostu swoje pliki, które mają być wykorzystane do generowania odpowiedzi przez LLMa.
Szymon Warda: Raczej… To jest coś, co się spodziewaliśmy, no bo to jest… Bez własnej danej to de facto nasz LLM staje się takim bardzo genericiem. Generyki z reguły aż tak dużej wartości nie mają. A problem właśnie jest taki, żeby dostęp mieć do danych to albo hostujemy na onpremie. Czego oczywiście w Azurze to nie miałoby żadnego większego sensu. To dużo ułatwi bardzo.
Łukasz Kałużny: Wiesz co, tak. Widzę tylko jeden problem - row-level security.
Szymon Warda: Ale właśnie pytanie, czy ma sens row-level security w kontekście całego LLMa? Tak naprawdę, no nie.
Łukasz Kałużny: Wiesz co, nie, ale w kontekście danych. Bo zobacz, że dlaczego mówię, że row-level security to będzie zawsze problem, żeby podłożyć te dane co trzeba do środka. Bo zobacz że te copiloty też mają działać w kontekście organizacji Twoich uprawnień. Więc to jest taka rzecz, na którą czekam, w jaki sposób zostanie tam cała kontekstowość rozwiązana.
Szymon Warda: Znaczy wyzwań odnośnie całego AI’a będzie dużo i integracji tego w organizacje, oj tak. To jeszcze usuwanie danych i odświeżanie, od-reuczenie to będzie się działo, jak najbardziej.
Łukasz Kałużny: Zaczyna się robić wesoło.
Szymon Warda: Dobra, to chyba temat ostatni, mianowicie StackOverflow Developer Survey. No przydałby się o tym powiedzieć.
Łukasz Kałużny: Wyszła, nowa, prawie świeża, ma z dwa tygodnie.
Szymon Warda: Dokładnie. Po pierwsze, chyba nie porywa za bardzo. Tak naprawdę. Dużo tutaj jakichś rewelacji nie ma. Jest kilka obszarów, które chcielibyśmy trochę omówić. No i co takiego takiego pierwszego nam to wychodzi? Platformy cloudowe. W tych platformach jest wszystko fajnie, jedną rzecz widać bardzo mocno, AWS dwukrotnie względem kolejnych. Potem nam wchodzą bardzo ładnie, wchodzi nam Azure, a potem dopiero wchodzi GCP. Różnica między tymi dwoma już jest relatywnie niewielka. Jedna rzecz, którą się tam rzuciła właśnie, bo mam wrażenie, że w Europie mimo wszystko Azure’owi idzie lepiej niż AWSowi i nawet jak było pamiętam, że w jakichś metrykach, jak przeglądaliśmy jakiś czas temu. Czemu? Bo jak zobaczymy na to, kto głównie odpowiada na StackOverflow, to jest głównie Ameryka, a głównie po prostu Stany tak naprawdę. A tam faktycznie AWSowi się wiedzie bardzo, bardzo miło i przyjemnie.
Łukasz Kałużny: Dobra.
Szymon Warda: Co idzie dalej?
Łukasz Kałużny: Bazy danych.
Szymon Warda: Bazy danych. I tu jest ponownie ciekawie, bo Postgres króluje w każdym wymiarze. Potem dalej jak lecimy to jest sporo MySQLa, sporo jest takich rzeczy. Takie pierwsze, takie bardziej komercyjne, to chyba jest na szóstym miejscu SQL Server, a Oracle to już w ogóle jest daleko, daleko, daleko w tyle można powiedzieć. Wiadomo, że tutaj mówimy na bazie tego, co ludzie najczęściej wykorzystują, więc… Nie dziwie się że Oracle jest niżej. Bo do Oracle’a bierzesz konsultantów zawsze po prostu i tyle.
Łukasz Kałużny: Wiesz co? Zdziwiło mnie tylko, że Redis tak poleciał w dół.
Szymon Warda: A może to wynika z tego, że ludzie nauczyli się, że Redis nie jest bazą danych, tylko jest cache’em.
Łukasz Kałużny: To po prostu nie jest baza danych!
Szymon Warda: Więc mnie też to trochę zdziwiło, ale też ucieszyło, bo po prostu definicja się poprawiła tak naprawdę. Ale Elastic jest wyżej, więc no może jednak ludzie dalej nie rozumieją, czym jest baza danych a czym jest silnik wyszukiwania. Ale tak, ale właśnie Postgres w ogóle jest, bo tam jest podział na professional developers, learning to code i other coders. To faktycznie Postgres jest, po prostu jest, jest, prowadzi wszędzie, nie. Poza Other Coders. Tam jest MySQL.
Łukasz Kałużny: No tak, bo on jest zawsze początkowym.
Szymon Warda: Tak, bardzo często tak naprawdę. Co tam dalej jeszcze mamy? Web Frameworks and Technologies.
Łukasz Kałużny: No dobrze, pierwsze dwa miejsca. Node i React.
Szymon Warda: Co nikogo nie dziwi.
Łukasz Kałużny: Tak. Ale trzecie jest bardzo praktyczne i bardzo stare. Niektórzy by nas wyklnęli za to.
Szymon Warda: Może wytłumaczę, co to jest.
Szymon Warda: jQuery, to jest biblioteka, to nie jest framework. To naprawdę. Do modyfikacji HTMLa. I ja się z tego bardzo cieszę, że to dalej żyje, bo to ma sens, jeżeli nie potrzebujemy jakiegoś zaawansowanego frameworka. jQuery dalej daje radę.
Łukasz Kałużny: Tak, jak nie chce Ci się robić w vanilli.
Szymon Warda: Tak, nie chce się. Nie oszukujmy się.
Łukasz Kałużny: Co jeszcze mamy z całości? Inne frameworki?
Szymon Warda: Tak, na pierwszym miejscu jest Dotnet, co jest ciekawe, bo Dotnetem to są rzeczy powiedzmy nowe. Numpy, Pandas i potem jest dotnet framework.
Łukasz Kałużny: I przy czym fajnie to widać, bo w Professional Developers jest właśnie. Nety są na dwóch pierwszych miejscach, a w learning to code jest numpy, pandra i potem net piątka. I to też jest ciekawe, że learning to code… Zobacz, że Dotnet jest tak wysoko w tych ankietach.
Szymon Warda: Właśnie, dla mnie to wynika może z tego, że faktycznie, że StackOverflow jest takie trochę dotnetowe, no bo z tego światka się wyrośli tak naprawdę. No ale w takim razie opcji gdzie szukają? Ciekawa opcja. Cieszy mnie to, bo naprawdę cały Dotnet jest fajnie przemyślany, jest fajnie rozwijany i to ma sens. Tak naprawdę.
Łukasz Kałużny: No tak. Minimal API ciągle mnie zachwyca i pozbycie się kontrolerów i innych zabawek. Mamy takiego Golanga z całością układanki.
Szymon Warda: Tak. Bo to idzie w tym kierunku de facto do minimalizacji ilości kodu. I bardzo fajnie, że nie robimy takiego bowl plate’a, który po prostu… Że tworzenie kodu, żeby go tworzyć, bo to jest po prostu drogie, nie oszukujmy się.
Łukasz Kałużny: Dobra. I ostatni link, który mam na dzisiaj. I to jest taka myśl… Zostawiając Was na wakacje przed tym jak rozwijacie swoje rzeczy, projektujecie, kolega Oskar…
Szymon Warda: Daj ludziom odpocząć.
Łukasz Kałużny: Co?
Szymon Warda: Daj ludziom odpocząć.
Łukasz Kałużny: Daj ludziom odpocząć, a tam, zadanie domowe, po całości, to jest coś zresztą, o czym często nam się zdarzało mówić, czyli usuwalność nad rozwijalnością. Bo Solid… Inne podejścia skupiają się na tym, jak my to będziemy rozwijać. A najlepszy kod jest taki, który łatwo usunąć, bo to znaczy, że nie przekombinowaliśmy.
Szymon Warda: Tak, a spora część kodu, który jest developowanu, de facto potem będzie usunięty. Wbrew pozorom tak to się zachowuje.
Łukasz Kałużny: Zrefactorowany, przerobiony, nikt nie będzie się bawił w rozszerzalność rodem z Solida, tylko zrobi refactoring jak będzie trzeba coś nowego dodać. I nie oszukujmy się.
Szymon Warda: Tak - a im więcej czasu w ten kod zainwestujemy, tym nam ciężej będzie go usunąć, ewentualnie jeszcze opcja - a może się kiedyś przyda. Od tego jest git. Po prostu. Wywalmy to.
Łukasz Kałużny: Tak i cała ta zabawa tutaj, właśnie Oskar dość fajnie się na ten temat rozpisał. Troszeczkę wsparł się tym jak cqrs może nas wspomóc przy podziale, jeżeli robimy właśnie vertical slice’y w naszym kodzie, że można je łatwo wyrzucać, więc ciekawie przedstawił tutaj - tak na luźno architektonicznie przedstawił tą koncepcję w swoim wpisie. Więc jako taką pracę domową na wakacje polecam sobie się zastanowić nad tym tematem.
Szymon Warda: Ale faktycznie fajnie napisany artykuł, w ogóle, warty przeczytania. Krótki bym powiedział.
Łukasz Kałużny: Tak - Ale sprawa jest skomplikowana.
Szymon Warda: Dokładnie. No dobrze, to kończymy i to kończymy na dwa miesiące, więc usłyszymy się za jakiś czas. Na razie!
Łukasz Kałużny: Do zobaczenia po wakacjach. Hej!