02 : DevLog

środa, 02 sierpnia 2023

Wzorzec czynnościowy — Null Object

Masz klasę, która opcjonalnie powinna coś śledzić. Piszesz if (tracker is not null) w dziesięciu miejscach. Wzorzec Pusty obiekt kończy z tym na zawsze. Zamiast sprawdzać null przekazujesz obiekt, który implementuje interfejs, ale nic nie robi.

Discover

sobota, 13 maja 2023

Wzorzec czynnościowy — Wizytator

Renderer HTML i licznik słów różnią się zachowaniem, ale obie operacje przechodzą przez ten sam dokument. Wizytator przenosi logikę poza hierarchię klas — element wie tylko, że należy go odwiedzić; co zrobi wizytator, to już nie jego sprawa.

Discover

niedziela, 09 kwietnia 2023

Prognozowanie szeregów czasowych z ForecastBySsa

Przewidywanie przyszłości na podstawie przeszłości - brzmi jak magia? To matematyka. ForecastBySsa w ML.NET pozwala prognozować wartości szeregów czasowych wykorzystując dekompozycję SSA. Ile produktów zamówić na następny miesiąc? Jakie będzie obciążenie serwera w przyszłym tygodniu? Bez external API, bez Pythona - czysty C# i ML.NET.

Discover

czwartek, 30 marca 2023

Wzorzec kreacyjny - Builder

Zagłębimy się w wzorzec Budowniczy, kluczowy dla tworzenia złożonych obiektów. Na przykładzie RibbonControl pokażemy, jak wzorzec ten ułatwia organizację kodu i zwiększa jego elastyczność. Omówimy, w jaki sposób może przyczynić się do czystszego i bardziej modułowego projektowania aplikacji.

Discover

niedziela, 15 stycznia 2023

Automatyczne wykrywanie sezonowości z ML.NET

Detekcja anomalii w ML.NET wymaga kluczowej decyzji: IID czy SSA? Jeśli dane mają sezonowość - musisz użyć SSA. Problem w tym, że często nie wiesz czy sezonowość występuje i jaki jest jej okres. DetectSeasonality rozwiązuje ten problem automatycznie - analizuje szereg czasowy i wykrywa cykliczne wzorce bez zgadywania.

Discover

środa, 28 grudnia 2022

Wzorzec kreacyjny — Singleton

Generator numerów zamówień musi być jeden. Dwa egzemplarze oznaczają dwa niezależne liczniki — i dwa zamówienia z tym samym numerem. Singleton gwarantuje, że klasa ma dokładnie jedną instancję i udostępnia do niej globalny punkt dostępu.

Discover

czwartek, 15 grudnia 2022

Wzorzec czynnościowy — Metoda szablonowa

Wysyłka e-maila i SMS-a przebiega tak samo: sformatuj wiadomość, dostarcz, odnotuj wynik. Różnią się wyłącznie "szczegółami". Metoda szablonowa definiuje szkielet w klasie bazowej, podklasy uzupełniają tylko te kroki, które rzeczywiście się różnią.

Discover

niedziela, 27 listopada 2022

Wzorce strukturalne — podsumowanie

Wzorce strukturalne odpowiadają na pytanie: jak łączyć klasy i obiekty w większe całości, nie tracąc przy tym kontroli nad kodem? Nie chodzi o algorytmy ani przepływ danych — chodzi o to, żeby struktura aplikacji była czytelna, elastyczna i łatwa w utrzymaniu.

Discover

poniedziałek, 07 listopada 2022

Detekcja anomalii w szeregach czasowych z ML.NET

Wykrywanie nietypowych wzorców w danych biznesowych: nagłe skoki sprzedaży, zmiany trendu, sezonowość. ML.NET oferuje pięć algorytmów od prostych testów statystycznych (IID Spike) przez dekompozycję szeregów (SSA) aż po głębokie sieci neuronowe (SR-CNN). Bez Pythona, bez chmury - wszystko w czystym C#.

Discover

środa, 19 października 2022

Wzorzec strukturalny — Pełnomocnik

Masz obiekt, który działa. Chcesz go trochę po cichu "rozbudować"? Pełnomocnik staje przed prawdziwym obiektem i robi co trzeba — ten sam interfejs, rozszerzone zachowanie, bez zmian w oryginalnym kodzie.

Discover