Deweloperzy
Mootools - bardzo wydajnego i efektywnego frameworka JavaScript od ponad pół roku w pocie czoła pracują nad nową wersją 1.2. Już przed wypuszczeniem pierwszej wersji beta było wiadomo że
Some parts of MooTools 1.2 aren’t immediately compatible with those found in MooTools 1.1
…
Od poprzedniej wersji zostały wprowadzone zmiany dość niskopoziomowe takie jak tworzenie klas czy ich dziedziczenie.
Aby jednak umożliwić osobom wykorzystującym obecną wersję stabilną korzystanie z dobrodziejstw nowej, ulepszonej postanowiono udostępnić również wersję która będzie zapewniała zgodność z wersją 1.11.
Ostatnio postanowiliśmy sprawdzić jak nasze aplikacje działają z nową wersją MooTools. Jako, że serwis
baltic4you.pl jest ściśle powiązany z JavaScriptem (oparty jest w sporej części na tym frameworku) to testy zostały przeprowadzone właśnie na nim. Dodatkowo został sprawdzony DeForm - nasz system do tworzenia formularzy.
Na pierwszy ogień poszła wersja bez kompatybilności i… zgodnie z oczekiwaniami stworzona wcześniej aplikacja wysypała się zanim cokolwiek zdążyło się wykonać. Kolejna próba to test z wersją zapewniającą zgodność. Jednak jak się okazało “zgodność” to nie do końca odpowiednie słowo :).
Generalnie większość funkcjonalności działa poprawnie jednak niektóre generują błędy tak więc zmiana wersji okazuje się na dzień dzisiejszy nieco kłopotliwa. Stwierdziliśmy. że z problemem zmierzymy się dopiero gdy zostanie opublikowany Mootools 1.2 stable, by mieć pewność, że generowane błędy nie powstają z winy frameworka.
Na pewno możecie oczekiwać relacji z tego wydarzenia ;) A będzie się działo…
Część osób nie wie że istnieje możliwość dodania do PHP rozszerzenia pozwalającego na otwarcie połączenia z dowolną drukarką zainstalowana wcześniej w systemie operacyjnym i zmuszenia jej do wyplucia czego tylko zapragniemy. Aby tego dokonać należy:
- Pobrać odpowiednią bibliotekę (najlepiej ze strony
pecl4win).
- Skopiować
plik php_printer.dll dokatalogu ext w folderze gdzie zainstalowany jest PHP (np C:\Program Files\PHP\ext)
- Edytować plik php.ini (najczęściej znajduje się w
C:\WINDOWS) i dodać w częsci z rozszerzeniami (Windows Extensions) linijkę extension=php_printer.dll
Aby przekonać sie czy całość działa spróbuj uruchomić następujący kod:
Ten i więcej przykładów znajdziecie bezpośrednio na
http://pl.php.net/printer.
Część osób pewnie zapyta o zastosowanie tego typu rozwiązania. My wykorzystaliśmy tę funkcjonalność podczas drukowania kodów kreskowych. W rezultacie sprzedawca chcąc dodać nowy produkt, klika “wygeneruj nowy kod kreskowy” a drukarka automatycznie rozpoczyna drukowanie uprzednio wygenerowanego w php kodu.
Ograniczeniem może być brak odpowiednika dla systemu spoza rodziny Windows. A może zna ktoś takowy?
Wiadomym jest, że PHP jest językiem interpretowanym. Czasami jednak zachodzi potrzeba “upakowania” kodu PHP do jednego exeka tak, żeby bez interpretatora móc odpalić nasz skrypt. Do tego celu są wykorzystywane różne kompilatory PHP, które przepisują kod PHP na binarkę (są nawet stosowne funkcje w PHP).
Niedawno szukaliśmy dobrego programu, który mógłby spakować nasz kod PHP do pliku wykonywalnego. Znaleźliśmy program
Roadsend niestety okazał się nieprzydatny, ponieważ skompilowanie kodu PHP wymagało od nas sporo wysiłku, a efekty i tak były mizerne.
Na szczęście znaleźliśmy program
Bambalam, który w bezbolesny sposób pozwala na kompilację pliku PHP. Dodatkowo możemy ten kod spakować przy pomocy
UPXa. Zaletą tego programu jest możliwość dołączenia przeróżnych bibliotek. W naszym skrypcie była potrzebna biblioteka php_printer.dll. Wystarczyło pobrać odpowiednią wersję (o tym za chwilkę) wrzucić do katalogu z programem Bambalam i odpalić wspomniany program z opcją “-e:php_printer.dll”.
Niestety Bambalam ma dość sporą wadę. Ostatnia wersja wyszła w roku 2006 i nie ma wsparcia dla PHP5, także jesteśmy zmuszeni do porzucenia niektórych dobrodziejstw jakie niesie ze sobą PHP5.
Pomimo tej wady warto zainteresować się tym programem, czasami są sytuacje, że skompilowanie kodu PHP jest przydatne.
Pisząc w gmailu uruchomionym w Prismie maile w języku polskim zawsze brakowało mi jednego… Jak zmusić Prisma do sprawdzania moich wypocin od strony ortograficznej.
Od jednej literówki jeszcze nikomu nic się nie stało, zdarza się. Jednak gdy jest ich już więcej na pewno nie świadczy to o profesjonalizmie adresata i poszanowaniu dla odbiorcy. Jako że sam Prism nie udostępnia interfejsu ustawień.
Zacząłem więc googlować za jakimś rozwiązaniem. Niestety albo źle szukałem albo nie wiele osób próbowało rozwiązać mój problem (lub jest on na tyle banalny że nikt go nie opisuje). Tak więc szybkie i proste rozwiązanie…
Continue reading “Sprawdzanie pisowani w prismie - polski słownik”
Przeglądając z rana to co zaproponował mi
google alerts na temat MySqla natknąłem się na ciekawy
artykuł na temat wyciągania losowych rekordów z tablic tej właśnie bazy danych.
Nie będę przepisywał treści zawartej w tym artykule, chciałem tylko przedstawić swoje własne wyniki uzyskane podczas testowania tej metody. Badania przeprowadziłem na tablicy
InnoDB z 135k elementów. Wyciągając losowy element w ‘tradycyjny’ sposób, czyli:
zajęło to 60 sek. Wartość niedopuszczalna aby używać tego np. na stronie www.
Wykorzystując pomysł zaproponowany na tym blogu i wykonując zapytanie:
wynik otrzymuje już po około 30ms, a więc wzrost prędkości 1000 krotny!!!
Wyszła nowa wersja Prism-a 0.9
Poprawiono niektóre błędy i znacznie przyśpieszono jego dzialanie.
Zapraszam do pobrania:
http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.win32.exe
Dzisiaj Bartek odkrył interesującą rzecz o której ani On ani ja wcześniej nie wiedzieliśmy. Być może i ktoś z Was również o tym nie wie, więc chętnie opowiemy :) Generalnie chodzi o to że… koty nie pływają pod wodą…
Continue reading “Pływający kotek, czyli o korzystaniu z metod klasy A w obiekcie B.”
Podobnie jak PHP, C++, Java i masa innych języków programowania ma funkcje. Jak wiadomo mogą one posłużyć do wielu różnych rzeczy. W MySQL można je wykorzystać aby zwiększyć bezpieczeństwo. Zapisana funkcja/procedura może być bez problemu wywołana z poziomu PHP, ponieważ wystarczy wysłać zapytanie do bazy będące wywołaniem funkcji.
W dalszej części postaram się nieco opisać sposób tworzenia, oraz wykonywania funkcji.
Continue reading “Krótko o funkcjach w MySQL”
Do niedawna generowanie wykresów było albo potwornie żmudną robotą, albo dawało bardzo mizerne rezultaty. Ale już nie teraz - Google udostępniło nowe API (
Google Charts) do generowania wykresów różnego rodzaju - liniowych, słupkowych, kołowych, rozproszonych… Dla każdego coś dobrego.
Zasada jest wręcz śmiesznie prosta - wykres wstawiamy do HTMLa od razu jako obrazek, w źródle podając zwyczajnie odpowiedni link do Google Charts, w którym zawarta jest cała konfiguracja wykresu i jego dane. Całe narzędzie jest darmowe, oczywiście z pewnymi ograniczeniami:
- limit 50.000 wygenerowań dziennie/witrynę,
- powierzchnia obrazka 300.000 pikseli i…
- jakieś ograniczenie złożoności wykresu wynikające z maksymalnej dopuszczalnej długości linka, ale to nie ograniczenie twórców, tylko technologii.
Wykresy można sobie oczywiście cache’ować, jeżeli dane nie zmieniają się z każdą odsłoną.
Najtrudniejsze to złożyć odpowiedni adres.
Tutaj są zebrane biblioteki znacznie ułatwiające sprawę (konfigurują wykres i kodują dane do łańcucha znaków). Więc cała sprawa ogranicza się do kilku kroków - zbieramy jakieś dane do wykresu, tworzymy obiekt definiujący wykres, wrzucamy do niego nasze dane plus trochę konfiguracji, wyciągamy gotowy link i wrzucamy w źródło obrazka. Gotowe.
Do php dobra jest chociażby biblioteka do pobrania z
www.malaiac.com/GphpChart/. Jak na razie większość dostępnych bibliotek nie obsługuje w 100% możliwości API, ani też samo API nie obsługuje wszystkich rodzajów wykresów jakie sobie można wyobrazić. Jednak do standardowych, codziennych zastosowań jest to rewelacyjne narzędzie! Polecam przetestować, zmiana adresu obrazka i śledzenie efektów to całkiem fajna zabawa :)

Twórcy
FireBuga wykonali ogromną, bardzo dobrą pracę tworząc to narzędzie. Bez niego pewnie nie udałoby by się nam zrobić np. serwisu
Baltic4You.pl.
Niestety twórcy zapomnieli dodać możliwości przeglądania/dodawania/usuwania cookies’ów. Wprawdzie akurat u nas do cookies zagląda się dosyć rzadko to jednak ostatnio było takie narzędzie bardzo potrzebne (woojo to dla Ciebie)
Powstało ostatnio narzędzie
FireCookie które dodaje jeszcze jedną opcję (czyli de facto jest rozszerzeniem FireBuga a nie już samego FireFoxa :)) do FireBuga pozwalającą właśnie na wyżej wymienione operacje. Czyż to nie piękne?
Na blogu
Software is hard jest również informacja o tym jak pisać rozszerzenia do FireBug’a. Może ktoś ma pomysł na dopisanie czegoś ciekawego?
