Blog

Inversion of Control z użyciem Dependency Injection

Inversion of Control jest bardzo wartościowym wzorcem postępowania podczas pisania programów pisanych w oparciu o programowanie zorientowane obiektowo. W tym artykule dowiesz się, na czym polega Inversion of Control (lub też swojskie – odwrócenie sterowania), a także poznasz jedną z najczęściej spotykanych form zastosowania odwrócenia sterowania czyli Dependency Injection (wstrzyknięcie zależności). W artykule wykorzystuję przykłady napisane w TypeScripcie, natomiast myślę że są na tyle proste, … Czytaj dalej Inversion of Control z użyciem Dependency Injection

Obrona pracy dyplomowej

Ten wpis będzie dość nietypowy w kontekście innych wpisów z mojego bloga. Temat obrony pracy dyplomowej spędzał mi przez jakiś czas sen z powiek. Na szczęście obrona pracy dyplomowej jest już za mną, a do następnej mam jeszcze sporo czasu. W tym wpisie chciałbym się z Tobą podzielić moimi przemyśleniami i spostrzeżeniami odnośnie stresu przed egzaminem, przygotowania do egzaminu oraz samego przebiegu obrony pracy dyplomowej. Przygotowanie do obrony pracy dyplomowej Można … Czytaj dalej Obrona pracy dyplomowej

Wzorzec projektowy Factory (Fabryka)

Fabryka jest bardzo powszechnie używanym i łatwym w zastosowaniu wzorcem projektowym. Mówiąc o wzorcu projektowym Fabryka można wyróżnić cztery rodzaje fabryk – Factory (fabryka), Factory Method (metoda wytwórcza), Static Factory (fabryka statyczna) oraz AbstractFactory (fabryka abstrakcyjna). Głównym założeniem fabryki, tak jak w rzeczywistym świecie, jest wytwarzanie obiektów. Dzięki wykorzystaniu fabryki, można ukryć szczegóły implementacyjne tworzenia obiektów i odseparować je od logiki biznesowej. Ten … Czytaj dalej Wzorzec projektowy Factory (Fabryka)

O metodzie Duck Debugging

W tym wpisie chciałbym przedstawić popularną metodę debugowania – Duck Debugging, czyli metodę debugowania gumowej kaczki. Metoda ta wielokrotnie pomogła mi rozwiązać skomplikowane problemy oraz znajdować błędy w istniejącym już kodzie. Metoda gumowej kaczki – Duck Debugging Nazwa metody gumowej kaczki, jak nietrudno się domyślić, pochodzi od gumowej kaczki. Tej samej gumowej kaczki, która jest kojarzona z kąpielami. Metoda debugowania z użyciem gumowej … Czytaj dalej O metodzie Duck Debugging

SOLID, KISS i DRY

SOLID, KISS i DRY to jedne z najpopularniejszych pojęć/skrótów wśród programistów. Są to na tyle kluczowe zagadnienia oraz przydatne w zadaniach programisty, że nie mogło ich zabraknąć na moim blogu. Wszystkie przykłady w tym artykule zostały napisane w TypeScripcie. Jeśli jednak TypeScript jest Ci obcy, to przykłady w dalszym ciągu powinny być dla Ciebie zrozumiałe. Czym jest SOLID? SOLID to akronim, który można rozwinąć w pięć zasad programowania obiektowego: Single Responsibility Principle … Czytaj dalej SOLID, KISS i DRY

Mój pierwszy Capture The Flag

Niedawno, w ramach projektu na studia, miałem okazję brać udział w swoim pierwszym konkursie Capture The Flag (CTF). Z uwagi na to, że było to niesamowicie ciekawe doświadczenie, postanowiłem podzielić się w tym wpisie swoimi przemyśleniami i spostrzeżeniami odnośnie konkursów Capture The Flag. Czym jest Capture The Flag? Capture The Flag, w skrócie CTF, to konkurs z dziedziny cyberbezpieczeństwa. Zadaniem uczestników jest znalezienie tzw. flag w podatnym systemie, … Czytaj dalej Mój pierwszy Capture The Flag

Transakcje ACID

Tym razem będzie nieco o bazach danych, a dokładniej mówiąc o zasadach transakcyjności, czyli ACID. Czym jest transakcja? W kontekście relacyjnych baz danych transakcja to mechanizm, który oczekuje zestawu operacji do wykonania. Do zaistnienia transakcji konieczne jest pomyślne wykonanie wszystkich operacji. W przeciwnym wypadku wszystkie operacje są odrzucane. Załóżmy, że mamy transakcję składającą się z 10 zapytań. Jeżeli ostatnie zapytanie będzie skutkowało błędem, to zmiany dokonane przez poprzednie … Czytaj dalej Transakcje ACID

Web developer – pytania rekrutacyjne cz. 8 – Git

Jest to kolejny wpis z serii wpisów z pytaniami rekrutacyjnymi na stanowisko web developera. Listę wszystkich poprzednich wpisów z tej serii znajdziesz poniżej. Zachęcam Cię do zapoznania się jeśli jeszcze nie miałeś/aś okazji: Web developer – pytania rekrutacyjne cz. 1 Web developer – pytania rekrutacyjne cz. 2 Web developer – pytania rekrutacyjne cz. 3 Web developer – pytania rekrutacyjne cz. 4 Web developer – pytania rekrutacyjne cz. 5 … Czytaj dalej Web developer – pytania rekrutacyjne cz. 8 – Git

Web developer – pytania rekrutacyjne cz. 7 – TypeScript

Jest to kolejny wpis z serii wpisów z pytaniami rekrutacyjnymi na stanowisko web developera. Listę wszystkich poprzednich wpisów z tej serii znajdziesz poniżej. Zachęcam Cię do zapoznania się jeśli jeszcze nie miałeś/aś okazji: Web developer – pytania rekrutacyjne cz. 1 Web developer – pytania rekrutacyjne cz. 2 Web developer – pytania rekrutacyjne cz. 3 Web developer – pytania rekrutacyjne cz. 4 Web developer – pytania rekrutacyjne cz. 5 … Czytaj dalej Web developer – pytania rekrutacyjne cz. 7 – TypeScript

Testy jednostkowe FIRST

Tematowi testów jednostkowych poświęciłem kilka artykułów na swoim blogu: Podstawy testów automatycznych oprogramowania O Test Driven Development Jeśli jeszcze się z nimi nie zapoznałeś/aś to serdecznie zachęcam. Tym razem poruszę temat zasad, którymi warto się kierować w trakcie pisania testów jednostkowych. Zasady te zostały zebrane pod akronimem FIRST. Owy skrótowiec możemy rozszyfrować jako: Fast Isolated Repeatable Self-validating Timely/Thorough Fast Testy jednostkowe powinny … Czytaj dalej Testy jednostkowe FIRST