Страница телеграм канала Pepegramming

pepegramming logo

Pepegramming

587 подписчиков

Грустно о программировании. Все проблемы сюда: @davydovanton Ссылки на конкретные посты: http://telegra.ph/Pepegramming-Contents-03-11 Обратная связь: https://goo.gl/forms/iUd1Gufq6WnTsaO62


Входит в категории: Технологии
Pepegramming
25.10.2019 17:10
Привет! Последний месяц рассылка даётся все сложнее и сложнее, поэтому решил снизить напряг и взять перерыв. Хочу верить, что в ближайшее время отдохну и все вернётся на свои места.
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
18.10.2019 14:10
Привет! Завтра буду выступать в Орле (http://developers-day.ru), поэтому ссылки подготовить не успел. Если будете на мероприятии - у меня куча наклеек, которые я буду рад раздать.
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
11.10.2019 18:10
Пятничное чтиво Стримы на паузе, а вспомнить что было можно тут. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Documenting Software Architecture Статья этого года в личном списке. В тексте указываются виды документации в архитектуре. Описывается 6 видов документации и диаграмм. Особенно полезным стала информация о 4+1 Architectural view model и Architecture Decision Records. А так же, автоматическую генерацию dependency diagrams делаю в dry-system-dependency_graph. Если задумались о стандартизации и описанию системы - однозначный мастрид этой пятницы. ————————————— The expanding sidecar pattern for microservices with ballerina sidecar Sidecar pattern - основной партерном в распределенных системах. Описание паттерн советую читать на сайте Microsoft. А в статье описывается три этапа развития паттерна. А так же рассказывается о языке ballerina, который поможет реализовать подобный паттерн и упростить интеграцию между сервисами. ————————————— 10 lessons learned from the Ruby Refactoring Kata Рефакторинг нужен не только для увеличения maintainability в проекте, но и так же как обучающее упражнение. Andrzej сделал рефакторинг программы для отображения результатов игры в теннис и рассказал об уроках, которые узнал для себя. В результате, после рефакторинга, программа похожа на стейт машину, а из уроков стоит выделить два: - нет доверия тестам; - желательно знать о домене, в котором работаешь;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
04.10.2019 15:10
Пятничное чтиво Конференция прошла, наступило время отдыха. В планах перенести статьи на сайт (в разработке) и начать второй сезон стримов. Вспомнить что было можно тут. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Как сервера договариваются друг с другом: алгоритм распределенного консенсуса Raft В прошлом выпуске рассматривалась проблема консернуса в распределенных системах. В конце упоминал об алгоритме raft, который используется в nats. Сегодня, ребята из додо, описывают принцип работы данного алгоритма. В сегодняшней статье описываются понятия и сам алгоритм согласования. А на одном стримов попробуем написать этот алгоритм на руби. ————————————— Understanding Zeitwerk in Rails 6 В этом году, на конференции, Xavier Noria рассказывал о собственном проекте, который называется zeitwerk. Инструмент решает проблему загрузки в руби коде, rails 6 использует гем по дефолту. В статье рассматривается, как zeitwerk работает, какую конкретно проблему решает и как работает автолоадинг теперь. Также показывается, что делать если хотите использовать библиотеку вне рельс (гем уже встроен в karafka). ————————————— Day Two Problems When Using CQRS and Event Sourcing На последок - любимый тип статей с проблемами использования технологий. Сегодня рассматривается где и как эвент сорсинг и CQRS. Список проблем, затронутых в тексте: люди слишком рано начинают использовать подобные паттерны, консервативная обработка событий и нерациональное использование снепшотов для состояния. От себя добавлю проблему стандартизации событий между командами и отсутствие опыта инженеров, которые имплементируют подобные системы. ——— одной строкой ——— - Релиз dry-effects;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
30.09.2019 17:09
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
30.09.2019 17:09
спасибо ребятами из питера (@saintprug), в интернете появилась моя запись доклада про DI в руби. Если не знаете что это или хотите послушать историй из UK - маст хев на сегодня
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
27.09.2019 13:09
Пятничное чтиво Буду рад встретиться завтра на rubyrussia. Найти меня можно будет либо рядом со стойкой toptal, либо на докладе (2 зал, сразу после обеда), либо в холле во время докладов. На докладе покажу библиотеку, надо которой работал последние пол года. Если любите графическую визуализацию проектов - доклад понравится. Так же отмечу доклад Никиты о эффектах. Благодаря прогону доклада понял что такое эффекты, зачем и что с этим знанием делать. Кроме того, сделал стикеры с ханами. До встречи на конференции! ————————————— Differences between gRPC and RSocket На работе нужно было выбрать подходящий способ сообщения между сервисами (синхронный и асинхронный). И для синхронной коммуникации написано десятки вариантов. Сегодня статья о RSocket. Библиотека придумали и сделали в нетфликсе. Сам код представляет собой имплементацию бинарного протокола для стриминг транспортов. Идея похожа на web sockets, в котором сообщения сериализуются в бинарный формат. В статье автор сравнивает Rsocket и gRPC, описывает особенности, плюсы и минусы каждой библиотеки. Так же, у rsocket понятная спецификация, а в руби имплементации отсутствуют зависимости. ————————————— How do you visualise dependencies in your Kubernetes YAML files? visualixir На своём докладе покажу как визуализировать бизнес зависимости (модели, сервисы, все вот это) в руби проекте, вне зависимости от фреймворка. И покажу библиотеку, которая делает подобную визуализацию автоматически. А в качестве затравки, два проекта, которые вдохновили. Первый проект - визуализация кластера k8s. Необходимая метаинформация уже лежит в k8s, главное написать UI для отображения системы. О том как это сделать - первая статья. Второй проект - визуализация процессов в erlang vm. С динамическим отображением спавнов новых процессов и трассировкой сообщений. ————————————— Git for Computer Scientists Люблю тексты или видео, которые объясняют и показывают как работают привычные вещи. Сегодня статья о том, как устроен гит под капотом. Показывается, как устроены коммиты, теги и деревья. А в качестве практической стороны, советую статью от thoughtbot, в которой автор переписывает гит на руби. ——— одной строкой ——— - Первый питерский RailsGirls стартует 1го ноября
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
20.09.2019 16:09
привет! в виду большой загружености на работе и из-за http://rubyrussia.club конференции, ссылок не будет на этой неделе
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
13.09.2019 19:09
Всем спасибо, кто смотрел стрим. Спасибо за два билета http://rubyrussia.club конференции и один отдало лучшее питерскомое руби сообщество @saintprug. Победители @aemelyanov86 @monacus @b0nn1e Запись стрима уже на ютубе

До встречи на конфернеции
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
13.09.2019 19:09
Начинаем стрим https://www.twitch.tv/davydovanton
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
13.09.2019 17:09
в 19:00 проведу 10 минутный стрим, где разыграю 3 билета на конференцию и отвечу на вопросы по конференции, если такие будут Так же потом залью все на ютуб для тех, кто пропустит
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
13.09.2019 15:09
3 билета, моя невнимательность погубит меня
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
13.09.2019 15:09
Пятничное чтиво Сегодня вечером разыгрываем 3 билета на rubyrussia конференцию. Если хотите успеть поучаствовать: - Заполняем форму; - Рассказываем друзьям и коллегам о розыгрыше; - Сегодня вечером разыгрываю 2 билета; ————————————— Аварии помогают учиться Ошибки случаются, поэтому важно уметь учиться на них. В расшифровке доклада дается определение инцидента, а также показывается как писать постмортемы и как с ними работать. В самом докладе понравилось обилие ссылок на дальнейшее чтение, описание опыта и мыслей, например глоссарий терминов. Если хочется научиться получать выгоду из инцидентов или интересна эта тема - однозначный мастхев. ————————————— Кот Шрёдингера без коробки: проблема консенсуса в распределенных системах Популярная проблема распределенных систем - согласованность (consensus) записи данных. В статье даются основные определения и проблемы согласованности, рассказывается в чем отличие синхронной и асинхронной модели коммуникации в таких системах, почему в синхронной модели отказ одного узла ломает систему целиком. Так же рассказывается об семействе алгоритмов paxos, которые решают проблему консернуса. Этот алгоритм используется в cassandra, Amazon Elastic Container Services и как замена zookeeper в Neo4j Если интересна эта тема, советую посмотреть на raft алгоритм, который решает похожую проблему и используется в NATS. Думаю, в будущем можно будет реализовать подобные паттерны на стримах, чтобы лучше понимать как это работает под капотом. ————————————— http://amp.gs/N3wI Distributed Tracing визуализирует путь запроса (или событий) в сервисной архитектуре. В монолитном приложении хватает обычного request_id, но когда дело касается сервисов, нужна группировка сложнее. В статье рассказывается что такое распределенная трассировка, зачем нужна и как работает. А так же сравниваются проекты, которые помогают интегрировать трассировку. А для тех, кто хочет добавить в трассировку события, статья от confluent о том, как работает zipkin + kafka: The Importance of Distributed Tracing for Apache-Kafka-Based Applications Понравился пример визуализации сообщений между сервисами, который показан в конце статьи. Так как последнее время трачу много времени на подобные визуализации
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
11.09.2019 17:09
Напоминаю, что в эту пятницу (13 сентября), мы разыграем 3 билета на https://rubyrussia.club! Условия как и в прошлом году: - Заполняем форму (https://forms.gle/QWpzvzKjktL7jA4b8); - Рассказываем друзьям и коллегам о розыгрыше; - 13 сентября разыгрываю 3 билета;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
06.09.2019 12:09
Пятничное чтиво На этой неделе проходит Ruby Conference в Бангкоке. Если вы тоже тут - у меня есть стикеры, которыми с радостью поменяюсь. Розыгрыш трех билетов на rubyrussia продолжается! Условия как и в прошлом году: - Заполняем форму; - Рассказываем друзьям и коллегам о розыгрыше; - 13 сентября разыгрываю 2 билета; ————————————— In praise of property-based testing В сентябре, increment выпустили цикл статей о тестировании. Сегодня в списке статья о property-based тестировании. Такой вид тестирования популярен в haskell, python и erlang, а в руби проперти тесты не так популярны. В статье объясняется что такое property-based тестирование, приводятся примеры на python. Если хотите использовать руби - советую rantly библиотеку, а так же статью с dev to с подробностями. ————————————— What’s the real benefit dependency injection brings to you Автор статьи задумался чем может быть преимущество DI в ежедневном использовании. Чаще всего, под киллер фичей DI, подразумевают иной подход к тестированию. В статье говорится об еще одной особенности: упрощение создания boundary между слоями системы. От себя добавлю, что поддержка зависимостей становиться проще, так как зависимости класса находятся в начале файла. И по названию класса и зависимостям, можно сказать, что будет происходить в файле быстрее, чем читая весь код. ————————————— Sagas pattern implementation in Elixir SAGA pattern, который помогает создавать distributed transactions, популярен в SOА архитектуре. В статье, на примере букинга, рассказывается о том, как реализовать подобный паттерн. Описывается изначальный паттерн (которому уже 32 года) и показывается sage библиотека для elixir, с помощью которой можно создать сагу любой сложности. ——— одной строкой ——— - Список ссылок о типах в руби;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме