dominik bułaj

php developer & web designer

Archiwum kategorii ‘Web’ Category

Podczas jednej z ostatnich konferencji gigant z Redmond zaprezentował kolejną wersję przeglądarki Internet Explorer. Nie jest to jeszcze wersja oficjalna a tak zwane “wydanie poglądowe” czyli preview release.

Czy zaskoczy nas czymś IE 9? O tak!
Po pierwsze (w końcu!) IE obsługuje format SVG 1.1, czyli wektorowe grafiki i animacje. Po drugie, podobnie jak główni konkurenci, IE kompiluje kod JavaScript dzięki czemu jest on dużo szybszy. Kolejnym plusem jest obsługa HTML5 i CSS3. I na koniec, uaktualniono narzędzia programistyczne.

Minusem jest na pewno słaby wynik Acid3 Testu. W przypadku prezentowanej wersji – 55/100, podczas gdy Firefox 3.6 notuje 94/100, a Google Chrome 100/100. Ale to może jeszcze się poprawi do czasu wydania finalnej wersji.

Więcej o IE 9 dowiemy się z oficjalnej strony Microsoftu, gdzie znajdziemy też linki do poprania Internet Explorer Platform Preview.

Kontakty w Firefoxie

Mozilla w ramach Labs przedstawiła ciekawe rozszerzenie. Contacts in the Browser umożliwia import kontaktów do przeglądarki. Kontakty można importować z trzech źródeł:

  • książka adresowa systemu operacyjnego (na razie tylko Mac OS)
  • kontakty z GMail
  • książka adresowa z Twittera

dodatkowo, dla zaimportowanych maili, pobrać można Gravatary.

Ogólnie chodzi o zaimportowanie bazy adresowej do Firefoxa. Adresy te można później wykorzystać np. w formularzach typu “Wyślij do…”. Co ciekawe będzie dostępne JavaScript API, umożliwiające dostęp do bazy adresów (oczywiście wymaga zgody użytkownika).

Początkowo projekt wydawał mi się ciekawy, ale po chwili zastanowienia nie wiem czy potrzebuje adresy e-mail znajomych i przyjaciół w Firefoxie ;)

Więcej szczegółów o projekcie na stronach Mozilla Labs

Jako że w najbliższym czasie szykuje mi się wymiana desktopa, stary całkiem padł (wytrzymałościowo i wiekowo nie nadaje się nawet do przeglądania sieci), postanowiłem na laptopie zainstalować Zend Server Community Edition. Dla jasności na laptopie mam system Vista Home Premium (i dobrze mi z tym ;)

Wszedłem na stronę Zend.com i pobrałem paczkę dla Windows (tą z PHP 5.3.1).
Problem pojawił się przy instalacji. Ile razy próbowałem zainstalować serwer, tyle razy w końcu procesu (kiedy powinien kopiować pliki) wyskakiwał błąd -1622. Poguglowałem, ale nic relatywnie związanego z ZSCE nie znalazłem.
Postanowiłem zatem poszukać dalej. Szukałem informacji o błędach instalatorów Windows + kod 1622. I trafiłem na stronę AppDeploy. Ładnie opisano, iż błąd jest związany jest z brakiem pliku log. Opisano także jak aktywować tenże logger. Po dokonaniu zmian w rejestrze (o zgrozo, że aż tak trzeba dogłębnie grzebać w systemie!) udało mi się w końcu zainstalować ZSCE.

PS instalator utworzył sobie cztery pliki log o łącznej wielkości ponad 3.3MB.

Witryny rezygnują z Flasha

Coraz więcej firm rezygnuje z technologii Adobe Flash na swoich witrynach. Jedną z nich jest Virgin America – firma lotnicza, która zrezygnowała z flasha by przyciągnąć więcej klientów korzystających z Flash. O całej sprawie informuje gazeta.pl/technologie.

Powiem szczerze, nigdy nie byłem zwolennikiem flasha i cieszy mnie, że jego dominacja może trochę zmaleć. Mam tylko nadzieję, że nie kosztem Silverlighta…
Uważam, że do większości zastosowań wystarczy wykorzystać “moc” jaką oferują dzisiejsze frameworki JavaScript + CSS.

Jak informuje Gazeta.pl, Google kupiło kolejną w ostatnim czasie firmę oferującą usługi online. Chodzi o firmę DocVerse umożliwiającą obróbkę dokumentów Microsoft Office przez Internet.

Jest to kolejna, po zakupie Picnika, transakcja giganta z Mountain View.

Teraz pozostaje poczekać kilka miesięcy i zobaczy wykorzystanie “nowych (nabytych) technologii” w Google ;)

Jak wspomniałem w poprzednim wpisie o Google Chrome i Zend_Date, polskojęzyczna wersja przeglądarki Google identyfikuje się jako angielskojęzyczna. Okazuje się jednak, że można to dość prosto zmienić, chociaż samo rozwiązanie to tzw. proteza (ale o tym nieco dalej).

Zmiana nagłówka jest możliwa po przez dodanie parametru uruchamiającego chrome.exe (w Windows).

I tak do:
[ścieżka do katalogu Chrome]\chrome.exe

dodajemy:
[ścieżka do katalogu Chrome]\chrome.exe --user-agent="[tu nasz wpis]"

Właśnie w tym momencie powstaje pewien problem. Musimy poznać oryginalną wartość User Agent, co jest proste. Wystarczy w polu adres wpisać “about:” i otworzyć ten pseudo-adres.
Możemy teraz skopiować zawartość User Agent, zmieniając wartość:
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.2 Safari/533.2

na:
Mozilla/5.0 (Windows; U; Windows NT 6.0; pl) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.2 Safari/533.2

Ów problem to numer wersji Chrome, Safari i Webkita. Po aktualizacji przeglądarki dane te musielibyśmy ręcznie zmienić, aby poprawnie identyfikować wersję programu (no chyba, że na tym nam nie zależy)…

Używam przeglądarki Google Chrome głównie do przeglądania sieci – bo jest szybka. Bardzo szybka.
W procesie tworzenia witryn (cała otoczka zwana developerką) używam nadal Firefoxa, gdyż ma co najmniej dwa niezastąpione rozszerzenia – Firebug i Web developer.
Mając do dyspozycji te dwie przeglądarki, jestem w stanie zalogować się do tworzonej aplikacji na dwa różne konta (bo jak wiemy każda przeglądarka to osobna sesja).

W aplikacji do porównania dat używam Zend_Date(). Kod wygląda mniej więcej tak (chodzi o sprawdzenie czy data zdarzenia jest starsza niż 7 dni):

$d1 = new Zend_Date($this->transactionData->datetimeAccepted);
$d2 = new Zend_Date(); // zwraca aktualną datę i czas
$d2->addDay(-7); // przesuwam znacznik czasu o 7 dni wstecz

if ($d1->compare($d2) === -1) { // porównuje czy data z bazy ($d1) jest wieksza od ($d2)
// ... dalszy kod
}

W Firefox pieknie działało (Zend_Date::compare() zwracał -1, co oznacza że data $d1 jest starsza od $d2). Odpaliłem widok w Chrome i jakież było moje zdziwienie, gdy wynik testu Zend_Date::compare() wynosił 1 (data $d1 jest młodsza niż $d2).

Po szybkim zbadaniu kodu okazało się, że w Chrome $d2 ma postać “amerykańską”. Sprawdziłem w Zend_Locale() i okazło się, że polskojęzyczna wersja Chrome (v. 5.0.342.1) identyfikuje się nagłówkiem:

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.1 Safari/533.2

Szybka zdecydowałem się na “narzucenie” aplikacji odpowiednich ustawień lokalnych.

W Bootstrapie dodałem kod:

protected function _initLocale()
{
    $locale = new Zend_Locale('pl');
    Zend_Registry::set('Zend_Locale', $locale);
}

Oczywiście to w wielkim uproszczeniu, bo aplikacją którą tworzę będzie wielojęzykowa więc i ustawienia lokalizacji będą się dynamicznie zmieniać ;)

Jak niektórym zapewne wiadomo, Czytnik Google nie wspiera obsługi prywatnych feedów.
Czym są owe prywatne feedy? Są to np. feedy z Gmail, Twittera (timeline) – słowem wszędzie tam, gdzie wymagane jest zalogowanie na własne konto.

