Archive for Июнь 2008

Архитектура высоких нагрузок

Давно и с большим интересом читаю блог «Insight IT«. В частности, потрясающие статьи об архитектуре высоконагруженных веб-сайтов.

Больше ничего говорить не буду, да и любой здравомыслящий человек уже давно ушёл по ссылкам =)

Внутренний блоггинг

Сегодня корпоративные блоги используются, в основном, для «связи с потребителями». Конечно, этот инструмент пиара с нами теперь навсегда, однако я думаю, что есть область, в которой блоги могли бы быть существенно эффективней.

Я говорю о внутреннем блоггинге. Давайте представим себе пару кейсов.

Первый

У вас средней величины компания, в которой активно используются компьютеры, интернет и прочие блага цивилизации. На внутреннем сайте компании, который не доступен снаружи, есть многопользовательский блог. Авторизация по ActiveDirectory, автоматические уведомления и всё такое. Каждый сотрудник может написать в блог заметку на любую волнующую его тему: от жалобы на курение в туалете до похвалы отделу маркетинга за отлично продающийся продукт.

Подписавшись на уведомления по конкретной теме, директор, может целенаправленно и, что немаловажно, в удобное ему время, посмотреть, чем дышит компания, какие у неё трудности, а так же принять участие в обсуждении дизайна новой курилки.

Конечно, всё это можно сделать с помощью рассылки, форума или тупого совещания. Но блог подойдёт лучше всего по очень простой причине: формат «главного поста» и комментариев к нему подразумевает продуманность первого и удобство последнего.

Кейс второй

У вас нет офиса. Вы — распределённая по всему миру команда разработчиков. Конечно, все свои знания вы складируете в Wiki. Однако, вики-разметку нужно учить, да и для обсуждаений эта штука годится сильно с натяжкой. Имея блог вы можете жить синхронно, получая новости, идеи и обмениваясь опытом тогда, когда это своевременно и, опять же, удобно.

Кстати, впоследствии, какие-то материалы из блогов вполне могут трансформироваться в публичные записи или открытую базу знаний, которая принесёт не только пользу, но и успех, став самостоятельным проектом.

В общем, я считаю, что блоггинг в деловой сфере нужен не столько для пиара, сколько для работы. Что, кстати, вполне подтверждается словами Билла Гейтса, которые только что были опубликованы в блоге издательства «Манн-Иванов-Фербер».

rss-фиды изменений сайта

Раздумываю над тем, как лучше сделать rss изменений совершенно разных объектов на сайте.

Намерен получить механизм, с помощью которого можно быстро собирать изменения и формировать из них рсс-ленты.

Понятное дело, что можно создать в каждой значимой таблице поле last_modified и тупо делать выборки по этому полю. Но когда нужно будет показать всё, что сделал пользователь (соединить в ленту заметки, комментарии, изменения в профиле и ещё что-нибудь), то придётся плодить кучу запросов. А это не айс.

Но коллективное бессознательное поселило в мою голову новую дельную мысль: надо дополнить методы сохранения объектов вызовом логгера, который бы записывал в отдельную таблицу сообщения вида «дата, время, вид изменения, субъект, объект».

Тогда, если мы хотим выбрать все последние посты юзера «пупкин», то просто делаем поиск по «посты, пупкин, последние 10″ и формируем из этого ленту.

А вы как решаете подобные задачи?

Быть достигатором прикольно

Практически дочитал «Книгу достигатора» и спешу с вами поделиться.

Редкой позитивности книга.

Книга достигатора. Обложка

В кратце, суть её можно изложить вот так: чем больше у вас целей, тем лучше.

Попоморщеры имеют одну цель, к которой прут напролом всю свою несознательную жизнь, морща не только лицо. И когда эта их цель, вдруг, обламывается — наступает форменный кризис с жепью и прочими сопутствующими элементами.

У достигатора много целей. Не попал в одну — ближе подошёл к другой. Поэтому у достигаторов не бывает крутых обломов. Всегда ведь есть, к чему стремиться, над чем работать, как резвлекаться.

Попоморщеры любят и требуют, чтобы всё было по правилам. Чтобы не дай бог кто-то не пошёл своей дорогой. Грибы они ищут в уже изведанных местах с хорошо протоптанными дорожками. Поэтому-то и не находят. Всё уже украдено до них.

Достигаторы тоже любят правила. Ровно тогда, когда это им помогает. И класть на правила хотели, когда это пахнет попоморществом. Каждый достигатор — Отдельная Мобильная Индейская Единица, знающая, что все грибы с вкусными большими шляпками как раз там, куда не ступала нога бледнолицых. Куда вообще ещё никакая нога не ступала. Поэтому в их супчике всякие вешенки, а на сковородке жаренные лисички, а не поганки с мухоморами.

Попоморщеры зажимают свои фишки. Да и то только тогда, когда они у них есть. Чаще ведь нету. Чаще услышали, что в соседнем ларьке баксы по 23 рубля и даже не пытаются поискать ещё один ларёк, чтобы было по 22. Так ведь ещё и не расскажут никому о 23х рублях.

У достигаторов фишек дофига. Весь их образ жизни — сплошная фишка. И достигаторы ими охотно делятся. Им-то что? Ну даже если эту тропку и затопчут — достигатор там прошёл, вкусное поел, а новых тропок ещё найдёт столько, сколько нужно, плюс немножечко сверху. На сладкое. Достигатор понимает, что синергетический эффект от «заделения» фишкой может превысить любую выгоду, которой можно достичь в одиночку.

Достигаторы любят, чтобы было много «опилок» — сопутствующих процессу достижения цели фишек, мулек и бонусов. Для попоморщера главное — Результат. То есть, если он устраивается на работу, то самое важное — зарплата, а не коллектив или хороший соцпакет.

На попоморщерах ездят. Достигаторы. Просто потому, что попоморщер и так кого-то всегда везёт. То ли горб своих проблем, то ли ещё что-то. Поэтому запрячь попоморщера совсем не трудно. Обычно, им это даже нравится.

На достигаторах тоже ездят. Тоже достигаторы. И никому не в лом. Потому, что подвезти товарища это прикольно и приятно. Потому, что фан и опилки.

Резюмируя, можно сказать одно: каждый волен морщить жопу или расправлять крылья. Лично мне летать нравится гораздо больше =)

Обновление схемы БД в Django

We’ve also added our own database migration facility so that developers don’t have to apply SQL patches to keep their database schemas current. Developers who change the schema write a Python function to update the database, and these are applied automatically when the server is started.

Отсюда

Очень, надо сказать, правильная и хорошая штука. А то несколько расстраивает то, что на Django не делает апдейт существующей схемы при изменении модели.

Вообще, интересно было бы подискутировать о том, как оптимальнее разрабатывать приложения. То ли сначала делать «печку», от которой микроитерационно плясать, то ли сразу создавать полную модель данных, а уж затем менять её как можно реже.

Вот вы что думаете? Да, да, именно вы! =)