2011-02-13

Управление изменениями и кессонная болезнь проектов

Добрейшего!

Давно зрела мысль написать что-нибудь разумное, доброе, вечное. Бойся своих желаний!

Итак, для сайта OpenQuality.ru написал программную статью Управление изменениями и кессонная болезнь проектов. Получилось много и подробно - спасибо редактору сайта Юрию за правильно поставленные вопросы и предложения. Статья, как можно понять из названия - про то, как управлять изменениями в проекте и как изменяющийся масштаб проекта влечет за собой то, что у людей принято называть декомпрессионной болезнью (кессонкой).

В общем, читаем и высказываемся в комментариях к статье.

2011-02-12

Используем git для управления сайтом

Добрейшего.

Я достаточно давно работаю в отрасли разработки приложений для веба, поэтому всегда с двойным интересом читаю материалы о применении SCM для веб-разработки. Поэтому этот материал особенно порадовал: Using Git to manage a web site, что означает примерно "Как с помощью гита управлять веб-сайтом".

Идея, в общем-то, не нова. Берём git, создаем репо у себя и репо на сервере, где лежит сайт. Далее с помощью напильника и механизма хуков (hooks) настраиваем, чтобы при получении очередной дельты через push, локальная копия исходников сайта обновлялась из репозитория. Разработчик меняет код, делает push на сервер, там срабатывает хук, который разворачивает новые исходники в ту директорию, где у вашего сайта DocumentRoot.

Думаю, что-то аналогичное можно придумать и для Mercurial.

Для тех, кто использует распределённые системы контроля и пишет под веб, это хорошее решение.

2011-02-05

Как выбирали между Mercurial и git для Google Code

Добрейшего.

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

С самого начала своей работы проект Google Code поддерживал только Subversion. Надо полагать, в виду его распространённости - ведь после заката CVS именно он стал стандартом де-факто среди бесплатных систем контроля версий. Проблемой выбора распределённой VCS команда озадачилась в 2008 году, в результате чего появилось вот это эссэ: Analysis of Git and Mercurial. Для тех, кто до сих пор поленился хоть немного изучить английский, есть народный перевод. Несмотря на мелкие неточности и стилистические ошибки, вполне можно понять, о чём речь.

Как видно на сайте Гугл.Кода, выбор пал на Ртутного. Причины - в тексте. Также встречал примерно следующее мнение - мол, приверженцы Subversion обитают на SourceForge, фанаты git - на github, ну и Гугл решил в чужой огород не лезть и взял под крыло Hg. Почему бы нет. К тому же, Python, на котором написана бОльшая часть Hg, весьма любим в компании.

P.S. Первый же коммент к оригинальному тексту вопрошает - почему Bazaar даже не рассматривали? Думаю, в первую очередь из-за его меньшей распространённости. Однако, прочитав очередной Bazaar hate speech, подумал, что не только поэтому :) Хотя это субъективное мнение, конечно.

Update: git таки появился среди поддерживаемых систем, не прошло и полгода: http://code.google.com/p/support/wiki/ChoosingAVersionControlSystem

2011-01-18

Книги // Software Configuration Management Patterns

Добрейшего.

Атака на книжную полку продолжается. На этот раз под раздачу попала ещё одна книжку из числа тех, что выбрал себе для детального ознакомления. Называется Software Configuration Management Patterns: Effective Teamwork, Practical Integration, авторы - Стёпа Берчук (Stephen P. Berczuk) и Брэд Эпплтон (Brad Appleton). На русский можно перевести как "Шаблоны управления конфигурацией ПО: Эффективная работа команды, практическая интеграция."



Тема шаблонов в разработке софта прорабатывается уже достаточно давно. Причем, как выяснилось, начало своё она берет из архитектуры. Сергей Тепляков не так давно рассказал на страницах RSDN Magazine об истоках этого направления, почитайте (после этой заметки, конечно же).

Как и в любой другой области знаний, в SCM есть свои устоявшиеся практики, методики и просто удачные способы сделать работу эффективной. Соответственно, кто-то должен был уже упорядочить всё это в одном источнике. Авторы же имеют большой опыт не только разработки ПО, но и управления конфигурациями, так что именно они и взялись за задачу.

2011-01-05

Книги // Adapting Configuration Management for Agile Teams

Cigarettes and coffee, man, that's a combination.
(c) "Coffee and Cigarettes", Jim Jarmush

Сам я не курящий, однако для книжки, про которую пойдет речь, это вполне подходящий эпиграф. Потому как книжка - про соединение двух очень связанных областей - это гибкие методологии разработки (a.k.a. Agile) и управление конфигурацией (a.k.a. SCM).

Однако, обо всём по порядку. Не так давно я делал обзор книг по SCM. Заинтересовавшие книжки приобрёл и начал планомерно с ними знакомиться. В первую очередь ознакомился с трудом Боба Айелло Configuration Management Best Practices. Книжка была стоящей, как и ожидалось. Боб, как выяснилось, немного знает русский (работал волонтёром в ER и часто бывал на Брайтон Бич ;) ) и с помощью знакомого русофила ознакомился с отзывом, после чего сильно благодарил.

