суббота, 28 ноября 2009 г.
Parent наше все
Из кода:
_parent._parent._parent.Parent.Text[i].Text[j]._ // и -- да, мы еЪанулись!
Комментарий от меня, конечно.
пятница, 27 ноября 2009 г.
Фобия разработчика
среда, 25 ноября 2009 г.
В толковый словарь программиста
понедельник, 23 ноября 2009 г.
Кровавый энтерпрайз: сениоры девелопят
Так вот нифига. Невозможно целый час смотреть на то, как человек и программист удаляет кракозяблы из кода, который он выдрал где-то со страницы интернета -- хотя работает трудолюбиво, обеими руками. Отпивает кофе и продолжает. Час за часом колотит по клавиатуре. Тра-та-та-[бэкспейсбэкспейс]-[enter]-[стрелка вверх]..
Скоро доудаляет, еще часик и все.
Программист работает. Целый день при деле. 4к$ в месяц, да.
Кто бы их поубивал бы всех.
Кровавый энтерпрайз: из жизни регионов
Стало у нас на центральном сервере заканчиваться место под БД.
Ну, понятно все: виртуальная машина с сервером приложений, виртуальная машина с сервером БД, под которые выделили мало места на жестком диске + куча бэкапов, но в итоге база превысила положенный лимит в 200 ГБ, и стала жаловаться. Непонятно одно – почему так быстро.
Главный подозреваемый выяснился быстро – им оказался функционал приложенных документов в карточках материала. А, собственно, совсем недавно было накачено очередное обновление, которое устраняло дублирование приложенных файлов, заменяя его ссылками – ну, все культурно, даже MTOM на сервисах, компрессия потока и выход из SSL.
Расследование указала на вот какую вещь – господа юзвери из регионов стали пользоваться системой для того, чтобы … обмениваться музыкой!
Натурально, заводится пустая карточка материала “под удаление”, затем в ней пишется “Привет, Вася, это тебе новый альбом”, к нему аттачится свежий рип с CD, и с чистой совестью юзер идет пить чай (потому что полгига отправляются небыстро). Когда докачалось, код карточки отправляется по почте или по телефону надиктовывается, и довольный Вася слушает новую музыку, удалив карточку.
Но потом эти наглецы даже перестали удалять временные карточки. Тут мы их и поймали – чего не поймать, если в БД аттачменты откровенно выдаются из остальных данных. Логгирование рулит, да.
Теперь плавающий лимит на приложенные документы, начиная с 5 Мб, и регулярные инструкции :)
понедельник, 9 ноября 2009 г.
Reusable code
Коллективный разум в комментариях склоняется к мысли, что какие-то универсальные методы управления кодом не рулят; каждый в границах своей фирмы/проекта старается по-своему. С переменным результатом, соответственно.
Мои 5 копеек по этому поводу:
- чтобы код в виде компонент/библиотек был re-usable, нужно чтобы он был прежде всего usable. Нет usable -- нет reusable, все просто.
- выделение особого проекта <Фирма-name>.Commons -- верный путь к смерти проекта, потому что в скором времени Commons оказывается толще и жирнее, чем остальные проекты вместе взятые.
- опыт open source показывает аццкое нагромождение велосипедов; даже при том, что google в помощь.
- нужен отдельный человек, который будет заниматься сопровождением повторно используемого кода -- некоторый configuration engineer; позволить себе его могут только крупные фирмы, конечно.
