03 януари 2009

Може би последния ми проект до лятото приключи...

Тази ваканция беше най яката от години. Миналата беше доста яка, защото отидох на хардкор феста в София, но това беше 1 ден и ми струваше 20 кинта. Тази година обаче удоволствието дойде от продуктивността, която демонстрирах.

Още от ноември се чудех какъв проект да подхвана за ваканцията. Първоначално си мислех за всякакви щуротии, които нямаше да мога да свърша никога, пък камо ли за 10 дена в къщи. В последната седмица преди ваканцията реших да науча Common Lisp. Вече знаех Scheme и реших че няма да е толкова трудно, отворих Practical Common lisp и прочетох първите 2 глави, след което се отказах. Ето как мина процесът. Докато четох книгата се сетих че вече знам Scheme и ще е добра идея, вместо да си губя времето в учене на нов език, да взема да си изцапам ръцете и да напиша нещо на scheme. Реших да е някъкво уеб приложение, защото това е модерно сега. Като отворих документацията на plt scheme се сетих че вече знам python много по добре от колкото знам scheme и че ако искам да свърша нещо за 10 дена, ще трябва да е на python. След като избрах любимия ми език python за основа на новия ми проект, реших да го напиша използвайки cherry py, известен http фреймуърк. Изтеглих си една книга за него и започнах да чета. След около половин час реших че вече имам малко опит със Django, една от най популярните python уеб фреймуърки и че би било глупаво да програмирам на нещо толкова low-level като cherry-py, освен ако наистина нямам нужда от предимствата на минимализмът му. И така в рамките на 2 дни преминах през целия този процес и реших да напиша новия си супер сайт на python със Django. Този проект го бях мислил още септември, когато излезе Django 1.0, но за съжаление в същия този месец се появи гадното даскало и нямах особено време(всъщност имах, но обичам празните извинения).

И така проектът ми за блог със Django се върна от света на мъртвите и започнах работа по него. Първите 2 дена от ваканцията четях документацията на Django, туториълът им е доста добър, преминах през него, и на края ми казаха че това е било само 10% от документацията!!! Стресирах се от това колко още имам да чета и си изтеглих всички епизоди на "Терминатор: Хрониките на Сара Конър" и прекарах 2 дни гледайки това. Бих го нарекъл супер прокрастинация. След като изхабих 2 дни в зомбирано състояние(22 епизода със една почивка от 5 часа да се наспя, по средата) се върнах към джанго. Започнах да чета за HTML и CSS, имам само повърхностни познания по HTML и почти никакви познания по CSS, след като прегледах сорса на няколко сайта, имах от къде да започна, и написах шаблона за сайта ми. 2 дни го работих. Може да се каже че като първи опит се е получил прилично, но истината е че е говно и за това няма да ви покажа как изглежда. Също така изглежда още по зле под IE6 и firefox под уйндолс, въпреки че е направен за firefox на линукс, проблемът е във шрифтовете, но ме мързеше да ги оправям.

Следващите 2 дни работих върху бекенд-а на сайта. Django е цар тук, кодът който трябваше да напиша за да имам прост блог беше супер малко! Ама наистина малко. Както туториълът си го казва:

Take a few minutes to marvel at all the code you didn't have to write.


Повечето време само четох документация и почти не писах код, въпреки това имам напълно функционален блог. Вчера реших че няма да го хоствам никъде. Доволен съм от Blogger, а и беше забавен проект, научих доста, а и нямам нерви да доразвия кода и да поддържам сайта, за това по добре да го оставя като добър спомен, и да премина към други предизвикателства. И така след като няколко месеца си търсих извинение за да не се занимавам с Django, изведнъж този проект все едно се бореше да се роди, бореше се 2 дни и заради него не научих common lisp, не задълбочих познанията за scheme и не научих cherry-py, но за сметка на това разбрах че не ставам за уеб дизайнер, но доста хитро се справих със генерализирането на моделът ми за базата данни. Вместо да имам 3 модела за блог пост, есе и проект, написах само един модел за entry и добавих таг за тип, това означава че вместо да пиша 3 почти идентични класа, имах 1. За сметка на това CSS-а ми е супер грозен :D

Сега днес и утре са последните ми 2 свободни дни. 12-ти клас съм и няма да имам повече ваканции, имам да уча за матурите и наистина ми е кофти че няма да мога да се втурвам в подобни преживявания до лятото. Може би един от последните ми проекти преди ваканцията ще е през януари. А кой знае, може да открия начин да съвместя програмирането и ученето и да се забавлявам втория срок, като в същото време се подготвя за изпитите ми и т.н. Дори смятам да направя точно това, само че не съм преминал през детайлите, трябва да медитирам върху проблема. Знам само че това ще бъде жестоко лято!

Няма коментари: