Pierwsza edycja Szkoły System Design rusza już wkrótce. Lista oczekujących jest otwarta. Zapisz się

Szkolenie online dla programistów · prowadzi Kazimierz Szpin, CTO FindSolution.pl

Kursy uczą projektować Netflixa. Ty pracujesz przy systemie na 20 tysięcy użytkowników.

Nauczysz się projektować systemy, które wytrzymują ruch, i bronić swoich decyzji liczbami: w pracy i na rozmowie na seniora. Ćwiczysz na działającym sklepie w .NET 10 i na systemach, jakie naprawdę powstają w firmach: CRM-ach, systemach rezerwacji, SaaS-ach.

Osoby z listy dowiedzą się o otwarciu zapisów pierwsze. Wypiszesz się jednym kliknięciem.

albo najpierw zobacz program
Ponad 20 godzin nauki: 12 modułów, 7 laboratoriów i 11 zadań projektowych Działający sklep w .NET 10, bez Dockera 14 dni na zwrot 1200+ uczestników moich szkoleń
monitoring · sklep DiodaPRZYKŁAD

UŻYTKOWNIKÓW DZIENNIE

Użytkownicy SERWER Aplikacja Baza danych Serwer: CPU 97%, lista zamówień 8 s Wystarcza. Nic nie dokładasz. Load balancer App App Baza danych osobny serwer + cache w pamięci Cache zdejmuje z bazy większość odczytów. CDN zdjęcia, pliki App App App App Redis katalog, koszyk kolejka w tabeli Worker maile, faktury, SMS
Szczyt, żądań/s~5
Odpowiedź, p95180 ms
CPU serwera6%
Koszt, zł / mies.90
Jeden serwer spokojnie wystarcza. Nic nie dokładasz.
Kliknij etap albo poczekaj, aż system urośnie sam.Liczby ze sklepu Dioda, z którym przechodzisz kurs.

Znasz to?

Tego nie nauczy Cię kolejny framework

MONITORING · 09:14

Lista zamówień: czas odpowiedzi 8,2 s

Na produkcji jest 50 razy więcej danych niż na środowisku testowym. Na testach wszystko działało.

WIADOMOŚĆ OD SZEFA · 11:40

„Black Friday za sześć tygodni. Wytrzymamy?”

Powinno…

Odpowiadasz tak, bo nie masz jak tego policzyć.

ROZMOWA NA SENIORA · etap 3

„Zaprojektuj system powiadomień.”

Rysujesz trzy prostokąty i nie wiesz, co dalej. Zostało 40 minut rozmowy.

CODE REVIEW · #248

„Może rozbijmy to na mikroserwisy?”

Czujesz, że to przesada, ale nie umiesz tego uzasadnić.

Takie pytania dotyczą całego systemu: z czego się składa, gdzie ma słabe punkty i jak podejmować decyzje, których nie da się łatwo cofnąć. Tego uczy Szkoła System Design.

Przed i po

Dwie odpowiedzi na to samo pytanie

Bez system design
Szef
Black Friday za sześć tygodni. Wytrzymamy?
Ty
Powinno. Najwyżej dołożymy serwer.

W dniu największej sprzedaży lista zamówień ładuje się 8 sekund.

Po Szkole System Design
Szef
Black Friday za sześć tygodni. Wytrzymamy?
Ty
  1. Szczyt w Black Friday to około 900 żądań na sekundę.
  2. Dziś bezpiecznie obsługujemy około 250.
  3. Dokładam cache katalogu, kolejkę na maile i więcej instancji.
  4. Koszt: około 1 100 zł miesięcznie więcej. Potrzebuję decyzji do piątku.

Konkretny plan, który szef może zaakceptować albo odrzucić.

Podejście

Najpierw liczby, potem architektura

Po angielsku jest sporo dobrych książek i kanałów o system design. Większość przygotowuje jednak do rozmowy w dużej firmie technologicznej: miliard użytkowników, sharding od pierwszego dnia, dziesięć osobnych usług.

W typowym projekcie to przerost formy, który kosztuje miesiące pracy i rachunki za chmurę. Tutaj zaczynamy od systemu, który masz dziś, i dokładamy elementy dopiero wtedy, gdy wymuszają to liczby.

01

Najpierw liczby

Każdą decyzję zaczynamy od policzenia ruchu, danych i kosztu.

02

Najprostsze, co wystarczy

Kolejny element dodajesz, gdy wiesz, co go wymusza.

03

Prawdziwa skala

Sklepy, CRM-y, rezerwacje i SaaS od 1 000 do 200 000 użytkowników, a nie Netflix.

04

Kod tam, gdzie pomaga

Podstawą są diagramy i obliczenia. Cache, kolejkę i ponawianie zobaczysz też w C#, w kodzie, który uruchamiasz u siebie.

Laboratoria

Uczysz się na działającym sklepie, nie tylko na slajdach

