dotnetomaniak.pl

Strona głównaUżytkownik

dpawlukiewicz | użytkownik

dpawlukiewicz
dpawlukiewicz
3 874,43
37 minut temu
5 kwietnia, 2016
dotnetomaniak.pl

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 środa, 21 listopada 2018 15:17:33 GMT dpawlukiewicz 5 spam? 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 19 dni, 7 godzin, 44 minuty temu dpawlukiewicz 107 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 44 dni, 9 godzin, 30 minut temu dpawlukiewicz 144 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 51 dni, 9 godzin, 2 minuty temu dpawlukiewicz 306 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 63 dni, 9 godzin, 22 minuty temu dpawlukiewicz 171 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 76 dni, 9 godzin, 8 minut temu dpawlukiewicz 194 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 117 dni, 8 godzin, 44 minuty 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 131 dni, 8 godzin, 15 minut temu dpawlukiewicz 229 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 140 dni, 9 godzin, 37 minut temu dpawlukiewicz 193 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 145 dni, 10 godzin, 46 minut 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 145 dni, 10 godzin, 46 minut temu dpawlukiewicz 266 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 181 dni, 10 godzin, 27 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 188 dni, 2 godziny, 22 minuty 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 211 dni, 10 godzin, 20 minut temu dpawlukiewicz 48 rozwiń

Last Wednesday, together with Piotr Gankiewicz, I started series of technical talks about microservices, called „Distributed .NET Core”. The presentation is mainly focused on live demos, each of which covers a different area of the architecture. Because the application we wrote is a web application, each demo started with HTTP call to the appropriate REST API endpoint… and that caused a little issue (at least for me) because each call has different:URLmethod t...

Źródło: foreverframe.net
Dziel się z innymi:
REST Client - great VSC extension for HTTP requests - Forever F[r]ame

Narzędzia 232 dni, 8 godzin, 39 minut temu dpawlukiewicz 86 rozwiń

A few days ago, a friend o mine had a very interesting issue with C# code he had written...

Źródło: foreverframe.net
Dziel się z innymi:
Method invocation in C# is tricky - Forever F[r]ame

Sztuka programowania 243 dni, 7 godzin, 53 minuty temu dpawlukiewicz 220 rozwiń

After a while, we get back to series dedicated to the internals of C# language. Personally, I think that previous part about iterators was quite longish and complicated, hence today I decided to choose a much simpler (but hopefully still interesting) subject- foreach statement.  Foreach only with IEnumerable? Before we jump into more internal-ish stuff, I’d like to cover one thing which is quite interesting. When we go to the MSDN page about foreach statement...

Źródło: foreverframe.net
Dziel się z innymi:
C# internals: foreach statement - Forever F[r]ame

Sztuka programowania 257 dni, 9 godzin, 34 minuty temu dpawlukiewicz 154 rozwiń

Today’s post is one of those for which I have been waiting for a long time. I’m more than happy to announce that Connectis_ (so the company that I’m currently working at) formed new IT meetup in Warsaw called Ctech! What makes me even happier is the fact that I will have the pleasure to be the host of this event. The idea behind Ctech was to create a universal meetup for all enthusiasts of IT industry. Therefore we’ll not focus on one specific framework, programm...

Tagi: C_tech, meetup, warsaw
Źródło: foreverframe.net
Dziel się z innymi:
C_tech - new IT meetup in Warsaw! - Forever F[r]ame

Inne 275 dni, 19 godzin, 17 minut temu dpawlukiewicz 31 rozwiń

In my last post, we got familiar with the internals of string switch statement in C#. Today, we are going to deeply understand another language feature – iterators.  Iterators in C# Despite the fact that iterators (using yield keyword) were introduced back in C# 2.0, many folks are still confused how they work. Honestly, I’m not surprised at all, because to me this mechanism was a mystery for a long time. Of course, we have to clearly distinguish two things here:How do...

C# internals: iterators - Forever F[r]ame

Sztuka programowania 281 dni, 4 godziny, 56 minut temu dpawlukiewicz 149 rozwiń

I really enjoy learning new architectures, design patterns, frameworks, libraries or in general – everything related to web development. I really do. But honestly, after quite long time all these stuff became a little bit… boring. To avoid possible burnout I decided to play with something completely different. My thoughts circled around functional programming (F#, Heskel), IoT, quantum programming in Q# and much more, but none of them felt right. Enlightenment ...

Źródło: foreverframe.net
Dziel się z innymi:
C# internals: string switch statement - Forever F[r]ame

Sztuka programowania 291 dni, 10 godzin, 10 minut temu dpawlukiewicz 228 rozwiń

1 2 3 4 5 6