Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM    Subskrybuj kanał ATOM dla tagu php Kanał ATOM (tag: php)

Autor wpisu: Śpiechu, dodany: 24.05.2011 21:07, tagi: css, php

Od jakiegoś czasu grzebię sobie po GitHubie. Pomyślałem, że rozpocznę cykl opisów skryptów, które wzbudziły moją ciekawość lub wg mnie mogą być dosyć przydatne dla webmasterów. Na pierwszy ogień idzie CSS Crush — narzędzie do automatycznego zmniejszania wielkości plików CSS.

Zapewne każdy kto szukał kiedyś możliwości zaoszczędzenia nieco transferu natknął się na różne programy do miniaturyzacji skryptów. Chyba najpopularniejsze narzędzie to YUI Compressor, które przyjmuje pliki JavaScript lub CSS i próbuje powyrzucać trochę „niepotrzebnych” znaków. Minusem w/w programu jest to, że jest napisany w Javie. Co prawda powstał port w JavaScript, ale powiedzmy, że szukamy wygodniejszego rozwiązania, które daje się rozszerzać.

CSS Crush to właściwie jedna klasa plus kilkanaście funkcji (makr) rozbudowujących. To trochę dziwna klasa, bo WSZYSTKO mamy statyczne. Nawet mnie się to nie podoba, no ale niech będzie. Widocznie autor ma ważne podstawy żeby tak robić.

Używa się tego bajecznie prosto. Gdzieś wcześniej żądamy dołączenia pliku CSS_Crush.php, a następnie w sekcji head gdzie linkujemy nasz kod CSS wystarczy wpisać

<link rel="stylesheet" type="text/css" href="<?php echo CSS_Crush::file('/styles/style.css'); ?>">

i właściwie tyle. Skrypt sam sobie utworzy zminimalizowany plik i zwróci do niego ścieżkę dostępu. Jest to na tyle sprytne, że jeżeli nie wprowadzaliśmy żadnych zmian do pliku źródłowego CSS, to skrypt nie będzie mielił go ponownie.

Proces miniaturyzacji pliku przebiega w zasadzie zgodnie z tym co robi YUI Compressor, czyli m.in. wywalanie zbędnych enterów, spacji, średników, nadmiarowych zer i zamianę kolorów podanych w rgb na hexy.

CSS Crush można również rozszerzać o makra. Aktualnie dostępne są ułatwiacze w stylu automatycznego dodawania -moz- i -webkit- oraz dodawanie kilku hacków.

Programem można sterować poprzez dodanie mu tablicy asocjacyjnej jako drugiego argumentu przy CSS_Crush::file. Są to booleany 'macros', 'comments', 'minify' i 'versioning'. Jako swego rodzaju mankament można uznać formułkę, która wyświetla się na początku każdego zmielonego pliku. Zaproponowałem autorowi dodanie opcji 'boilerplate', za pomocą której wywalimy nagłówek pliku.

Chyba jest o co walczyć, skoro plik CSS Gazety.pl z 77,6 KB zmniejszył się do 67 KB. Ta wartość razy kilkaset tysięcy odwiedzin jakieś oszczędności na transferze nam zapewni.

Autor wpisu: Tomasz Kowalczyk, dodany: 24.05.2011 19:06, tagi: symfony, framework, php

Framework symfony jest na tyle złożonym tworem programistycznym, że czasami możemy po prostu "odbić się od ściany" próbując osiągnąć teoretycznie prostą rzecz. Moim zdaniem to dobrze, że wymaga on tak dużo od programisty - dzięki temu programista musi rozumieć, dlaczego i jak działają tworzone przez niego rozwiązania. W dzisiejszym wpisie chciałbym podjąć dosyć zaawansowaną kwestię [...]

Autor wpisu: Wojciech Sznapka, dodany: 23.05.2011 22:34, tagi: php

I had great pleasure to attend to Dutch PHP Conference day 2, as a replacement for collegue of mine. The conference met all my expectations – organisation was on very high level and talks were worth listening. Firstly I attended opening keynote by Helgi Þormar Þorbjörnsson, who spoke about importance of APIs in nowadays bussiness. [...]