Следующей в прочтение попала книга Adapting Configuration Management for Agile Teams: Balancing Sustainability and Speed за авторством Марио Морейры (Mario E. Moreira). Название можно перевести как "Применение SCM в командах с гибкими методиками разработки: в равновесии между устойчивостью и скоростью". Что по-русски, что по-английски - одинаково громоздко, однако смысл понятен.
Перед прочтением опасался, что книжка будет похожа на героев старого анекдота про морскую свинку, однако опасения были напрасными.

2010-12-12

Обзор книги Configuration Management Best Practices

Добрейшего.

Как уже знают постоянные читатели бложика, не так давно я озадачился поиском книжек по управлению конфигурацией ПО. В результате получился обзор литературы по SCM, преимущественно англоязычной. Финалистами стали 3 книжки, которые было решено приобрести и изучить. И первой из них - как по "интересности", так и по авторитетности лично для меня - стала книга Configuration Management Best Practices: Practical Methods that Work in the Real World, написанная Бобом Айелло (Robert Aiello) в соавторстве с Лесли Сакс (Leslie Sachs). На русский название можно перевести как "Лучшие практики управления конфигурацией: практические методы, работающие в реальном мире".



Пока заказывал и дожидался - успел прочитать в электронном виде (пиратство - страшное зло!), однако потраченных денег не жалею - труд автора должен быть оплачен. Да и книжка весьма приятна внешне и внутренне. О чём же она?

2010-12-10

Как работают распределенные системы контроля версий

Добрейшего.

В последнее время у меня как-то много стало появляться заметок с упоминанием Codice Software. В первую очередь, это связано с тем, что я делал обзор Plastic SCM, а также рассказывал про Community Edition этого продукта. Да, понравился мне Пластик, чего у там. К тому же Пабло, один из основателей компании, постоянно публикует разные интересные материалы. Тут и история систем контроля версий, и рассказ про подход "ветка-на-задачу", перевод которого я сделал. В общем, compañero Pablo времени не теряет и всячески популяризирует своё детище и контроль версий вообще.

Ну а на днях он продолжил правое дело просвещения и опубликовал очередную заметку: DVCS for Everyone, что означает примерно "Распределенные системы контроля версий доходчиво для всех".

Что интересного? Простым языком объясняется, что такое централизованные системы контроля версий, что такое распределенные системы, какие бывают их виды и чем они друг от друга отличаются. Есть даже объяснение работы mutsi-site, да ещё и с упоминанием ClearCase, за что большой респект. Как обычно - всё понятно, в усиление дается несколько доходчивых картинок, юмора немного - в итоге читается легко и непринужденно.

В общем, переводить не вижу смысла, читайте как есть.

Ну и картинка с иконкой github для привлечения внимания :

2010-11-15

История развития систем контроля версий

Добрейшего.

Пабло из Codice Software порадовал экскурсом в историю систем контроля версий. Написано живенько, с юмором, очень приятно читать.
Да и главная картинка порадовала, здесь на шкалу времени он положил для сравнения мобильные телефоны, используемые в то время, о котором идет речь (кликабельно):

Кто интересуется предметом - рекомендую для расширения кругозора.

2010-11-12

Отличная статья о сборке продуктов промышленного уровня


Добрейшего.

В октябре в Москве проходила очередная конференция "Разработка ПО". Поехать не смог (да и узнал слишком поздно), однако почитать темы и тезисы докладов, послушать отзывы - такая возможность имелась. Я хоть и в берлоге на берегу моря живу, но инторнеты у нас тоже имеются, да.

Понятное дело, решил узнать, что нынче говорят про SCM в кругах разработчиков. Выяснилось, что почти ничего. Однако был на этом празднике жизни один доклад, который таки оправдывает существование конференции :) Более того, он сильно перекликается с одной из моих старых заметок.

Issues and Challenges with Industrial-Strength Product Composition (Проблемы и спорные вопросы сборки продуктов промышленного уровня). Докладчики - потомки суровых викингов, Лар Бендикс (Lars Bendix, адъюнкт-профессор из Lund University) и Андреас Горансон (Andreas Göransson, сотрудник Sony-Ericsson).


Что же так порадовало?

2010-11-02

Вышел Plastic SCM Community Edition

Добрейшего.

Пропустил вчера, сегодня исправляюсь.
Codice Software, выпускающая Plastic SCM, обзор которого я не так давно делал, решила пойти навстречу малым командам и выпустила Plastic SCM, Community Edition. Это всё тот же Пластик, только обновилась схема лицензирования. Команды до 15 человек могут ставить его себе безвоздмездно, то есть даром. Ну что, неплохой подарок. Стоял бы сейчас передо мной вопрос выбора системы управления исходным кодом - думаю, не удержался бы и внедрил на пробу.

Кстати, как раз вчера они выпустили ещё и новую версию, Plastic 3.0.7, с кучей фенечек для интеграции с MS Visual Studio. Выглядит приятно.

Кто не пробовал, но интересуется тематикой бложика - не побрезгуйте, зацените.