Yo,

Dobiliśmy właśnie do 10 odcinka kursu o mikroserwisach w .NET Core - skupiamy się w nim na szeroko pojętych metrykach (czyli czymś mierzalnym w naszej aplikacji np. CPU, RAM, liczba użytkowników, ilość zapytań do serwera etc.).
Do integracji z różnego rodzaju usługami odpowiedzialnymi za przetwarzanie metryk używamy biblioteki AppMetrics i następnie omawiamy InfluxDB, Grafana oraz Prometheus.

Kod na GitHub:
https://github.com/devmentors

Odnośniki do forum, Gitter etc.
https://devmentors.io

#programowanie #programista15k #
spetz - Yo,

Dobiliśmy właśnie do 10 odcinka kursu o mikroserwisach w .NET Core - s...
  • Odpowiedz
ASP.NET Core, a dokładniej serwer HTTP Kestrel w top 3 najszybych serwerów webowwych na świecie, 7 mln żądań/sek :).
Oczywiście jest to wynik dla operacji typu "plaintext", co nie zmienia faktu, że jest to niesamowity rezultat, a limitem w tym przypadku była już sama warstwa sieciowa.

https://www.ageofascent.com/2019/02/04/asp-net-core-saturating-10gbe-at-7-million-requests-per-second/

#programowanie #aspnet #csharp #dotnet #dotnetnews #dotnetcore #akademiaspetza
spetz - ASP.NET Core, a dokładniej serwer HTTP Kestrel w top 3 najszybych serwerów we...

źródło: comment_4SzrcUFO2u74Q9T2e7IRiXEOLbTWduVH.jpg

Pobierz
Dobry dzień,

Dziewiąty odcinek kursu o mikroserwisach w .NET Core już dostępny - dzisiaj przedstawiamy kilka przydatnych narzędzi, zaczynając od Vault do przechowywania konfiguracji w bezpieczny sposób, przez Seq do logowania danych, kończąc na Jaeger, który umożliwia śledzenie rozproszonych akcji.

Kod na GitHub:
https://github.com/devmentors

Odnośniki do forum, Gitter etc.
https://devmentors.io

#programowanie #programista15k #dotnet #dotnetnews #csharp #dotnetcore #mikroserwisy #akademiaspetza #spetz #devmentors #dshop
spetz - Dobry dzień,

Dziewiąty odcinek kursu o mikroserwisach w .NET Core już dost...
via Android
  • 0
@lalalajp2_- może być ciężki, trzeba dość dobrze znać C# oraz mieć pojęcie o tworzeniu Web API, natomiast same koncepty, które się pojawiają są dość agnostyczne względem technologii.
  • Odpowiedz
Dobry,

Ósmy odcinek kursu o mikroserwisach w .NET Core już dostępny - wchodzimy w tematykę rozproszonych transakcji. Zaczynając od omówienia 2PC, przez Event Choreography i kończąc na Saga oraz Process Manager, finalnie implementujemy przykładowy proces tworzenia zamówienia, który wymaga udziału kilku mikroserwisów do jego powodzenia.

Kod na GitHub:
https://github.com/devmentors

Odnośniki do forum, Gitter etc.
https://devmentors.io

#programowanie #programista15k #dotnet #dotnetnews #csharp #dotnetcore #mikroserwisy #akademiaspetza #spetz #devmentors #dshop
spetz - Dobry,

Ósmy odcinek kursu o mikroserwisach w .NET Core już dostępny - wcho...
  • Odpowiedz
Cześć,

Siódmy odcinek kursu o mikroserwisach w .NET Core już dostępny - omawiamy czym jest CorrelationId (a dokładniej CorrelationContext), jak radzić sobie z obsłguą asynchronicznych żądań oraz jak w tym celu można wykorzystać SignalR do aktualizacji statusu w czasie rzeczywistym. Pod koniec wspominamy również o Polly - pokazujemy jak w prosty sposób można zaimplementować np. ponawianie nieudanej operacji.

Kod na GitHub:
https://github.com/devmentors

Odnośniki do forum, Gitter etc.
https://devmentors.io

#programowanie #programista15k #dotnet #
spetz - Cześć,

Siódmy odcinek kursu o mikroserwisach w .NET Core już dostępny - om...
@Masterczulki: dzięki, bardzo miło słyszeć, podziwiam, że całkowicie zmieniłeś stack :D.
@bussior: tak, będzie na pewno odcinek (albo i 2) poświęcony otoczce CI, CD, DevOps (build serwer, Docker, k8s itp.).
  • Odpowiedz
