Od jakiegoś czasu borykałem się z problemem dlaczego czasami zapisywane do bazy danych zserializowane dane są „obcinane. Poszukiwania, googlanie niewiele pomagało aż a końcu trafiłem gdzieś na informację że problemem może być znak NULL (0×00) w którym PHPowe serialize się lubuje
. A koro tak, to postanowiłem napisać swoją wersję serialize.
Serializacja, 0×00 i bazy danych
Czerwiec 29th, 2011Pozycjonowanie tekstu na PDF’ie
Grudzień 8th, 2009
Ostatnio dawno nic nie pisałem, ale niestety nie zajmowałem się niczym nadzwyczajnym, ciekawym czy ambitnym. Dzisiaj też nie będzie o niczym ambitnym (dla większości też o niczym ciekawym), ale być może niektórym ułatwi to pracę.
Niestety, jako że zajmuję się jednym podprojektem samodzielnie, to na mnie trafiła żmudna robota z generowaniem PDF’ów. A żeby nie było zbyt łatwo, to PDF”y muszą być wygenerowane na formularzu dostarczonym przez zewnętrzną instytucję w identycznym układzie. Słowem, trzeba nanieść masę różnych tekstów, ticków itp. w ściśle określone miejsca na skanie formularza. Jak to nazywa współpracownik – gra w statki
Zend_Paginator w praktyce
Październik 6th, 2009
Ostatnio dłuższy czas nic na blogu nie pisałem, ale to dlatego że w pracy siedzimy głównie nad rozbudową oraz dopracowywaniem obecnych rozwiązań to głównie programowanie ogranicza się do tworzenia kolejnych list, zestawień itp. Niestety nie jest to ani nic skomplikowanego, nietypowego czy stawiającego jakiekolwiek wyzwania. Dlatego aby nie zapomnieć o blogu i coś w końcu napisać tym razem opiszę zastosowanie w praktyce Zend_Paginatora
Wykorzystanie „przeterminowanego” cache w ZF na przykładzie kursów walut z NBP
Maj 29th, 2009
Jakiś czas temu stworzyłem prostą klasę do pobierania kursów walut z NBP. Dla przyśpieszenia działania i odciążenia serwerów NBP wykorzystuje ona Zend_Cache do przechowywania danych po pobraniu. Niestety, ostatnio kilka razy zdarzyła się sytuacja że cache się już przeterminował, trzeba pobrać nowe dane a… serwer NBP odpowiada błędem. I wszyscy są wściekli. Pracownicy, bo nie mogą pracować, szefostwo, bo pracownicy nie pracują, oraz ja bo muszę tłumaczyć że nie mam na to wpływu… Jak się jednak okazało – mam
Cannot refresh row as parent is missing
Maj 20th, 2009Czasami przy próbach zapisu danych do tabeli z referencjami wyskakuje wyjątek o niewiele mówiącej treści: „Cannot refresh row as parent is missing„. Ustalenie faktycznej przyczyny jest już trochę cięższe, ale da się to zrobić stosując lekką sztuczkę.
Uwolnić dysk czyli Tortoise SVN Cache (TSVNCache.exe)
Maj 8th, 2009
Zapewne część z was już zauważyła że po zainstalowaniu TortiseSVN znacząco nasiliły się odgłosy dochodzące z dysku twardego, a ogólna wydajność systemu lekko spadła. Winę za to ponosi jeden z składników Tortoise – TSVNCache.exe odpowiedzialny skanowanie w tle dysków naszego komputera aby wyświetlać odpowiednie ikonki przy plikach repozytorium. Cel niby pożyteczny, ale koszt wydajnościowy troszkę zbyt wysoki, i warto coś z tym zrobić.
dijit.Tree – problem
Kwiecień 25th, 2009
Początkowo jako następny artykuł miało się tutaj pojawić podsumowanie tematu drzew wraz z przykładami praktycznego zastosowania. Jednym z tematów miało być wykorzystanie drzewa i elementu dijit.Tree w formie własnego elementu Zend_Form. Niestety, podczas prac trafiłem na pewien problem który mnie zablokował i za bardzo nie wiem jak do niego podejść w miarę prosty sposób. Tak więc tym razem zamiast gotowego rozwiązania będzie bardziej pytanie i prośba o pomoc.
Uwaga – zawarte fragmenty kodu są wersjami roboczymi, zapewne zawierają sporo błędów i można je napisać znacznie ładniej i zgodniej z standardami. Znajdują się one tutaj aby lepiej zobrazować problem i stanowić tylko i wyłącznie wskazówki i pomoc, tak więc proszę ich nie wykorzystywać bez zastanowienia i dopracowania, aby nie mieć później pretensji że coś nie działa lub co gorsza działa źle.
Drzewo Depesza w MySQL – ciąg dalszy
Marzec 20th, 2009
Ostatnio zaprezentowałem MySQLową wersję implementacji drzewa tzw. metodą Depesza (patrz tutaj). Nie napisałem natomiast nic na temat praktycznego wykorzystania takiego drzewa. Dlatego dzisiaj ciąg dalszy, tym razem już bardziej praktyczny.
Drzewo Depesza w MySQL
Marzec 11th, 2009
W czasie pracy nad jednym z projektów po raz kolejny byłem zmuszony podejść do kwestii drzewa. Jednakże tym razem postanowiłem podejść do tego troszkę inaczej i zaimplementować drzewo bardziej rozbudowane niż typowe id | nazwa | parent_id. Wybór padł na tzw. metodę Depesza oraz próbę jej implementacji pod MySQL.
Requested scripts may not include parent directory traversal („../”, „..\” notation)
Marzec 3rd, 2009Po ostatniej aktualizacji ZF do 1.7.6 w jednym z projektów pojawił się nowy „nieplanowany” wyjątek:
Warning: Exception caught by form: Requested scripts may not include parent directory traversal („../”, „..\” notation)