Autor wpisu: Tomasz Kowalczyk, dodany: 22.05.2011 04:08, tagi: javascript, php

Konferencja Falsy Values to nowy pomysł Damiana "Ferrante" Wielgosika i Pawła Czerskiego na rozruszanie polskiej sceny programistów stron internetowych - zarówno od strony frontendu, jak i bardziej serwerowych zagadnień. Dzięki uprzejmości pierwszego z organizatorów miałem okazję pojawić się w piątek 20 maja w kinie Femina i posłuchać jednych z najbardziej reprezentatywnych osób w branży. Czas [...]

Autor wpisu: singles, dodany: 21.05.2011 14:58, tagi: javascript, php

FalsyValues to drugi event w Polsce organizowany przez Pawła Czerskiego oraz Damiana Wielgosika – organizatorów zeszłorocznego FrontTrends 2010. A z racji, że na FalsyValues także byłem (i piwo, a raczej sok piłem) pozwolę sobie na ocenę części konferencyjnej FalsyValues i porównanie jej do FrontTrends ([FV:FT]). W warsztatach nie uczestniczyłem, tak więc ten fragment pomijam.

Speakerzy

Z racji, że część konferencyjna trwała jeden dzień i nie była podzielona na ścieżki, do Warszawy przyjechało zdecydowanie mniej osobistości niż na FT. Nie znaczy to jednak, że były to osobistości nieznane albo nieodpowiednie – co to to nie. Kilku speakerów mieliśmy okazję widzieć już rok temu – Douglas Crockford, Tantek Çelik czy też Zbigniew Braniecki (a na warsztatach dodatkowo Andrea Giammarchi oraz Christian Johansen). Najlepiej jako prowadzący wypadli moim zdaniem Tom Hughes-Croucher oraz Brian LeRoux – prezentacje prowadzone humorystycznie (ah te docinki w kierunku Douglasa), a w przypadku Toma ze świetnymi slajdami ;) Jeśli chodzi o zawartość merytoryczną, to za najciekawsze uważam prezentacje na temat ECMA6 (który wygląda jak połączenie ECMA5 z JavaScriptem 1.8), fabric.js, JIT w przeglądarkach oraz CASSIS – na temat to którego popełniłem (wpis)[/2011/05/cassis-jeden-aby-wszystkimi-rzadzic/]. Merytorycznie było jak najbardziej w porządku, dlatego w walce FV vs FT jest remis [1:1].

Miejscówka

Konferencja odbyła się w Kinie Femina znajdującego się w centrum miasta. Wykłady prowadzone były w jeden z sal kina, co dobrze wpłynęło na odbiór przez słuchaczy – wygodne siedzenia, każdy widział ekran. Jednakże, nie rozumiem dlaczego prowadzący musieli klękać, aby napisać kawałek kodu podczas pokazywania przykładów (nie było krzeseł? nie chceli?). A już w ogóle nie rozumiem, dlaczego w takich momentach za statyw mikrofonu robili Damian albo Paweł – tzw. „lovely assistant”. Tutaj jak dla mnie jakieś nieporozumienie.

No i nie można zapomnieć o reflektorze świecącym cały czas na prowadzących – mam na myśli momenty, kiedy prowadzący podczas sesji Q&A prosili o zgaszenie światła, które dosłownie raziło ich w oczy, a operator momentami nic sobie z tego nie robił.

Mało było także miejsca na jedzenie oraz poczęstunek – kino Femina to nie jest duży multipleks – tak więc było ciasno, zwłaszcza podczas obiadu. Sumarycznie jednak, miejscówka bardziej podobała mi się na FT – typowo przeznaczona na konferencje. Tak więc punkt dla FT – [1:2].

WI-FI

Podczas konferencji w sali WI-FI nie było – co nie dziwne. Podobno było piętro niżej, tam gdzie podawany był lunch. Wydaje mi się, że brak WiFi w sali kinowej nie powinien nikogo dziwić, ale mam uwagę dla organizatorów: tekst „WiFi nie ma, bo chcemy żebyście słuchali prezentacji” jest moim zdaniem jak najbardziej nie na miejscu. Jeśli nie było możliwości technicznych, to trzeba było po prostu powiedzieć. A jeśli naprawdę Panowie chcieliście mówić nam co mamy robić – to z całym szacunkiem, ale ludzie płacili za konferencję, tak więc od nich moim zdaniem zależy, co będą na niej robić – byle nie przeszkadzali innym. A korzystanie z WiFi chyba się do przeszkadzania nie kwalifikuje.

