[4 Jul 2012 | Brak komentarzy | ]
Potworna wydajność Freemarker’a w sortowaniu

Niektóre maile wysyłane przez nasz system są generowane przy użyciu Freemarker’a. Wszystko bylo fajnie, do czasu gdy liczba ofert produktów jednego z klientów nie skoczyła 10krotnie w górę.
Oferty są zawarte w pliku XML a w skrypcie Freemarker aby wybrać najtańszy produkt budowaliśmy listę takich haszy:

[#assign byPrice = byPrice + [{"Cema1Tydzien": hotel.Cema1Tydzien?number, "obiekt": hotel}]]

potem ochoczo to sortowaliśmy:

[#assign byPrice = byPrice?sort_by("Cema1Tydzien")]

Po dodaniu nowych produktów czas renderowania skoczył do niewyobrażalnych wielkości – dokładnie nawet nie wiem ile, bo nie miałem tyle cierpliwości aby zaczekać.
Okazało się, że winowajcą była wydajność sortowania. A konkretnie to, …

Czytaj cały całość wpisu »

Java, Polecane, Różności »

[4 Jul 2012 | Brak komentarzy | ]
Potworna wydajność Freemarker’a w sortowaniu

Niektóre maile wysyłane przez nasz system są generowane przy użyciu Freemarker’a. Wszystko bylo fajnie, do czasu gdy liczba ofert produktów jednego z klientów nie skoczyła 10krotnie w górę.
Oferty są zawarte w pliku XML a w skrypcie Freemarker aby wybrać najtańszy produkt budowaliśmy listę takich haszy:

[#assign byPrice = byPrice + [{"Cema1Tydzien": hotel.Cema1Tydzien?number, "obiekt": hotel}]]

potem ochoczo to sortowaliśmy:

[#assign byPrice = byPrice?sort_by("Cema1Tydzien")]

Po dodaniu nowych produktów czas renderowania skoczył do niewyobrażalnych wielkości – dokładnie nawet nie wiem ile, bo nie miałem tyle cierpliwości aby zaczekać.
Okazało się, że winowajcą była wydajność sortowania. A konkretnie to, …

Brak kategorii, Polecane, Różności »

[25 Jun 2012 | Brak komentarzy | ]
Porządki na GMail – trik

Ostatnio postanowiłem zrobić porządek na koncie GMail. Zwykle ważne informacje oznaczam gwiazdką, a przeczytane, z którymi nic nie muszę więcej robić, lub skończyłem to co było do zrobienia – przenoszę zwykle do archiwum – zwykle – znaczy jak mam czas … czyli prawie nigdy.
Powoduje to stertę przeczytanych i nie oznaczonych gwiazdką wiadomości – które trzeba jakoś przenieść do archiwum. Gdy jest ich kilka stron – to nie ma problemu, wyszukujemy i zaznaczamy “Unstared” + a (do archiwum). Problem, kiedy ich ilość jest OGROMNAAA…
Po 15 minutach klikania po ekranach musiałem coś …

Narzędzia »

[21 Jun 2012 | Brak komentarzy | ]
Ubuntu – znikające miejsce na dysku

Dzisiaj po zalogowaniu się na serwer (Ubuntu) z lekkim przerażeniem stwierdziłem, że brakuje miejsca, df -h – pokazywało 100% zajętości. Lepszą opcją jest komenda discus, no i to oczywiście również dysk pełen:

Samo miejsce sprawdzane wszelkimi możliwymi komendami – du, szukanie dużych plików itp nie wskazywało, jakoby dane zajęły cały dysk.
W końcu pomocna była komenda lsof. Pokazuje ona otwarte pliki – jest ich zwykle wiele, ale wystarczy dodać lsof | grep deleted by zobaczyć listę plików, które zostały skasowane, a pomimo to proces trzyma nadal uchwyty do plików – więc zajętość …

Informacje, Polecane »

[11 Jun 2012 | Brak komentarzy | ]
The Settlers – wersja online! Yupi!

Witam, witam! Tym, którzy jeszcze nie wiedzą śpieszę donieść, że pojawiła się przeglądarkowa (online) wersja tej rewelacyjnej gry strategicznej. Cudowny świat z Amig’owych Settlersów wraca wprost do Twojej przeglądarki. Rewelacja … jedyna gra jaka mnie w życiu wciągnęła…
Adres gry: http://www.thesettlersonline.pl/

Narzędzia »

[3 Jun 2012 | Brak komentarzy | ]
YUM zawiesza się na “Setting up Install Process”

Na jednym z serwerów z CenOS 5 YUM postanowił się zawieszać. Dochodził do momentu “Setting up Install Process” i dalej nic. Jakiś gość sugerował rebuild bazy RPM – ale to nie jst specjalnie dobry pomysł.
Pierwszą rzeczą jaką należy zrobić jest dodanie timeout do /etc/yum.conf, np timeout=30, wartość ta jest w sekundach, domyślny timeout jest na tyle długi, że niecierpliwiąc się ubijałem proces YUM’a i szukałem przyczyny problemu w złych miejscach.
Po ustawieniu timeout otrzymałem taki oto komunikat:
http://mirror.centos.org/centos/5/addons/i386/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (110, ‘Connection timed out’)>
Więc kolejną czynnością było zakomentoweanie w …