python

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.

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.

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źć :(

Ucieczka z niewoli konwencji

Jak wiemy, współczesne frameworki webowe, takie jak Django czy (w jeszcze większym stopniu) Ruby on Rails, opierają się na konwencjach nazewniczych. Konwencje te ułatwiają życie programiście. Na przykład w Django tworzy się klasę (model) ORM, w której to klasie nazwy pól odpowiadają nazwom kolumn w tabeli bazy danych.
Tabelę tworzy sobie Django automagicznie właśnie na podstawie zdefiniowanej klasy modelu. Na przykład:

class Product(models.Model):
    price = models.DecimalField(max_digits=8, decimal_places=2, verbose_name='cena')

Jeszcze jedna książka o Django

Niespodzianka w Helionie! Python i Django. Programowanie aplikacji webowych. Będzie co czytać ;) Wreszcie po polsku. Jakoś tak... nie lubię języka Shakespeare'a. Nie wiem dlaczego ;)

Pierwsza polska książka o Django

Zamówiłem dziś książkę Piotra Malińskiego Django. Ćwiczenia praktyczne. Autora znam jako Riklaunima z bardzo ciekawej strony Biblioteka Riklaunima. W serwisie tym jest mnóstwo cennych informacji o programowaniu dla www. Nie wiem jednak czy Autor w książce uzupełnił skróty myślowe, które robi na www ;). To co jest dopuszczalne na www nie powinno mieć miejsca w książce... Mam nadzieję, że tak jest. Poczytamy - zobaczymy.

IronPython i .NET

Kupiłem książkę M. Mysiora IronPython Studio - http://ksiegarnia.pwn.pl/produkt/7379/ironpython-studio.html?kategoria=1.... Wydaje się, że jest to całkiem niezły sposób szybkiego tworzenia aplikacji desktopowych dla Windows (a biorąc pod uwagę rynek, desktopowe aplikacje tworzy się dziś wyłącznie pod win).

vimrc dla pythona

Czego używać do edycji skryptów pythona? Każdy chyba zna sformułowanie "ulubiony edytor". Lubię jedita, chociaż jest "ciężki". Jednak nie zawsze skrypt edytuje się na lokalnym komputerze. Na serwerach zdalnych często jesteśmy skazani na starego poczciwego vima. Niektórzy oczywiście uważają vima za najlepszy edytor wszechczasów ;-). Tak czy inaczej dobrze jest dostosować vima do edycji pythona. Googlając różne dyskusje na ten temat opracowałem dla siebie bardzo prosty .vimrc.

  " Turn on syntax highlighting and autoindenting

Subskrybuje zawartość