Dobry dzień,

Szósty odcinek kursu o mikroserwisach w .NET Core już dostępny - wchodzimy w trochę bardziej zaawansowane tematy, i omawiamy mechanizmy Service Discovery oraz Load Balancer z wykorzystaniem narzędzi Consul i Fabio.

Kod na GitHub:
https://github.com/devmentors

Odnośniki do forum, Gitter etc.
https://devmentors.io

#programowanie #programista15k #dotnet #dotnetnews #csharp #dotnetcore #mikroserwisy #akademiaspetza #spetz #devmentors #dshop
spetz - Dobry dzień,

Szósty odcinek kursu o mikroserwisach w .NET Core już dostępn...
Cześć,

Piąty (póki co najdłuższy bo prawie 80 min.) odcinek kursu o mikroserwisach w .NET Core już jest - rozmawiamy o kwerendach (query) i odczycie danych (read side) w CQRS. Implementujemy QueryHandler i DTO, a finalnie wprowadzamy wewnętrzną komunikację HTTP pomiędzy API Gateway i mikroserwisem z wykorzystaniem RestEase.

Kod na GitHub:
https://github.com/devmentors

Odnośniki do forum, Gitter etc.
https://devmentors.io

#programowanie #programista15k #dotnet #dotnetnews #csharp #dotnetcore #mikroserwisy #akademiaspetza #spetz #devmentors #dshop
spetz - Cześć,

Piąty (póki co najdłuższy bo prawie 80 min.) odcinek kursu o mikros...
  • Odpowiedz
Dobry,

Czwarty odcinek kursu o mikroserwisach w .NET Core już jest - wykorzystujemy przesyłanie zdarzeń (wiadomości w kolejce) jako mechanizm asynchronicznej integracji pomiędzy mikroserwisami (jednak z technik zmniejszająca tzw. "temporal coupling" i zwiększająca "resiliency").

Kod na GitHub:
https://github.com/devmentors

Odnośniki do forum, Gitter etc.
https://devmentors.io

#programowanie #programista15k #dotnet #dotnetnews #csharp #dotnetcore #mikroserwisy #akademiaspetza #spetz #devmentors #dshop
spetz - Dobry,

Czwarty odcinek kursu o mikroserwisach w .NET Core już jest - wykor...
  • Odpowiedz
Cześć,

Jakiś czas temu wspominałem, że razem z Darkiem pracujemy nad kodem (a docelowo kursem) poświęconemu tworzeniu mikroserwisów w .NET Core. Po ponad półrocznym "kodzeniu" po godzinach, tonie zebranego "feedbacku" na różnego rodzaju konferencjach i wielu zmianach koncepcji, wstępnie ukończyliśmy pierwszą wersję solucji, a poniżej krótki teaser ( ͡° ͜ʖ ͡°).

Pozwólcie, że z grubsza przekleję (ponieważ całość będzie po angielsku) jakie tematy m.in. zostaną poruszone:

- RESTful
spetz - Cześć,

Jakiś czas temu wspominałem, że razem z Darkiem pracujemy nad kodem...
Dobry dzień,
Ponad pół roku temu pytałem Was o inicjatywę dotyczącą stworzenia kursu omawiającego .NET Core, mikroserwisy, Docker itp. Temat oczywiście żyje i przymierzamy się w końcu do rozpoczęcia nagrywania odcinków (po drodze mieliśmy trochę wystąpień na różnych konferencjach, udało się zebrać masę wartościowych opinii, w związku z czym trwa nieustanny refactoring ( ͡° ͜ʖ ͡°)).

Zmieniliśmy również samą koncepcję tzn. chcemy nagrać kurs jako tzw. "wyjście z
spetz - Dobry dzień,
Ponad pół roku temu pytałem Was o inicjatywę dotyczącą stworzen...

źródło: comment_tyQPiP4XCHPdhFWGlm6yhnHVoodFQUCq.jpg

Pobierz
@szpongiel: bawiłem się trochę Szkalą a poza JVM to Go - fajne języki z ciekawym podejściem ale jak zwykle, projekty poboczne wzięły górę i przykładowe aplikacje do napisania poszły w odstawkę ( ͡° ͜ʖ ͡°).
  • Odpowiedz
