sharpek.net

moje trzy grosze

Arsenal – Braga 6:0

Czasem się ciesze że polskie kluby nie grają w lidze mistrzów.

 

MySQL, Concat, Kodowanie

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)
 

Pylons jak zacząć ?

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 »

 

Walidacja checkbox w Zend_Form

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
));
 

BlogDay 2009

Blog Day 2009

Trochę spóźnione ale co tam, lecimy ;)

 

Pylint

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 »

 

Pylons – podział aplikacji na moduły

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.

 

Trzy bugi IE6 które trzeba znać

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 »

 

Troszkę o dziennikarstwie sportowym w PL

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 »

 

PyDev: forcing tabs

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…