Wyklikany
01/05/2011, 21:18
Nowe możliwości
Rozmowa dwóch węży:
- Wiesz Raf, odkąd poszedłem na studia czuję, że się rozwijam…
Prognoza pogody
… w ciągu dnia prędkość wiatru w podrywach może dochodzić do 80 km/h. W nocy spodziewamy się przelotnych opadów dreszczu szczególnie w dzielnicach centralnych, niewykluczone również poranne zamdlenia…
Not responding
- Co zrobić jeśli komputer przestanie odpowiadać?
- Przede wszystkim należy przestać do niego mówić.
Wyklikany
06/02/2011, 9:59
Od czasu JavaScriptowego renesansu, chwili gdy światło dzienne ujrzał AJAX, kolejne frameworki oraz pluginy wyrastają jak grzyby po deszczu. Head JS, to na pierwszy rzut oka kolejna biblioteka. Jednak autorzy przekonują, że powinna być jedyną biblioteką dołączoną w sekcji head każdego serwisu. Dlaczego?
Head JS to przede wszystkim loader bibliotek JS działający równolegle z procesem ładowania strony. Różnica? Standardowo zewnętrzne pliki JS wczytywane są sekwencyjnie jeden po drugim, strona zanim zostanie wyrenderowana musi czekać na załadowanie każdej biblioteki po kolei. Head JS pozwala w pełni organizować ten proces. Potrafi m.in. ładować je tak, jak elementy graficzne, dzięki czemu cały nasz serwis nie jest blokowany i uruchamia się szybciej.
Dodatkowo HeadJS oferuje: detekcję rozdzielczości ekranu, dodanie obsługi tagów ze specyfikacji HTML5, routing CSS i wiele innych funkcjonalności.
Podsumowując Head JS to jedna z najciekawszych bibliotek, jakie pojawiły się w ostatnim czasie. Potrafi znacząco przyśpieszyć czas ładowania strony. Na pewno będę z niej korzystał w swoich projektach.
Licencja: MIT
Strona domowa: Head JS
Wyklikany
20/01/2011, 22:07
Zadanie na dzisiejszy wieczór brzmi dość trywialnie. Znaleźć sposób na usuwanie białych znaków z plików widoków. Czemu to ma służyć? Przede wszystkim zmniejszeniu rozmiarów plików, czyli w najogólniejszym skrócie szybszemu ładowaniu stron.
Pierwsza myśl to skorzystanie z dyrektywy trimSpaces serwera Tomcat. Niestety włączenie tej opcji spowoduje usunięcie białych znaków tylko w obrębie tagów JSTL, jeśli w ogóle zadziała…
Można również skorzystać z odpowiednich filtrów do serwletów np. JTidy
Ja chciałbym przedstawić rozwiązanie z wykorzystaniem Ant-a i taska: replaceregexp – służącego do zamiany znaków w pliku lub zbiorze, za pomocą wyrażeń regularnych.
Po kilkunastu minutach przeglądania dokumentacji Anta, dodałem do swojego pliku build.xml nowe zadanie:
<target name="trim">
<echo message="trim!"/>
<fileset id="xhtml.fileset" dir="${build.web.dir}" includes="**/*.xhtml"/>
<replaceregexp match="[\n\r]" replace="" flags="g" byline="false">
<fileset refid="xhtml.fileset"/>
</replaceregexp>
<replaceregexp match="[\s+]" replace="" flags="g" byline="true">
<fileset refid="xhtml.fileset"/>
</replaceregexp>
</target>
Na początku definiujemy zbiór plików, na którego elementach będziemy wykonywać operacje. Potem dwukrotnie korzystamy z replaceregexp z odpowiednimi wyrażeniami regularnymi na określonym wcześniej zbiorze.
Jakie są zalety powyższego rozwiązania? Nie wymaga instalacji żadnych dodatkowych bibliotek. Po drugie nie angażujemy do tej operacji serwera. Po trzecie usuwanie znaków wykonujemy raz w momencie deployowania aplikacji na serwer. Na koniec oczywistość: nasze oryginalne pliki pozostają bez zmian.
PS. Regułki wyrażenia regularnego mogą nie być wyjątkowo optymalne, zależało mi przede wszystkim pokazaniu idei rozwiązania problemu.