The third step in CQRS journey. It covers: - Domain events - publishing and handling - Building read model synchronously - Database transactions per command / request - Recreation of the read model
Sztuka programowania 2584 dni, 11 godzin, 6 minut temu 173 źrodło rozwiń
W tym wpisie wyjaśniam jak wygląda proces powstawania wpisów na moim blogu od tzw. “kuchni”. Opisuję jakich narzędzi używam, jak dokładniej wygląda proces twórczy i jak zarządzam tym procesem. Jeśli prowadzisz bloga, lub myślisz o założeniu – możesz dostosować mój proces pod swoje wymagania. Myślę też, że wpis zaciekawi moich stałych czytelników.
There are some common questions when it comes to microservices. One of them is „how to forward request from API gateway to the particular microservice?”. There’s no rule of thumb here because everyone has a slightly different approach, but the most popular solution I know is:For writes, so creates, updates and deletes (CUD) create a command and publish it to the service bus based on a queue like RabbitMQ.For reads (GET) forward the HTTP request to the internal API (not p...
Programowanie rozproszone 2585 dni, 12 godzin, 52 minuty temu 162 źrodło rozwiń
Własna tożsamość to główny wyróżnik Encji w DDD. Jest ona wyrażana przez Id obiektu, którym w praktyce najczęściej okazuje się … int z bazy danych. Nie jest to najlepsze rozwiązanie, skoro w DDD chodzi o modelowanie biznesu. Postaram się przedstawić alternatywne podejście i jego implementację, która pozwala w możliwie bezbolesny sposób wprowadzić biznesowe identyfikatory do naszych encji.
Sztuka programowania 2585 dni, 12 godzin, 52 minuty temu 228 źrodło rozwiń
New year, new me… Just kidding, no running or yoga plans, but I decided to have a (temporary) break with ‘C# attributes you should know’ series and start with a brand new one – C# facts that somehow surprised me. For the first article, I will show you how (friendly looking, always helpful, good guy...) enum can become an asshole. An asshole who will steal your precious time! One enum value passed to a method, other value received! What’s goin’ on?
Sztuka programowania 2586 dni, 4 godziny, 37 minut temu 427 źrodło rozwiń
Stary rok minął, czas na nowy. Początek roku to zwykle czas nowych postawień, które niestety później rzadko zostają spełnione. Może ten artykuł wskaże Ci drogę do celu?
Let start right off the bat with quick overview what etcd is:distributed key/value store with failover mechanismheavily uses disk but also use in memory cacheAP regarding CAP theoremsequential consistency ( the strongest consistency guarantee availa...
Architektura 2587 dni, 3 godziny, 26 minut temu 51 źrodło rozwiń
Miałem ostatnio przyjemność brać udział w bardzo ciekawej akcji - programistyczne Devrekolekcje. Post ten jest esencją wraz z lekkim rozwinięciem tematu - czy i jak się rozwijać w IT?
Push API and Web Push Protocol specifications allow for delivering push notifications even when client is offline. This post shows how to request delivery of push message.
This post describes how to achieve database transaction, on a request level, with Autofac DI and ASP.NET WebApi.
Jeżeli chcesz zignorować pliki, aby nie były proponowane do dodania, używamy wpisów w pliku .gitignore, które znajduje się najczęściej katalogu głównym naszego repozytorium. Problem w tym, że ten plik jest dzielony z wszystkim, który korzystają z tego repozytorium. A co w przypadku, gdy chcemy zignorować pliki, które znajdują tylko na naszym komputerze? Na przykład jako jedyni w zespole lubimy korzystać z jakoś narzędzia, które generuje jakieś pliki. Nie chcemy...
Co robić gdy współpracownik ma problem z utrzymaniem higieny osobistej? Temat na pierwszy rzut oka może wydawać się zabawny – jednak taki nie jest.
Programiści często w swojej pracy muszą estymować czas, który będzie potrzebny do wykonania jakieś nowej funkcjonalności bądź muszą powiedzieć ile czasu zajmie im naprawa błędu, spowodowanego przez innego programistę. Sam miałem problem, że moje przybliżone wartości nie były wcale przybliżone do rzeczywistości. Internet radzi, aby programista swoją szacunkową wartość pomnożył razy 2, 3 lub 10. Jednak i to nie znalazło u mnie wystarczającej dokładności, którą oczekuję...
Sztuka programowania 2590 dni, 11 godzin, 40 minut temu 178 źrodło rozwiń
W dzisiejszym wpisie chciałbym przedstawić sposób, za pomocą którego możemy wykorzystać bazę danych typu NoSQL do przenoszenia danych między organizacjami Dynamics 365 CE.
W trakcie naszej przygody z programowaniem zetknęliśmy się z książkami poruszającymi najróżniejsze tematy. Programowanie, branża IT, biznes, nowe technologie, design, rozwój osobisty, biografie znanych ludzi – było tego naprawdę mnóstwo. Wiele z nich zmieniło sposób w jaki teraz myślimy i podchodzimy do nauki oraz pracy. W cyklu books dzielimy się z wami najlepszymi wg nas tytułami które pomogą wam stać się lepszymi programistami i na pewno poszerzą wasze horyzonty.
Obżarstwo Świąteczne za nami, Sylwester za nami i wkroczyliśmy w Nowy Rok 2018. Nowy rok, nowe możliwości, kolejne 365 dni na dokonanie czegoś wielkiego, albo po prostu na zrealizowaniu naszych planów, założeń, postanowień noworocznych. A czy Ty jakieś posia...
Dzisiaj miało być o wzorcu operacyjnym zwanym Mediator(Mediator), który dobrze spełnia ostatnią zasadę SOLID mianowicie unikania zależności między klasami, tutaj tworzymy jedną klasę, która można powiedzieć jest interfejsem do wszystkich elementów systemu.
Architektura 2592 dni, 12 godzin, 2 minuty temu 259 źrodło rozwiń
Mało ostatnio pisuję na blogu bo 110% sił wkładam w pisanie książki. Jednak podsumowania roku 2017 nie mogę sobie odmówić. Po pierwsze, to już tradycja - podsumowałem rok 2016 oraz rok 2015. Po drugie, może to kogoś zainteresuje. Po trzecie,...
I’ve recently watched a pretty decent tutorial about DSC on Microsoft Virtual Academy. I’m not a huge fan of video tutorials because it always takes more time to watch them than read a book/blog post (you can hack it by increasing video speed and save yourself a couple of minutes) but sometimes there is additional beneficial side effect - the presenter can show you (accidentally or not) some tips and tricks not strictly related to the core subject of the video. This post is an attempt of summarizing tric...