Posts Tagged ‘php’

DateTime – koniec problemów z czasem

poniedziałek, Październik 12th, 2009

php_logo_ok-300x1502Od czasu do czasu trzeba zrobić operacje na datach, jakieś przesunięcia, pętle, czy też okresy. Php oczywiście podaje nam ciekawe rozwiązania problemów takie jak: date, mktime, strftime, gmmktime, time itp itd. Nie wiem jak dla Was ale korzystanie z tego “czasowego śmietnika” powodowała u mnie negatywne emocje. Dlatego korzystałem z Zend_Date. Lecz według mnie ta biblioteka to przerost formy nad treścią jeżeli potrzebujemy tylko wyznaczyć przedziały czasu (tygodnie miesiące) w zadanym okresie. Dlatego w php jest coś takiego jak DateTime.

(więcej…)

[krótko] preg_split – multi explode

poniedziałek, Wrzesień 14th, 2009

Rozwijając mój serwis pensje.net trafiłem na ciekawy problem. Otóż tworząc kreator raportów chciałem stworzyć funkcjonalność, która rozpoznaje czym są oddzielane wartości w wyszukiwaniu, np.: “programista php”, “programista,php”, “programista;php”. Ostatecznie chodziło o to aby wyciągnąć wartości “programista” oraz “php” i przeszukać tabelę pod ich kątem. Jako pierwsze rozwiązanie “explode” w pętli, lecz zanim zacząłem tworzyć poszukałem czegoś na wzór multi explode. Znalazłem funckję preg_split.

(więcej…)

krótko: funkcje php w javascript

sobota, Lipiec 4th, 2009

Czasem zdarza się, że mam potrzebę użycia w javascript funkcji z php. Jak się okazało nie tylko ja miałem taki problem. Dlatego też powstał projekt przepisania funkcji php do js. Jak możemy przeczytać na stronie http://phpjs.org/ wszystko zaczęło się niewinnie, od dwóch funkcji udostępnionych na blogu w paczce php.js. Następnie przyłączyli się inni developerzy do tworzenia dzieła i tak powstała biblioteka php.js zawierająca pokaźną ilość zaimplementowanych funkcjonalności php’a.

(więcej…)

optymalizacja przechowywania danych w mysql

sobota, Lipiec 4th, 2009

Ciężko jest skategoryzować ten wpis – czy to bardziej mysql czy też php. Celem jest przedstawienie formy przechowywania danych w określonym przypadku. Załóżmy sytuację, że musimy w bazie danych przechowywać informacje które na poziomie samej bazy nie będą przetwarzane, a jedynie dopiero po odczytaniu przez php. Chodzi o to, że zamiast budować relację możemy przechowywać zserializowaną tablicę jako kolejną kolumnę w tabeli. Najlepszym przykładem są wszelkie systemy do zbierania informacji, które później trzeba przeanalizować, np.: systemy do zbierania statystyk.

(więcej…)

Python okiem programisty PHP – kompletne porównanie

poniedziałek, Czerwiec 22nd, 2009

Moja przygoda z pytonem zaczęła się w lutym 2008 i zakończyła się w czerwcu 2008. Szkic tego artykułu powstał pół roku temu, dziś mam nadzieję go ukończę i opublikuję. Zainteresowałem się tą technologią (python) z nadzieją, iż moje aplikacje będą o kilka poziomów lepsze. Aktualna praca pozwalała mi na małe R&D, więc po uzgodnieniu z szefem rozpocząłem projekt stosując pyhona a dokładnie django. Do bazy danych użyłem sqlAlchemy. Kolejny projekt stworzyłem używając pylons’a. Po wykonaniu tych projektów wróciłem do PHP :) Dlaczego? Po kolei opiszę czemu wróciłem do PHP, odwołując się do głównych zalet pythona.

(więcej…)

Doctrine ORM – wprowadzenie

niedziela, Marzec 15th, 2009

W ciągu kilku następnych artykułów mam zamiar napisać trochę o Doctrine. W wielkim skrócie jest to coś takiego co zastepuje funkcje mysql_query oraz umila i przyspiesza pracę z bazami danych – oczywiście po zapoznaniu się z technologią. Profesjonalnie – jest to relacyjne mapowanie danych na obiekty - Object-Relational Mapping, czyli ORM.
(więcej…)

php gd2 – znaki wodne, napisy, ramki – operacje na obrazku

poniedziałek, Luty 23rd, 2009

Ostatnio przypadkowo trafiłem na instrukcję jak za pomocą css i obrazka PNG ustawić narożniki dla obrazka. Dla mnie wydało się to bardzo nieprofesjolanie, bo wiadomo, że w takim rozwiązaniu należy stosować ieHack oraz dochodzi zbędny kod html,css i js. Postanowiłem opisać jak należałoby to zrobić wykorzystując gd2, tzn napisałem generator obrazków do tego celu :) Dodatkowo naniesiemy napis niestandardową czcionką – znak wodny, podpis itp
(więcej…)

Cachowanie funkcji – przyspieszenie generowania stron

piątek, Listopad 7th, 2008

Kontynuując cykl optymalizacji aplikacji przedstawiam wam moja super klasę cachowania.
Przyspiesza ona generowanie stronek dość istotnie.
Wyobraźmy sobie system informatyczny, serwis www czy też inne ustrojstwo,
zawsze w każdej aplikacji jest chociażby jedna funkcja, która jest często
wywoływana i jej wykonanie zajmuje więcej czasu niż 0.05 sek, a jej wynik
zmienia się dość rzadko, np raz na godzinę. Czemu więc by nie wykonać
optymalizacji takiej funkcji? A co jeżeli bardziej się nie da? I tutaj
właśnie przedstawiam rozwiązanie :).
(więcej…)

Cachowanie stron – oszczędzanie serwera :)

środa, Październik 1st, 2008

W poprzednim artykule opisałem możliwości gzipowania plików tekstowych zanim zostaną one przesłane do użytkownika. Lecz zanim strona będzie mogła zostać zgzipowana musi być wygenerowana. Aby uzyskać super wydajność tutaj również zastosować jakiś mechanizm. W zależności od potrzeb buduje się bardziej lub mniej złożone procedury cachowania wygenerowanej treści. Stosując prosty przykład pokazuję jak łatwo jest to zrobić dla swojej stronki domowej :)
(więcej…)

Gzipowanie strony/plików – przyśpieszenie ładowania

niedziela, Wrzesień 28th, 2008

Ostatnio coraz głośniej się robi o tym jak sobie radzić z dużą ilością użytkowników bo jednoznacznie oznacza wysoki transfer. Jednym z lekarstw na tę okoliczność jest używanie gzipa – czyli przesyłanie spakowanych stronek do użytkownika. Dotyczy się to wszystkich plików tekstowych, czy również javascript i css. Pliki multimedialne możemy pominąć bo żaden kompresor nie spakuje jpg’a czy avika :)
(więcej…)