Posted on Październik 1st, 2009 by Sharpek
Ostatnio natrafiłem na bardzo nieprzyjemny błąd w MySQL który wywalał całą aplikację.
Błąd polega na utracie kodowania w momencie użycia funkcji concate. Aby go rozwiązać wystarczy użyć funkcji CAST
CAST(`column` AS CHAR CHARACTER SET utf8 )
Jeśli korzystamy z Sqlalchemy możemy skorzystać z funkcji cast
sqlalchemy.sql.expression.cast(Model.c.column, sa.types.Unicode)
Posted on Wrzesień 11th, 2009 by Sharpek
Gdy rozpoczynałem moją przygodę z Pylons, było dość ciężko. Framework ten wydawał mi się bardzo skomplikowany, dodatkowo mało było materiałów których można było szukać pomocy. Dodatkowo brakowało publikacji w ojczystym języku. Dlatego postanowiłem napisać ten wpis, oraz kilka następnych w celu pomocy innym.
Read the rest of this entry »
Posted on Wrzesień 4th, 2009 by Sharpek
Wpis ku pamięci.
Jeżeli kiedykolwiek będziecie chcieli zrobić formularz w Zend Framework korzystając z Zend_Form. Posiadającym pole typu checkboxem którego zaznaczenie jest wymagane, to na pewno będziecie się dziwić dlaczego taki sposób nie działa:
$this->addElement('checkbox', 'accept', array(
'label' => 'Wyrażam zgodę',
'required' => true
));
Znajdziecie pewnie multum dziwnych, czasem głupich rozwiązań, a wystarczy dodać: ‘uncheckedValue’ => null, tak by wyglądało to w taki sposób:
$this->addElement('checkbox', 'accept', array(
'label' => 'Wyrażam zgodę',
'required' => true,
'uncheckedValue' => null
));
Posted on Wrzesień 1st, 2009 by Sharpek

Trochę spóźnione ale co tam, lecimy ;)
Posted on Sierpień 24th, 2009 by Sharpek
Często spotykam osoby piszące w Pythonie które nie widzą lub też nie korzystają z dobrodziejstw jakie niesie ze sobą Pylint. W tym wpisie postaram się przybliżyć czym to dokładnie jest i jakie korzyści płyną z używania jego.
Read the rest of this entry »
Posted on Sierpień 12th, 2009 by Sharpek
Nie spotkałem się z tym w żadnym tutorialu, a sam dość długo szukałem w dokumentacji Pylons, więc powinno się to komuś przydać :)
Jeśli kiedykolwiek będziemy potrzebujemy/chcieli podzielić controller-y naszej aplikacji na moduły (np. moduł domyślny i część admin/*), wystarczy stworzyć controller za pomocą paster-a w taki sposób:
paster controller admin/news
Tym sposobem, w katalogu controllers zostanie utworzony podkatalog admin. W nim będzie się znajdywał plik news.py. Teraz jeśli będziemy chcieli się dostać do tego controller-a, w pasku adresu wystarczy wpisać /admin/news.
To tyle, nie ma potrzeby zmieniać nic w routes, po prostu działa.
Posted on Sierpień 10th, 2009 by Sharpek
Poniżej przedstawiam trzy błędy które można spotkać na codzień w ulubionej przeglądarce weddeveloperów Internet Explorer 6.
Zwiększenie marginesów 2 krotnie
Często spotykany bug. Elementy które posiadają właściwość float: left/right i margines boczny. W tym momencie dochodzi do dziwnej sytuacji, IE zwiększa margines 2 krotnie, możne to prowadzić do prawdziwej katastrofy jeśli cały design strony budowany jest za pomocą float-ów.
Read the rest of this entry »
Posted on Sierpień 8th, 2009 by Sharpek
Kiedy opowiedzieliśmy rzecznikowi kopenhaskiej policji, co piszą o zajściach polskie media, był zdumiony. Dzwonili do niego polscy dziennikarze i wszystkim mówił to samo. A oni napisali co innego.
Całość można przeczytajć tutaj.
Wcale mnie to nie dziwi, od dawna dziennikarze sportowi szczególnie Ci od piłki nożnej zrównali się do poziomu ekstraklasy – niestety.
Read the rest of this entry »
Posted on Sierpień 8th, 2009 by Sharpek
Ostatnio spotkałem się z bardzo dziwnym problemem, na jednym z plików py, mój PyDev się wykładał. Jedyny komunikat jaki widziałem to:
pydev: forcing tabs
Zużycie procesora w moim laptopie momentalnie skakało do 100%. Smaczku dodawał fakt że pylint odpalany z konsoli przestawał odpowiadać. Nawet zwykły edytor wbudowany w KDE – Kate nie potrafił edytować tego pliku i również się zawieszał.. Udało mi się otworzyć go za pomocą mcedit.
Przyczyną problemów okazało się że przypadkowo musiałem stworzyć bardzo duże wcięcie…
Posted on Sierpień 7th, 2009 by Sharpek
Wzorzec strategii jest jednym z podstawowych wzorców projektowych które warto się na początku poznać, stosunkowo często z niego można korzystać.
Studium przypadku
Załóżmy że Tworzymy grę RPG, pomińmy w jakiej technologii to robimy oraz dokładną implementację. Zajmijmy się tylko i wyłącznie sposobem ataku postaci. Wiemy już że na początku będą tylko 4 typy postaci, oto one: strzelec, łucznik, rycerz, kanonier.
Wiadomo wszystkie postaci mają część wspólną. Warto więc zrobić sobie klasę bazową o nazwie Postac która będzie zawierała inne części wspólne naszych postaci. Zakładamy że w czasie gry będzie można zmienić rodzaj naszej postaci z kanoniera na strzelca i tak dalej… W tym momencie pomysł ze stworzeniem 4 klas dziedziczących po klasie bazowej odpada, bo w czasie gry ciężko będzie nam zmienić naszą postać w strzelca.
Read the rest of this entry »