Siema!Tu Cezary

Programuję aplikacje, przemawiam do ludzi, piszę blogi pomimo dysleksji, rozbawiam ludzi na imprezach oraz słucham i się uczę. Niektórzy mówią, że jestem idiotą. Inni twierdzą, że zmieniłem ich życie. Zajrzyj tutaj i przekonaj się sam.

Zobacz o czym możesz przeczytać:

Programowanie

C#, ASP.NET, JavaScript, Java.
Jak programować?

Przemawianie

Zdolności komunikacyjne, opisywanie siebie.
Jak przemawiać?

Mój poprzedni webinar:

Aplikacja C# od Zera z CleanArchitecture, CQRS i Event Sourcing obrazek reklamujący wydarzenie

jakprogamować logo fanpage Cezary WalenciukProgramowanie

Zawodowo programuje w C# i za pomocą niego tworze biznesowe mechanizmy, które działają za kurtynami stron internetowych w ASP.NET. Oto ostatnie wpisy z mojego bloga.

Uwierzytelnienie z JSON Web Token, Cebula z ASP.NET CORE, Swagger

Dziś na swoim fanpagu "JakProgramować" dostałem wiadomość, aby komuś pomóc jak napisać prostą aplikację, która ma wydzielone UI i REST API. Dodatkowo chcielibyśmy wykorzystać zasady Clean Architecture w tym projekcie tak, aby nasze warstwy były elastyczne. 

W sumie mam na ten temat mnóstwo prezentacji i prelekcji.

Jednak nie mam wpisu na ten temat. Postanowiłem wiec wyjąc aplikację demo, którą napisałem na prelekcję Warszawski Dni Informatyki. Omówimy więc taką aplikację i dodatkowo zastosujemy autoryzację przy pomocy JSON Web Tokenów.

Nawet taki krótki projekt wymaga dwóch wpisów. W tym wpisie skupię się na części Serwerowej, a w drugim napiszemy klienta Blazor, który przeczyta i sprawdzi ten token.

Samuraju, oto opis tej prelekcji do kodu demo:

Subscriptions, Subskrypcje w GraphQL z ASP.NET CORE

GraphQL ma możliwość  poinformowania swoich klientów, gdy zajdzie jakieś zdarzenie. Korzysta on z modelu subskrypcji.

W tym wpisie pokaże Ci jak to wszystko napisać w ASP.NET Core po stronie serwera i po stronie klienta. 

GraphQL : Zmiana danych z ASP.NET Core

Poprzednich wpisach stworzyliśmy API Sklepu Smoków i ją odczytaliśmy w innej aplikacji ASP.NET CORE. Na razie jednak nasze API GraphQL ma zapytania, które odczytują dane.

Jak wiadomo API powinno nie tylko odczytywać dane, ale także je zmieniać.

CI/CD i Deploy jako kod w C# : Nuke Tutorial

Umieszczanie aplikacji na środowiskach i ich kompilacja zazwyczaj nie są problemami programistów. 

Od tego są inni pracownicy, którzy mają tam swoje Jenksins-y i tym podobne narzędzie służące do automatyzacji budowania, testowania, i wdrażania aplikacji na środowiska testowe. Jenkins to jeden z najpopularniejszych systemów CI/CD. A co to jest ten CI/CD?

To skóry oznaczające odpowiednio Continuous Integration i Continuous Delivery.

Continous integration : ciągła integracja polega na tym, że zespół programistów wprowadza zmiany w kodzie, te zmiany przechodzą przez testy, po czym są one późnień integrowane z innymi zmianami i są one umieszczane np. do środowisk testowych.

Continuous Delivery : czyli ciągle dostarczanie polega na przygotowaniu struktury serwerowej, aby nasze zmiany się znalazły na środowiskach testowy albo nawet na produkcji.

Istnieje jeszcze inne pojęcie jak Continous Testing, które mówi o ciągłym testowaniu albo przez automaty, albo przez ludzi.

Wszystkie te filozofię mówią o zwiększaniu jakości kodu i procesu wdrażania poprzez zwiększenie ich częstotliwości, a żeby zwiększyć częstotliwość scalania zmian w kodzie i jego testowania to trzeba ten proces jak najbardziej jest to możliwe zautomatyzować.

Zazwyczaj programiści się tym nie interesują, bo bądźmy szczerze to nie jest na twojej głowie, jakie komendy CMD są odpalane i  czy to jest PowerShell, czy innym język jak BASH aby twoje zmiany przeszły przez tą rurę procesów aby w końcu trafić na inne środowisko testowe albo nawet produkcyjne.