Przez cały kurs przygotowujesz na Black Friday sklep internetowy Dioda: 20 000 użytkowników dziennie, lista zamówień ładuje się 8 sekund, a szef pyta „Wytrzymamy?”. Firma jest fikcyjna, ale kod działa. Dostajesz go jako ZIP z repozytorium git i uruchamiasz na swoim komputerze.

W siedmiu laboratoriach pracujesz na działającym sklepie i mierzysz go w k6, a w czterech z nich zmieniasz kod i mierzysz jeszcze raz. Każde laboratorium zaczynasz od gotowego stanu w repozytorium, więc powtórzysz je, kiedy chcesz.

  • .NET 10
  • ASP.NET Core
  • EF Core
  • SQL Server LocalDB
  • Aspire
  • Garnet, zgodny z Redisem
  • YARP
  • k6
  • bez Dockera
laboratorium 10.2 · u mnie

>k6 run -e CEL=900 k6/black-friday.js

Pomiarprzed kursempo kursie
Błędy10,3–10,9%0,03%
Złożenie zamówienia, p953,4 s319 ms
Sprzedane konsole przy 500 na stanie554–565500
Zamówienia bez błędu serwera przy awarii bramki SMS44–45%100%
Ten sam test na sklepie przed kursem i po nim: ruch jak w Black Friday, promocja na 500 konsol i awaria bramki SMS. Wyniki z mojego komputera — u Ciebie liczby będą inne, kierunek ten sam.
  1. 0.4

    Uruchom sklep u siebie

    Sklep ze 150 000 zamówień rusza jednym poleceniem. Lista zamówień w panelu ładuje się kilka sekund — jak na produkcji.

  2. 2.5

    Ile naprawdę wytrzymuje jeden serwer?

    Test obciążenia w k6 ze stałym tempem żądań: przy ilu żądaniach na sekundę p95 przekracza próg i co jest przyczyną.

  3. 4.3

    Lista zamówień z sekund do milisekund

    Poprawione zapytanie EF Core, indeks z planu wykonania i paginacja po kluczu — każdy krok z pomiarem.

  4. 5.5

    Cache katalogu: ile więcej wytrzyma sklep

    HybridCache i Garnet na dwóch instancjach. Zmiana ceny na żywo i awaria cache, po której sklep działa dalej.

  5. 6.5

    Bramka SMS pada, a zamówienia przechodzą

    Mail, SMS i faktura idą do outboxa, a worker wysyła je z ponawianiem i dead-letter.

  6. 7.3

    Bramka płatności odpowiada 30 sekund

    Efekt domina na Twoim komputerze. Potem płatność poza transakcją, limity czasu i circuit breaker.

  7. 10.2

    Test Black Friday: sklep przed kursem i po nim

    Ten sam test na obu wersjach sklepu. Wynik u mnie jest w tabeli wyżej.

  8. Windows

    Czego potrzebujesz

    Windows 10 albo 11, zalecane 16 GB RAM i 4 rdzenie. Wszystkie narzędzia są za darmo, a instalację krok po kroku opisuje PDF do lekcji 0.4. Do instalacji potrzebne są uprawnienia administratora — na służbowym komputerze zapytaj dział IT.

W kodzie sklepu

12 problemów, które znajdziesz w prawdziwych projektach .NET

Sklep Dioda startuje z tymi problemami. Większość nie wychodzi na testach, tylko pod ruchem, na pełnych danych albo na drugim serwerze. Cztery naprawiasz w laboratoriach, resztę pokazują lekcje i kolejne stany repozytorium.

  1. 01moduł 4 · lab 4.3

    Lista zamówień, która na testach działa

    8,2 s na produkcji, 0,3 s na testach, gdzie danych jest 50 razy mniej.

  2. 02moduł 4

    Historia zamówień dociągana w pętli (N+1)

    Osobne zapytanie do bazy dla każdego zamówienia klienta.

  3. 03moduł 4

    Stan magazynowy bez kontroli współbieżności

    Promocja na 500 konsol sprzedaje ich więcej.

  4. 04moduł 3

    Koszyk w IMemoryCache

    Przy dwóch instancjach koszyk znika co drugie żądanie.

  5. 05moduł 3

    Zdjęcia produktów na dysku serwera

    Druga instancja nie widzi nowych zdjęć.

  6. 06moduł 3

    Klucze Data Protection w domyślnym katalogu

    Przy dwóch serwerach klient traci logowanie.

  7. 07moduł 3

    Zadanie w tle w BackgroundService na każdej instancji

    Anulowanie nieopłaconych zamówień wykonuje się dwa razy.

  8. 08moduł 3

    Klient bramki SMS wołany przez .Result

    Pod obciążeniem serwer stoi przy niskim zużyciu procesora.

  9. 09moduł 5 · lab 5.5

    Katalog czytany z bazy przy każdym wejściu

    Baza obciążona odczytami danych, które prawie się nie zmieniają.

  10. 10moduł 6 · lab 6.5

    Mail, SMS i faktura PDF w żądaniu zamówienia

    Zamówienie trwa ok. 3 s, a awaria bramki SMS blokuje zakupy.

  11. 11moduł 7 · lab 7.3

    Bramka płatności bez timeoutu, w otwartej transakcji

    Wolna bramka zabiera połączenia do bazy i staje cały sklep, także katalog.

  12. 12moduł 9

    Migracje przez Database.Migrate() przy starcie

    Nieudana migracja wyłącza wszystkie instancje naraz.

Zadania z kursu

Tak wyglądają prace domowe

Po każdym module projektujesz system. Sprawdzasz się checklistą, a tydzień później oglądasz moje omówienie z przykładowym rozwiązaniem. Masz pytania do swojego rozwiązania? Piszesz do mnie — odpowiadam osobiście.

Moduł 2Aplikacja do zamawiania lunchu w 30 biurowcach: 7 200 zamówień między 9:00 a 10:30, połowa w ostatnich 20 minutach. Ile ruchu, danych i serwerów?

Efekt: jedna strona obliczeń: założenia, szczyt z zapasem, dane na trzy lata i liczba serwerów z uzasadnieniem.

Moduł 5CRM dla 300 firm na trzech instancjach. Zaprojektuj cache uprawnień, po którym zwolniony pracownik traci dostęp najpóźniej w minutę — na każdej instancji.

Efekt: schemat cache, najgorszy przypadek w sekundach, awaria Redisa i przypadki brzegowe.

Moduł 6Faktury firmowe muszą trafić do KSeF — każda dokładnie raz, nawet gdy API ma przerwę albo odpowiada 429. Zamówienie nigdy nie czeka na KSeF.

Efekt: diagram przepływu, tabela stanów faktury i tempo wysyłki wobec limitu API.

Moduł 8Zespół chce wydzielić płatności do osobnej usługi. Oceń, czy to się opłaca.

Efekt: decyzja zapisana w ADR, z kosztami obu wariantów i warunkami jej zmiany.

Moduł 105 000 miejsc na koncert, 50 000 chętnych o 10:00, boty i wolna bramka płatności. Zaprojektuj sprzedaż, w której żadne miejsce nie pójdzie dwa razy.

Efekt: dokument projektowy na najwyżej dwie strony, z diagramem i liczbami.

Moduł 11Zaprojektuj system powiadomień w 45 minut, tak jak na rozmowie rekrutacyjnej.

Efekt: diagram, notatki z tablicy i podsumowanie w pięciu zdaniach — potem porównanie z omówieniem.

Checklista „Sprawdź się”Pięć pytań tak/nie na końcu każdego zadania. Od razu wiesz, co poprawić.
Omówienie po tygodniuWideo i PDF z przykładowym rozwiązaniem i najczęstszymi błędami.
Pytania mailemNajwyżej trzy do zadania. Odpowiadam osobiście — to nie jest pełna recenzja każdej pracy.

Program

12 modułów, 55 lekcji, 7 laboratoriów: od wymagań do rozmowy rekrutacyjnej

Ok. 8 h 25 min wideo: 55 lekcji i 11 omówień zadań. Lekcje pokazują diagramy, które rosną krok po kroku, obliczenia i kod C#, a kod sklepu pochodzi prosto z jego repozytorium. Siedem laboratoriów to nagrania ekranu krok po kroku na działającym sklepie. Po każdym module od 1 do 11 robisz zadanie projektowe, a tydzień później oglądasz jego omówienie.

laboratoriumzadanie projektoweomówienie zadania z PDF-em rozwiązania, 7 dni po module
MODUŁ 0Start
M00

Start. „Black Friday za sześć tygodni. Wytrzymamy?”

Poznajesz sklep Dioda, który przez cały kurs przygotowujesz na Black Friday, i uruchamiasz go na swoim komputerze — bez Dockera.

4 lekcje, w tym laboratorium · ok. 25 min

  1. 0.1Kursy uczą projektować Netflixa. Ty pracujesz przy systemie na 20 tysięcy użytkowników
  2. 0.2Poznaj sklep Dioda: system, który przez cały kurs przygotujemy na Black Friday
  3. 0.3Jak przejść kurs: lekcje, laboratoria, zadania projektowe z omówieniami i certyfikat
  4. 0.4
    Uruchom sklep u siebie: .NET 10, SQL Server i Aspire, bez Dockera + instrukcja PDF
MODUŁY 1–2Fundamenty
M01

Wymagania. Zamień „ma działać szybko” na liczby

Zamieniasz „ma działać szybko” w liczby: czas odpowiedzi z percentylem, przepustowość i dostępność w minutach awarii. Poznajesz metodę w sześciu krokach, której używasz do końca kursu i na rozmowie.

4 lekcje · zadanie z omówieniem · ok. 31 min

  1. 1.1Czym jest system design: decyzje, kompromisy i metoda w sześciu krokach
  2. 1.2Wymagania funkcjonalne: co system musi robić, a co może poczekać
  3. 1.3Czas odpowiedzi, przepustowość i percentyle: dlaczego średnia kłamie
  4. 1.4Dostępność w minutach: ile kosztuje każda „dziewiątka” (SLA, SLO, RPO i RTO)
  5. 1.5Zadanie projektowe: wymagania dla aplikacji do zamawiania lunchu w biurowcach
  6. 1.6Omówienie zadania: wymagania dla aplikacji do zamawiania lunchu
M02

Szacowanie na serwetce. Ile ruchu, danych i serwerów

Liczysz w pięć minut ruch, dane, połączenia i serwery, a potem mierzysz w k6, ile naprawdę wytrzymuje Twój serwer. Wiesz, dlaczego wolna baza wyczerpuje pulę połączeń i kładzie całą aplikację.

5 lekcji, w tym laboratorium · zadanie z omówieniem · ok. 39 min

  1. 2.1
    Liczby, które każdy programista powinien znać + ściąga PDF
  2. 2.2Od użytkowników dziennie do żądań na sekundę: średnia i szczyt
  3. 2.3Ile danych i ile serwerów: szacowanie w pięć minut
  4. 2.4Prawo Little'a: dlaczego pula połączeń kończy się przy stu żądaniach naraz
  5. 2.5Laboratorium: ile naprawdę wytrzymuje jeden serwer? Test obciążenia w k6
  6. 2.6Zadanie projektowe: lunch w biurowcach — ile ruchu, danych i serwerów
  7. 2.7Omówienie zadania: lunch w biurowcach — ile ruchu, danych i serwerów
MODUŁY 3–5Skalowanie
M03

Skalowanie aplikacji. Co padnie pierwsze, gdy rośnie ruch

Znajdujesz wąskie gardło, zanim dołożysz serwer. Dowiadujesz się, co psuje się w aplikacji ASP.NET Core po dodaniu drugiej instancji i dlaczego serwer stoi przy procesorze na 5%.

4 lekcje · zadanie z omówieniem · ok. 35 min

  1. 3.1Co padnie pierwsze? Znajdź wąskie gardło, zanim znajdzie je klient
  2. 3.2Większy serwer czy więcej serwerów: load balancer i health checks
  3. 3.3Drugi serwer psuje aplikację ASP.NET Core: koszyk w pamięci, sesje, klucze i zadania w tle
  4. 3.4Procesor na 5%, a serwer stoi: thread pool starvation i async w .NET
  5. 3.5Zadanie projektowe: znajdź w kodzie sklepu wszystko, co nie przeżyje drugiego serwera
  6. 3.6Omówienie zadania: co w kodzie sklepu nie przeżyje drugiego serwera
M04

Baza danych pod obciążeniem

Naprawiasz zapytanie, które na produkcji trwa 8 sekund, a na testach 0,3 s: plan wykonania, indeksy, typowe błędy EF Core. Zabezpieczasz ostatnią sztukę towaru przed dwoma kupującymi i wiesz, kiedy repliki, sharding i NoSQL mają sens.

6 lekcji, w tym laboratorium · zadanie z omówieniem · ok. 56 min

  1. 4.1Lista zamówień ładuje się 8 sekund: plan zapytania i indeksy, które naprawdę działają
  2. 4.2EF Core pod obciążeniem: N+1, za dużo danych, śledzenie zmian i paginacja
  3. 4.3Laboratorium: lista zamówień z sekund do milisekund
  4. 4.4Dwóch klientów, ostatnia sztuka: współbieżność i blokady w EF Core
  5. 4.5Repliki do odczytu: raporty bez zabijania bazy i „zapisałem, a nie widzę”
  6. 4.6Partycjonowanie, sharding i NoSQL: kiedy tak, a dlaczego zwykle nie
  7. 4.7Zadanie projektowe: wyszukiwarka zamówień i dzienny raport sprzedaży w panelu obsługi
  8. 4.8Omówienie zadania: wyszukiwarka zamówień i dzienny raport sprzedaży
M05

Cache. Szybciej i taniej, jeśli wiesz, kiedy go unieważnić

Zdejmujesz z bazy większość odczytów: warstwy cache, HybridCache, Redis i Output Cache w .NET. Unieważniasz dane na wielu instancjach i chronisz bazę przed lawiną zapytań, gdy cache wygaśnie w złym momencie.

5 lekcji, w tym laboratorium · zadanie z omówieniem · ok. 48 min

  1. 5.1Gdzie cache daje najwięcej: przeglądarka, CDN, serwer i baza
  2. 5.2Cache w .NET: IMemoryCache, Redis, HybridCache czy Output Cache?
  3. 5.3Cena się zmieniła, a klient widzi starą: unieważnianie cache
  4. 5.4Cache wygasa, baza pada: lawina zapytań (cache stampede) i jak jej zapobiec
  5. 5.5Laboratorium: cache katalogu — ile więcej wytrzyma sklep
  6. 5.6Zadanie projektowe: cache uprawnień w CRM, który odbiera dostęp w minutę
  7. 5.7Omówienie zadania: cache uprawnień w CRM, który odbiera dostęp w minutę
MODUŁY 6–7Niezawodność
M06

Kolejki i przetwarzanie w tle

Wyciągasz z żądania to, co nie musi wydarzyć się od razu: kolejka w bazie albo broker, idempotencja, ponawianie, dead-letter i wzorzec outbox. W laboratorium bramka SMS pada, a zamówienia dalej przechodzą.

5 lekcji, w tym laboratorium · zadanie z omówieniem · ok. 51 min

  1. 6.1Co nie musi wydarzyć się od razu: zamówienie w 300 ms zamiast 3 sekund
  2. 6.2Tabela w bazie, RabbitMQ czy Azure Service Bus: jaka kolejka i czym ją obsłużyć w .NET
  3. 6.3Ta sama wiadomość przyjdzie dwa razy: idempotencja, ponawianie i dead-letter
  4. 6.4Wzorzec outbox: zamówienie zapisane, a mail nigdy nie wyszedł
  5. 6.5Laboratorium: bramka SMS pada, a zamówienia dalej przechodzą
  6. 6.6Zadanie projektowe: faktury do KSeF — każda dokładnie raz, nawet gdy API nie działa
  7. 6.7Omówienie zadania: faktury do KSeF
M07

Odporność na awarie. Gdy padnie płatność, poczta albo zewnętrzne API

Sprawiasz, że awaria płatności, poczty albo zewnętrznego API nie wyłącza całego systemu: timeouty, ponawianie, circuit breaker w .NET, rate limiting, wyłączanie funkcji i kopie zapasowe, które da się odtworzyć.

5 lekcji, w tym laboratorium · zadanie z omówieniem · ok. 48 min

  1. 7.1Jedno wolne API kładzie cały sklep: awarie częściowe i efekt domina
  2. 7.2Timeout, ponawianie i circuit breaker: odporność w .NET z Polly
  3. 7.3Laboratorium: bramka płatności odpowiada 30 sekund
  4. 7.4Rate limiting: lepiej odmówić części żądań, niż paść dla wszystkich
  5. 7.5Plan B: wyłączanie funkcji, kopie zapasowe i powrót po awarii
  6. 7.6Zadanie projektowe: API kuriera pada w Black Friday, a klient i tak kupuje
  7. 7.7Omówienie zadania: API kuriera pada w Black Friday
MODUŁY 8–9Architektura i produkcja
M08

Monolit modularny czy mikroserwisy. Decyzja liczbami, nie modą

Liczysz koszt mikroserwisów, zanim je zbudujesz. Projektujesz monolit modularny w .NET z twardymi granicami, sagi zamiast rozproszonych transakcji i zapisujesz decyzje w ADR.

4 lekcje · zadanie z omówieniem · ok. 39 min

  1. 8.1Ile naprawdę kosztują mikroserwisy: ludzie, sieć, dane i wdrożenia
  2. 8.2Monolit modularny w .NET: moduły z twardymi granicami w jednym wdrożeniu
  3. 8.3Wywołanie, zdarzenie czy saga: jak moduły i usługi rozmawiają ze sobą
  4. 8.4
    Kiedy wydzielić usługę i jak zapisać decyzję w ADR + szablon ADR
  5. 8.5Zadanie projektowe: płatności w osobnej usłudze — opłaca się czy nie?
  6. 8.6Omówienie zadania: płatności w osobnej usłudze
M09

Produkcja. Obserwowalność, wdrożenia i koszty

Widzisz, co dzieje się w systemie o trzeciej w nocy: logi, metryki, ślady w OpenTelemetry i alerty, które mają sens. Wdrażasz bez przestoju, migrujesz bazę bez ryzyka i liczysz, ile kosztuje Twoja architektura.

4 lekcje · zadanie z omówieniem · ok. 38 min

  1. 9.1Logi, metryki, ślady i alerty: skąd wiesz, co się dzieje o trzeciej w nocy
  2. 9.2
    OpenTelemetry i Aspire: zobacz jedno żądanie przez cały system + nagranie ekranu
  3. 9.3Wdrożenie bez przestoju i migracja bazy, której nie trzeba cofać
  4. 9.4Ile kosztuje Twoja architektura i gdzie przepala się budżet
  5. 9.5Zadanie projektowe: monitoring i budżet sklepu na Black Friday
  6. 9.6Omówienie zadania: monitoring i budżet sklepu na Black Friday
MODUŁY 10–11Praktyka
M10

Case studies. Od wymagań do diagramu

Składasz wszystko w plan na Black Friday i dokument dla szefa, a potem sprawdzasz go testem na sklepie „przed” i „po”. Projektujesz od zera system rezerwacji, SaaS dla wielu firm i aplikację z modelem językowym.

5 lekcji, w tym laboratorium · zadanie z omówieniem · ok. 57 min

  1. 10.1
    Black Friday: plan za 1 100 zł miesięcznie i dokument, który szef zaakceptuje + szablon dokumentu projektowego i checklista gotowości
  2. 10.2Laboratorium: test Black Friday — sklep przed kursem i po nim
  3. 10.3System rezerwacji: 40 gabinetów i zero podwójnych rezerwacji
  4. 10.4SaaS dla wielu firm: jedna baza czy baza na klienta?
  5. 10.5Aplikacja z modelem językowym: koszty, limity i kolejki
  6. 10.6Zadanie projektowe: 5 000 biletów, 50 000 chętnych o 10:00
  7. 10.7Omówienie zadania: 5 000 biletów, 50 000 chętnych o 10:00
M11

Rozmowa system design. 45 minut na seniora

Prowadzisz rozmowę system design według planu na 45 minut, wiesz, co ocenia rekruter i jakie błędy oblewają kandydatów. Oglądasz całą rozmowę próbną krok po kroku i ćwiczysz na zadaniu z omówieniem.

4 lekcje · zadanie z omówieniem · ok. 38 min

  1. 11.1Jak wygląda rozmowa system design i co naprawdę ocenia rekruter
  2. 11.2
    Plan na 45 minut i błędy, które oblewają kandydatów + plan odpowiedzi PDF
  3. 11.3Rozmowa próbna: skracacz linków od pierwszego pytania do ostatniego
  4. 11.4Co dalej: jak ćwiczyć (także z AI), certyfikat i Twój następny system
  5. 11.5Zadanie projektowe: system powiadomień w 45 minut
  6. 11.6Omówienie zadania: system powiadomień w 45 minut

Jak wygląda nauka

Oglądasz, uruchamiasz, projektujesz

1

Oglądasz lekcję

Diagram rośnie krok po kroku, obok obliczenia i kod C#. Kod Diody pochodzi prosto z repozytorium.

2

Powtarzasz laboratorium u siebie

Uruchamiasz sklep, zmieniasz kod z gotowych plików i mierzysz w k6, co się zmieniło.

3

Projektujesz system

Po module dostajesz zadanie „zaprojektuj…” na konkretnym przykładzie z liczbami.

4

Sprawdzasz się checklistą i porównujesz z omówieniem

Pięć pytań tak/nie od razu, a tydzień później omówienie wideo z przykładowym rozwiązaniem.

5

Pytania wysyłasz mailem

Najwyżej trzy do zadania. Odpowiadam osobiście.

Cztery tygodnie: plan gotowy dwa tygodnie przed Black Friday

Od razu po zakupie dostajesz moduły 0–3, potem co tydzień kolejne — cały kurs w cztery tygodnie. Omówienie zadania odblokowuje się tydzień po module.

  1. Tydzień 1 · od razu0 Start
    1 Wymagania
    2 Szacowanie
    3 Skalowanie aplikacji
  2. Tydzień 24 Baza danych
    5 Cache
  3. Tydzień 36 Kolejki
    7 Odporność na awarie
    8 Architektura
  4. Tydzień 49 Produkcja
    10 Case studies
    11 Rozmowa system design

W pakiecie

  • Repozytorium sklepu Dioda. ZIP z historią git i stanami laboratoriów: .NET 10, bez Dockera.
  • Przykładowe rozwiązania 11 zadań. PDF pod każdym omówieniem, z najczęstszymi błędami.
  • Ściąga „Szacowanie na serwetce”. Liczby i wzory na jednej stronie.
  • Szablon ADR. Jak zapisać decyzję architektoniczną, z przykładem z Diody.
  • Szablon dokumentu projektowego. Jak opisać system, żeby zespół i szef zrozumieli decyzje. Z planem Diody na Black Friday jako przykładem.
  • Checklista gotowości na większy ruch. Do przejścia przed kampanią albo premierą.
  • Plan odpowiedzi na rozmowę. Kolejność kroków na 45 minut rozmowy system design.
  • Slajdy każdego modułu w PDF. Do powtórki przed rozmową albo ważną decyzją.
  • Certyfikat i dożywotni dostęp. Certyfikat za przejście kursu, dostęp razem z aktualizacjami materiałów.

Dla kogo

Sprawdź, czy to szkolenie jest dla Ciebie

Tak, jeśli:

  • programujesz komercyjnie od około roku lub dłużej i chcesz rozumieć cały system, a nie tylko swój fragment,
  • celujesz w stanowisko mida lub seniora i chcesz przygotować się do rozmowy z system design,
  • budujesz własny produkt albo SaaS i chcesz wiedzieć, co zrobić, zanim ruch Cię zaskoczy,
  • piszesz w .NET, Javie, Pythonie albo PHP. Zasady są te same, a laboratoria są w .NET 10.

Nie, jeśli:

  • dopiero uczysz się programować. Zacznij od „Zostań Programistą .NET”,
  • szukasz treningu wyłącznie pod rozmowy w amerykańskich big techach,
  • chcesz robić laboratoria na macOS albo Linuksie. Przygotowałem je tylko pod Windows,
  • chcesz tylko obejrzeć teorię, bez laboratoriów i zadań.
Kazimierz Szpin

Prowadzący

Kazimierz Szpin

Od ponad 15 lat tworzę oprogramowanie na platformie .NET. Jestem CTO i założycielem software house'u FindSolution.pl, który buduje aplikacje dla firm, oraz twórcą pięciu własnych aplikacji SaaS: StrefaWatow.pl, Szyfron.pl, CrmDlaFirmy.pl, StworzSklepOnline.pl i BlogW5Minut.pl.

