неділя, 24 травня 2009 р.

Google datastore sucks...

Ну, не так щоб взагалі, але сьогодні сівши після півторатижневої перерви (співбесіди і все таке) за згаданий нещодавно новий веб-проект остаточно зрозумів, що для моєї задачі воно абсолютно не підходить. Google App Engine - непогана штука, але для простих проектів типу того ж Jaiku. У мене ж структура даних досить насичена відношеннями many-to-many та ще й має велику ієрархічну структуру, яку легко можна описати засобами Datastore, але працювати практично нереально із-за відсутності хоча б якоїсь подоби join'і�! �. Плюс до того, я під час написання минулого проекту на Django став вельми балуваним і те, що тут інтеграція з цим фреймворком через дупу і з купою обмежень мене кумарить. Сама робота полягає більше в тому як так ви**нутись, щоб хоч якось отримати отримати в Datastore те, що за допомогою Django Models робиться в один рядок. Коротше кажучи, мну вирішив вибиратись з цього болота, поки не пізно. Буду портувати те, що понаписував на нормальну Джангу. Сподіваюсь, на наступному тижні буде достатньо вільного часу і я встигну до �! �інця місяця [...]

середа, 13 травня 2009 р.

Приклад використання Twitter REST API

Вчора вночі щось мене пробило і я до 2-ї ночі сидів писав одну штуку собі в допомогу, а сьогодні вранці, коли хотів вже залити виявилось, що це вже зробили до мене, причому найцікавіше, що виглядає все один в один як те, що зробив мну. Не розумію, правда, як я не знайшов його вчора - мабуть вже заспаний був, але суть не втому. Щоб робота марно не пропадала поділюся парою коротких сніпетів на пітоні.

субота, 9 травня 2009 р.

Правильне використання просторів імен

Переклад статті Using Namespaces Properly від Dejan Jelovic

Простори імен – дуже потужна особливість мови C++. Ця стаття не вчитиме синтаксису просторів імен, вона просто покаже як їх варто використовувати. Простори імен лише обгортають всі імена, що в нього входять в якесь інше ім'я. Наприклад: [code language="cpp"]namespace net { class Socket { ... }; } ... net::Socket socket;[/code] Завдяки цьому ми впевнюємося, що якщо дві бібліотеки матимуть свої реалізації класу Socket, то якщо вони назвуть свої простори імен по-різному, ваша програма зможе їх використовувати без яких би то не було конфліктів. Але це викликає ще одне питання: якщо дві незалежні компанії вирішать писати мережеві бібліотеки, то який шанс, що вони будуть робити реалізацію класу з назвою Socket? Я так думаю, що вірогідність цього відсотків 100. Нам також подобається, коли простори імен легко набираються, що означає, що вони мають бути довжиною в 2-4 символи. З урахуванням цього, який шанс, що обидві компанії назвуть свій простір імен "Net"? 5 відсотків? 10 відсотків? Як би там не було, це показує, що простори іме� [...]

CДурнеІм'яКласу

Вирішив на всяк випадок зібрати свої переклади кількарічної давнини на цьому блозі, щоб не загубились якщо що. Нижче - перша ластівка - переклад статті "CStupidClassName" від Dejan Jelovic. За пару годин ще пару перепощу - може комусь стане в нагоді.

Потроху про різне

Щось писальна муза мене знову покинула і це при тому, що останні пара тижнів були вельми насичені різноманітними приємними і не дуже подіями. Тож щоб розім'яти пальці та трохи самому привести думки до ладу (на папері чи екрані вони набагато чіткіші, аніж коли живуть лише в голові) вирішив зробити такі собі підсумки...