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 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).
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.
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.
Ś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.
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ć.
Dwa dni nad tym straciłem.
Było
return render_to_response('katalog/szablon.html', {'zmienna', zmienna})
return render_to_response('katalog/szablon.html', {'zmienna': zmienna})
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
.
Tym razem nie piszę swojego tekstu, ale polecam świetny artykuł: http://www.tynecki.pl/?p=867#more-867
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.