понедельник, 5 февраля 2018 г.

Семантическое версионирование (Semantic Versioning)

При разработке программных решений встает задача управления изменениями ваших публичных API во времени. Например, у вас есть 2 сервиса А и Б. Сервис А делает запросы к сервису Б по REST API для получения необходимой информации. А зависит от Б, так как для его работы необходима информация из Б. Мы выпускаем новую версию сервиса Б, в которой изменилось API. Как сообщить клиентам сервиса Б, совместим ли API с предыдущей версией? 

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

Для решения вышеописанных проблем можно воспользоваться Семантическим версионированием (Semantic Versioning) - набором правил и требований, которые определяют, как назначаются и увеличиваются номера версии.

суббота, 17 сентября 2016 г.

Федерик Лалу, Открывая организации будущего

Есть книги, после прочтения которых, меняется полностью представление о чем-либо, хочется все поменять вокруг. Одна из таких книг Федерик Лалу "Открывая организации будущего".

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

четверг, 3 марта 2016 г.

Алекс Беллос, Красота в квадрате

На днях прочитал замечательную научно-популярную книгу "Красота в квадрате". Автор с энтузиазмом пишет о математике, истории ее развития, рассказывает сложные вещи простым языком, понятным любому человеку.

- Почему люди любят число 7? 
- Как правильно разделить пирог на 3 части? 
- Как нарисовать эллипс используя нитку и карандаш? 
- Что такое комплексное число? 
- Что такое число пи и число e, и как они связаны друг с другом? 
- Что нужно знать про число е, когда берешь кредит?
- В какую игру нужно играть, чтобы построить колонию живых клеток?

На эти и многие другие вопросы отвечает в книге Алекс Беллос. Книга написана очень качественно и читать ее интересно - я прочитал на одном дыхании. Если вы любите математику, то книга вам очень понравится, а если не любите, то после прочтения полюбите. Всем советую.

P.S. Книга издана в 2015 году, поэтому вы вряд ли ее читали;-)

пятница, 26 февраля 2016 г.

Федерик Брукс, Мифический человеко-месяц

Я созрел и прочитал книгу "Мифический человеко-месяц" Федерика Брукса - американского ученого в области теории вычислительных систем, который управлял разработкой OS/360 в IBM. Также Брукс был награжден Премией Тьюринга - самой престижной премией в информатике в 1990 году. Поделюсь впечатлениями от прочитанной книги.

воскресенье, 17 января 2016 г.

Мониторинг с помощью InfluxData. Часть 3. Chronograf

В предыдущих сериях 

В первой статье мы познакомились с InfluxData - платформой для работы с временными рядами, настроили базу данных временных рядов InfluxDB. Во второй статье настроили сбор метрик и дальнейшую отправку в InfluxDB с помощью Telegraf. В текущей статье научимся рисовать графики значений метрик с помощью Chronograf.

пятница, 8 января 2016 г.

Мониторинг с помощью InfluxData. Часть 2. Telegraf

Добрый день. В предыдущей статье мы познакомились с платформой для работы с временными рядами InfluxData. Разобрались, что она состоит из 4 приложений: Telegraf, InfluxDB, Chronograf и Kapacitor, которые образуют так называемый TICK стек технологий (по первым буквам приложений). Научились устанавливать и работать с базой данных InfluxDB. В текущей статье речь пойдет о приложении Telegraf.

среда, 6 января 2016 г.

Мониторинг с помощью InfluxData. Часть 1. InfluxDB

influxdata
Новый год наступил, а значит самое время узнать что-то новое. Текущая статья начинает серию статей про InfluxData - платформу для сбора/хранения/визуализации/управления временными рядами (time-series data).

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

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

пятница, 23 октября 2015 г.

Raft - алгоритм решения консенсуса в кластере надежных вычислений

Сегодня знакомимся с очень интересным алгоритмом решения консенсуса в сети надежных вычислений - Raft.

Основы алгоритма

Raft реализуется поверх кластера однообразных слабо связных нод, на каждой из которой работает машина состояний. Raft обеспечивает надёжную доставку сигналов на все ноды в заданном порядке. Таким образом обеспечивается переход всех машин состояний по одним и тем же последовательностям состояний. Таким образом, каждая нода гарантированно приходит в согласие с другими нодами.
Каждая нода может находиться в одном из 3-х состояний:

вторник, 20 октября 2015 г.

"Eat your own dog food" - стань клиентом самого себя

Сегодня познакомимся с фразеологизмом: "Eat your own dog food", который давно используется в IT индустрии.

Дословно переводится как: "ешь сам свою собачью еду" и определяет практику, при которой компания разработчик собственного продукта или сервиса использует его сама. Сокращенно практику называют dogfooding. Считается, что на определенных этапах такая практика позволяет увидеть и оценить своими глазами собственный продукт или сервис со стороны клиента.

среда, 30 сентября 2015 г.

e-maxx.ru хороший сборник алгоритмов на русском языке

Сегодня наткнулся на замечательный сайт e-maxx.ru. На сайте описано множество алгоритмов с реализацией на C++. А самое главное - это задачи, в которых применяются алгоритмы.