Odczytywanie i pytanie GraphQL API : Klient w ASP.NET CORE

W poprzednich dwóch wpisach stworzyliśmy proste API w GraphQL. Widzieliśmy jak odpytywać nasze API specyficznym JSON-em w GraphQL Playground. Jak to jednak wygląda w prawdziwej aplikacji? Jak wygląda taki gołe polecenie HTTP POST czy HTTP GET?

Czym jest dokładnie zapytanie w GraphQL. W kontekście pisania aplikacji GraphQL zapytanie można tworzyć w definicji Schema. Ono dziedziczy po ObjectGraphType.

Dla klienta "zapytanie" to specyficznym zapis polecenia w formie JSON? Dzisiaj się na tym skupimy.  O ile jestem fanem rozwiązania Swagger , który generuje formatkę do testowania REST API. To w tym przypadku dla GraphQL potrzebujemy oddzielnego programu lub aplikacji aby GraphQL przetestować. Gdy zrozumiemy jak się odpytuje GraphQL API poleceniami POST i GET, wtedy napiszemy swoją stronę w ASP.NET Core, która odczyta nasze napisane w poprzednich wpisach API.

Serlilog czyli logowanie z ASP.NET CORE

Na tym blogu mam serię artykułów, które opisują fajne biblioteki NuGet dla ASP.NET CORE. Dziś spojrzymy na Serilog. 

Logowanie błędów informacji jest kluczowe. Mam nawet wpis o tym, jak użyć NLoga w ASP.NET CORE i obecnie go używam na swoim blogu, aby od czasu do czasu sprawdzić jakie błędy w nim są.

Bez logowania nie znalazłbym uszkodzonych wpisów, które w wyniku złego formatowania HTML wyrzucały wyjątek.

Dlaczego Serilog, a nie coś innego? Najważniejsza różnica pomiędzy Serilog a innym frameworkiem do logowania jest fakt, że ta biblioteka ma wybudowany tryb strukturalnego logowania. Każdy element Serilog jest paczką, którą można dodać aby go rozszerzyć.

Serilog też może być skonfigurowane za pomocą appsetting.json. Czyli nie zmieniamy kod aby zmienić styl logowania aplikacji. NLog miał natomiast swoją własną konfigurację w oddzielnym pliku XML co może uznać za wadę.

Dlaczego jest to takie ważne? W świecie Kubernetesa i Dockera możesz też potem te konfigurację zmieniać w zależności od środowiska

IHttpClientFactory na problem z HttpClient

To normalne, że w domenie chmury i aplikacji HTTP każdy serwis wzajemnie się odpytuje. Jak to robimy w .NET ? Poprzez klasę HTTPClient.

Jaki jest problem z HTTPClient?  To pytanie często wraca jak bumerang. W trakcie pisania aplikacji, a nawet na rozmowach kwalifikacyjnych. 

Pamiętam jak raz w pracy na ten problem kazali mi po prostu zainstalować paczkę NuGet "Flurl", która otacza HttpClienta i nie myśleć o tym, jakie on powoduje problemy.

Potem wiele miesięcy później zostałem postawiony przed pytaniem, dlaczego trzeba uważać na HTTPClienta w .NET i nie miałem na to dobrej odpowiedzi.

Myślisz sobie przecież to proste. Chce wykonać zapytanie HTTP do strony internetowej to co tworzę sobie instancje HTTPClient i wykonuje zapytanie. 

Zobaczmy co się stanie, gdy utworzę 20 instancji HTTPClient, który ma odpytać moją stronę.

GraphQL z ASP.NET Core : DataLoader i złożone typy

W poprzednim wpisie stworzyliśmy podstawowe API w GraphQL. Nasz sklep smoków jest na chwilę obecną bardzo prymitywny. Nasza smok nie zawiera w sobie złożonych typów. Nie zastosowaliśmy wzorca "Data Loader" w GraphQL, aby utrzymać strukturę zapytań. Na razie nasze API w sumie obsługuje tylko jedno zapytanie. Pobierz wszystkie smoki, które są na sprzedaż.

Jak dodać parametry do naszych zapytań w GraphQL?

Jak dodać autoryzację do swojej Schema.

Rozbudujmy więc nasze api.

GraphQL z Entity Framework i Sqlite : proste API

Co to jest GraphQL? Czyli jak można jeszcze lepiej zrobić Rest API? GraphQL został wymyślony aby osiągnąć lepszą elastyczność i efektywność pomiędzy interakcjami klient / serwer.

