Quidquid agis, prudenter agas et respice finem.

Mój blog

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 jeden powód by kochać Django

Jeszcze nie przekonałeś się do Django? To wyobraź sobie, że przejąłeś słabo udokumentowany projekt internetowy po autorze i masz go ulepszać. Chcesz zmienić jakiś szczegół, np. napis.
Musisz dojść do tego skąd on się wziął. Który plik, który moduł w projekcie zawiera funkcję, która ten napis wygenerowała? Uwielbiasz to, prawda? Co to za męka, co za dramat... mówiąc słowami Tuwima!

Jednak błąd pilota?

Wczoraj w programie "Teraz My" Edmund Klich - szef Państwowej Komisji Badania Wypadków Lotniczych ujawnił, że w czasie feralnego lotu Tu 154 stało się to, w co dotąd nie chciałem wierzyć. Mianowicie dowódca z pełną świadomością, że jest poniżej wysokości decyzyjnej schodził niżej. Klich powiedział, że w rozmowach zarejestrowanych przez skrzynki wyraźnie słychać informacje o niższych pułapach, a mimo to kontynuowano schodzenie.

Katastrofa w Smoleńsku - moja analiza

Dziwna rzecz z tą katastrofą w Smoleńsku. Im więcej się na ten temat pisze, tym bardziej to wszystko jest niejasne, tym więcej sprzeczności. Wprawdzie nie jest to ściśle związane z tematyką mojej strony, ale nie będę dla jednego wpisu tworzył nowego serwisu. Uporządkujmy więc teorie jakie na ten temat powstały.

Nasza-klasa.pl bezprawnie wykorzystywała zdjęcia

Portal nasza-klasa.pl serwował reklamy, w których umieszczał awatara osoby aktualnie je oglądającej. Jeden z użytkowników pozwał portal i… wygrał - pisze Chip.pl

Django 1.2 już jest

Na oficjalnej stronie Django można przeczytać: "Po wielu miesiącach pracy z dumą ogłaszamy wydanie dziś Django 1.2".
Co to oznacza? Na pewno koniec wsparcia dla archaicznego już Pythona 2.3. Django 1.2 wymaga interpretera Pythona w wersji co najmniej 2.4.
Ważniejsze są jednak te zmiany, których można było już posmakować w wersjach rozwojowych, a których w wersji "stabilnej" bardzo brakowało.

Umarł król niech zyje król

Dostałem kilka dni temu bardzo smutnego maila z SGH. Zamykają świetnie działający i bardzo przyjazny w obsłudze system darmowych serwerów DNS. Dla mnie osobiście to duży kłopot, bo za pomocą serwerów SGH zarządzam pewną ilością domen. Kiedy je podliczyłem okazało się, że jest ich aż 23.
Na szczęście autor tego wspaniałego serwisu, Piotr Kucharski, postanowił kontynuować przedsięwzięcie na innych serwerach. Podziwiam determinację i pracowitość Panie Piotrze. Gratuluję i zwyczajnie dziękuję!

Śmierć Prezydenta - od strony prawnej

Stanisław Michalkiewicz, niezwykle ceniony przeze mnie publicysta pisze, że "z punktu widzenia prawnego o tym, że jakiś człowiek zmarł, dowiadujemy się na podstawie stwierdzenia zgonu. Tymczasem pan marszałek Komorowski przejął obowiązki prezydenta i w tym charakterze zaczął podejmować różne decyzje, zanim jeszcze Jarosław Kaczyński zdążył zidentyfikować ciało nieboszczyka znalezionego na miejscu katastrofy prezydenckiego samolotu jako ciało prezydenta.

Kiedy ginie Prezydent...

... wieje grozą. Prezydent - kimkolwiek jest jako człowiek - jest uosobieniem państwa. Wyśmiewane często powiedzenie jednego z królów Francji ma w sobie sens głębszy niż warstwa zwykłej pychy ludzkiej. Fakt, że każde państwo ma osobę, która czy to jako monarcha czy jako prezydent je reprezentuje, wskazuje, że życie społeczne wymaga i potrzebuje takiego uosobienia. Śmierć Prezydenta, a zwłaszcza śmierć tak tragiczna jest więc ciosem dla narodu.

Jak Django znów mnie zaskoczyło, czyli o filtrowaniu przez relacje bazy danych

Musiałem niedawno rozbudować pewien portal w ten sposób, że miały pojawić się w nim strony z informacjami z różnych regionów, czyli inaczej mówiąc kilkanaście serwisów newsowych w jednym. Dodatkowo wymagana była taka funkcjonalność, że wybrane wpisy miały trafiać na stronę główną. To oznaczało, że wszystkie newsy powinny być w jednej tabeli, co w Django oznacza, że w jednym modelu.
Rzecz wydawała mi się najpierw banalna.

Subskrybuje zawartość