Kontrolna točka #2

12 sati noćirazvoj

Prvi projekt je zapravo jedna mala web usluga, mali web alatić, za čiju izradu iskusnom web developeru ne bi bilo potrebno više od jednog radnog dana. I to bi tako i bilo da nisam odlučio stvari postaviti na malo drugačiji način. Najprije sam definirao terminski plan s točno definiranim zadacima. Za to sam koristio activeCollab, ali tu sam potrošio dio vremena na prebacivanje nekih drugih projekata na novu inačicu AC-a.

Jedan od zadataka u prvoj, projektnoj fazi, bilo je i analiziranje konkurencije. U wikiju sam napravio usporednu tablicu s popisom mogućnosti, detaljnije proučio svaki servis, sve dokumentirao, naveo i pregledao brdo url-ova vezanih uz tematiku. Kod malo složenijih projekata sve bi to bilo nužno potrebno, a u ovom slučaju je bio mali overkill.

Slijedeći zadatak je bila izrada use case-ova. I to bi bilo brzo gotovo da nisam zapeo u akciji zvanoj pronađi neki dobar use case editor. Kako nisam pronašao ono što mi je trebalo, a neka postojeća rješenja mi zbog raznih razloga nisu odgovarala, krenuo sam raditi brzi, mali, web use case editor kojemu je glavna funkcionalnost bila ono što mi je nedostajalo kod drugih. Razlog zbog kojeg sam se odlučio na to je i činjenica da za jedan drugi projekt, na kojem radim, trebam isto to. Rezultat svega je gomila potrošenog vremena, definiranje detaljnih use case-ova je i za ovaj projektić opet bio mali overkill. Use case editor nije za javnu upotrebu, ali možda bi mogao biti neki od slijedećih projekata.

Konačno je krenuo i pravi razvoj. Razradio sam algoritam za osnovnu funkcionalnost. Definirao model baze. Malo je tablica, nisam koristio nikakav strašan alat za to, nego odmah u glavu s kodom.

Slijedila je izrada web dizajna i pretvaranje istog u Django template. Nisam izmišljao toplu vodu već sam se uputio u brzu potragu po web template stranicama. Na kraju sam se odlučio za jedan pristojan free template. I onda sam potrošio vrijeme na njegovo prilagođavanje. On je bio divan i krasan takav kakav je, ali unos samo malih promjena, izazvao je kaos. Template skrojen po mjeri, ako imate samo malo duže ruke (u ovom slučaju tekst) imate i problem. Ovaj odabrani template i nije bio toliko tvrd orah kao neki s kojima sam prije imao iskustva. Ako se nadate da ćete pronaći free template ili neki od nekoliko desetaka ili stotinu dolara koji će vam odmah odgovarati, zaboravite na to. I kad sve dotjerate i posložite, slijedi prolazak kroz pakao preglednika od kojih svaki ima svoje viđenje onoga što je pjesnik time htio reći. :-)

Razvoj. Upoznavanje s nekim alatom i isprobavanje mogućnosti je jedno, a ostvarivanje konkretnih zadataka je sasvim druga stvar. Konkretni zadaci donose i konkretne probleme. Ništa strašno, ali tu sam se zaigrao s Djangom, otkrivao najbolje metode za rad, otkrivao pojedine bugove, ostavio sam službenu (0.95) i nastavio razvoj s najsvježijom razvojnom inačicom. Ako započnete raditi s Djangom i otkrijete da dokumentacija griješi (tj. barem vama to tako izgleda) onda je problem sigurno u tome što ona pokriva razvojnu inačicu i neke stvari ne rade u 0.95.

Kad radim onda nastojim da razvojna okolina bude što sličnija produkcijskoj, kako bi se izbjegli problemi prilikom instalacije i tijekom rada. manage.py runserver možete koristiti prilikom testne vožnje, ali čim počnete raditi konkretne stvari složite si odgovarajuću okolinu. S uključenom DEBUG opcijom Django daje poprilično iscrpan izvještaj o grešci, ali jednu ili dvije greške sam otkrio tek uvidom u log web servera gdje se nalazio pravi putokaz za rješenje.

Sve to tražilo je ipak više od jednog čovjek dana. A bilo je tu još stvari koje nisam spominjao (igrarije s Gimpom i Inkspaceom)...

Neke pouke iz svega ovoga bi bile...Usredotoči se na samo jedan zadatak. Ne ići u dubinu tamo gdje to stvarno nije potrebno. Traženje pravog alata za nešto može biti puno duže nego da se stvari naprave pješke ili na papiru. Za zadatke koji vam oduzimaju previše vremena zaposlite stručnjaka.

Sutra slijedi konačan obračun kod kontrolne točke #3 i predstavljanje projekta.



Komentari

18. siječnja 2007. 08:43

i di je projekt ... vec je 18-sti...

18. siječnja 2007. 09:02

Nekoliko stvari koje imaju veći prioritet uzrokovalo je da ne mogu odvojiti sat-dva da sve postavim na server, napravim završni test i pokrenem. :-(

19. siječnja 2007. 02:08

Prioritet je prioritet. Kredibilitet također. :-)

19. siječnja 2007. 21:26

zbilja si me razočarao. Čemu tolike prazne priče.

20. siječnja 2007. 15:58

Da nam je barem rekao što čekamo. Sad smo kao ona ekipa što zove Noćnu moru u 4 ujutro. :-)

Sorry, 12 sati je prošlo - odoh ja u novo tijelo. ;-)

Nadam se da ti se nije ništa loše dogodilo - take care!