beniaminlenarcik.plKlucze naturalne w CosmosDB: szybsze odczyty i prostsze integracjeWprowadzenie Identyfikatory obiektów (ID) odgrywają kluczową rolę w systemach backendowych i rozproszonych. Zwykle do identyfikacji stosujemy klucze zastępcze (surrogate keys) – generowane losowo (np. GUID) lub sekwencyjnie w bazie danych. Istnieje j...Sep 30, 2025·5 min read
beniaminlenarcik.plDouble-checked locking w .NET – jak zatrzymać pędzące stadoWprowadzenie W systemach opartych na zdarzeniach oraz w aplikacjach wielowątkowych często pojawia się problem nagłego wzrostu obciążenia w momencie, gdy wiele wątków jednocześnie próbuje uzyskać dostęp do tego samego zasobu. Jeśli ten jest niedostępn...Sep 17, 2025·5 min read
beniaminlenarcik.plJitter w .NET – jak rozkładać fale obciążeńWprowadzenie Systemy oparte na zdarzeniach często muszą radzić sobie z sytuacją, w której wiele procesów uruchamia się w tym samym momencie. Dzieje się tak na przykład wtedy, gdy zadania są planowane na określone godziny albo gdy klienci jednocześnie...Sep 16, 2025·3 min read
beniaminlenarcik.plDebounce w .NET – jak zatrzymać lawinę zdarzeńWprowadzenie Czasem w systemie zaczyna pojawiać się zbyt dużo zdarzeń. Mogą być one powtarzalne, nadmiernie szczegółowe albo po prostu nieistotne w dużej liczbie. Taka lawina informacji przeciąża nasze rozwiązanie. Potrzebujemy mechanizmu, który ogr...Sep 9, 2025·3 min read
beniaminlenarcik.plSystem.IO - abstrakcja czy iluzja?Wprowadzenie Pakiet System.IO dla .NET znacznie uproszcza zarządzanie plikami. Przykładowo, pozwala kopiować je jedną linijką kodu. Działa świetnie na lokalnym dysku. Niestety, gdy plik leży na zdalnym serwerze czy network share – proste API System.I...Sep 6, 2025·4 min read