Пятничное чтиво
Запись стрима уже на ютубе. За 2.5 часов сделали отзывы по компаниям для RubyJobs стриме + вытащили AST из rom relation для последующего создания ERD (entity-relationship diagram). Старые записи можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму.
—————————————
Scalability concepts: distributed ID generation
Генерация ID - тривиальная задача если база одна и отсутствует распределенная система. Проблемы начинаются, когда генерация происходит в распределенной системе с несколькими тредами инкрементирующие значение ID и больше одной базы данных, в которых надо делать генерацию ключа. Автор статьи описывает 6 решений этой проблемы которые включают:
- Централизованную запись;
- Централизованную генерацию значений ID;
- Рандомное значение из большого разброса (по сути UUID);
- Привязка партишена к значению ID;
- Семантический ID;
- Скейлинг ID по географическому признаку;
Так же, автор описывает недостатки каждого из решений, упомянутых выше.
—————————————
UNIX pipes as IO monads
Сумасшедшая статья в которой автор доказывает сходство между монадами хаскеля и пайпами юникс систем. На самом деле я не знаю что еще написать касаемо этой ссылки. Вряд ли статья будет полезна в ежедневной работе, но заставит подумать о привычных вещах с другого ракурса.
—————————————
Retrying failed operations
Лонгрид, в котором автор описывает опыт повторного выполнения упавшего кода, связанного с данными в распределенных системах. Главная проблема, которую будет описывать автор - что делать, если надо синхронизировать данные с кучей сервисов и часть из этих сервисов будет работать как надо, а часть будет обрабатывать данные медленно или падать с ошибками. Для объяснения возможных решений автор сделает платформу, на которой будет показывать каждый из способов. А вариантов решения три:
- Real time retrying;
- Post event retrying;
- Tackling the problem;
Из описанных способов я использовал только первый и последний, причем последний оказался самым сложным, но при этом самым надежным.
——— одной строкой ———
- История совместимости rack и rails
- A collection of Ruby tools for enterprise and more, пока есть только реализация Stream API из джавы.
- Релиз Rails Event Store 1.0
Запись стрима уже на ютубе. За 2.5 часов сделали отзывы по компаниям для RubyJobs стриме + вытащили AST из rom relation для последующего создания ERD (entity-relationship diagram). Старые записи можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму.
—————————————
Scalability concepts: distributed ID generation
Генерация ID - тривиальная задача если база одна и отсутствует распределенная система. Проблемы начинаются, когда генерация происходит в распределенной системе с несколькими тредами инкрементирующие значение ID и больше одной базы данных, в которых надо делать генерацию ключа. Автор статьи описывает 6 решений этой проблемы которые включают:
- Централизованную запись;
- Централизованную генерацию значений ID;
- Рандомное значение из большого разброса (по сути UUID);
- Привязка партишена к значению ID;
- Семантический ID;
- Скейлинг ID по географическому признаку;
Так же, автор описывает недостатки каждого из решений, упомянутых выше.
—————————————
UNIX pipes as IO monads
Сумасшедшая статья в которой автор доказывает сходство между монадами хаскеля и пайпами юникс систем. На самом деле я не знаю что еще написать касаемо этой ссылки. Вряд ли статья будет полезна в ежедневной работе, но заставит подумать о привычных вещах с другого ракурса.
—————————————
Retrying failed operations
Лонгрид, в котором автор описывает опыт повторного выполнения упавшего кода, связанного с данными в распределенных системах. Главная проблема, которую будет описывать автор - что делать, если надо синхронизировать данные с кучей сервисов и часть из этих сервисов будет работать как надо, а часть будет обрабатывать данные медленно или падать с ошибками. Для объяснения возможных решений автор сделает платформу, на которой будет показывать каждый из способов. А вариантов решения три:
- Real time retrying;
- Post event retrying;
- Tackling the problem;
Из описанных способов я использовал только первый и последний, причем последний оказался самым сложным, но при этом самым надежным.
——— одной строкой ———
- История совместимости rack и rails
- A collection of Ruby tools for enterprise and more, пока есть только реализация Stream API из джавы.
- Релиз Rails Event Store 1.0