@spetz Hmm, a co sądzisz o tym, aby przy generowaniu JWT jako secret użyć np. hasha hasła użytkownika?

Całkiem proste rozwiązanie - sama zmiana hasła umożliwi nam unieważnienie wszystkich poprzednich tokenów.
  • Odpowiedz
@endetti: nie jes to takie proste, ponieważ musiałbyś być w stanie powiązać każde zapytanie HTTP z danym kluczem (hasłem) użytkownika, czyli prawdopodobnie trzymać jakiś słownik w pamięci, pomijając już reguły odnośnie wielkości samych kluczy.
  • Odpowiedz
Cześć,
Już w przyszłą środę (21.03), o godzinie 18:00 w siedzibie Connectis w Warszawie poprowadzę razem z Darkiem mocno techniczną prelekcję dotyczącą .NET Core, mikroserwisów i wszystkiego, co z tym jest związane. Jest to pierwsze (i prawdopodobnie najdłuższe) wydarzenie w tym roku rozpoczynające sezon prelegencki. Pojawimy się jeszcze w kilku innych miastach w najbliższych tygodniach - info w niedalekiej przyszłości. Zapraszam :).

#programowanie #programista15k #dotnet #dotnetnews #dotnetcore #csharp #akademiaspetza #spetz #programujzwykopem
@botul: pewnie tak ale stawiam, że dopiero gdy pojawi się kolejna edycja 4Developers, podobnie jak rok temu. Ja osobiście będę prowadził warsztaty w ramach BeIT w kwietniu ale na inny temat.
  • Odpowiedz
Cześć,
Wydaliśmy w końcu wersję Premium naszej aplikacji treningowej Fortitudo, w skrócie 42.do. Tworzymy ją go godzinach od prawie 3 lat (z mniejszymi lub większymi przerwami), ale jako osoby trenujące dobrze wiemy, czego brakuje na rynku. Odświeżony UI, zaawansowane generowanie planów treningowych na podstawie wprowadzonych wyników, rekalkulacja ciężarów, szczegółowa edycja każdego dnia treningowego, statystyki, stopery + podstawowe wsparcie treningów interwałowych (w przyszłości CrossFit), widget z wykonywanym ćwiczeniem, zamiana ćwiczeń, własny
spetz - Cześć,
Wydaliśmy w końcu wersję Premium naszej aplikacji treningowej Fortitu...

źródło: comment_ealgpWI7l0WdY7VGHStpMMXvOlY0cZJ4.jpg

Pobierz
@spetz: niepolecasz bawienia sie z Xamarinem? Niedawno rozpoczalem pisanie apki na androida i jako ze troche ogarniam c# to naturalnym wyborem wydawal mi sie Xamarin, zle mysle? ( ͡° ͜ʖ ͡°)
  • Odpowiedz
via Android
  • 1
@losbaltica nigdzie tego nie napisałem, po prostu uważam (jak i wiele innych, bardziej doświadczonych osób), że takie rozwiązania mają swoje zastosowanie ale gdy chcesz zrobić super aplikację i wycisnąć maxa ze sprzętu to piszesz natywnie pod daną platformę.
  • Odpowiedz
#akademiaspetza #programowanie #csharp

@spetz mam pytanie, bo nie do końca powiem szczerze czuję wykorzystywanie generyków do czegoś innego niż pojemniki, które w C# są i tak już zrobione. Pamiętam, że w C++ używałem z kolegą szablonów, ale to też było do tworzenia uniwersalnych struktur które cośtam przechowują i muszą być gotowe na dowolne typy parametrów w przyszłości. W takich pojemnikowych zastosowaniach generyki/szablony mają sens i ułatwiają robotę. Natomiast w filmiku widziałem coś
@Khaine: bez "generyków" tak jak zauważyłeś nie byłbyś w stanie jawnie zdefiniować danego handlera dla wskazanej komendy - musiałbyś się babrać z rzutowaniem itd. do tego np. automatyczna rejestracja takich handlerów z poziomu kontenera IoC byłaby praktycznie niemożliwa (w użytym przeze mnie Autofac można właśnie coś takiego robić). Dodatkowo dochodzą jeszcze inne "ficzery" jak np. kowariancja/kontrawariancja itp. Generyki mają specyficzny zbiór zastosowań ale są naprawdę przydatne :).
  • Odpowiedz