Biblioteka Riklaunima - python.rk.edu.pl http://www.python.rk.edu.pl/ Artykuły i Wiadomości z python.rk.edu.pl pl Biblioteka Riklaunima - python.rk.edu.pl http://www.python.rk.edu.pl/site_media/layout/tux.png http://www.python.rk.edu.pl/ 132 124 http://www.python.rk.edu.pl/w/p/troche-ozywienia-tu-trzeba/ http://www.python.rk.edu.pl/w/p/troche-ozywienia-tu-trzeba/ Trochę ożywienia tu trzeba Od pewnego czasu trochę cicho w Bibliotekach, ale obecnie pracuję w wolnym czasie nad aktualizacją i rozbudową Diamandy :) czyli tego na czym stoją Biblioteki. Jak wszystko zrobię z zaplanowanych ficzerów :) to korzystanie ze strony powinno być prostsze, a i współpraca społeczności też całkiem możliwa... a tematów na artykuły mam sporo :) 2008-04-29 13:20:59.725647 http://www.python.rk.edu.pl/w/p/google-uruchamia-appengine/ http://www.python.rk.edu.pl/w/p/google-uruchamia-appengine/ Google uruchamia AppEngine

Google uruchomiło (jak na razie testowo) usługę nazwaną AppEngine. Generalnie polega to na dostarczeniu API i hostingu aplikacji webowych. AppEngine daje nam obecnie djangopodobny framework/API do tworzenia aplikacji www, które w prosty sposób ładujemy na nasze konto i mamy hosting aplikacji (limit 500 MB powierzchni dyskowej, 10GB transferu do i z aplikacji). Zalecam obejrzenie prezentacji na youtube pokazującą całą koncepcję AppEngine w akcji.

Generalnie możemy używać każdego frameworka napisanego w pythonie wspierającego WSGI. Google daje nam Django 0.96.1, a przynajmniej jego części. Nie stosujemy ORMa Django, gdyż Google daje własną (nierelacyjną) bazę danych BigTable, z którą rozmawiamy w języku GQL (coś jak SQL). Nie mamy też formularzy i modeli Django, a także jego panelu admina, lecz AppEngine daje swoje rozwiązania, jak i w Django zapewne pojawi się wsparcie dla rozwiązań Googla. Jak na razie trzeba poczekać na konto :) I się pobawić.

Co da AppEngine? Na pewno popularyzację Pythona, Django, a także nowoczesnych metod tworzenia aplikacji webowych.

2008-04-08 19:39:43.659754
http://www.python.rk.edu.pl/w/p/diamanda-200804-test1/ http://www.python.rk.edu.pl/w/p/diamanda-200804-test1/ Diamanda 2008.04 Test1 Nowe, testowe wydanie prezentujące obecny stan Diamandy. Nowa wersja tworzona jest pod najnowsze Django-SVN i nie jest kompatybilna ze starszymi jego wersjami. Główne zmiany to zgodność z django-SVN ;) newforms na forum i w boxcomments, przepisanie userpanel tak by używał widoków auth Django, sporo zmian w interfejsie. Tłumaczenia nie zostały jeszcze zaktualizowane, jak i mam jeszcze parę rzeczy do zrobienia :) Tar.bz2 można pobrać z code.google.com, lub użyć SVNa:
svn checkout http://diamanda.googlecode.com/svn/trunk/ diamanda-read-only
2008-04-07 16:51:32.926051
http://www.python.rk.edu.pl/w/p/o-boskosci-pila-slow-kilka/ http://www.python.rk.edu.pl/w/p/o-boskosci-pila-slow-kilka/ O boskości PILa słów kilka

W robocie pojawiło się zadanko określenia co szybciej zrobi miniatury z dużych JPEGów z aparatów. Serwis napisany jest w PHP i przechodzi obecnie przeobrażenia :) Miniatury robi w GD/PHP co jest bardzo wolne... Pod testy podszedł PIL, ImageMagick przez "convert" i MagicWand w PHP, GD... oraz EPEG. Wyniki robienia miniatur z 45MB fotek z aparatu (duża rozdzielczość i rozmiar):

  • ImageMagick convert Resize: 28,3s (zachowuje dane exif i inne śmieci)
  • ImageMagick convert Thumbnail: 15,3s (to należy stosować)
  • PIL: 3,2s
  • EPEG: 1,9s
