Как стать автором
Обновить

Компания AllMyChanges.com временно не ведёт блог на Хабре

Сначала показывать

Что выбрать — Кавайность, Роботность или Социальность?

Время на прочтение4 мин
Количество просмотров2.4K
Сегодня я хочу поговорить про будущее сервиса AllMyChanges.com. Для тех, кто впервые о нём слышит, поясню, это такой сервис для подписки на выход новых версий библиотек, софта и чего угодно, что имеет номер версии и её описание. Более подробно можно почитать в предыдущих статьях.

Этот сервис существует уже довольно продолжительное время, но поскольку развивается он благодаря лишь настойчивости основателя и без всяких внешних вливаний, то для успешного роста необходимо фокусироваться на действительно важных вещах.

Я вижу, как минимум три направления развития сервиса и предлагаю обсудить их в деталях, а так же проголосовать, каким из направлений заниматься в первую очередь. Таким образом, сегодня вы получается уникальный шанс повлиять на развитие этого стартапа, помочь выкристаллизовать основные идеи и определиться с направлением развития.

Итак, как уже было сказано, я вижу три направления развития. Давайте посмотрим на первое.

Кавайность


Многие пользователи говорят мне, и не без оснований, что сервис мог быть и посимпатичнее, или поудобнее. При этом, как правило, кивают в сторону конкурентов, типа Sibbel, советуют взять Bootstrap и тому подобное.

Никто впрочем, не опускается до деталей и подобные замечания, как правило, неконструктивны, а потому заканчиваются ничем.

hello skitty

Я прекрасно понимаю, что сервису недостает модного ныне гламура. Но зато он отлично выполняет свои функции — парсит ченьджлоги и рассылает уведомления о новых релизах.
Читать дальше
Всего голосов 18: ↑8 и ↓10-2
Комментарии5

Как устроен поиск и парсинг ченьджлогов в AllMyChanges

Время на прочтение4 мин
Количество просмотров3.2K
Хотите заглянуть вовнутрь и узнать, как устроен AllMyChanges.com? Сегодня я немного расскажу вам, как работает наш робот и почему ему удается так хорошо находить информацию о релизах.

На самом деле, весь наш робот, это просто набор функций.
Поиск и обработка ченьджлогов состоит из нескольких этапов:

  1. надо понять, каким образом получать данные по урлу;
  2. использовать выбранный метод, чтобы скачать данные на диск;
  3. пройтись по скачанным файлам и извлечь из них куски, которые имеют номер версии и описание;
  4. понять, какие куски реально являются частью ченьджлога, а какие – просто мусор;
  5. сложить найденное добро в базу.

Части 1,2 и 5 вполне себе механические и не требуют от робота особого интеллекта.

Получение данных


В предыдущей статье я упоминал о том, что AllMyChanges поддерживает несколько различных источников данных. Во-первых, он умеет выкачивать из из Git и Mercurial. Во-вторых — умеет скачивать HTML страницы, как по одной, так и рекурсивно обходя весь сайт. Ну и в-третьих, наш робот может скачивать некоторую информацию из App Store и Google Play.
Читать дальше
Всего голосов 19: ↑14 и ↓5+9
Комментарии6

Миссия AllMyChanges

Время на прочтение3 мин
Количество просмотров4K
Когда наш проект только зарождался, он базировался на гипотезе, что почти для любой библиотеки можно найти changelog, а если найти нельзя, то можно построить его из коммит-мессаджей. Но реальность оказалась не столь радужной, как нам того хотелось: то файл changelog в каком нибудь безобразном формате попадётся, то его перестали вести, а продукт меж тем развивается, то что нибудь ещё. И тогда мы поняли, что распарсить мир – мало, надо его менять.

Изменить что-то за один миг — необычайно сложная задача


Поэтому мы не ставим себе такую цель. Миссия AllMyChanges в том, чтобы дать разработчикам всего мира понять, что ChangeLog это их способ взаимодействия с внешним миром, такой же канал, как блог или твиттер-аккаунт.

Mr. Speaker

До появления нашего сервиса, сложно было сравнивать простой ChangeLog с блогом, поскольку не было способа подписаться на обновления. Ведь ссылку на rss фид блога можно закинуть в rss читалку, на соцпрофиль можно подписаться, зафолловив человека, а подписаться на изменения библиотеки было сложно.
хмм, что же там дальше?
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Как мы делали лучший трекер релиз-ноутов

Время на прочтение3 мин
Количество просмотров9.5K
Друзья, сегодня я хочу рассказать вам о том, как появился на свет сервис Allmychanges.com. Дело было в далеком 2013 году. Солнечным осенним днем я обдумывал идеи для реализации в рамках двухдневного хакатона Django Dash. Хотелось сделать какой-нибудь сервис для разработчиков, но не очередной континуос-интегрейшн-в-облаке, а что то более интересное и полезное.

Проблема номер один


И вот, в результате возникла такая идея – а что если сделать сервис, которому даешь URL, а он сам находит и показывает ChangeLog проекта? Ведь какая проблема с большинством, да что там с большинством – со всеми софтверными проектами – сложно найти, что у них изменилось от версии к версии. А в release notes, порой, можно найти интересные и полезные вещи. Разработчики Django, к примеру, пишут не только от том что изменилось, но и про всякие деприкешены и про то, как мигрировать с одной мажорной версии на другую.

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

Image by Mike, on Flickr

Однако даже для проекта, мейнтейнеры которого заботливо ведут ChangeLog, найти его бывает проблематично. Почему? Да потому что фреймворки и библиотеки пишут люди, а люди все разные. Кто то записывает release notes в файлике NEWS, кто то в ChangeLog, a некоторые разбрасывают их по отдельным файликам типа docs/src/releases/1.7.rst. Хуже всех те, кто то вообще не ведет человеческих релиз ноутов и заставляет вас ползать по гит-логу и собирать крупицы знаний по коммит-мессаджам.
Дальше будет интересней
Всего голосов 19: ↑17 и ↓2+15
Комментарии27