Technologie i narzędzia: język PHP 5, Java, JavaScript, Python, system Zend Framework, Django, biblioteka jQuery, Smarty, platforma Eclipse, MySQL, SVN, CVS, UML, Firefox.
WebProgramming - wszystko o serwisach internetowych
O serwisach internetowych.
[usability] Skuteczny “Kreator czyszczenia” w Home.pl
Miałem dzisiaj w planach zrobić porządki na poczcie, ponieważ nazbierało się w niej trochę śmieci. Wszedłem więc na webmail, który oferuje mój provider (czyli Home.pl) i ku uciesze moim oczom ukazał się “Kreator czyszczenia”. Mówię sobie “fajnie, ułatwi mi prace”. Początek zapowiadał się więc ciekawie, a jak się skończyło? Sami przeczytajcie.
[php|zend] Sprytne tłumaczenie adresów url.
Przyglądając się wielojęzycznym serwisom zauważyłem, iż żaden z nich nie tłumaczy adresów url (oczywiście treść samej strony jest ładnie przetłumaczona). Innymi słowy niezależnie od wyboru języka adresy stron są takie same - na przykład dostęp do wiadomości kryje się pod adresem /messages/show/1/, a przecież mogłoby to wyglądać tak /wiadomosci/wyswietl/1/ - czyż nie bardziej czytelnie (szczególnie dla osób nie znających języka angielskiego).
Zamiast rozmyślać wziąłem się za implementacje - tak też narodziła się wtyczka do Zend Framework o nazwie Fancyurl.
[javascript|jquery] Labin - dodatek do obsługi formularzy.
W artykule “Labin - Wtyczka obsługująca etykiety w polach typu input.” opisałem własną bibliotekę do jQuery dla etykiet w polach typu input. Wspomniałem tam również o pewnym problemie związanym z wysyłaniem (ang. submit) formularzy. Znalazłem szybkie i proste rozwiązanie tego problemu. Wystarczy stworzyć kolejną metodę w jQuery, w postaci
-
labinFormClear: function() {
-
$(‘:input’, this).each(function() {
-
if($(this).val() == $(this).attr(‘alt’)) {
-
$(this).val("");
-
}
-
});
-
}
i wówczas przed wysłaniem formularza należy uprzednio ją wykonać na rzecz tego formularza (czyli w postaci $(’#mojformularz’).labinFormClear();).
[javascript|jquery] Labin - Wtyczka obsługująca etykiety w polach typu input.
Dzisiaj mam dla Was prostą wtyczkę jQuery, która obsługuje etykiety opisujące pola tekstowe typu input w środku tego pola, na przykład: ![]()
Ciekawe tłumaczenia UI w aplikacjach.
W ramach rozrywki chciałem się podzielić z Wami ciekawymi tłumaczeniami jakie napotkałem (i które jeszcze pamiętam).
Na rozgrzewkę napisze najnowszą treść z jaką miałem do czynienia. W aplikacji webowej phpMyAdmin, po wykonaniu instrukcji TRUNCATE TABLE xxx moim oczom ukazał się komunikat “Tabela xxx została opróżniona”. Mam nadzieje, że chociaż spłukała po sobie
[javascript|jquery] Taconite
Jak już wspomniałem siłą biblioteki jQuery (JavaScript) jest łatwość jej rozbudowy za pomocą wtyczek. Jedną z nich jest Taconite, która znacznie ułatwia nam pracę (przynajmniej teoretycznie, ale o tym później) podczas aktualizacji HTMLa za pomocą żądań Ajax.
[php] Wzorzec MVC
O korzyściach wykorzystywania wzorca MVC w aplikacjach internetowych (i nie tylko) nie muszę mówić - to nie podlega dyskusji. Jego definicja nie określa jednak dokładnie jak należy go zaimplementować, w związku z czym możliwości realizacji tego wzorca są duże - nawet w miejscach, które wydawałoby się bez znaczenia. Zapraszam do krótkiego omówienia tej kwestii.
[sql|php] Budowa forum.
Ponownie mam do zaproponowania ciekawe rozwiązanie dość powszedniego problemu - tym razem padło na sposób reprezentacji drzewiastego forum w bazie danych. Drzewiasty oznacza w tym momencie, iż odpowiedź na daną wiadomość pojawia się pod tą wiadomością (coś w stylu komentarzy w serwisie onet.pl).
[javascript|jquery] Biblioteki typu UI.
Każdy kto korzysta z biblioteki jQuery zna na pewno bibliotekę Interface - jedną z najbardziej popularnych bibliotek wpierających budowanie rozbudowanych interfejsów użytkownika. Zawiera ona zarówno “nisko poziomowe” funkcjonalności między innymi drag & drop, animacje elementów (przesuwanie, znikanie, itp.) jak również bardziej skomplikowane “bajery” takie jak “fisheye menu“, czy też karuzela 3D. Jest jednak małe ale…
[php|javascript] Kontrola praw.
Dzisiaj zaproponuje Wam ciekawy (moim zdaniem oczywiście) sposób na implementację kontroli praw po stronie widoku. Przyznam się szczerze, iż nie wykorzystałem go jeszcze w żadnym projekcie, ale jestem ciekawy co o nim sądzicie.