ImageMagick convert Thumbnail jak i PIL z wyostrzaniem dają bardzo dobre miniatury. EPEG sam wyostrza co nieco, ale jakość jest nieco gorsza. EPEG to biblioteka napisana w C przez programistów e17. Ma jeden cel: szybko robić miniatury z JPEGów i jest najszybsza, lecz ma tą wadę że nie ma dodatkowych filtrów poprawiających jakoś miniatur. Tak więc PIL wygrał.

Jedyny problem jaki napotkałem to wyostrzanie, które jakby nie chciało zadziałać:

im = Image.open(source)
im.thumbnail((width, heigth), Image.ANTIALIAS)
im.filter(ImageFilter.SHARPEN)
im.save(thumb, "JPEG",quality=quality)

2008-03-07 17:20:30.946321
http://www.python.rk.edu.pl/w/p/diamanda-ponownie-w-svn/ http://www.python.rk.edu.pl/w/p/diamanda-ponownie-w-svn/ Diamanda ponownie w SVN Kod Diamandy, czyli moich aplikacji Django ponownie jest w SVN. Na razie trochę przeczyściłem kod wyrzucając specyficzne dla Bibliotek elementy. Planuję zrobić jeszcze sporo więc o niezmienności kodu na razie można zapomnieć :) Dla zainteresowanych:
svn checkout http://diamanda.googlecode.com/svn/trunk/ diamanda
Wymaga Django-SVN (najlepiej najnowsze)
2008-03-04 23:16:55.095631
http://www.python.rk.edu.pl/w/p/django-svn-18022008/ http://www.python.rk.edu.pl/w/p/django-svn-18022008/ Django-SVN 18.02.2008 Pojawiła się niedawno kolejna wstecznie niezgodna zmiana - w szablonach tag "extends" musi być na samym początku (jeżeli w ogóle jest), lub zostanie wygenerowany wyjątek.
[7082] Feb 3, 2008 Raise errors if extends is not the first tag of a template
2008-02-18 10:38:50.956053
http://www.python.rk.edu.pl/w/p/python-w-pracy/ http://www.python.rk.edu.pl/w/p/python-w-pracy/ Python w pracy Od paru ładnych tygodni pracuję w goldenline.pl jako programista. Obecnie zajmuję się aplikacjami pomocniczymi - panelami napisanymi w Django. Jako że panele działają niezależnie od samego goldena trzeba było napisać API umożliwiające porozumiewanie się bazy GL + samego goldenline napisanego w PHP z panelami napisanymi w Python/Django. W tym tygodniu właśnie męczę API i idzie dość ładnie :) Hm... jakiś blog by mi się przydał :P 2008-02-13 21:37:40.198208 http://www.python.rk.edu.pl/w/p/django-i-diamanda/ http://www.python.rk.edu.pl/w/p/django-i-diamanda/ Django i Diamanda :)

Dzisiaj podmieniłem import starych formularzy na nowe na forum i wykrzaczyło się tylko dodawanie tematów... ale reszta (dodawanie, edycja postów) też wymaga porządkowania i przerobienia na w pełni "nowe" formularze.

Dodałem też "wyszukiwarkę kodu" - prostą aplikację wykorzystującą API GData do wyszukiwania kodu w Google Code Search.

2008-02-03 22:29:24.376715
http://www.python.rk.edu.pl/w/p/obsluga-gadu-gadu-i-jabbera-w-pythonie/ http://www.python.rk.edu.pl/w/p/obsluga-gadu-gadu-i-jabbera-w-pythonie/ Obsługa Gadu Gadu i Jabbera w Pythonie Obsługa protokołu GG i Jabbera/GTalk za pomocą pygglib i xmpp 2008-01-04 19:35:22.674527 http://www.python.rk.edu.pl/w/p/django-comet-i-klient-irc/ http://www.python.rk.edu.pl/w/p/django-comet-i-klient-irc/ Django, Comet i klient IRC Prosty klient IRCa z poziomu przeglądarki wykorzystujący architekturę comet 2008-01-04 16:27:47.388286