Napisałem prosty skrypt PHP, dzięki któremu mam swego rodzaju proxy do Twittera (timeline – czyli to co widzę po zalogowaniu – statusy osób które obserwuję).

Źródło (poniżej instrukcja użycia)

< ?php
// konfiguracja
define('USER', ''); // twoja nazwa użytkownika
define('PASS', ''); // twoje hasło
define('GOOGLE_READER_ONLY', true); // strona dostępna tylko dla bota Google Reader

// umożliwiamy dostęp tylko Google Reader
if (GOOGLE_READER_ONLY && !preg_match('/Feedfetcher-Google/', $_SERVER['HTTP_USER_AGENT'])) {
    die('401 Unauthorized');
}
// wysyłamy poprawny nagłówek
header('Content-Type: application/rss+xml; charset=utf-8');

// pobieramy i wyświetlamy feed z twitter.com
$curl = curl_init('http://twitter.com/statuses/friends_timeline.rss');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_UNRESTRICTED_AUTH, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_USERPWD, USER . ':' . PASS);
echo curl_exec($curl);
curl_close($curl);

Jak używać?
Pobierz plik (zip, tgz), wrzucić na swój serwer (podaj w konfiguracji nazwę użytkownika i hasło).
Na koniec w Czytniku Google dodaj nową subskrypcję podając adres URL do pliku na serwerze.

Pomoc
Masz pytania, potrzebujesz pomocy? Skontaktuj się ze mną, a postaram się pomóc :-)

Wprowadzenie
W firmie, do projektu w którym biorę udział, przygotowaliśmy większą paczkę zmian. Powiedzmy, że wersja produkcyjna bazuje na rewizji sprzed miesiąca (korzystamy z SVN; przy każdym commit podajemy ID i url do ticketa).
W międzyczasie rozwiązaliśmy w teamie około 15 ticketów i nasz project manager potrzebował ich listę, aby przekazać klientowi do ostatecznego sprawdzenia na stagingu. Jako że jestem najbardziej doświadczoną osobą w projekcie – padło na mnie ;)

Sposób pierwszy (oldschool)
Niby prosta czynność, bo przecież możemy otworzyć system ticketów, wyszukać wszystkie rozwiązane w ciągu miesiąca, a następnie spisać ID i url każdego ticketa. Trochę czasu by to zajęło…

Sposób drugi (nu skool)
Pomyślałem, “hej, musi być inna droga”.
Pomocny, po raz kolejny, okazał się Eclipse. Aby usprawnić cały proces (który zajmie nam ok 30-60 sekund) musimy przejść na perspektywę “SVN Repository Exploring”. Następnie wybieramy w panelu “SVN Repositories” repozytorium i włączamy podgląd historii (“Show history”).

W panelu “History” zaznaczamy interesujące nas rewizje i z menu kontekstowego wybieramy “Generate ChangeLog”:
eclipse_svn_changelog_1

W okienku, które się otworzy, mamy wybór jaki format ma mieć nasz changelog oraz gdzie ma być zapisany (w schowku czy na dysku):
eclipse_svn_changelog_2

Wybrałem domyślne ustawienie (svn log + schowek). Wkleiłem do edytora zawartość schowka i oto co otrzymałem:
eclipse_svn_changelog_3

Podsumowanie
Jak widać cała operacja jest bardzo prosta i w pełni zautomatyzowana. Co więcej, jest bardzo pomocna :)

Aktywujemy nowy layout Google

W jednym z poprzednich wpisów pisałem o nowym layout wyszukiwarki Google. Niestety nie sprawdziły się przewidywania TVN24 i nowa szata najpopularniejszej wyszukiwarki nie została upubliczniona. Jest jednak sposób, aby aktywować nowy layout Google.

Znalazłem sposób na aktywowanie nowej szaty, który podlega na dodaniu ciasteczka dla domeny google.com. Został on opisany na stronie Gizmodo.

Krok 1. Wejdz na google.com
Krok 2. Po załadowaniu strony, przekopiuj poniższy kod do paska adresu przeglądarki:

javascript:void(document.cookie="PREF=ID=20b6e4c2f44943bb:U=4bf292d46faad806:TM=1249677602:LM=1257919388:S=odm0Ys-53ZueXfZG;path=/; domain=.google.com");