W kursie opowiadam, co w takich projektach psuje się najczęściej, gdy rośnie ruch, i jak to naprawiamy.

„Przez lata w FindSolution widziałem ten sam scenariusz w wielu projektach. System działa bez zarzutu na testach i przez pierwsze miesiące na produkcji. Potem przychodzi kampania, ruch rośnie kilka razy w jeden dzień, lista zamówień ładuje się kilka sekund, a baza stoi na stu procentach procesora.

Naprawa zwykle zajmuje jedną noc: indeksy, cache, maile przeniesione do kolejki. I za każdym razem wniosek jest ten sam: wystarczyło to policzyć tydzień wcześniej. Dlatego w tym szkoleniu zaczynamy od liczb, a nie od modnych rozwiązań.”

1200+uczestników szkoleń
10 000programistów na liście mailowej
5200+subskrybentów YouTube
12szkoleń online

Współpracowałem m.in. z: Sensonics, Infobox, BIELbit, Rekord SI.

Opinie

Co mówią uczestnicy moich szkoleń

Opinie dotyczą moich wcześniejszych szkoleń, bo Szkoła System Design rusza w pierwszej edycji. Zadania działają tu inaczej: checklista, omówienie z przykładowym rozwiązaniem i pytania mailem (jak to wygląda).

„Kupiłam kurs po 5–6 latach pracy, aby usystematyzować sobie wiedzę — i usystematyzowałam. Używam go do przypomnień przed rozmowami rekrutacyjnymi (…)”
Angelika Maria Piątkowskaprogramistka, uczestniczka „Zostań Programistą .NET”
„(…) Prace domowe sprawdzane są bardzo szybko i dokładnie. Sam zdecydowałem się na zakup kolejnych szkoleń.”
Maciej Szafrańskiuczestnik szkoleń ModestProgrammer
„(…) Kazimierz sprawdza zadania szybko i daje wyczerpujący feedback z cennymi wskazówkami.”
Michał Rekiećuczestnik „Zostań Programistą .NET”

Porównanie

Są inne drogi. Porównajmy uczciwie.

KryteriumSzkoła System DesignKsiążki i kanały po angielskuSzkolenie stacjonarne
Koszt1497 zł, raz0–200 zł i dużo własnego czasuzwykle kilka tysięcy zł za 2–3 dni
Skala przykładówsystemy, jakie powstają w typowych firmachgłównie wielkie firmy technologicznezależy od trenera
Laboratoria na działającym systemie7 laboratoriów na sklepie w .NET 10, który uruchamiasz u siebierzadkozależy od trenera
Informacja zwrotna do Twoich projektówpo każdym module checklista i omówienie z przykładowym rozwiązaniem, pytania mailemniećwiczenia w grupie, w trakcie zajęć
Przygotowanie do rozmowycały moduł 11często główny celrzadko
Dostęp po zakończeniudożywotni, z aktualizacjamitakzwykle tylko materiały
Po polskutaknietak

Przesuń tabelę w bok, żeby zobaczyć pozostałe kolumny.

Cena i zapisy

Dołącz do listy oczekujących

Zapisy otwieram na tydzień. Osoby z listy dowiedzą się o nich pierwsze.

1497 złcena pierwszej edycji · faktura VAT · raty przez Przelewy24
  • Ponad 20 godzin nauki: 12 modułów, 7 laboratoriów na działającym sklepie w .NET 10 i 11 zadań projektowych
  • Repozytorium sklepu do pobrania, bez Dockera
  • Omówienie każdego zadania z przykładowym rozwiązaniem
  • Pytania do zadań mailem — odpowiadam osobiście
  • Slajdy w PDF, szablony i checklisty
  • Certyfikat za przejście kursu i dożywotni dostęp

Od razu po zakupie dostajesz moduły 0–3, potem co tydzień kolejne — cały kurs w cztery tygodnie. Omówienie zadania odblokowuje się tydzień po module.

Powiadom mnie o starcie

W dniu otwarcia zapisów dostaniesz wiadomość z linkiem do zakupu.

Maile o kursie, w tym o otwarciu zapisów. Wypiszesz się jednym kliknięciem.
14DNI
Sprawdź bez ryzyka

W 14 dni zobaczysz moduły 0–5, w tym cztery laboratoria. Jeśli uznasz, że to nie dla Ciebie, napisz jedno zdanie na kazimierz.szpin@modestprogrammer.pl i oddam 100% wpłaty. Także przy zakupie na raty.

Kupujesz z budżetu szkoleniowego firmy? Faktura VAT na firmę przychodzi automatycznie po zakupie.

Firma może zapłacić? Weź gotowego maila do przełożonego
Temat: Szkolenie z projektowania systemów

Cześć [imię],

