PHPers Summit 2016

Several years ago series of PHPers meetups gathered the whole PHP community in Poland under a single name. Now time has come for the first PHPers Summit, a single event to sum up everything related to this initiative. The event took place on 19-20th of August in Poznan, one day for workshops and conference each. I attended only the conference, but I heard positive opinions about the workshops. I was honoured to take part of it as a speaker, and I’m more than happy to share my experience with you.

Ubuntu 12.04, PHP 5.5,
Apache 2.4, phpMyAdmin

Witam wszystkich. Dzisiejszy wpis to suma pomysłów na co najmniej trzy artykuły, które przeleżały gdzieś z tyłu głowy przez ostatnie 2 miesiące. Nadal pracuję nad projektami o których wspominałem w poprzednich wpisach, cały czas rozbudowując, optymalizując i stając na głowie, żeby wszystko działało jak najlepiej. W końcu mam możliwość technologicznie spełnić się opracowując różne rozwiązania, które autentycznie są używane, a nie tylko chowane do szuflady, czy też jak to się modnie mówi “do portfolio”. :)

Doctrine: Segfault
podczas operacji flush()

Pracuję od jakiegoś czasu nad projektami, w których istotną część stanowią (autorskie) konsolowe narzędzia do zarządzania wewnętrznymi procesami aplikacji. Aktualizacja danych, wysyłka maili, itp. - każdej operacji odpowiada polecenie i odpowiedni zestaw argumentów, dzięki czemu zamiast pisania kodu w pocie czoła mogę ograniczyć się jedynie do sprawdzenia pliku logu. Nie znaczy to, że jestem “bezrobotny”, ale przynajmniej mam dużo czasu na “kreatywną” część programowania, zamiast tej odtwórczej. Wszystko fajne, dopóki działa - ostatnio jedno z poleceń zaczęło ni stąd ni zowąd wyrzucać błędy, i to BłędyNieByleJakie™. Zapraszam do lektury artykułu.

PHP: Nie, to jeszcze nie koniec,
a długa droga przed nami...

Jakiś czas temu pojawił się w Internecie kolejny rant na PHP. Zdziwiony specjalnie nie jestem, ale jednostronne ujęcie tematu w tamtym artykule wydało mi się tak kruche, a rant tak słaby, że aż postanowiłem wstawić link na swój profil na Facebooku. Zacząłem pisać komentarz, rozszerzać go o kolejne wątki, aż powstało kilka akapitów tekstu. Stwierdziłem, że w takim wypadku, że lepiej będzie wstawić całość na fanpage Blogu::Programisty, gdzie po kilku drobnych zmianach trafia pośrednio za pomocą niniejszego wpisu.

Tony Hawk's Pro Skater HD:
Zmiana klawiszy sterowania

Jak 99.9% ludzi związanych z komputerami, ja też jeździłem kiedyś na deskorolce, poza tym oczywiście zaliczyłem wszystkie klasyczne części “Tony’ego Hawka”, czyli od THPS1 aż do THPS4. W dalsze też grałem, ale to już nie to samo. :) W każdym razie - ostatnio zalogowałem się z nudów do Steama i zauważyłem, że do kupienia jest THPS HD, czyli odświeżona graficznie wersja wyżej wymienionych starych edycji. 16 EUR (11 + 5 za DLC “Revert Pack”) nie było jakąś specjalnie wygórowaną kwotą, więc zapłaciłem, ściągnąłem i… zonk.

Linkdump #66:
My... my... MySQL!

Myślałem trochę nad całą serią wpisów w tej kategorii i zauważyłem, że bardzo mało (właściwie wcale nie ma) jest wpisów o bazach danych. Na blogu znajduje się już wiele tekstów z linkami o PHP, JavaScripcie i innych językach programowania, a bardzo mało o samych technologiach / narzędziach, które przy okazji wykorzystujemy. Aby to zmienić, dzisiejszy Linkdump jest poświęcony bazie danych MySQL, jako najpopularniejszej i wciąż ambitnie rozwijanej, pomimo przejęcia Suna przez Oracle.

Doctrine2: Błąd "Unknown database type enum requested"

Jakiś czas temu chciałem poeksperymentować trochę z bazą danych jednego z projektów FLOSS w Symfony2.

Cygwin, Ruby: Błąd "ruby.exe: No such file or directory (LoadError)".

Jakiś czas temu wpadłem na pomysł, żeby przetestować sobie nową wersję Redmine lokalnie, bez tradycyjnego puszczania wszystkiego na żywioł na serwerze, jak to zazwyczaj robię (oczywiście przedtem sprawdzam, czy istnieje jakiś backup :)) - po prostu jeśli projekt nie dotyczy czegoś ważnego (np. strony klienta), to nie jestem zwolennikiem robienia czegoś kilka razy. Wrzucam najnowszą wersję, patrzę czy działa i poprawiam ew. problemy. Dzisiaj chciałbym Wam powiedzieć o jednym małym triku, który pozwala na w miarę bezbolesne postawienie Rubiego na Cygwinie.

Dzień Programisty 2012.

Dzisiaj miałem dosyć aktywny dzień, więc podsumuję go krótko: wszystkiego najlepszego z okazji Dnia Programisty! Zapraszam do lektury kilku słów ode mnie poniżej.

MySQL: Przerywanie zapytań w trakcie działania.

Na pewno wpadliście kiedyś w pułapkę, w której podczas testowania wydajności / sposobu działania wpisaliście w okienko phpMyAdmina lub bezpośrednio w konsolę MySQLa nie do końca przemyślane zapytanie. Jeśli zawierało jakiś błąd składniowy, to sprawa jest prosta - na ekranie szybko pojawił się błąd. Co jednak w przypadku tych zapytań, które “mieliły się” przez dobre kilkanaście minut lub po prostu nie miały szans na zakończenie (w sensownym czasie) ze względu na dostępne zasoby systemowe? Jeśli zechcecie przeczytać niniejszy artykuł, powiem Wam co można z tym zrobić.