Na FT WI-FI praktycznie też nie było, tak więc remis [1:2], aczkolwiek za ww. tekst to powinno -1 być ;]

Catering

Standardowo – stały dostęp do ciastek, kawy, herbaty i napojów. Lunch smakowo bez zastrzeżeń – mi bardzo smakowało. Jednakże z powodu tego, że sala gdzie serwowano lunch była bardzo mała, a nie chcieliśmy się pchać, to deseru dla nas zabrakło – co mnie bardzo zaskoczyło – nie przypominam sobie, aby na FT czegokolwiek zabrakło, a ludzi wydawało się być zdecydowanie więcej. Ale i tak po jednym punkcie dla każdej strony [2:3].

Gadżety dla uczestników

– kilka naklejek od sponsorów, długopis, opaska na rękę, notatnik. W porównaniu do FT były koszulki konferencji – co prawda do zakupu a nie w ramach wejściówki, ale to i tak plus. No i nie można zapomnieć o roznoszonych puszkach RedBulla :) Tak więc tutaj plus dla FV [3:3].

Rozpoczęcie, gifty i zakończenie konferencji

Rozpoczęcie? Krótko, konkretnie – lekcja wyciągnięta z ostatniego razu:) Zakończenie? Planowo o 17. Aczkolwiek wydawało się takie bez składu i ładu – nie wyglądało to dla mnie na oficjalne pożegnanie. Ludzie po prostu wyszli, równocześnie chodziły słuchy o jakimś piwie po konferencji. Niestety, byłem już w drodze na pociąg. W międzyczasie rozdano, a konkretniej mówiąc rozrzucono kilkanaście koszulek (Firefox + Pusher) oraz toreb od Mozilli. Tutaj jednakże punkt dla FT: fajniejsze nagrody(X-Box 360 + 40x JavaScript Good Parts), oficjalne zakończenie. [3:4]

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: singles, dodany: 21.05.2011 13:23, tagi: javascript, php

Wyjazdy na różnego rodzaju konferencje mają to do siebie, że oprócz możliwości poznania developerów z całego świata, to czasami jeden z prelegentów zaprezentuje rozwiązanie/ideę, która budzi sporo kontrowersji. Moim zdaniem, na wczorajszym FalsyValues projekt, który wzbudził najwięcej kontrowersji przedstawił Tantek Çelik. Dlaczego? Najpierw chciałbym zacytować kilka opinii z Twittera:

Still not sure whether @t’s @cassisjs is (a) EVIL incarnate, (b) awesome stuff or (c) the greatest JS/PHP prank ever. :-)

bądź

I forgot to say, that @t’s talk caused my jaw drop. The most clever use I’ve seen recently. Without a doubt – the best talk of

Na żywo słyszałem jeszcze:

Większego gó*** dawno nie widziałem.

oraz

No kurde, programowanie przez komentarze – tego jeszcze nie było.

O co taki szum? O projekt CASSIS.

Napisz raz, użyj wiele razy

Motywacją do stworzenia projektu CASSIS dla Tanteka był fakt, iż wiele razy musiał pisać ten sam kod po stronie przeglądarki (JS) oraz po stronie backendu (PHP) – niestety na obecną chwilę nie jest możliwe łatwe korzystanie z JavaScript po stronie serwera, ponieważ praktycznie nie istnieją firmy udostępniające takowy hosting. Stąd też wyszła koncepcja wyodrębnienia takiego podzbioru elementów obu języków, które zadziałałby tak samo interpretowane przez silnik JS oraz przez PHP. I tym właśnie jest CASSIS. Jedenego pliku możemy użyć dwukrotnie w następujący sposób:

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: Michal Wachowski, dodany: 18.05.2011 18:36, tagi: php

Dalszy ciąg prac nad frameworkiem. Kolejny etap - routing, czyli przyjemne interpretowanie i tworzenie przyjaznych linków na potrzeby frameworka.
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.