GraphQL w esencji jest językiem zapytań do twojego HTTP API. Warto zaznaczyć, że GraphQL jest tylko nakładką do twojego API, a raczej używając języka ASP.NET Core jest to Middleware.

To nie biblioteka, to nie produkt, to nie baza danych.

Ta nakładka jest alternatywą do tworzenia Rest API. Zobaczmy na rysunkach w czym jest problem i co rozwiązuje GraphQL.

GrapQL polega tym, że wysyłasz do klienta polecenie HTTP POST albo GET. W treści tego polecenia jest JSON, które informuje API co chcesz zrobić.

Czyli jeśli chcesz listę produktów to nie szukasz odpowiedniego adresu i metody w REST API. Zastanawiasz się jak napisać zapytanie w JSON aby tą listę produktów pobrać.

Kategorię, czyli o czym piszę

Zawodowo programuje w C# i za pomocą niego tworze biznesowe mechanizmy, które działają za kurtynami stron internetowych w ASP.NET. Oto ostatnie wpisy z mojego bloga.

Kursy i cykle na blogu programistycznym

Blog prowadzę od 2011 roku, więc naturalnie napisałem na nim mnóstwo cykli i kursów.

GraphQL klient i serwer z ASP.NET CORE

GraphQL to inne podejście do pisania i odczytywania REST API. Zamiast mnóstwa metod HTTP jak POST, GET, PUT, DELETE to ty piszesz zapytanie w postaci podobnej do JSON do jednej metody HTTP. GraphQL analizuje twoje zapytanie i wykonuje odpowiednią akcję.  Jak stworzyć takie API w ASP.NET CORE? Jak takie API potem odczytać? Zapraszam na ten cykl

Programowanie Funkcyjne C#

Wiesz, że programować obiektowe to nie cały świat. C# od wersji 4 do 9 staje się coraz bardziej językiem hybrydowym. Co to znaczy? Znaczy to, że można w nim programować funkcyjnie

Narzędzia z których korzystam

Oto lista programów, które pomagają mi przy pracy programisty i nie tylko. Obrazki w końcu trzeba formatować na bloga. Gdy robie webinary potrzebuje także pewnych ułatwiających narzędzi 

Aspect Oriented Programming w .NET

Czym jest AOP? Brzmi skomplikowanie, a tak naprawdę jest to prosta technika służąca do ponownego wykorzystywania kodu najczęściej stosowana ze wzorcem dekorator.

Nie samym programowanie, programista żyje

Oto lista cyklów o tematach nieprogramistycznych dla programistów

Listy od czytelników

Dzięki, za email. Kto by pomyśłał, że ktoś zadaje mi pytania. Oto cykl w którym otwarcie zaczynałem odpisywać na e-mail moich czytelników.

Karier programisty

Co zrobić, aby mieć szczęśliwe życie zawodowe. Czy jesteś świadomy tego co robisz? Czy w ogóle podejmujesz jakieś decyzję?Czy idziesz z myślą w stylu "jakoś to będzie".

Aktywny programista

Każdy ma 7 dni po 24 godziny do dyspozycji. Jak być produktywny? Jak wykorzystać swój czas jak najlepiej? Jak się nie wypalić?

Zarobki Programisty

Jako programista dużo zarabiasz. Teraz co z tymi pieniędzmi zrobisz? Spełnisz swoje marzenia z dzieciństwa i zalejesz się przedmiotami. Czy może kupisz mieszkanie na korzystyny kredyt

Toksyczność poglądów

Jak negatywna energia innych osób wpływają na Ciebie. Czy życie to niekończąca sie kupa? A gdzie tam. Masz prawo być szczęśliwym

jakprzemawiać logo fanpage Cezary WalenciukPrzemawianie

Po pracy zbieram wiedzę na temat przemawiania publicznego i dziele się z nią innymi. Jak się nią dziele? Przemawiając i pisząc. Oto ostatnie wpisy


Jak COVID
zmienił świat przemawiania
Wirtualna Scena
4 typy
charyzmy
według książki The Charisma Myth
Jordan Peterson i posprzątaj swój
pokój
Czy dobrze się czujesz w okolicy
Słuchanie
i rzeczywiste powody by nauczyć się słuchać
Sytuacje
5 obaw z którymi trzeba się
zmierzyć
by stać się lepszy
Pisać czy nie pisać mowy
Dlaczego
Zalety i wady obu podjeść
32 pomysłów na tworzenie
argumentów
Przegląd pierwszy

Kategorię w przemawianiu, czyli o czym piszę