22 Maj

Trochę o OOP

OOP jest już dostępne w coraz to większej ilości języków programowania. Właściwie język bez obsługi OOP, chociaż w podstawowym stopniu, nie ma już racji bytu. Prawdziwy bum na programowanie obiektowe miał miejsce, gdy pojawiła się nowa wersja PHP oznaczona numerem 5 (co prawda wcześniejsze wersje też udostępniały klasy i obiekty, ale nie można było tego nazwać nawet szczątkową obsługą OOP). Gros osób piszących właśnie w tym języku odkryło możliwości jakie niosła ze sobą, zupełnie nowa dla niektórych, funkcjonalność. Zauważyłem jednak, że wielu młodych programistów nie rozumie na czym tak na prawdę polega programowanie obiektowe. W internecie znajduje się wiele "kursów" używających sławnych już przykładów "pojazd - rower" lub "roślina - kwiat". Nie zawsze jednak takie porównania pozwalają w pełni zrozumieć ideę OOP.

Czytaj dalej...
26 Lis

Python vs PHP

Jeśli wszystko potoczy się po mojej myśli niedługo zacznę pracę nad nowym, sporym projektem. Podczas rozmowy z "szefem" rzuciłem pomysł napisania wszystkich skryptów w Pythonie. Później sam zacząłem się zastanawiać dlaczego właściwie odstąpić od dobrze wszystkim znanego PHP na rzecz stosunkowo mało popularnego Pythona.

Poczytałem trochę w internecie i rozszerzyłem swoją wiedzę na ten temat. Wcześniej miałem już styczność z pajtonem, ale nie można było tego nazwać tworzeniem skryptów, a raczej dziecinną zabawą. Z PHP za to walczę już od kilku dobrych lat, więc raczej nic mnie już zaskoczyć nie może (choć mogę się mylić :P ). Postanowiłem zebrać w punktach dlaczego warto zostać przy PHP:

  • język znam już od dawna
  • duże doświadczenie w tworzeniu skryptów
  • łatwość implementacji algorytmów
  • posiadam masę gotowych funkcji, metod i klas, które znacznie ułatwiają mi pracę

Dla równowagi zebrałem sobie też punkciki przemawiające za tym, aby odejść od PHP:

  • pod względem ilości funkcji dostępnych w języku PHP zostaje w tyle (brak przestrzeni nazw, raczkująca obiektowość)
  • PHP jest stosunkowo wolno rozwijane minie dużo czasu, zanim PHP nadrobi te straty
  • czasem dziwne i nieintuicyjne nazwy funkcji

Python i Django oferują programiście połączenie łatwego i schludnego języka, oraz rozbudowanego frameworka do tworzenia serwisów WWW. Na wstępie mamy do dyspozycji prosty (ale zawsze!) panel admina, oraz interface do implementacji systemu użytkowników. Poza tym ORM wysokiego poziomu, który według mnie jest łatwiejszy w obsłudze, bardziej intuicyjny, a przede wszystkim bardziej obiektowy niż PHP-owy PDO. Aplikacje w Pythonie mogą być wielowątkowe, co także pozwala na zwiększenie wydajności naszej aplikacji. Dodatkowym atutem przemawiającym za przestawieniem sie na pajtona jest to, że nie jest on językiem stworzonym przede wszystkim do pisania stron. Dzięki temu będzie można łatwo zintegrować np. bota gg/irc z serwisem WWW.

Podsumowująć... PHP jest stworzony do pisania stron internetowych i jest do tego celu bardzo dobry. Z drugiej strony nie oferuje on programiście funkcjonalności dostępnych w innych językach już od bardzo dawna. Co prawda developerzy wypuszczają nowe wersje, jednak jak sami twierdzą implementacja niektórych funkcjonalności nie jest możliwa bez całkowitego przebudowania języka. Python nie był tworzony z myślą o podboju internetu. Dzięki takim frameworkom jak Django, czy Pylons stał się do tego celu dobrym narzędziem. Na wstępie oferuje narzędzia przydatne podczas tworzenia serwisów internetowych. Odciąża programistę od zabawy z SQL-em, wiele rzeczy robi automatycznie. Dlatego moim zdaniem warto jest zmienić przyzwyczajenia i poznać alternatywne rozwiązania.

14 Lis

JAGallery 1.0

Jak pisałem wcześniej prace nad skryptem prostej galerii zostały zakończone. Do nowych ficzerów należy zaliczyć możliwość wyświetlenia losowego zdjęcia i ilości plików w folderze w ekranie wyboru galerii. Całość przetestowałem i działa sprawnie w (chyba) każdej możliwej konfiguracji. Do najważniejszych założeń na przyszłość należy skrypt, który podczas wyświetlania dużego zdjęcia skaluje je tak, aby nie wychodziło poza ekran. W następnej wersja ta opcja będzie już na pewno dostępna.

Skrypt udostępniony jest na zasadach licencji by-sa.

  • Co można:
  • kopiować, rozpowszechniać, odtwarzać i wykonywać
  • tworzyć utwory zależne
  • Czego nie można:
  • modyfikować skryptu i rozpowszechniać go jako własny
  • rozpowszechniać skryptu i jego modyfikacji na innej licencji

Download: JAGallery.rar Sample: http://jony.com.pl/galeria

13 Lis

JAGallery 1.0 RC1

Postanowiłem zebrać w sobie trochę zapału do pracy i dokończyć rozpoczęty projekt JAGallery. Główną zmianą jaką wprowadziłem jest zmiana animacji. Zamiast "samoróbki", które prezentowała się średnio ładnie postanowiłem zintegrować całość z lightbox-em. Poza tym poprawiłem kilka błędów. Dozrobienia zostało mi jedynie skalowanie obrazków do rozmiarów okna, które niestety muszę napisać od początku, gdyż w wersji 0.5 niektóre obrazki nie chciały się skalować z niewiadomych mi przyczyn.

Przykładowa galeria
Do pobrania: JAGallery 1.0 RC1

Edit: wprowadziłem nowe zmiany
* możliwość wyświetlenia losowej miniaturki przy wyborze galerii
* możliwość wyświetlenia ilości zdjęć przy wyborze galerii

22 Wrz

JAGallery 0.5

Po kilku dniach pracy nad modyfikacją JGallery udało mi się zakończyć prace nad wersją testową JAGallery. Działanie skryptu można zobaczyć na stronie http://jony.com.pl/galeria/. Do rozwiązania został jeden problem po stronie PHP, a mianowicie błąd podczas tworzenia miniaturek z dużych obrazków. Widać go w galerii Domek po kliknięciu w jedną z pierwszych jedenastu miniaturek. Kod skryptu można pobrać pod adresem http://jony.com.pl/pliki/JAGallery.rar

08 Wrz

JGallery 3.6.2

Dzisiaj światło dzienne ujrzała nowa wersja skryptu JGallery. W wersji 3.6.2 nie ma rewelacyjnych zmian. Został poprawiony jedynie błąd, który powodował przekraczanie limitu czasu na wykonanie skryptu. Rozwiązaniem okazało się pomijanie miniaturek już istniejących oraz ustawienie w nagłówku maksymalnego czasu wykonania (30 sekund). Taki limit powinien wystarczyć, aby "zminiaturkizować" średniej wielkości galerię, a jeśli zostanie on przekroczony wystarczy odpalić ponownie skrypt, który przerobi resztę plików. Jednocześnie chcę powiadomić, że niedługo zacznę prace nad AJAX`ową wersją galerii. Będzie ona oparta o ten sam skrypt, jednak jej wyświetlanie będzie obsługiwane przez AJAX.