Archive for Luty, 2010

Python: alternatywa dla dict.update

Kolejny skrót. Dość regu­larny przy­pa­dek zwró­ce­nia sumy słow­ni­ków bez nisz­cze­nia któ­re­go­kol­wiek z nich: def foo(bar, baz): tmp­dict = dict(bar) tmpdict.update(baz) return tmp­dict Można rów­nież roz­wią­zać ina­czej, korzy­sta­jąc z faktu, że dict akcep­tuje nazwane para­me­try: def foo(bar, baz): return dict(bar, **baz) Korzy­sta­jąc ze skró­tów zawsze upew­nij się, że na pierw­szy rzut oka wia­domo, co dany kod robi.

Django: direct_to_template

Nie wiem, czemu nie­któ­rzy tak upar­cie korzy­stają z funk­cji render_to_response, by za każ­dym razem prze­ka­zać do niej ręcz­nie stwo­rzony obiekt kon­tek­stu. Zresztą, sami oceń­cie, która wer­sja jest ładniej­sza: from django.shortcuts import render_to_response from django.template import Requ­est­Con­text def foo(request): # … return render_to_response(‘foo.html’, {‘bar’: baz}, context_instance=RequestContext(request)) Czy może: from django.views.generic.simple import direct_to_template def foo(request): # … […]

Python: prawdziwy polimorfizm

Taki week­en­dowy żarcik: #!/usr/bin/env python import ran­dom class Foo(random.choice([int, str, uni­code, Excep­tion])): pass f = Foo(‘1’) print ‘f‘

O fontach raz jeszcze, czyli wielkość się liczy

Z powodu wystę­pu­ją­cego dzi­siaj u mnie prze­si­le­nia kataru, zosta­łem zmu­szony (dosłow­nie ze łzami w oczach) do zmiany wiel­ko­ści fon­tów z 10 na 12 punk­tów. Póź­niej wspo­mnia­łem o tym kilku oso­bom, doda­jąc, że nie roz­róż­niam liter poni­żej 16 pik­seli, co w dwóch przy­pad­kach wywo­łało kon­ster­na­cję. Punkty i pik­sele to nie to samo. Punkt jest jed­nostką typo­gra­ficzną pochodzącą […]

Krzemowe kostki, czyli jak komputery zjadły RPG

Kiedy byli­śmy szczy­lami zupeł­nymi (pierw­sze dwie klasy pod­sta­wówki), zagry­wa­li­śmy się w Tali­zman, wtedy znany jedy­nie jako Magia i miecz. Gra wcią­gała, ale z cza­sem zaczę­li­śmy szu­kać odmiany. Advan­ced Dun­ge­ons & Dra­gons oka­zało się strza­łem w dzie­siątkę, przy­naj­mniej na jakiś czas. Nie­długo póź­niej zaczę­li­śmy swoje pierw­sze eks­pe­ry­menty z poważ­nymi RPG. Eks­pe­ry­menty to dobre okre­śle­nie, bo pierw­sze spotkania […]

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Poland
This work by Patryk Zawadzki is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Poland.