STRONA GŁÓWNAT3UG-PLT3UG-PL 02 (2009/11)Relacja ze spotkania

 

Zawsze musi być ten drugi raz

Nie bez powodu mówi się, że „ten drugi raz” zawsze jest najstraszniejszy. Gdy skaczesz ze spadochronem pierwszy raz, nie wiesz do końca czego się spodziewać, wierzysz, że będzie dobrze i ostatecznie okazuje się, że słusznie. Dopiero drugi raz przysparza sporych dreszczy, bo już wiesz jak to się odbywa, ale zaczynasz się zastanawiać, czy oby na pewno Twój limit na happy end nie wyczerpał się w trybie natychmiastowym oraz czy nie zgubi cię mini-rutyna nabyta podczas pierwszego skoku (co ostatecznie również okazuje się bezpodstawne).

Uczestnicy T3UG-PL 02 (od lewej: Marek Krawczyk [biesior], Tomasz Wróblewski, Paweł Leń, Krzysztof Łosiak, Bartosz Aninowski [bart], Rafał Brzeski [erbi], Tymoteusz Motylewski [motyl], Tomasz Krawczyk [tomkraw1], Tomasz Rakowski [raczek], Michał Szostak [misza], Andrzej Korzec [kasztan], Robert Jędruszek [erjot], Robert Śmiglarski, Katarzyna Śmiglarska, Artur Cichosz [artur2000], Dawid Pacholczyk [dpacholczyk], Krystian Szymukowicz [kss])

Tak głosi teoria, jednakże w praktyce okazuje się, że polscy Typiści nie są dobrym materiałem na skoczków spadochronowych i bynajmniej nie wynika to ze straszliwości a bardziej z faktu, że nie odpowiada nam paradygmat „drugiego skoku”. Skacze nam się wyśmienicie niezależnie od stanu licznika skoków tym bardziej, że tegoroczne spotkanie, podobnie zresztą jak to z 2008 roku, odbyło się w doborowym towarzystwie.

O czym rozmawialiśmy

Inaugurację spotkania przeprowadzili Andrzej Korzec, Krystian Szymukowicz oraz Marek Krawczyk z Polskiej Społeczności TYPO3.

Na początek Marek Krawczyk opowiedział o alternatywnym sposobie wdrażania szablonów w serwisach TYPO3.

TemplaVoilà, system, którego pierwotnymi twórcami byli Kasper Skårhøj oraz Robert Lemke jest odpowiedzią twórców systemu na rosnące zapotrzebowanie rynku dotyczące łatwości integracji szaty graficznej z zaawansowaną mechaniką dostarczoną wraz z TYPO3. Wykorzystaj technologię point-and-click aby stworzyć zestaw układów treści reprezentujących całe sekcje serwisu, pojedyncze strony wymagające indywidualnego wyglądu a nawet fragmenty tych stron w oparciu o ustalone struktury HTML. TemplaVoilà znakomicie ułatwi inżynierowi wdrożenia stworzenie wariantów wyglądu, jak również edytorowi zarządzanie treścią podczas codziennej pracy. W wielu przypadkach stworzony szablon TV wyklucza konieczność tworzenia osobnych rozszerzeń, których zadaniem jest wyświetlanie treści w określonej formie.

Andrzej Korzec zaprezentował rozszerzenie tt_products, które jest najczęściej stosowanym rozszerzeniem do prowadzenia sprzedaży w ramach systemu TYPO3. Handel internetowy kwitnie a co za tym idzie coraz więcej producentów i dostawców decyduje się na udostępnienie swoich produktów i usług w ramach własnych serwisów internetowych. Zadanie to można zrealizować na wiele sposobów począwszy od osobnych wdrożeń systemu CMS i sklepu internetowego na różnych platformach, kończąc na scalonym wdrożeniu handlowo-prezentacyjnym (czyt. TYPO3 + tt_products). Włączenie funkcjonalności sklepu internetowego do działającego portalu niesie za sobą szereg korzyści z których najbardziej godną uwagi jest ujednolicona polityka wobec zarejestrowanych użytkowników/kupujących. Użycie scalonego produktu pozwoli na zbudowanie rozwiązania wykraczającego poza ramy zwykłego sklepu, teraz oprócz możliwości zakupu danego produktu możesz udostępnić użytkownikowi w ramach tej samej technologii na skorzystanie z tysięcy innych funkcji oferowanych w bazowym wdrożeniu TYPO3. Podczas prezentacji zostały omówione również negatywne skutki stosowania skomasowanych rozwiązań.

3 x optymalizacja

Tematyką, która zdecydowanie zdominowała tegoroczne spotkanie była optymalizacja wydajności serwisów działających w systemie TYPO3. Wszystko posiada swoją cenę, za potężną wszechstronność systemu TYPO3 płacimy „haracz” w postaci relatywnie wysokiego obciążenia maszyn produkcyjnych. Żeby uzmysłowić Wam problem przytoczę jedynie raport opublikowany przez amerykańską firmę Amazon, wg której każde 100ms (tak dobrze widzisz – jedyne 100 milisekund!) opóźnienia podczas otwierania strony kosztuje rocznie giganta z Seattle okrągły miliard dolarów (innymi słowy roczny budżet niewielkiego kraju o budżecie domowym nie wspomnę... ).

To właśnie polskim Typistom przypadło w udziale stworzenie rozwiązań mających na celu zmianę tego stanu rzeczy. Warto wspomnieć, że wzmiankowane rozwiązania zdobywają już zainteresowanie i aprobatę wśród developerów TYPO3 na świecie, co dla nas jednak było najważniejsze mieliśmy okazję posłuchać i podyskutować z ich autorami bezpośrednio podczas prezentacji.

Po pierwsze, cache wewnątrz T3: Krystian Szymukowicz zaprezentował własne rozszerzenie, którego głównym zadaniem jest ponowne użycie wyników renderowania elementów wspólnych dla wielu stron. Oszczędności w czasie renderowania strony z użyciem COA_GO są tym większe im "cięższe" pod względem czasu wykonania elementy uda nam się umieścić w cache i wykorzystać ponownie, np. idelanym kandydatem jest obszerne, wielopoziomowe menu serwisu wyświetlane za pomocą JavaScript. Rozszerzenie COA_GO (COA Generate Once) powoduje, że wspomniane menu zostanie zapisane raz zaś dla każdej następnej strony zostanie użyty wcześniej wygenerowany kod. Z własnego doświadczenia z tym rozszerzeniem mogę przytoczyć oszczędności rzędu 700ms podczas pierwotnego renderowania strony, co wg przelicznika Amazon'a wyniosłoby w odpowiedniej skali 7 miliardów zielonych banknotów! Kto da więcej?
Do ciekawych możliwości COA_GO dodać też należy, bardzo proste w implementacji, doczytywanie dynamicznych obiektów treści na stronach statycznych (ajax).

http://typo3.org/extensions/repository/view/coago/current/


Po drugie, cache na zewnątrz T3:
Bartosz Aninowski, dyrektor IT firmy evo.pl oraz programista Paweł Leń zaprezentowali sposoby budowania skalowalnych, reduntantnych architektur dla wysoko obciążonych serwisów internetowych. W architekturach tych, opartych na TYPO3, zasadniczym elementem pozwalającym na zwiększenie wydajności jest rozszerzenie evo_nginx_boost. Jest to dodatek, którego umiejętne zastosowanie pozwala na zwiększenie zdolności podawania stron do 400 na sekundę. Do wykorzystania pełni możliwości jakie oferuje evo_nginx_boost potrzeba serwera nginx z memcache. Przedstawione studia przypadków robiły wrażenie nawet na najbardziej doświadczonych Typistach.

http://techblog.evo.pl/evo_nginx_boost-extension/

Po trzecie, Praca u podstaw: typowo polskie określenie, które odnosi się bezpośrednio do źródła... a jeszcze bardziej bezpośrednio do kodu źródłowego. Tomasz Rakowski z gdańskiej Fabryki CMS omówił zasady poprawnego renderowania kodu źródłowego HTML na stronach nowoczesnych serwisów internetowych. Zadaniem twórcy serwisu jest udostępnienie plików HTML, CSS oraz plików multimedialnych (najczęściej plików graficznych), ale czy znasz zasady optymalnego serwowania tych zasobów? Podstawową zasadą, która powinna przyświecać wdrożeniowcom (nie tylko) TYPO3 jest minimalizacja wielkości i ilości materiałów źródłowych. Scalanie zasobów graficznych, CSS, czy JavaScript w pojedyncze pliki pozwoli na zyskanie cennych milisekund podczas pobierania kompletnej strony WWW! Optymalizacja kodu HTML a także stosowanie innych zaawansowanych technik cachowania zasobów po stronie klienta może obniżyć ilość pakietów przesyłanych w sieci o kilkadziesiąt procent co oprócz obniżenia kosztów serwowania treści w dużych portalach zwiększa również respondywność całych serwisów poprzez możliwość udostępnienia stron większej ilości odbiorców. Warto w tym miejscu podkreślić, że choć omawiane techniki są niezależne od naszego systemu niemniej jednak ich stosowanie powinno być traktowane jako standard najlepszych, renomowanych wdrożeń TYPO3.

