Archive for the ‘web’ Category

Button kontra przeglądarki

Ku pamięci: Fire­fox¹ igno­ruje line-height. Fire­fox¹ dodaje wła­sny ele­ment z dwu­pik­se­lo­wym pad­din­giem i pik­se­lo­wym bor­de­rem: button::-moz-focus-inner { bor­der: 0 none; pad­ding: 0; } Wszyst­kie prze­glą­darki domyśl­nie wli­czają ramki i pad­ding do roz­mia­rów ele­mentu: but­ton { box-sizing: content-box; –moz-box-sizing: content-box; –ms-box-sizing: content-box; –webkit-box-sizing: content-box; } IE7 i star­sze nie radzą sobie z auto­ma­tyczną sze­ro­ko­ścią przy­ci­sków: button […]

Tymczasem w biurze…

Uru­cho­mi­li­śmy nową wer­sję ser­wisu Cen­trum Fak­tur! Listę nowo­ści opi­sa­łem już w pod­lin­ko­wa­nym tek­ście, więc wła­śnie tam zapra­szam zarówno spra­gnio­nych wie­dzy, jak i miło­śni­ków mojej twór­czo­ści lite­rac­kiej. Kobiety i dary można pod­sy­łać do mnie. Pro­blemy, błędy, uwagi — tra­dy­cyj­nie, na Burzę Mózgów.

Flattr

Flattr roz­prze­strze­nia się wiru­sowo. Ja swoje zapro­sze­nie dosta­łem od Deejay’a. Jesz­cze dwa można zdo­być u niego, trzy kolejne tutaj. Jeśli zatem lubi­cie dzie­lić się pie­niędzmi (i wie­rzy­cie, że Flattr nie znik­nie razem z nimi), przy­łącz­cie się do tej jedy­nej w swoim rodzaju sieci wymiany napiw­ków. Po trzy zapro­sze­nia zgło­ście się w komen­ta­rzach — wyślę je […]

Faktury przez API

Odkąd roz­po­czą­łem współ­pracę z Miru­mee, w listach od moich czy­tel­ni­czek wciąż powta­rzało się jedno pyta­nie — kiedy? W końcu zro­bi­łem jed­nak te bada­nia, a blog to nie miej­sce na dys­ku­sje o moim życiu łóżkowym, dla­tego dziś pomó­wimy o Cen­trum­Fak­tur. Co wybrał­byś zatem, gdyby zaofe­ro­wano ci body shot z ciała dowol­nie wska­za­nej przez sie­bie kobiety¹ lub […]

PIT 37

Przy­cho­dzi taki moment, kiedy nie da się już odwle­kać roz­li­cze­nia podat­ków. Ja swoją dekla­ra­cję posta­no­wi­łem zło­żyć dopiero dzi­siaj. Nie obyło się bez przy­gód. Linux x86-64 e-Deklaracje wyma­gają Adobe AIR. Adobe AIR nie obsłu­guje 64-bitowego Linuksa. Tyle. Dane z poprzed­niego roku (nie­zbędne do roz­li­cze­nia elek­tro­nicz­nego) udało się wydo­być ręcz­nie: $ sqlite3 ~/.appdata/e-Deklaracje.*/Local Store/settings.dat ‘SELECT xml­Do­cu­ment FROM […]

Django: TestCase i testowanie szablonów

Bar­dzo brzydki hack, oparty o załącz­nik do tic­ketu 7611. Czy­ści wewnętrzny cache Django, ale pozwala testo­wać dzia­ła­nie kodu opie­ra­ją­cego się o ren­de­ro­wa­nie sza­blo­nów bez ryzyka, że apli­ka­cja owe sza­blony nad­pi­sze: import os import sys from django.conf import set­tings from django.template import loader from django.test import Test­Case class TemplateTestCase(TestCase): def _pre_setup(self): self._template_setup() super(TemplateTestCase, self)._pre_setup() def _post_teardown(self): […]

Django: pluralize

Naj­waż­niej­szą rze­czą, jaką powin­ni­ście wie­dzieć na temat fil­tra plu­ra­lize jest ta, żeby go nigdy nie uży­wać. Nigdy. Jego ist­nie­nie wynika z leni­stwa ludzi, któ­rzy nigdy w życiu nie przy­go­to­wy­wali apli­ka­cji do tłu­ma­cze­nia. Jeśli nie wyra­zi­łem się dość jasno, uży­wa­nie fil­tra plu­ra­lize wywoła u cie­bie raka, ste­reo­po­roże i zatwar­dze­nie roz­siane. Jak­kol­wiek spryt­nie by nie wyglą­dał, ten […]

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): # … […]

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ą […]

Django: szybszy SQLite do testów

Domyślna kon­fi­gu­ra­cja SQLite każe mu syn­chro­ni­zo­wać plik bazy po każ­dej ope­ra­cji. W środo­wi­skach testo­wych nie musimy się mar­twić o spój­ność danych w wypadku awa­rii, poni­żej zamiesz­czam więc bac­kend pozba­wiony zbęd­nego narzutu: from django.db.backends.sqlite3.base import ( Data­ba­seW­rap­per as Sqlite3Wrapper, Data­ba­se­Er­ror, Inte­gri­ty­Er­ror, Data­ba­se­Fe­atu­res, Data­ba­se­Ope­ra­tions, ) class DatabaseWrapper(Sqlite3Wrapper): def _cursor(self): new_conn = self.connection is None cur­sor = super(DatabaseWrapper, […]

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.