lukaszstaniszewski.pl

blog programistyczny

lukaszstaniszewski.pl

blog programistyczny

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 […]

Chain of responsibility

Cześć, w dzisiejszym wpisie przedstawię Ci na prostym przykładzie czym jest i po co się stosuje wzorzec projektowy chain of responsibility. Wzorzec ten mam nadzieje że pomoże Ci rozwiązać wiele przypadków oraz pozostawić kod dużo czystszy i otwarty na rozszerzenia 🙂 Całość kodu możesz znaleźć tutaj. (Niektóre paczki/konfiguracje etc. są zbędne, dla własnej wygody przykłady […]

Varnish – wstęp – cz. 1

Tym wpisem rozpocznę moją pierwszą serie. Będzie ona dotyczyła aplikacji opartej o symfony wykorzystującej Varnish do cachowania. Seria będzie się składała z kilku wpisów i będzie przedstawiała tak naprawdę moją drogę nauki Varnisha. Jeżeli zauważysz że popełniam jakiś błąd z góry muszę Cię za niego przeprosić i zaprosić do skontaktowania się ze mną i wyjaśnienia […]

UUID vs AUTO INCREMENT vs Hash – co lepsze w MySQL?

Słysząc i widząc często stwierdzenia że nie ważne co damy na primary key i tak będzie okej albo po co dawać dodatkową kolumne hash/uuid skoro możemy zamienić ją z id byłem od pewnego czasu temu przeciwny. W moich myślach było to że przecież UUID czy hash są dłuższe i zawierają więcej bajtów niż zwykły poczciwy […]

Wzorzec projektowy – facade

W telegraficznym skrócie wzorzec projektowy facade / fasada, to prosty interfejs dla złożonego zestawu akcji, klas, interfejsów i/lub podsystemów. Wytłumaczę Ci to na prostym przykładzie, który mam nadzieję że zapamiętasz i będziesz kojarzyć z fasadą. 🙂 Jesteś szefem dużej firmy i chcesz się połączyć z project managerem działu programistów produktu xyz. Aby porozmawiać z tą […]

Wzorzec projektowy – prototype

Wzorzec prototyp / prototype polega na klonowaniu wstępnie skonfigurowanego obiektu aby zminimalizować koszty ponownego utworzenia obiektu.  Dzięki temu nasz kod jest czystszy, optymalniejszy oraz wygodniejszy w użyciu.  Czy prototype pomoże zoptymalizować aplikację? Pewnie zdarzyła Ci się taka sytuacja, że trzeba było stworzyć n takich samych obiektów na jeden proces. Wraz z czasem ilość tworzonych obiektów […]

Adapter – przydatny wzorzec projektowy

W wielkim skrócie, wzorzec projektowy adapter, daje nam możliwość na współpracę klas lub interfejsów niezgodnych z naszą aplikacją. Wytłumaczę Ci zasadę działania adaptera na bardzo prostym przykładzie. Między wtyczkami w USA a Europie istnieje bardzo duża różnica. Przyjeżdżając do USA musimy być świadomi że nie naładujemy telefonu identyczną ładowarką co w Europie. W takich sytuacjach […]

RabbitMQ w PHP – wprowadzenie

W tym artykule opiszę Ci, czym są asynchroniczne operacje oraz jak za pomocą RabbitMQ i PHP, wykonywać takie operacje. Gdy dowiesz się czym jest asynchroniczność, będziesz mógł zrozumieć jak działają pewne funkcjonalności w portalach społecznościowych takich jak facebook, linkedin itd. Ciekawe co nie? 🙂 Całość kodu, który pokazałem w tym wpisie możesz znaleźć tutaj.   […]

Co to jest atrapa obiektu (Mock Object)

Po wpisie wprowadzającym do TDD oraz testów jednostkowych (jeżeli nie czytałeś tego wpisu, zapraszam Cię do przeczytania go na moim blogu) przyszła pora na atrapy obiektu – mock object. Jest to nierozłączny element testów jednostkowych, bez którego ich wydajność spadłaby drastycznie. Do tego generowałoby to wiele bezsensownych błędów oraz kolejnych testów. Dlaczego i jakie byłyby konsekwencje […]

Przewiń na górę