About me

Kim jestem?

Nazywam się Mateusz i jestem PHP Developerem. Od najmłodszych lat pasjonuję się szeroko pojętą informatyką, a szczególną sympatią darzę webówkę. Uwielbiam się rozwijać, poznawać nowe technologie i wykorzystywać je w praktyce. Tworzenie kodu sprawia mi dużo satysfakcji, dlatego po pracy lubię usiąść do własnych projektów.

Jakie technologie znam czyli trochę o laserovsky.net

Aby najlepiej przedstawić stack technologiczny chętnie opiszę z czego składa się blog laserovsky.net, ukazuje niemalże pełny przekrój technologii które znam. Blog został napisany w PHP 8.4 na frameworku Symfony w wersji 7.2. Dane zapisywane są w bazie danych MySQL, oczywiście za pośrednictwem Doctrine ORM. Second Level Cache korzysta z adaptera Redis. Jeśli chodzi o frontend to strona aktualnie jest napisana za pomocą szablonów Twig ostylowana Sass'em. Pakiety frontendowe obsługiwane są Yarnem w połączeniu z WebPackiem. Dodatkowo WebPack jest już skonfigurowany do obsługi Vue wraz z TypeScriptem pod przyszły rozwój projektu. Posty renderowane są za pomocą autorskiego silnika szablonów dla Symfony LaserTag. Testy jednostkowe zrealizowane oczywiście PHPUnitem. Z projektu budowany jest multiarchitekturowy obraz Dockerowy a następnie robiony jest deploy na klastrze Kubernetes. Kubernetes uruchomiony jest na serwerze pod kontrolą systemu Debian. Całość cachowana jest za pomocą Varnisha. Czynność ta jest zautomatyzowana poprzez Gitlab CI/CD. Dla optymalizacji czasu wydania nowej wersji, obraz budowany jest natywnie na architekturze x86 oraz ARM na dwóch Gitlab Runnerach. Dodatkowo pomimo braku występowania MongoDB w blogu, nie jest mi obcy i chętnie go wykorzystuję w innych projektach Symfony dzięki Doctrine ODM. W pracy używam prawie identycznego stacku technologicznego z dwiema różnicami, zamiast MySQL korzystam z MSSQL, a zamiast Vue używam Reacta, również w połączeniu z TypeScript. W pracy również zajmuję się utrzymaniem GitLabowego CI/CD którym wdrażam projekt na klaster K8S w chmurze Azure. Utrzymanie kodu aby był zawsze "świeży" nie jest mi obce, ostatnio z powodzeniem na produkcję wydany został projekt firmowy w którym zrobiłem upgrade i refactor Symfony z wersji 5.4 do 7.2 wraz z najnowszym PHP 8.4.

Hobbistycznie interesuję się również językiem D. Aby wesprzeć społeczność D stworzyłem i utrzymuję projekt CI/CD automatycznego budowania obrazu Docker z kompilatorem DMD.

Jakich narzędzi używam?

Moim centrum dowodzenia jest PHPStorm, od kodowania, przez debuggowanie do zarządzania bazą danych. Kody oraz obrazy Dockerowe lądują na GitLabie. Gdy pracuję z API to sięgam po PostMan'a, a gdy nie ma narzędzia które bym potrzebował tworzę je od podstaw aby ułatwić pracę sobie oraz kolegom z teamu.

Kody, linki i projekty

Gdy napiszę jakieś narzędzie lub inny kawałek kodu który jest uniwersalny i może się jeszcze komuś przydać, chętnie dzielę się nim z społecznością na moim profilu w Packagist. Moim najważniejszym pakietem z którego każdy może skorzystać jest silnik renderowania postów LaserTag. Również ta strona jest nim renderowana. Kolejnym bundlem który rozwijam i z którego korzystam jest DummyContent. Pakiet ten jest zestawem narzędzi do generowania przykładowej treści pomocnej przy tworzeniu frontendu, takiej jak obrazki, tekst, daty itd. Narzędzia te można używać w PHP, a także bezpośrednio w Twig oraz w LaserTag. Najmniejszym pakietem jest TwigBooster w którym rozwijam narzędzia wspomagające kodowanie szablonów. Obecnie dostarcza obsługę Enum PHP bezpośrednio w Twigu. Kody źródłowe tych projektów udostępniam na moim koncie GitLab

Czym się interesuję?

Oprócz programowania uwielbiam RaspberryPi, szczególnie w kontekście serwerowym. Serwery WWW, FTP, chmury, a nawet pełnoprawną instancję GitLaba można bez problemu uruchomić na Pi, co uważam za coś wspaniałego. Uruchamianie oprogramowania na architekturze innej niż X86 jest ciekawe z powodu napotykanych wyzwań, dlatego oprócz architektury ARM na której bazuje Raspberry, korzystam także z MangoPi na architekturze RISC-V, której rozwojowi i popularyzacji mocno kibicuję. Konstruuję proste urządzenia na mikrokontrolerach AVR i RaspberryPi Pico takie jak zegarki lub stacje pogodowe. W sytuacjach gdy potrzebuję jakiegoś uchwytu, obudowy lub innego elementu, modeluję go i drukuję na drukarce 3D. Moim najnowszym projektem jest ten blog, na którym chcę spróbować swoich sił w pisaniu artykułów na tematy którymi się interesuję aby zarazić technologią i przekazać zdobyte informacje innym.

Czy robię coś co nie jest związane z IT?

Pomimo tego że większą część wolnego czasu spędzam przed komputerem, to tak, lubię wyjść z domu. Najczęściej do garażu, by podłubać przy autach. Jestem fanem marki Citroën i aktualnie wolne chwile spędzam nad odrestaurowaniem ZX'a z 92r. Uwielbiam jeździć, nieważne czy to auto, gokart czy ciężarówka, jedynym wymogiem jest silnik.

Jak się ze mną skontaktować?

Jest mi niezmiernie miło za przeczytanie wpisu "O mnie". W razie chęci kontaktu ze mną zapraszam do napisania wiadomości na adres: [email protected]