Archive for May, 2009

Google datastore sucks…

Ну, не так щоб взагалі, але сьогодні сівши після півторатижневої перерви (співбесіди і все таке) за згаданий нещодавно новий веб-проект остаточно зрозумів, що для моєї задачі воно абсолютно не підходить. Google App Engine – непогана штука, але для простих проектів типу того ж Jaiku. У мене ж структура даних досить насичена відношеннями many-to-many та ще й має велику ієрархічну структуру, яку легко можна описати засобами Datastore, але працювати практично нереально із-за відсутності хоча б якоїсь подоби join’ів. Плюс до того, я під час написання минулого проекту на Django став вельми балуваним і те, що тут інтеграція з цим фреймворком через дупу і з купою обмежень мене кумарить. Сама робота полягає більше в тому як так ви**нутись, щоб хоч якось отримати отримати в Datastore те, що за допомогою Django Models робиться в один рядок. Коротше кажучи, мну вирішив вибиратись з цього болота, поки не пізно. Буду портувати те, що понаписував на нормальну Джангу. Сподіваюсь, на наступному тижні буде достатньо вільного часу і я встигну до кінця місяця швиденьку портувати код. Потім проект розгорну на тому ж хостингу, де і цей блог. Щойно перевірив: воно чудово працює і через mod_python, так що поки буду розробляти можна навіть не доплачувати за FastCGI (правда треба буде не забути сам хостинг проплатити, а то це, здається, останній місяць). Отаке… :-/


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

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


Read the rest of this entry »


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

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

Простори імен – дуже потужна особливість мови C++. Ця стаття не вчитиме синтаксису просторів імен, вона просто покаже як їх варто використовувати.

Простори імен лише обгортають всі імена, що в нього входять в якесь інше ім’я. Наприклад:

namespace net {
    class Socket {
        ...
    };
}

...

net::Socket socket;

Завдяки цьому ми впевнюємося, що якщо дві бібліотеки матимуть свої реалізації класу Socket, то якщо вони назвуть свої простори імен по-різному, ваша програма зможе їх використовувати без яких би то не було конфліктів.

Але це викликає ще одне питання: якщо дві незалежні компанії вирішать писати мережеві бібліотеки, то який шанс, що вони будуть робити реалізацію класу з назвою Socket? Я так думаю, що вірогідність цього відсотків 100.

Нам також подобається, коли простори імен легко набираються, що означає, що вони мають бути довжиною в 2-4 символи. З урахуванням цього, який шанс, що обидві компанії назвуть свій простір імен “Net”? 5 відсотків? 10 відсотків?

Як би там не було, це показує, що простори імен не вирішують цю проблему повністю – вони просто зменшують вірогідність її виникнення.

Read the rest of this entry »


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

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

Read the rest of this entry »


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

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

Read the rest of this entry »