dotnetomaniak.pl

Strona głównaUżytkownik

dpawlukiewicz | użytkownik

dpawlukiewicz
dpawlukiewicz
3 969,53
23 dni, 5 godzin, 39 minut temu
5 kwietnia, 2016
dotnetomaniak.pl

Kontynuujemy naszą podróż z mikroserwisami! Dziś przejdziemy do nieco bardziej „zaawansowanych” zagadnień, które mam nadzieje okażą się dla Ciebie zrozumiałe, a ich użycie – zasadne. Zacznijmy od problemu, aby móc w ogóle przejść do tematu dzisiejszego wpisu. Jak zapewne pamiętasz we wpisie o odczycie danych przedstawiłem bibliotekę RestEase, dzięki której w łatwy sposób mogliśmy wykonywać żądania HTTP z API Gateway do konkr...

Źródło: foreverframe.net
Dziel się z innymi:
Service Discovery i Load Balancing z Consul i Fabio - Forever F[r]ame

Programowanie rozproszone 23 dni, 19 godzin, 15 minut temu dpawlukiewicz 122 rozwiń

Dziś krótki i nieplanowany wpis z cyklu „ku przestrodze”, a będzie o… polu statycznym, które skutecznie zmieniło moje plany dotyczące ubiegłego wieczoru (ok 2h debugowania). Nie ma jednak tego złego, prawda? Ja mam nauczkę, a Ty drogi czytelniku być może też wyniesiesz z tego coś dobrego. Zacznijmy od tego, aby odpowiedzieć sobie po co i kiedy stosować słowo kluczowe static? Myślę, że każdy, czy to w szkole, na uczelni, na kursie czy w p...

Tagi: C#, static
Źródło: foreverframe.net
Dziel się z innymi:
Krótki wpis o statycznym polu... - Forever F[r]ame

Sztuka programowania 30 dni, 21 godzin, 5 minut temu dpawlukiewicz 245 rozwiń

Ósmy odcinek kursu „Distributed .NET Core” jest już na YouTube więc do dobry moment, aby kontynuować kolejne zagadnienia związane z naszą implementacją mikroserwisów. W poprzednich wpisach omówiłem kolejno zapis i odczyt danych z systemu bazującego na wzorcu CQRS tym samym „zamykając” temat komunikacji użytkownik-system. Istnieje jednak jeszcze jedna, istotna forma komunikacji, niewidoczna dla zewnętrznych podmiotów. Mowa o wewnętrznej wymianie informacji między konkretnymi usługami.  Po co usługi komun...

Źródło: foreverframe.net
Dziel się z innymi:
CQRS i mikroserwisy: komunikacja wewnętrzna między usługami - Forever F[r]ame

Architektura 48 dni, 11 godzin, 22 minuty temu dpawlukiewicz 235 rozwiń

Podczas nagrywania czwartego odcinka „Distributed .NET Core” (do którego oglądania serdecznie Cię zapraszam) wspólnie z Piotrkiem poruszyliśmy przez moment kwestię zasadności użycia async/await w tzw. „one line-rach” czyli metodach, których ciało posiada jedynie jedną linie i najczęściej jest implementowane za pomocą operatora „goes to” (nie mylić z lambdami). Przykład takiej metody:   public async Task

Tagi: async/await, C#
Źródło: foreverframe.net
Dziel się z innymi:
Czy async/await w "jednolinijkowcach" ma sens? - Forever F[r]ame

Sztuka programowania 72 dni, 19 godzin, 45 minut temu dpawlukiewicz 282 rozwiń

Jakiś czas temu podczas rozwijania swojego projektu Open Source stanąłem przed, wydawać by się mogło prostym problemem. Otóż chciałem udostepnić użytkownikom biblioteki metodę rozszerzającą, która automatycznie zarejestrowałaby w kontenarze dependency injection wszystkie klasy implementujace konkretny interfejs. W przypadku zewnętrzynych bibliotek jak np. Autofac taki zabieg jest możliwy dzieki Assebly Scaning, który wyglada następująco:   builder.RegisterAssemblyTypes(myAssembly) .Where(t => t....

Scrutor czyli skanowanie Assembly dla domyślnego DI ASP.NET Core - Forever F[r]ame

Sztuka programowania 86 dni, 15 godzin temu dpawlukiewicz 141 rozwiń

Często bywa tak, że do podjęcia jakiegoś nowego działania potrzebny jest nam impuls… czynnik, który przeważy szalę naszej mentalnej niepewności i sprawi, że finalnie powiemy „zrobię to”. W 2016 roku takim impulsem był dla mnie konkurs „Daj się poznać”, który ostatecznie zmotywował mnie to założenia tego bloga i dzielenia się swoją wiedzą z innymi ludźmi. Początki nie były takie jak sobie wyobrażałem. Towarzyszył mi ciągły strach i obawa przed napisaniem czegoś nazbyt trywialnego, mało ciekawego czy najzw...

Źródło: foreverframe.net
Dziel się z innymi:
Devstyle speakers - narodziny bogów sceny IT - Forever F[r]ame

Inne 107 dni, 17 godzin, 23 minuty temu dpawlukiewicz 102 rozwiń

Rzadko zdarza mi się pisać o ficzerach języka C#, a już na pewno nie o takich, które są dostępne od wielu lat. Niemniej, dziś miałem okazję ponownie wykorzystać ciekawą i mniej znaną „odsłonę” enum-ów dostępną poprzez atrybut FlagsAttribute, która być może okaże się dla Ciebie przydatna.  Klasyczne użycie typów wyliczeniowych Gdybym z własnych obserwacji miał powiedzieć kiedy typy wyliczeniowe są stosowane, odparłbym „kiedy bool nie wystarcza”. Zazwyczaj bowiem, zaczyna się od właśnie od zmiennej typu ...

Źródło: foreverframe.net
Dziel się z innymi:
Enum jako flaga w C# - Forever F[r]ame

Sztuka programowania 118 dni, 19 godzin, 44 minuty temu dpawlukiewicz 296 rozwiń

Tworząc projekt open source w pewnym momencie przychodzi czas, w którym należałoby nasze dzieło udokumentować celem jego zrozumienia przez innych programsitów. Dostawcy usług jak GitHub czy Bitbucket oferują wbudowane mechnizmy jak popularne Wiki, jednak według mnie posiadają one kilka zasadniczych minusów:Wiki jest nierozłączną częscią repozytorium projektu (choć można zrobić niezależny clone).Wiki nie jest (jawnie) wersjonowane. Wgląd w kolejne rewizje jest możliwy, ale nie mamy mozliwości np. utworzen...

Źródło: foreverframe.net
Dziel się z innymi:
Tworzenie dokumentacji projektowej z Read the Docs - Forever F[r]ame

Narzędzia 138 dni, 18 godzin, 57 minut temu dpawlukiewicz 110 rozwiń

Na początku miesiąca miałem przyjemność udać się do Danii, aby wziąć udział w firmowym hackatonie. Wraz z dwoma osobami pracowałem tam nad prostym projektem, który miał niejako rozszerzyć możliwości GitHuba. Bez wchodzenia w zbędne szczegóły dotyczące samego projektu, całe flow prezentowało się następująco...

Tagi: API, forwarding, ngrok
Źródło: foreverframe.net
Dziel się z innymi:
Szybkie testowanie lokalnego API z ngrok - Forever F[r]ame

Web 163 dni, 20 godzin, 43 minuty temu dpawlukiewicz 147 rozwiń

Dziś krótki wpis, który być może okaże się dla Ciebie bardzo przydatny. Chodzi o jedną z technik programowania defensywnego, którą bardzo często możesz spotkać w kodzie C# (z uwagi na jego specyfikę), a mianowicie null-check (ogólniej asercja). Spójrz na poniższy kod...

Tagi: C#, is, null-check
Źródło: foreverframe.net
Dziel się z innymi:
Bezpieczny null-check w C# - Forever F[r]ame

Sztuka programowania 170 dni, 20 godzin, 16 minut temu dpawlukiewicz 310 rozwiń

W poprzednim wpisie dosyć obszernie przedstawiłem ogólny koncept oraz implementację zapisu danych w aplikacji DShop, która opiera się na architekturze mikroserwisowej oraz wzorcu CQRS. W tym wpisie zajmiemy się drugim flow przepływu danych w aplikacji tj. ich odczytem. Zaczynajmy!  Ogólny zarys podejścia Przed omówieniem kodu znów pozwolę sobie na uprzednią prezentację koncepcji posługując się prostym diagramem:     Całe flow rozpoczyna się oczywiście od otrzymania żądania HTTP, które w swoim URI ...

Źródło: foreverframe.net
Dziel się z innymi:
CQRS i mikroserwisy: odczyt danych - Forever F[r]ame

Architektura 182 dni, 20 godzin, 36 minut temu dpawlukiewicz 181 rozwiń

Ostatnimi czasy na blogu było dosyć cicho, ale wynika to z dwóch rzeczy. Po pierwsze zrobiłem sobię przerwę wakacyjną (która przyznam szczerze rozciągnęła się nieco w czasie), a po drugie aplikacja DShop zmieniła się mocno pod kontem infrastrukturalnym, dlatego pozwoliłem sobie wstrzymać serię o mikroseriwach, aby nie doszło do sytuacji, w której prezentowany w poście kod staje się po chwili nieaktualny. Tyle słowem wstępu. W jednym z ostatnich wpisów przedstawiłem czym jest, a czym nie jest wzorzec CQR...

Źródło: foreverframe.net
Dziel się z innymi:
CQRS i mikroserwisy: zapis danych - Forever F[r]ame

Architektura 195 dni, 20 godzin, 22 minuty temu dpawlukiewicz 205 rozwiń

Ostatnio w pracy rozpoczęliśmy nowy projekt, który oparty jest na mikroserwisach. Cały proces tworzenia aplikacji zaczęliśmy od stworzenia dedykowanego repozytorium dla każdej usługi (o tym podejściu pisałem tutaj) i umieszczeniu w nim projektu ASP.NET Core, który następnie należało odpowiednio przygotować. Mam tu na myśli np. stworzenie poprawnej struktury katalogów, dodanie podstawowej integracji z istniejącą infrastrukturą itd. tak, aby każda usługa była możliwie podobna pod względem organizacji plikó...

Źródło: foreverframe.net
Dziel się z innymi:
Tworzenie własnego szablonu dla projektu .NET Core - Forever F[r]ame

Narzędzia 236 dni, 19 godzin, 57 minut temu dpawlukiewicz 145 rozwiń

Ten wpis pierwotnie miał traktować o zasadności wprowadzenia CQRS do aplikacji opertej o mikroserwisy. Jednak przed rozpoczęciem właściwej częsci artykułu chciałem, abyśmy mieli spójną definicję tego konceptu. Trochę się rozpisałem… i uznałem, że warto wynieść ten tekst do osobnej publikacji, którą łatwo będzie zalinkować w razie potrzeby. Dlaczego?  W moim odczuciu wielu programistów mylnie utożsamia ten wzorzec (sic!) z jakimś wielkim molochem klasy Enteprise, wymagającym zaawansowanej infrastruktury, ...

Źródło: foreverframe.net
Dziel się z innymi:
CQRS == Enterprise? - Forever F[r]ame

Architektura 250 dni, 19 godzin, 28 minut temu dpawlukiewicz 230 rozwiń

Zdaję sobie sprawę, że temat dzisiejszego wpisu zdecydowanie nie wygląda „PRO” i wydawać by się mogło, że przeznaczony jest dla absolutnych laików programowania. Myślę jednak, że wielu programistów zaczynających swoją przygodę z mikroserwisami zadaje sobie w duchu pytanie, w jaki sposób ustrukturyzować wszystkie projekty i pliki, aby miało to ręce i nogi. Cóż… ja przynajmniej tak miałem i po kilku próbach + dyskusjach z innymi programistami wypracowałem własny „przepis”, który uwaga – dla mnie działa. Ni...

Źródło: foreverframe.net
Dziel się z innymi:
O repozytoriach i strukturze projektów w aplikacji opartej o mikroserwisy - Forever F[r]ame

Sztuka programowania 259 dni, 20 godzin, 51 minut temu dpawlukiewicz 195 rozwiń

Dziś w pracy mój kolega zwrócił uwagę na dość kuriozalny i wydawać by się mogło, banalny problem. Otóż posiadając wtyczkę OmniSharp (C#) w Visual Studio Code mamy dostęp do kilku snippetów ułatwiających nam pracę z kodem C#. Jednym z nich jest dobrze znane z Visual Studio generowanie konstruktora klasy. Jedyne co trzeba zrobić to w kodzie napisać ctor i nacisnąć tabulator. Wszystko super, jest jednak małe ALE. W Visual Studio taka kombinacja skutkuje wygenerowaniem semantycznie poprawnego konstruktora tj...

Tagi: C#, ctor, snippet, vs code
Źródło: foreverframe.net
Dziel się z innymi:
Snippet generujący konstruktor z nazwą klasy C# w Visual Studio Code - Forever F[r]ame

Sztuka programowania 264 dni, 22 godziny temu dpawlukiewicz 45 rozwiń

Mikroserwisy to temat, który w moim odczuciu jest nadal bardzo popularny na wszelkiego rodzaju meetupach, czy konferencjach porgramistycznych (sam się do tego poniekąd przyczyniam). Implikacją tego jest fakt , że wielu programistów odchodzi od oklepanych i bardzo niemodnych monolitów, na rzecz systemów rozproszonych. Pytanie brzmi, dlaczego? Osobiście uważam, że hype wszyskitgo co „distributed” i „micro” jest poniekąd efektem kuli śniegowej popchniętej kilka lat temu. Ktoś kiedyś wspomniał o SOA, nazwał ...

Źródło: foreverframe.net
Dziel się z innymi:
Ciemna strona mikroserwisów - Forever F[r]ame

Architektura 264 dni, 22 godziny temu dpawlukiewicz 268 rozwiń

The more I do weightlifting the more I see similarities to programming. Let me explain this. When you start training at a gym, your body is so „surprised” it adapts to new efforts really quickly. From training to training you can lift more weight, you gain muscles and your general recovery is so fast that you can easily train more than once a day. For first few months you feel like a God. Superb feeling. Sadly, after a while, all these „noob gains” start d...

Tagi: burnout, deload, REST
Źródło: foreverframe.net
Dziel się z innymi:
Programming deload - Forever F[r]ame

Inne 300 dni, 21 godzin, 41 minut temu dpawlukiewicz 67 rozwiń

There are many programming-related things, I have tried at least once in my life such as web development, desktop development, cloud computing, functional programming, distributed computing, artificial intelligence, IoT, page styling with CSS (sic!) and many others. However, there’s one popular programming area I’ve never tried and I think I’ve been always scared of – mobile development. There are several reasons for that:I’m not a smartp...

Źródło: foreverframe.net
Dziel się z innymi:
Creating mobile apps with Thunkable - Forever F[r]ame

Mobile development 307 dni, 13 godzin, 35 minut temu dpawlukiewicz 32 rozwiń

Not so long ago, I got a quite interesting problem with my docker-compose file which surprisingly turned out to be quite common. In a nutshell, I had several ASP.NET Core applications (yup…microservices) which tried to connect to RabbitMQ queue during startup. Since I wanted to run both infrastructure (RabbitMQ, MongoDB) and microservices using only one command, I created mentioned docker-compose file. After all, I typed on my terminal:   docker-...

Źródło: foreverframe.net
Dziel się z innymi:
Waiting for dependencies in Docker Compose - Forever F[r]ame

Narzędzia 330 dni, 21 godzin, 33 minuty temu dpawlukiewicz 48 rozwiń

1 2 3 4 5 6