суббота, 28 ноября 2009 г.

Когда у разработчика все ок

ccnet

Parent наше все

Из кода:

_parent._parent._parent.Parent.Text[i].Text[j]._ // и -- да, мы еЪанулись!

Комментарий от меня, конечно.

пятница, 27 ноября 2009 г.

Фобия разработчика

Боязнь, что плавающее окно в MSVS однажды откажется таскаться туда-сюда, ухватит на себя указатель мыши и никогда, никогда не отпустит..

среда, 25 ноября 2009 г.

В толковый словарь программиста

"Узник замка Иф (If)" - junior-developer на Delphi, который пытается разобраться со сложной бизнес-логикой.

понедельник, 23 ноября 2009 г.

Кровавый энтерпрайз: сениоры девелопят

"Бесконечно можно смотреть на 3 вещи: как горит огонь, как течет вода и как человек работает"

Так вот нифига. Невозможно целый час смотреть на то, как человек и программист удаляет кракозяблы из кода, который он выдрал где-то со страницы интернета -- хотя работает трудолюбиво, обеими руками. Отпивает кофе и продолжает. Час за часом колотит по клавиатуре. Тра-та-та-[бэкспейсбэкспейс]-[enter]-[стрелка вверх]..
Скоро доудаляет, еще часик и все.

Программист работает. Целый день при деле. 4к$ в месяц, да.

Кто бы их поубивал бы всех.

Кровавый энтерпрайз: из жизни регионов

Стало у нас на центральном сервере заканчиваться место под БД.

Ну, понятно все: виртуальная машина с сервером приложений, виртуальная машина с сервером БД, под которые выделили мало места на жестком диске + куча бэкапов, но в итоге база превысила положенный лимит в 200 ГБ, и стала жаловаться. Непонятно одно – почему так быстро.

Главный подозреваемый выяснился быстро – им оказался функционал приложенных документов в карточках материала. А, собственно, совсем недавно было накачено очередное обновление, которое устраняло дублирование приложенных файлов, заменяя его ссылками – ну, все культурно, даже MTOM на сервисах, компрессия потока и выход из SSL.

Расследование указала на вот какую вещь – господа юзвери из регионов стали пользоваться системой для того, чтобы … обмениваться музыкой!

Натурально, заводится пустая карточка материала “под удаление”, затем в ней пишется “Привет, Вася, это тебе новый альбом”, к нему аттачится свежий рип с CD, и с чистой совестью юзер идет пить чай (потому что полгига отправляются небыстро). Когда докачалось, код карточки отправляется по почте или по телефону надиктовывается, и довольный Вася слушает новую музыку, удалив карточку.

Но потом эти наглецы даже перестали удалять временные карточки. Тут мы их и поймали – чего не поймать, если в БД аттачменты откровенно выдаются из остальных данных. Логгирование рулит, да.

Теперь плавающий лимит на приложенные документы, начиная с 5 Мб, и регулярные инструкции :)

понедельник, 9 ноября 2009 г.

Reusable code

Вот тут Алена Сагалаева приводит свои мысли о reusable code, подкрепленные практикой.
Коллективный разум в комментариях склоняется к мысли, что какие-то универсальные методы управления кодом не рулят; каждый в границах своей фирмы/проекта старается по-своему. С переменным результатом, соответственно.

Мои 5 копеек по этому поводу:
- чтобы код в виде компонент/библиотек был re-usable, нужно чтобы он был прежде всего usable. Нет usable -- нет reusable, все просто.
- выделение особого проекта <Фирма-name>.Commons -- верный путь к смерти проекта, потому что в скором времени Commons оказывается толще и жирнее, чем остальные проекты вместе взятые.
- опыт open source показывает аццкое нагромождение велосипедов; даже при том, что google в помощь.
- нужен отдельный человек, который будет заниматься сопровождением повторно используемого кода -- некоторый configuration engineer; позволить себе его могут только крупные фирмы, конечно.