Quidquid agis, prudenter agas et respice finem.

Mój blog

Coś dla biura - czyli (re)generowanie raportów

W praktyce korporacyjnej bardzo częstym problemem jest sporządzanie raportu na podstawie otrzymanych danych. Problemem jest to, że dane te - niestety - nie są najczęściej przesłane nam w formacie, który by ułatwiał to zadanie i nie mamy na to żadnego wpływu.

Bazaar w sześć minut

Bazaar jest jednym z systemów rozproszonej kontroli wersji, który można wykorzystać na przykład do zarządzania zmianami w serwisie internetowym, niezależnie od tego w jakiej technologii jest on wykonany.
Zakładam, że mamy gotowy już serwis na serwerze, który zrobiliśmy kiedyś bez kontroli wersji. Naszym celem jest wykonanie kopii na lokalnej maszynie (np. laptopie), a następnie testowanie zmian na kopii lokalnej i "ładowanie" tych zmian na serwer pod kontrolą systemu kontroli wersji. Niniejszy artykuł nie próbuje odpowiedzieć na pytanie "po co mi system kontroli wersji". Zakładam, że rozumiesz jego konieczność, a zastanawiasz się którego użyć i w jaki sposób. (Jeśli nie, to np. tutaj http://pl.wikipedia.org/wiki/System_kontroli_wersji jest definicja, a tutaj http://www.maciejaniserowicz.com/post/2008/06/02/Kontrola-wersji-w-5-min... jest króciutkie i jasne wprowadzenie po co to wszystko).

ReCaptcha by Riklaunim

Serwis Riklaunima zna chyba każdy, kto próbował szukać w polskim internecie informacji o programowaniu dla www. Ostatnio Autor ten opublikował piękny snippet, którego mi bardzo w Django brakowało, pozwalający walidować formularze za pomocą captchy, czyli przepisywania tekstów z obrazków.

Typy zmiennoprzecinkowe a obliczenia finansowe

Zasada, że do obliczeń finansowych nie należy stosować liczb zmiennoprzecinkowych jest dość powszechnie chyba znana wśród programistów. Mniej znana już jest odpowiedź na pytanie dlaczego tak jest, dziś bowiem w szkołach lekcje z komputerami szumnie nazywają się informatyką, ale informatyki nikt na nich nie uczy, co najwyżej technologii informacyjnej. Oto więc zagadnienie z informatyki prawdziwej.

Boże Narodzenie

Święto Bożego Narodzenia, wbrew temu, co głoszą niektórzy proboszczowie, nie jest największym chrześcijańskim świętem. Jest nim Wielkanoc. Ale atmosfera, która wokół tego zimowego święta powstała, nakręcana umiejętnie przez handlowe lobby, nie ma sobie równej przy żadnej innej okazji.

Jeszcze o błędach

Znów straciłem wiele godzin w poszukiwaniu błędu, opiszę ten przykład, bo jest pouczający. Robiłem program partnerski do pewnego przedsięwzięcia. Jak to w tego typu programach bywa, trzeba było pobrać pewien kod z formularza i go zwalidować.

Najgłupszy błąd świata

Dwa dni nad tym straciłem.
Było

return render_to_response('katalog/szablon.html', {'zmienna', zmienna})

Powinno być oczywiście
return render_to_response('katalog/szablon.html', {'zmienna': zmienna})

Czyli ":" zamiast ",". Interpreter nie wywalał błędu składniowego... A ja głupi, nie mogłem znaleźć :(

Procesory kontekstu

Sposób używania tzw. procesorów kontekstu w Django jest niestety niezbyt intuicyjny. Zacznijmy jednak od omówienia czym jest kontekst i procesor kontekstu w Django.
Jak wiadomo, Django oddziela warstwę prezentacji od logiki oprogramowania (oraz od danych).
Przypuśćmy, że mamy listę książek, przechowywaną w obiekcie books.

Integracja Django i TinyMCE

Tym razem nie piszę swojego tekstu, ale polecam świetny artykuł: http://www.tynecki.pl/?p=867#more-867

Odwrotna strona relacji

Przypuśćmy, że projektujemy prosty blog, w którym do każdego wpisu mogą być dołączane pliki rozmaitego typu (np. pdf, odt, jpg). Automatyczne wyszczególnienie wszystkich załączników pod wpisem (tak jak robi się to w mailach) jest w Django niezwykle proste i naturalne.

Subskrybuje zawartość