chcę zapisać się na Szkołę System Design (1497 zł brutto, faktura VAT na firmę). To 12 modułów o wymaganiach i szacowaniu ruchu, skalowaniu aplikacji, bazie danych pod obciążeniem, cache, kolejkach, odporności na awarie, architekturze i utrzymaniu systemu na produkcji. W kursie jest 7 laboratoriów na działającym sklepie w .NET 10 i 11 zadań projektowych z omówieniami i przykładowymi rozwiązaniami. Ostatni moduł dotyczy rozmowy system design: jak ją prowadzić i co ocenia rekruter.

W naszym projekcie przyda się to przy [np. przygotowaniu systemu na większy ruch albo decyzji o architekturze nowego modułu]. Po szkoleniu przygotuję dla zespołu krótkie podsumowanie i checklistę gotowości systemu na większy ruch.

Program szkolenia: [link do tej strony]

Dzięki!

Pytania

Zanim zapiszesz się na listę

Kiedy dostanę dostęp?

Od razu po zakupie dostajesz moduły 0–3, potem co tydzień kolejne — cały kurs w cztery tygodnie. Omówienie każdego zadania odblokowuje się tydzień po jego module.

Ile czasu potrzebuję?

Ponad 20 godzin nauki w cztery tygodnie: ok. 8 h 25 min wideo plus laboratoria i zadania projektowe. Tygodniowo to ok. 2 h wideo i 3–4 h na laboratoria i zadania, a omówienie ostatniego zadania przychodzi tydzień później. Dostęp jest dożywotni, więc możesz iść wolniej.

Na jakim systemie?

Laboratoria wymagają Windows 10 albo 11, bo baza działa na SQL Server LocalDB, a lekcje i zadania projektowe zrobisz na każdym systemie.

Czy potrzebuję Dockera?

Nie. Repozytorium sklepu dostajesz jako ZIP i uruchamiasz na Windows bez Dockera: SQL Server LocalDB, Aspire, Garnet jako cache zgodny z Redisem i kolejka w tabeli SQL Server. Wszystkie narzędzia są za darmo, a instalację krok po kroku opisuje PDF do lekcji 0.4.

Na jakiej bazie?

Na SQL Server: T-SQL i EF Core. Zasady są te same w PostgreSQL i MySQL, a przy indeksach i rezerwacjach pokazuję, czym te bazy się różnią.

Czy muszę programować w .NET?

Nie. Zasady nie zależą od języka. Kod pokazuję w C#, bo w nim pracuję, ale zrozumiesz go, jeśli piszesz w Javie czy TypeScripcie. Laboratoria są w .NET 10, a kod wklejasz z gotowych plików, więc przejdziesz je także bez codziennej pracy w C#.

Jak wygląda sprawdzanie zadań?

Każde zadanie kończy checklista „Sprawdź się”: pięć pytań tak/nie. Tydzień po module odblokowuje się omówienie wideo (ok. 5 minut) i PDF z przykładowym rozwiązaniem i najczęstszymi błędami. Masz pytania do swojego rozwiązania? Wysyłasz je mailem, najwyżej trzy do zadania, a ja odpowiadam osobiście.

Nie robię pełnej recenzji każdej pracy. Dlatego omówienie pokazuje całe rozwiązanie krok po kroku.

Kiedy dostanę certyfikat?

Po przejściu kursu. Piszesz maila z imieniem i nazwiskiem, które mają być na certyfikacie, a certyfikat w PDF wraca na Twój adres. Zadania projektowe nie są warunkiem.

Czy to szkolenie dla juniora?

Jeśli pracujesz komercyjnie od około roku, tak. Jeśli dopiero uczysz się programować, na razie za wcześnie.

Czy to pomoże mi na rozmowie rekrutacyjnej?

Moduł 11 jest w całości o rozmowie system design: plan na 45 minut, co ocenia rekruter, cała rozmowa próbna krok po kroku i zadanie z omówieniem. Case studies z modułu 10 to typowe zadania z takich rozmów.

Czy będą mikroserwisy?

Tak, cały moduł 8, razem z tym, kiedy ich nie robić. Konfiguracji Kubernetesa nie ma, to temat na osobne szkolenie.

Czy potrzebuję doświadczenia z chmurą?

Nie. Pokazuję koncepcje niezależnie od dostawcy, a koszty liczymy na prostych przykładach. Wystarczy, że wiesz, jak działa aplikacja webowa z bazą danych.

Czy w erze AI system design jest jeszcze potrzebny?

Bardziej niż wcześniej. AI coraz lepiej pisze kod, ale nie zdecyduje za Ciebie, czy system potrzebuje kolejki, ile będzie kosztował i co się stanie przy dziesięciokrotnie większym ruchu. Te decyzje zostają po stronie programisty i o nie pytają na rozmowach.

Czym różni się od Szkoły ASP.NET Core?

Tam budujesz jedną aplikację od pierwszej linijki kodu. Tu projektujesz całe systemy: z czego mają się składać, co się stanie przy większym ruchu i ile to będzie kosztować.

Faktura i raty?

Tak. Faktura VAT przychodzi automatycznie po zakupie, raty wybierasz w koszyku (Przelewy24). Gwarancja obowiązuje także przy ratach.

Masz inne pytanie? Napisz: kazimierz.szpin@modestprogrammer.pl