Krok 3. Wciśnij enter.
Krok 4. Przeładuj (lub otwórz w nowym oknie / zakładce) google.com.

Viola! Możemy teraz cieszyć się “nowym Google” :)

Nowe szukanie w Google

Psi 0.14 dostępne!

Psi logoW końcu kazała się nowa wersja komunikatora Psi.

Nowości w 0.14:
* możliwość definiowania kolorów dla okna rozmów
* możliwość podania przyczyny przy użyciu opcji kick/ban w rozmowach grupowych
* poprawione okno z informacjami o użytkowniku (dostępne więcej pól, kalendarz wyboru daty, możliwość pobrania awataru)
* dodanie obsługi Enchant jako alternatywy dla Aspell
* linia komend udostępnia wybór profilu i ustawianie statusu
* wprowadzono ustawianie statusów i informacji o wstrzymaniu/wznawianiu działania komputera (D-BUS)
* poprawiono kompatybilność rozmów głosowych z programami Pidgin i Empathy
* wprowadzono inne usprawnienia i poprawki

Program pobrać można z oficjalnej strony – pod adresem: http://psi-im.org/download/

Nowy layout Google!

Prawdopodobnie już jutro Google zmieni layout! Taką informację podał Jacek Pałasiński dziś na antenie TVN24. Najbardziej znana wyszukiwarka internetowa zyska dzięki zmianie więcej świeżości. W końcu można by rzec…

Zmiany dotyczyć będą strony głównej i widoku z wynikami wyszukiwania. Oprócz zmian w kolorystyce i elementach graficznych, widok wyników zyska sidebar (w którym znajdziemy m.in. przeniesione z góry strony linki do różnych serwisów Google’a).

Zmiany dotkną logo:

- aktualna wersja:
aktualne logo

- nowa wersja:
nowe logo

oraz strony z wynikami szukania:

- aktualna wersja strony:
aktualny layout

- nowa wersja strony:
nowy layout

- kolejny widok na odświeżoną stronę wyników:
nowy layout

Psi 0.14 opóźnione

Ukazała się wersja Psi 0.14 RC3, można ją pobrać z Sourceforge.

Po raz kolejny przesunięciu uległa data wydania oficjalnej 0.14-ki. Aktualnie, jeśli nie zostaną znalezione żadne krytyczne błędy, oficjalną wersję dostaniemy 2 grudnia.

Favicons w Google ReaderGoogle Reader (w Polsce zwany Czytnikiem) ma nową funkcjonalność. Nie wpływa ona bezpośrednio na funkcjonalność oferowaną przez tą usługę. Jest raczej miłym dla oka dodatkiem.

Dodano możliwość wyświetlania przy subskrypcjach favicon (czyli ikonek serwisów internetowych, które są widoczne w pasku adresu przeglądarki).

Wyświetlanie favicon nie jest dostępne domyślnie. Aby je aktywować należy (jak pokazano na obrazku) kliknąć ikonkę ze strzałką w dół przy nagłówku Subskrypcje, a następnie wybrać opcję Use favicons (aktualnie brak tłumaczenia na język polski).

Oficjalna informacja znajduję się na blogu Google Reader’a.

webdesignconcepts Udało mi się zdobyć kolejny certyfikat Brainbench. Tym razem testowałem swoją wiedzę w zakresie Web Design Concepts. Wynik przerósł moje najśmielsze oczekiwania. Zaliczyłem Master’s Level (4.28 pkt. w pięciopunktowej skali). W podsumowaniu wyników napisano, iż rozwiązałem test lepiej niż 98% egzaminujących się przede mną osób!

Rozwiązanie testu, w skład którego wchodzą 30 pytania, zajęło mi dokładnie 27 minut i 9 sekund. Było szybko, łatwo i przyjemnie – wszak ma się 10 lat doświadczenia w web designie… ;)

Moje mocne strony:
* Web Analytics
* Design Process
* HTML Knowledge
* DOM Scripting (Javascript)
* WWW (World Wide Web) Knowledge
* Accessibility
* CSS Knowledge

Słabe strony: brak

Szczegółowy wynik testu: http://www.brainbench.com/content/transcript/topicdetail.do?testid=10442388

Archiwa