Dlaczego warto unikać null i jak do tego podszedł Rust?

Jeśli miałbym wskazać jedną z najgorszych decyzji w historii programowania, to null byłby na szczycie listy. Tony Hoare, jego twórca, swego czasu przyznał że to błąd warty miliard dolarów, ponieważ null stał się źródłem niezliczonych problemów w systemach na całym świecie. Sam wielokrotnie popełniałem błędy wynikające ze stosowania nulla, na przykład nie zauważając, że jakaś […]

Co to i po co stosuje się makefile

Szukając jak ubrać w słowa co to makefile znalazłem głównej mierze definicje zbliżone do poniższej Makefile to prosty sposób organizowania kompilacji kodu. Według mnie make to narzędzie które najczęściej grupuję oraz upraszcza polecenia terminala. Najpewniej Make tak samo jak sam PHP z czasem przybrał inną formę od jego pierwotnego założenia. W świecie PHP’owym najczęściej spotkamy […]

Prometheus – alerty oraz integracja z grafana

W poprzednim wpisie [TUTAJ] wspominałem co to jest Prometheus do czego służy itd. W tym poście zobaczysz jak skonfigurować w Prometheus alerty oraz jak zintegrować go z Grafaną w której możesz również wizualizować dane jak i konfigurować alerty. Sam post będzie bardzo krótki i większość wpisu to będzie kod oraz screen shoty. Na początku chciałbym […]

Testy mutacyjne

Każdego dnia pisane są tysiące klas tylko czy aby na pewno dobrych bez bugów? A może zapominasz zadać sobie pytania kończąc test jednostkowy czy przeszedłeś wszystkie przypadki? Zapewne jak każdy powiesz że to wszystko zależy. Niestety jako ludzie popełniamy błędy, dlatego z pomocą przychodzą nam zero jedynkowe maszyny (one też popełniają błędy ale rzadziej). 🙂 […]

Monitoring infrastruktury z wykorzystaniem Prometheusa

Początkowo wpis miał być zwykłym tutorialem co to Prometheus, jak z niego korzystać jednak po dłuższej chwili stwierdziłem że lepiej podejść od innej strony. Chciałbym Ci w tym wpisie wytłumaczyć na prostym przykładzie jak monitorować w sposób zautomatyzowany infrastrukturę. Cały kod możesz znaleźć [TUTAJ]. Co to jest Prometheus Jest to zestaw narzędzi do zbierania metryk […]

Varnish – czyszczenie cache – cz. 4

Zapewne nie raz spotkałeś się z sytuacją w której przez cache nie mogłeś zmienić szybko danych widocznych dla użytkownika. W ramach tego wpisu dowiesz się w jaki sposób usunąć cache dla jednego jak i wielu adresów.   Całą użytą konfiguracje możesz znaleźć [TUTAJ]. Wpis jest częścią serii Varnish’u Konfiguracja PURGE Zacznijmy od skonfigurowania obsługi metody […]

Uprość swoje życie z użyciem pre commit – Git Hooks

Post będzie bardzo krótki ale według mnie bardzo przydatny. Bardzo często zdarza się tak że robimy commit, push patrzymy po kilku minutach w PR/MR a tu błędy PSR, Unity się wywaliły itd. Za pomocą pre commit chce Ci pokazać prosty sposób jak uniknąć takich sytuacji i zaoszczędzić Ci sporo czasu. Czym jest pre commit Pre […]

Varnish – podstawy konfiguracji – cz. 3

W dzisiejszym wpisie rozpiszę Ci trochę odnośnie samej konfiguracji Varnisha. Będziesz przechodził przez konfigurację Varnisha krok po kroku na podstawie różnych scenariuszy. Wpis ma na celu dać Ci wystarczająca wiedzę abyś umiał odczytać bez problemu większość konfiguracji na githubie, w pracy itd. Całą użytą konfiguracje możesz znaleźć [TUTAJ]. Wpis jest częścią serii Varnish’u VCL Subroutines […]

Mercure + Symfony – wprowadzenie

W tym wpisie dowiesz się czym jest i jak można wykorzystać mercure wraz z Symfony. Nie przedstawię Ci tutaj wszystkich możliwości połączenia tych dwóch rzeczy (zresztą jest to niewykonalne) ale będą to dobre podstawy do dalszych działań. Cały kod wpisu możesz znaleźć [TUTAJ]. Co to mercure Zapewne nie raz nie dwa spotkałeś się z sytuacją […]

Varnish – podstawowy cache – cz. 2

W tym poście chce Ci przybliżyć podstawy Varnisha. Przejdziesz przez konfigurację lokalną Dockera oraz najważniejszą część tj. samą konfigurację Varnisha. Wiedza ta na pewno Ci jeszcze nie pozwoli postawić Varnisha na produkcji ani poprawnie skonfigurować środowiska dla produkcji ale będzie to dobry wstęp do tego aby zrozumieć jak to wszystko mniej więcej działa. Wpis jest […]

Przewiń na górę