Spontanicznie wystąpił również Michał Szostak z Fabryki CMS, opisując zastosowaną u jednego z klientów architekturę systemu cacheowania, dzięki której strona oparta na TYPO3 będzie serwowała jedynie treści statyczne, a sam silnik TYPO3 będzie wywoływany w kilkuminutowych odstępach czasu, zwiększając tym samym szeroko rozumianą wydajność serwisu.

Podsumowanie

Nie ulega wątpliwości, że korzyści płynące z wdrożenia wszystkich omawianych technik oraz technologii będą wprost proporcjonalne do wielkości i przy niewielkich projektach mogą być mało zauważalne. Stosowanie evo_nginx_boost może być opłacalne a z czasem nawet wręcz wymagane przy tych największych projektach dedykowanych do potężnych grup odbiorców, tym bardziej, że sami autorzy pokazują przykłady użycia rozszerzenia w ramach rozbudowanych konfiguracji opartych na wieloserwerowych architekturach, co nie dla każdego wdrożenia TYPO3 będzie koniecznością. W większości implementacji zorientowanych na prezentację statycznych treści niewielkiej grupie odbiorców, klasyczny model cachowania zasobów TYPO3 pozwoli na usatysfakcjonowanie klienta bez konieczności budowania zaawansowanych rozwiązań. Implementacja COA_GO może już okazać się korzystna nawet przy kilkunastu stronach zawierających wspólne elementy treści, jako, że jest to po prostu brakujące ogniwo w podejściu do regenerowania powtarzających się zasobów. Co istotne użycie tego nowego cObjectu wiąże się jedynie z drobną zmianą w zapisie TypoScript , co powoduje, że zyski oferowane przez rozszerzenie mają zdecydowanie najlepszy stosunek poprawy wydajności do nakładów pracy podczas implementacji. Optymalizacja kodu jest już rzeczą zupełnie niedyskusyjną, założenie jest proste: niezależnie od tego czy zrobisz to dobrze, czy źle nakład pracy podczas tworzenia struktur HTML jest taki sam, wszystko zależy od tego jakie podejście przyjmiesz podczas rozpoczynania pracy.

Certified Level 2 TYPO3 Night Crew Member ;)

Po oficjalnym spotkaniu zostało przeprowadzone szkolenie połączone z egzaminem praktycznym dla osób chcących zdobyć tytuł Certified Level 2 TYPO3 Night Crew Member, potocznie zwane również „wyjściem do pubu”. Do ścisłej czołówki zeszłorocznych laureatów dołączyła w tym roku spora grupa osób, które podczas poprzedniego spotkania przegapiły możliwość osiągnięcia tych dość osobliwych szlifów. Śpieszę, by poinformować Was, że wszystkie osoby, które przystąpiły do egzaminu zdały go z wynikiem pozytywnym co uprawnia ich do posługiwania się zdobytym tytułem dożywotnio zarówno na wszelkich forach, własnych stronach WWW jak również w korespondencji prywatnej i służbowej. Warto zaznaczyć fakt, że najbardziej zasłużeni kandydaci do tegorocznego tytułu umacniali swoją pozycję aż do godz. 6.30 rano! Gratulujemy!

Plany na przyszłość

Tegoroczne spotkanie dowodzi, że Typiści w Polsce lubią się spotykać, lubią dzielić się swoją wiedzą i lubią słuchać innych. Już podczas T3UG-02 PL zaczął się krystalizować plan spotkania wiosenno-letniego, poświęconego zagadnieniom programistycznym o nazwie roboczej T3DD10 PL. Szczegóły planowanego wydarzenia zostaną opublikowane w pierwszych miesiącach nowego roku. Stay tuned!

Zdjęcia i prezentacje

Więcej zdjęć z wydarzenia oraz przedstawione prezentacje zostaną opublikowane wkrótce!

Zdjęcia aparatu Biesiora

Zdjęcia aparatu Miszy

Podziękowania

Organizatorzy spotkania pragną gorąco podziękować sponsorom za wsparcie finansowe oraz merytoryczne wydarzenia a także wszystkim uczestnikom. Było klawo :)

 

Relację ze spotkania przygotował Marcus "Biesior" Biesioroff

SPONSOR GŁÓWNY

 

 
EVO evolving together
http://www.evo.pl

 


Sponsorzy