Raph's world

Rafal's Grzegorek blog

Niełatwo być Bondem – czyli Rafał strzela

“Trzeba kolekcjonować mocne wrażenia” – jak to powiedział kiedyś Kuba Brenner. Wiedziony tą maksymą, udałem się (pierwszy raz w życiu) na strzelnicę.

“Pay attention 007…” – uzbrojenie

Chciałem  wypróbować kolejny z atrybutów 007 (o Astonie i Vesper Martini kiedy indziej) – czyli pistolet Walther.… Więcej “Niełatwo być Bondem – czyli Rafał strzela”

Rejestracja wielu klas w Symfony jako serwis na podstawie szablonu nazw

Problem

Mam projekt w Symfony, który ma kilka klas komend (“Command”) będących parserami  (nie ma znaczenia czego w kontekście tego tekstu).  W “AppBundle/Command” są więc klasy wg. schematu nazwy [Nazwa]ParseCommand.php.
Potrzebuję rejestrować te klasy jako serwisy. Do tej pory robiłem to w “services.yml”, np.:

Docker na zdalnym hoście – integracja PHPUnit i XDebug z PHPStorm

Zamarzyłem sobie, żeby mieć serwer z Dockerem gdzieś tam (czyli nie na moim laptopie) i móc wygodnie na nim pracować poprzez integrację z PHPStorm. Przedstawiam zatem mój proof of concept takiej konfiguracji.

Serwer gdzieś tam

Na potrzeby testu wykupiłem sobie VPS w Znanej Firmie Hostingowej za całe 15 zł.… Więcej “Docker na zdalnym hoście – integracja PHPUnit i XDebug z PHPStorm”

Mój zestaw narzędzi

stocksnap_m07sv6ambd

Postanowiłem opisać czego używam – choćby dlatego, żeby nie zgubić gdzieś tych narzędzi w razie jakiejś awarii.

Obecnie korzystam z dwóch platform desktopowych – Mac i Windows, więc podzielę listę aplikacji w zależności od platformy.

Wspólne

  • Przeglądarki WWW:
    • Chrome – “Developers tools” dostajemy “z pudełka”
    • Firefox
  • Edytory kodu/IDE:
    • Sublime Text 3 – szybki i potężny edytor.
Więcej “Mój zestaw narzędzi”

Bamboo – moja przeprawa z docker-compose i PHPUnit

Od dłuższego czasu interesowało mnie Continuous Integration w wykonaniu Attlasiana i jego serwera Bamboo.  Do tego doszedł popularny ostatnio Docker, który wydawał mi się bardzo dobrym rozwiązaniem do szybkiego stawiania środowiska potrzebnego do zbudowania aplikacji.

Postanowiłem zatem zrobić prosty proof of concept – żeby zobaczyć jak to wygląda w praktyce.… Więcej “Bamboo – moja przeprawa z docker-compose i PHPUnit”

Debugowanie CLI w Symfony

Post nie będzie długi (sorry Bobiko :P), bo ktoś to bardzo kompetentnie opisał, a, że próbuję walczyć ze swoim nawykiem debugowania przez “echo”, warto wspomnieć o bardzo pomocnym artykule opisującym temat debugowania przy użycia XDebug i PHPStorm w Symfony:

Connecting Xdebug to PhpStorm

Wspomniałem tylko o CLI, bo aktualnie tylko tego potrzebowałem, ale sam artykuł opisuje dużo więcej scenariuszy.… Więcej “Debugowanie CLI w Symfony”

Garbage collector w “Downloads”

cleaning

Folder “Downloads” to w moim przypadku regularny zapychacz miejsca na dysku. Często zapominam, żeby go sprzątnąć, bo zostawiam sobie pobrane pliki “na później”, zamiast od razu je przenieść/wykasować.

Dobrze by było, żeby folder sprzątał się sam…

Użytkownicy OSów *nix (w tym OS X) mogą wykorzystać katalog “/tmp”.  … Więcej “Garbage collector w “Downloads””

PhantomJS – pomocny duch przy parsowaniu

girl

Fakty

Fakt: nie wszystkie serwisy udostępniają publiczne API do pobierania danych, mimo, że te dane są publiczne.

Fakt 2: phpowy DomDocument::loadHTML() to może być za mało przy obecnym trendzie wybajerzonych frontendów, wszechobecnego JS i AJAXa.

Problem i rozwiązanie

Sam stanąłem przed powyższym problemem, gdy pisząc parser w PHP, okazało się, że trzeba coś wywołać na frontendzie.… Więcej “PhantomJS – pomocny duch przy parsowaniu”

CakePHP 3 ORM – with rollup

Nowym ORM Cake’a 3 jest obiecujący – w końcu wszystko przestało być tabelą, ale idealnie nie jest – dodanie “WITH ROLLUP” do grupowania wymaga hakowania. Trzeba zmusić ich parser wyrażeń, żeby nie brał dodanego wyrażenia w odwrotne cudzysłowy:

Można jednak bez hakowania…

Do dodania “WITH ROLLUP” można użyć:

 … Więcej “CakePHP 3 ORM – with rollup”

Psia kość – 404!

pies

Dobra dokumentacja kodów HTTP: httpstatusdogs.com.

 … Więcej “Psia kość – 404!”

Page 1 of 4

Powered by WordPress & Theme by Anders Norén