Years ago I wanted to start learning Domain-Driven Design. It was quite a popular topic, many of my colleagues were discussing it. The problem, as always, was where to start. I decided to ask one of my old mentors. He told me, “MJ, there is a great book about DDD called the Blue Book. Go and read it and everything will be clear. There is nothing better on the market”. “Well, it m...
Architektura 483 dni, 22 godziny, 47 minut temu 249 źrodło rozwiń
Pandemie już za nami a z nami wciąż nagrywanie. Od ośmiu miesięcy nagraliśmy już 12 prelekcji. Jeśli jeszcze nie znałeś naszego kanału, zachęcamy do przejrzenia playlisty "KGD .NET - Klub Studio AGH".
Architektura 657 dni, 22 godziny, 21 minut temu 177 źrodło rozwiń
In recent years, I have encountered many problems in IT companies caused by incorrect software architecture. What do I mean ? In most cases, this is one direction – either it is too trivial or incredibly complicated in relation to the problem it is supposed to solve. Both cases lead to performance problems and stop the organization from being agile.What do I mean by software architecture? Before I start talking about the problems caused by...
Architektura 678 dni, 22 godziny, 25 minut temu 163 źrodło rozwiń
Jako, że już od paru lat mam przyjemność być Product Owner’em narzędzi wspomagających proces Disaster Recovery (DR) zauważyłem, że terminy często pojawiające się w tym kontekście jak High Availability (HA) czy Fault Tolerance (FT) są nierzadko ze sobą mylone nawet przez ludzi będących w branży IT wiele lat. Obydwa pojęcia oznaczają zdolność aplikacji do kontynuowania dzia...
Architektura 701 dni, 20 godzin, 45 minut temu 85 źrodło rozwiń
Pomiędzy wrześniem a pierwszymi tygodniami grudnia chcę poświęcić czas, na prace z jedną lub dwoma osobami.
Architektura 849 dni, 23 godziny, 25 minut temu 151 źrodło rozwiń
Recent years have been marked by microservices. Who among you hasn’t heard of them? They were everywhere – at conferences, groups, job listings, coffee talks, and blog posts. At some point it got to the point where if you weren’t working on a system composed of microservices, it was kind of a problem – you felt the world was getting away from you, and your colleagues were in another galaxy. Someone found a silver bullet for the design of IT systems. On the other...
Architektura 854 dni, 20 godzin, 56 minut temu 152 źrodło rozwiń
Powiedzieć, że nie jestem fanem generowania kodu klienta na podstawie API, to jak nic nie powiedzieć. Uważam, że jest to jeden z pomysłów, który brzmi atrakcyjnie, ale kończy się koszmarem. To fajen marzenie, które nigdy się nie spełnia. Dlaczego? Czytaj więcej w artykule.
Architektura 874 dni, 23 godziny, 21 minut temu 167 źrodło rozwiń
When you implement auth in you application you can be addicted to a provider, like facebook, ofice365 or google. It always better to be independent of external contract. How to handle it? How to configure Auth to be independent of provider?
Architektura 877 dni, 23 godziny, 15 minut temu 83 źrodło rozwiń
Mam coś dużego dla Was. Właśnie wydałem bezpłatnie pierwszą część zadań do warsztatu „Wprowadzenie do EventSourcing”. Przygotowanie ćwiczeń zajęło mi dwa tygodnie pełnego skupienia plus godziny, które spędziłem na Event Sourcing w ostatnich latach 🙂 Stworzyłem go na prywatny warsztat, ale jak zawsze zdecydowałem się udostępnić zadania jako open source. Możesz wykonać warsztaty jako zestaw do samodzielnego uczenia. Wiadomo, że to nie to samo co pełen warsztat, ale powinno dać Ci dobre podstawy do rozp...
Architektura 979 dni, 22 godziny temu 99 źrodło rozwiń
Legacy Monolit to zwykle bestia. Rozmowy konferencyjne pchają nas do zmiany go w mikroserwisy, wydzielenia Bounded Contextów użycia Kubernetes itd. Są to często dobre rady, ale nie zawsze wykonalne. Są momenty, gdy musimy działać pragmatycznie. Migracja może być zbyt kosztowna i zbyt wymagająca czasowo. Jak przeskalować monolit, gdy kończy nam się czas? Przeczytaj w moim nowym artykule!
Architektura 1010 dni, 21 godzin, 59 minut temu 75 źrodło rozwiń
It has been a long time since microservices were introduced to the world. They had their ups – yeah, let’s use it everywhere – and downs – whaaat, modular monolith only. But that is not what this story will be about.
Architektura 1015 dni, 22 godziny, 39 minut temu 63 źrodło rozwiń
Derek ComartinArchitecture If you’re developing a Monolith or using a Monolithic Architecture doesn’t mean it needs to be a big ball of mud. Most people equate a Monolith with a Big Ball of Mud because it’s highly coupled and difficult to change. However, you can combat it by defining strict boundaries and logically decoupling those boundaries and the data that each boundary owns. To go even further you can loosely couple by leveraging asynchronous messaging between boundaries. Does this sound familia...
Architektura 1031 dni, 16 minut temu 68 źrodło rozwiń
Ostatni element uniwersalnego mechanizmu do zagwarantowania przetworzenia wiadomości dokładnie raz. Prosta implementacja Inbox'a w F#
Architektura 1042 dni, 22 godziny, 42 minuty temu 68 źrodło rozwiń
Jak zintegrować Martne z narzędziami typu Kafka czy nawet innymi bazami danych? Pomoże w tym funkcja zwana Async Daemon. W skrócie, jest to proces działający w tle, który zapewnia asynchroniczne przetwarzanie zdarzeń. Domyślnie używany jest do projekcji, ale może być używany jako baza do pub/sub.
Architektura 1056 dni, 22 godziny, 2 minuty temu 42 źrodło rozwiń
Prosta implementacja Outbox'a w F#
Architektura 1056 dni, 22 godziny, 2 minuty temu 63 źrodło rozwiń
Snapshoty w Event Sourcing są przereklamowane. Nie powinny być używane jako domyślny wybór architektoniczny, ale raczej jako czysto techniczna optymalizacja. Czasami jednak może to być pragmatyczny wybór lub dobry kompromis. Napisałem, jak sobie z nimi radzić przy pomocy Marten.
Architektura 1063 dni, 21 godzin, 13 minut temu 65 źrodło rozwiń
.NET się zmienia. Staje się coraz lżejszy. Minimal API są tego przykładem. Pozwalają na szybkie zbudowanie API i uruchomienie nowego serwisu. W dobie mikroserwisów i Cloud jak znalazł. Przetestowałem, jak sprawdzą się z innym wzorcem promującym prosty podział kodu: CQRS. Czytaj dalej by zobaczyć jakie są moje wnioski.
Architektura 1070 dni, 22 godziny, 22 minuty temu 281 źrodło rozwiń
Wersjonowanie zdarzeń dla osób uczących się Event Sourcing jest jak potwór, którym straszy się dzieci. To upiorna opowieść opowiedziana przy ognisku. Jest w tym trochę prawdy, bo migracje są zawsze wyzwaniem. W nowym artykule pokazałam proste, praktyczne wzory z próbkami, jak sobie z tym poradzić!
Architektura 1077 dni, 22 godziny, 13 minut temu 54 źrodło rozwiń
Zmotywowany ostatnimi wątkami na HackerNews i Reddit, postanowiłem tym razem odpowiedzieć! EventStreaming jest zbyt często mylony z EventSourcing. Jest to szkodliwe dla obu wzorców, a najbardziej dla ludzi popełniających ten błąd. W swoim artykule wyjaśniłem, czym się różnią i dlaczego jest to ważne.
Architektura 1083 dni, 22 godziny, 12 minut temu 72 źrodło rozwiń
Czym jest logika aplikacyjna i co powinno się w niej znaleźć skoro jest czymś osobnym niż logika domenowa? Jak ma się ten podział do architektury warstwowej lub portów i adapterów? Czy termin logika aplikacyjna, którego używamy na co dzień, jest jasny i porządkuje naszą pracę, czy wręcz przeciwnie?
Architektura 1084 dni, 21 godzin, 36 minut temu 117 źrodło rozwiń