История проекта SObjectizer, архитектура продукта, принцип работы, примеры использования, особенности процесса разработки и тестирования, мягкая диктатура, релизная политика, просчеты и извлеченные уроки, прицел на будущее.
Если вы плохо позавтракали или недоступность облачной инфраструктуры не позволяет вам тестировать, физическая реакция расстройства делает вас подверженным искаженному мышлению. Мы должны вовремя останавливать нагнетание катастрофы и начинать взаимодействовать с товарищами по команде. Если мы можем распознать искаженное мышление при выборе эвристик тестирования, мы наверняка сможем вовремя оставить эти искажения позади. Поляризация подходит для формальных методов, но не годится для друзей.
Продолжение. Первая часть серии статей опубликована здесь. Класс UserPreferences Класс CFile из первый части статьи продемонстрировал нам, каким образом API, на котором базируется класс, определяет политику распространения исключений данного класса. Там же говорилось о “функциональной совместимости”, которую приходится соблюдать при создании новых классов, использующих некоторый “базовый код”. В первой части в качестве примера рассматривалось создание новой библиотеки. Во второй части полученный опыт будет экстраполирован на создание пользовательского класса. Для демонстрации, [...]
В послужном списке Алексея Пахунова, известного как «Not a kernel guy», более семи лет работы в трех подразделениях Microsoft (Office, OSD и MSR), участие в двух крупных проектах (Axapta и Windows) и нескольких мелких. Текущее место работы – Google. Низкоуровневая разработка, “серьезность” разработчика, тестирование Windows и Chrome, “шерифы” в Google, TDD “по-взрослому”, время-качество-деньги, импровизация как причина авралов – вот некоторые темы нашей беседы. Алексей, каковы истоки выражения «Not a kernel [...]
Gerald Marvin (Jerry) Weinberg делится полувековым опытом в области психологии разработки ПО: стопроцентный сценарий возникновения проблем и надежный способ их избежать. Во что обходятся провалы? Часть перфекционистов в индустрии разработки ПО чрезмерно озабочена провалами, а большинство других не подвергают вдумчивому анализу ценность бесперебойной деятельности. Тем не менее, обычно при тщательной оценке стоимости провала мы видим, что повышение надежности программного обеспечения может принести огромную пользу. В книге “Responding to Significant Software [...]
Команда проекта ChubbyBrain видит свою задачу в накапливании, анализе и предоставлении информации, полезной для стартапов. Ранее мы выделили 32 прощальных послания (post-mortem), в которых предприниматели анализировали причины провала созданных ими стартапов и были столь любезны поделиться уроками, извлеченными из неудач. Многие читатели заинтересовались наиболее типичными причинами краха, которые можно выделить из представленных публикаций. Что ж, мы подготовили ответы на ваши вопросы. После тщательного анализа 32 прощальных заметок предпринимателей мы выделили [...]
Филипп Торчинский, признанный эксперт в администрировании Unix-систем, раскрывает секреты приложений с помощью DTrace. Технология DTrace и подходящие инструменты для ее использования появились в 2005 году, но, несмотря на это, DTrace еще малоизвестна в широких кругах разработчиков и сисадминов. Это тем более удивительно, что за пять с половиной лет, прошедших с выхода системы Solaris 10, в которой она впервые появилась, так и не было придумано более совершенной технологии наблюдения за операционной [...]
Предисловие Статья рассматривает вопросы, относящиеся к обработке исключительных ситуаций [exception handling] в языках, поддерживающих соответствующий механизм. В статье обсуждаются наиболее распространённые проблемы, с которыми сталкивается разработчик, применяя обработку исключений, а также возможные способы решения этих проблем. Основной акцент в статье делается на примерах и прецедентах использования исключений. Статья предназначена для разработчиков, знакомых с объектно-ориентированными языками и будет полезна при освоении этих языков. Основные примеры в статье приведены на C++. Введение [...]
Юрий Удовиченко делится практическим опытом внедрения систем управления конфигурациями ПО. Какие виды деятельности относятся к «управлению изменениями», как выбирать и внедрять соответствующие инструменты, каких ошибок следует избегать – темы сегодняшней публикации. – Видишь суслика? – Нет… – И я не вижу. А он есть! (с) ДМБ Вступление В рамках любого проекта особняком стоит управление конфигурацией продукта (Software Configuration Management, SCM). С одной стороны, такое управление есть, с другой стороны, немалая [...]
За плечами системного архитектора Максима Крентовского десятки завершенных проектов, опыт создания приложений различной тематики и сложности. Ночные кошмары и риски, спагетти-код и баги-кровопийцы, “время-качество-деньги” и взаимодействие с заказчиком, идеальный код и программистский коммунизм, “тяп-ляпы” и “кризис перепроектирования” – вот далеко не полный перечень вопросов, затронутых в беседе. Максим, сможете ли вы выделить факторы, которые влияют на успех/провал разработки и внедрения любого продукта (вне зависимости от его предметной области)? На мой [...]
Максим Крамаренко руководит командой разработки TrackStudio – иерархической системы управления задачами, которую внедрили сотни клиентов в 33 странах мира. История продукта, извлеченные уроки, техпроцесс – русло нашей сегодняшней беседы. Максим, расскажите, пожалуйста, о рождении TrackStudio. Как возникла идея, каковы были первоначальные замыслы? Что представляла собой первая версия, и насколько она была успешна? В 2001 году мы занимались заказной разработкой для крупного иностранного заказчика. После 11 сентября заказчик закрыл проект, часть [...]
Из личного дела Алекса Отта: характер общительный, владеет языками ФП, экспертные знания в сфере информационной безопасности. Активен в проектах с открытым исходным кодом. Алекс, как вы пришли в мир функционального программирования? Что послужило отправной точкой для изучения теоретических основ ФП и первых практических шагов? Я пришел к ФП с практической стороны – теория до сих пор не самая моя сильная часть :-) Первый раз я познакомился с функциональными языками когда [...]
Филипп Торчинский работает в компании Oracle. Признанный эксперт в администрировании Unix-систем, автор книг «UNIX. Практическое пособие администратора» и «Операционная система Solaris». Если вы сегодня еще не сделали резервную копию важных данных на вашем ноутбуке и на сервере, за который отвечаете, сделайте, пожалуйста, а потом вернитесь к чтению этой заметки.
В кругах профессиональных разработчиков Елена Сагалаева (Алена C++) широко известна благодаря своему блогу и докладам на конференциях. Нюансы С++, алгоритмы, геймдев, будущее индустрии, стартапы, обзоры книг – вот далеко не полный перечень тем, которые Елена поднимает в своих публикациях. Поднимает и раскрывает с присущей ей глубиной и основательностью. Программирование для прагматиков – название блога Елены и предмет нашего сегодняшнего разговора. Елена, представим, что машина времени существует и есть возможность вернуться [...]
Александр Дёмин работает в компании Bloomberg, ведет популярный блог «Программирование – это просто», разрабатывает и поддерживает несколько полезных инструментов для разработчиков. Перевел документацию по Google C++ Testing Framework и Google C++ Mocking Framework. В интервью Александр рассказывает о своих подходах к созданию приложений и делится накопленным опытом. Александр, как происходит разработка приложения после того как идея появилась на свет, и вы готовы приступить к ее реализации? Обдумывание общего дизайна, проработка [...]
Есть люди, которых достал Agile. Почему? Разве не должен Agile олицетворять тепло, традиции, отчий дом, высокое качество? Откуда столько гнева? Пришло время быть честными. Давайте взглянем на себя со стороны. Придуманные истории успеха, синдромы волшебной пули и маленькой золотой медали, противоречивые советы. Что такое настоящий, эффективный Agile?
«И назвал Бог свет днем, а тьму ночью.» (Первая книга Моисея). Именование переменных. Мир баз данных: логические уровни, первичные ключи, SQL-операторы, хранимые процедуры. Подходы к разработке: пометка оставшихся проблем, файлы-помощники, модульные тесты. Кладезь практических примеров и рекомендаций.
В самом большом за всю мою карьеру проекте участвовало лишь 3,5 разработчика (менеджер проекта, два штатных разработчика, включая меня, и еще один парень, приходивший на помощь в случае авралов). Ключевым фактором столь высокой эффективности было наличие хорошей библиотеки базовых компонентов (framework). Благодаря ей, мы в основном думали о том, «что» создать, а не «как». Другими словами, мы фокусировались на бизнес-логике продукта, а написание «технического» кода занимало лишь малую часть нашего [...]
Добрый день. Представляя проект «Опыт Экспертов», хочется поговорить о двух законах: Парето и Старджона. Закон Парето, введенный в оборот социологом Вильфредо Парето, гласит: «20 % усилий дают 80 % результата, а остальные 80 % усилий — лишь 20 % результата». Закон не раз и не два подвергался справедливой критике. Если результат складывается из действия множества различных факторов, то их вклад в результат часто бывает различным. Что-то помогает больше, что-то меньше. [...]