Избранное из глав "птицы".
Глава 2. Разделение компонентов.
Архитектурный квант - условно сервис, который деплоится отдельно.
Хотя несколько сервисов вполне могут представлять собой один квант, и часто это делают:
Например:
общая база данных => у вас один архитектурный квант
общий ui => у вас тоже один архитектурный квант )
есть оркестратор запросов => мб у вас тоже один квант ))
Динамический coupling между квантами
3 "силы", которые формируют пространство для принятия решений:
- взаимодействие между квантами - синхронное (вызывающий ждёт, чтобы продожить) или асинхронное (не ждёт)
- согласованность - атомарные транзакции или приемлемо eventual consistency
- координация - оркестратор (есть сервис, к-й отвечает за координацию) или хореография (нет координатора)
Понравилась табличка с вариантами, особенно horror )
Глава 3
О том, что тестируемость, развёртываемость, масштабируемость, доступность, отказоустойчивость лучше у небольших сервисов.
Поэтому если у вас проблемы с финансами, нужно срочно перейти на микросервисы (немного утрированный пример из главы 😁)
Так то это так мб, но возникают другие проблемы, и как будет с той же тестируемостью у системы в целом?
Впрочем, учебные примеры часто бывают немного странными. Допустим, всё же нужно разделиться, посмотрим )
#книги@anna_codes #arch_hard_parts@anna_codes
Глава 2. Разделение компонентов.
Архитектурный квант - условно сервис, который деплоится отдельно.
Хотя несколько сервисов вполне могут представлять собой один квант, и часто это делают:
Например:
общая база данных => у вас один архитектурный квант
общий ui => у вас тоже один архитектурный квант )
есть оркестратор запросов => мб у вас тоже один квант ))
Динамический coupling между квантами
3 "силы", которые формируют пространство для принятия решений:
- взаимодействие между квантами - синхронное (вызывающий ждёт, чтобы продожить) или асинхронное (не ждёт)
- согласованность - атомарные транзакции или приемлемо eventual consistency
- координация - оркестратор (есть сервис, к-й отвечает за координацию) или хореография (нет координатора)
Понравилась табличка с вариантами, особенно horror )
Глава 3
О том, что тестируемость, развёртываемость, масштабируемость, доступность, отказоустойчивость лучше у небольших сервисов.
Поэтому если у вас проблемы с финансами, нужно срочно перейти на микросервисы (немного утрированный пример из главы 😁)
Так то это так мб, но возникают другие проблемы, и как будет с той же тестируемостью у системы в целом?
Впрочем, учебные примеры часто бывают немного странными. Допустим, всё же нужно разделиться, посмотрим )
#книги@anna_codes #arch_hard_parts@anna_codes
❤5👍4🤓1
Недавно закончила курс по Go от отуса.
Не было в моих планах, тем более курс "с нуля", но появилась возможность, и я решила воспользоваться.
Было интересно также с точки зрения проектирования курсов - как строится программа, как организовано обучение.
Формат такой: вебинары 2 раза в неделю по 2 часа по вечерам + домашки и проект. Пытаются в интерактив, но мне это не помогло, скучно. Может быть, формат не подходит, может быть, курс слишком базовый (на синкнетику же хожу нормально :)
В итоге можно сказать, что ни на одно занятие не сходила и не посмотрела в записи, кроме встреч по обсуждению проектов, qa-сессии и защиты.
Зато делала домашки. В начале курса идёт совсем база, установка, гит и тд - в итоге ничего не делаешь. Дальше одно упражнение по го и работа над проектом )
Проект можно взять свой или выбрать из предложенных.
Говорят, изначально на курсе были просто домашки, а уже потом проектная работа. Подозреваю, что в таком случае никто не успевал делать проект, и доходимость была совсем низкая.
С проектом лучше, но тогда нужно каждую домашку подтягивать под проект. Не всегда удобно с учётом того, что домашки сформулированы в стиле "надо сначала понять, что хотел сказать автор", а проверяющий преподаватель как будто не всегда в теме. Ревью формальное, особенно под конец. Ну я понимаю, смотреть пр со 100500 изменений... к тому же сколько их там у препода.
Возможно, стоило просто делать проект и не привязываться к дз. Но тогда не было бы ощущения завершённости курса, хотя сертификат всё равно дают в таком случае.
В итоге:
Было ли полезно? Да, научилась новому. Но из-за курса я отложила архитектуру, оказалось тяжко 💔
Изучила ли го? Нет, для этого надо писать для прода.
Могу ли писать для прода? Да, конечно )
Сам курс: с нуля я бы не рекомендовала, с приличным бэкграундом - тоже. С небольшим опытом пойдёт, если мотивируют дедлайны и нужна структура )
#go@anna_codes
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👀6👍2
На днях прошла очередная конференция Ruby Kaigi
Чуть позже сделаю обзор, а пока зацепилась за это:
Матц (и Claude) сделали spinel💎
Это AOT (ahead-of-time) compiler. Можно наконец-то делать бинарники из рубишных программ, пусть и с ограничениями.
Пользоваться можно так:
- ставите spinel (
- компилируете -
- запускаете
Кол-во фич ограничено, так что надо думать, что используем )
Сейчас, конечно, это проще - можно попросить llm написать код с учётом ограничений, или адаптировать существующий.
Помимо примера из ридми попробовала хелло-ворд и простую прогу, которая выводит текст в рамке.
Программы такого плана работают, как-нибудь попробую адаптировать то, что посложнее )
Пример:
Матц давно говорит о компиляции руби-кода, теперь проще двигаться в эту сторону. Посмотрим, что дальше 🍿
Поделитесь, если тоже попробуете 😉
#ruby@anna_codes
Чуть позже сделаю обзор, а пока зацепилась за это:
Матц (и Claude) сделали spinel
Это AOT (ahead-of-time) compiler. Можно наконец-то делать бинарники из рубишных программ, пусть и с ограничениями.
Пользоваться можно так:
- ставите spinel (
git clone + make deps + make)- компилируете -
./spinel hello.rb- запускаете
./helloКол-во фич ограничено, так что надо думать, что используем )
Сейчас, конечно, это проще - можно попросить llm написать код с учётом ограничений, или адаптировать существующий.
Помимо примера из ридми попробовала хелло-ворд и простую прогу, которая выводит текст в рамке.
Программы такого плана работают, как-нибудь попробую адаптировать то, что посложнее )
Пример:
text = ""
if ARGV.length > 0
text = ARGV[0]
end
lines = [text]
width = 0
lines.each do |line|
len = line.length
if len > width
width = len
end
end
top = "┌" + ("─" * (width + 2)) + "┐"
bottom = "└" + ("─" * (width + 2)) + "┘"
puts top
lines.each do |line|
puts "│ #{line.ljust(width)} │"
end
puts bottom
Матц давно говорит о компиляции руби-кода, теперь проще двигаться в эту сторону. Посмотрим, что дальше 🍿
Поделитесь, если тоже попробуете 😉
#ruby@anna_codes
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥13👍6👀2🔥1
Привет!
Сегодня пара материалов по конкурентности и параллелизму в Ruby (и не только).
Статья от Carmine Paolino (автора ruby llm)
- рубишный 101 по конкурентности и параллелизму: особенности процессов, ракторов, тредов, файберов
- как планируются треды и файберы, почему файберов можно запустить намного больше
- когда всё же есть смысл выбрать треды, а не файберы, несмотря на то, что они "тяжелее"
- цвет функций и его отсутствие (colorless в ruby и необходимость писать async/await в питоне и js)
- проблемы с ракторами и их экспериментальностью ✊😄
Понравились схемы и сравнение с другими яп.
Цикл статей о конкурентности и параллелизме в Ruby от JP Camara
Уже писала про него, с тех пор немного дополнил. Я думаю, если допишет, уже потянет на книгу.
Поделитесь в комментах избранными статьями по теме, особенно не рубишными ✨
#ruby@anna_codes
Сегодня пара материалов по конкурентности и параллелизму в Ruby (и не только).
Статья от Carmine Paolino (автора ruby llm)
- рубишный 101 по конкурентности и параллелизму: особенности процессов, ракторов, тредов, файберов
- как планируются треды и файберы, почему файберов можно запустить намного больше
- когда всё же есть смысл выбрать треды, а не файберы, несмотря на то, что они "тяжелее"
- цвет функций и его отсутствие (colorless в ruby и необходимость писать async/await в питоне и js)
- проблемы с ракторами и их экспериментальностью ✊😄
Понравились схемы и сравнение с другими яп.
Цикл статей о конкурентности и параллелизме в Ruby от JP Camara
Уже писала про него, с тех пор немного дополнил. Я думаю, если допишет, уже потянет на книгу.
Поделитесь в комментах избранными статьями по теме, особенно не рубишными ✨
#ruby@anna_codes
Carmine Paolino
Ruby Concurrency: What Actually Happens
Every 'what happens when' question about Ruby concurrency, answered with diagrams.
👍11❤6🔥4🤓3
Привет!
В понедельник 25.05 в 19:00 будет встреча с Владимиром Дементьевым, автором книги "Слоёные рельсы".
Обсудим второе издание книги, рубишные конференции, ещё что-нибудь. Можно накинуть тем в комменты, можно прийти и задать вопросы на встрече 😎
Ссылку приложу в понедельник, будет телемост.
#стрим@anna_codes #ruby@anna_codes
В понедельник 25.05 в 19:00 будет встреча с Владимиром Дементьевым, автором книги "Слоёные рельсы".
Обсудим второе издание книги, рубишные конференции, ещё что-нибудь. Можно накинуть тем в комменты, можно прийти и задать вопросы на встрече 😎
Ссылку приложу в понедельник, будет телемост.
#стрим@anna_codes #ruby@anna_codes
👍13❤7🔥4
Анна Буянова (Anna Codes)
Привет! В понедельник 25.05 в 19:00 будет встреча с Владимиром Дементьевым, автором книги "Слоёные рельсы". Обсудим второе издание книги, рубишные конференции, ещё что-нибудь. Можно накинуть тем в комменты, можно прийти и задать вопросы на встрече 😎 Ссылку…
telemost.yandex.ru
Звонок в Яндекс Телемосте
По ссылке вы сможете подключиться к звонку
❤7
Audio
🎙🖥 Запись стрима с Владимиром Дементьевым
Shownotes:
solid_loop | Rails-engine для автономных ai-агентов. Каждый вызов - отдельная фоновая задача, состояние хранится в бд, после краша можно продолжить.
ragents - фреймворк для работы с ai-агентами на базе ruby llm , с использованием ракторов
LLM Coding Benchmark (Май 2026)
LLM Coding Benchmark (Апрель 2026)
faster.dev - курсы по ai-assisted разработке
palkan/skills - набор Claude Code skills по книге Layered Design for Ruby on Rails Applications и не только (попробуйте и поделитесь результатом :)
2x-nine-months-later - Пост об эффективности разработки с ИИ в Intercom (цель 2× продуктивности R&D за 12 месяцев достигнута за 9 месяцев, метрика: merged PR / число людей в R&D)
Shopify + pitchfork - эффект использования Pitchfork (форк Unicorn с reforking) на монолите Shopify
Блог Jean Boussier (byroot) — автор Pitchfork, Principal Engineer в Intercom (ex-Shopify). Темы: pitchfork, ракторы, GVL, rails scaling.
Слайды доклада Масея Менсфилда с RubyKaigi 2026 (Thread-Coordinated Ractors: The Pattern That Delivers: Ракторы + Карафка)
Описание на сайте конфы
Слайды доклада Samuel Williams с RubyKaigi 2026 (Чёрная пятница с falcon в Shopify)
Описание на сайте конфы
rails-way-app - Учебный репозиторий: 18 веток одного Web + REST API на Rails — эволюция от «чистого Rails Way» к слоям, неймспейсам, доменной модели.
#стрим@anna_codes #ruby@anna_codes
Shownotes:
solid_loop | Rails-engine для автономных ai-агентов. Каждый вызов - отдельная фоновая задача, состояние хранится в бд, после краша можно продолжить.
ragents - фреймворк для работы с ai-агентами на базе ruby llm , с использованием ракторов
LLM Coding Benchmark (Май 2026)
LLM Coding Benchmark (Апрель 2026)
faster.dev - курсы по ai-assisted разработке
palkan/skills - набор Claude Code skills по книге Layered Design for Ruby on Rails Applications и не только (попробуйте и поделитесь результатом :)
2x-nine-months-later - Пост об эффективности разработки с ИИ в Intercom (цель 2× продуктивности R&D за 12 месяцев достигнута за 9 месяцев, метрика: merged PR / число людей в R&D)
Shopify + pitchfork - эффект использования Pitchfork (форк Unicorn с reforking) на монолите Shopify
Блог Jean Boussier (byroot) — автор Pitchfork, Principal Engineer в Intercom (ex-Shopify). Темы: pitchfork, ракторы, GVL, rails scaling.
Слайды доклада Масея Менсфилда с RubyKaigi 2026 (Thread-Coordinated Ractors: The Pattern That Delivers: Ракторы + Карафка)
Описание на сайте конфы
Слайды доклада Samuel Williams с RubyKaigi 2026 (Чёрная пятница с falcon в Shopify)
Описание на сайте конфы
rails-way-app - Учебный репозиторий: 18 веток одного Web + REST API на Rails — эволюция от «чистого Rails Way» к слоям, неймспейсам, доменной модели.
#стрим@anna_codes #ruby@anna_codes
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍10🔥5👎1
Привет!
6 июня прошла конфа Saint P Rubyconf
Не успела сразу написать, много поездок, но лучше поздно, чем никогда.
Конференция прошла в мини-формате, было человек 30 (?)
Благодаря этому мы все получили руби-паспорта ✊
Зато 5 докладов 💪 - для такого кол-ва посетителей, на мой взгляд, это мощно.
В каждом докладе было интересное, и ни одного ии-centered доклада :D
Чтобы компенсировать этот факт:
- в "диалогах о require" от Вовы Дементьева была часть на тему
- в конце провели "турнир", сгенерированный с помощью sloprb (я выиграла второе издание "Слоёных рельсов" 😁)
Было комфортно и интересно <3
Спасибо докладчикам и организаторам
#ruby@anna_codes
6 июня прошла конфа Saint P Rubyconf
Не успела сразу написать, много поездок, но лучше поздно, чем никогда.
Конференция прошла в мини-формате, было человек 30 (?)
Благодаря этому мы все получили руби-паспорта ✊
Зато 5 докладов 💪 - для такого кол-ва посетителей, на мой взгляд, это мощно.
В каждом докладе было интересное, и ни одного ии-centered доклада :D
Чтобы компенсировать этот факт:
- в "диалогах о require" от Вовы Дементьева была часть на тему
- в конце провели "турнир", сгенерированный с помощью sloprb (я выиграла второе издание "Слоёных рельсов" 😁)
Было комфортно и интересно <3
Спасибо докладчикам и организаторам
#ruby@anna_codes
👍21❤🔥5❤5🔥1
Привет!
Собираюсь сходить на такой воркшоп по ai-assisted разработке, может кому-то тоже будет интересно.
Понравилось, что мк ориентирован на процесс, а не конкретный инструмент, можно адаптировать к разным и за счёт этого легче применить в команде.
Также, на первый взгляд, приближен к реальности и далёк от "щас быстренько навайбкодим стартап" ))
Посмотрим, что полезного смогу взять 😎
Собираюсь сходить на такой воркшоп по ai-assisted разработке, может кому-то тоже будет интересно.
Понравилось, что мк ориентирован на процесс, а не конкретный инструмент, можно адаптировать к разным и за счёт этого легче применить в команде.
Также, на первый взгляд, приближен к реальности и далёк от "щас быстренько навайбкодим стартап" ))
Посмотрим, что полезного смогу взять 😎
sipkitech.timepad.ru
Как применять агентов в разработке и не потерять контроль? / События на TimePad.ru
Бесплатный мастер-класс с живым демо для разработчиков и тимлидов: обсудим, как ставить задачи AI-агенту, как разобраться в существующем коде, погружать агента в контекст и уменьшать галлюцинации.
👀6❤5🔥5👍2
Сегодня участвую в такой подборке с каналами про Ai, разработку и инфраструктуру
Коротко по всем:
- Александр, Kremniy - go и ai
- Алёша, Фарш не провернуть - локальный запуск моделей, твиты про anthropic
- Антон, MLOps Infra - инфра для AI/ML, k8s, GPU-sharing, inference
- Эдгар Сипки - разработка с AI, инженерные workflow
- Анна Буянова - это я - продолжаю рассказывать про ruby, архитектуру, ai-assisted разработку, it-сообщества и мероприятия (ну вы знаете)
Рада быть в подборке с такими крутыми ребятами ✨
Коротко по всем:
- Александр, Kremniy - go и ai
- Алёша, Фарш не провернуть - локальный запуск моделей, твиты про anthropic
- Антон, MLOps Infra - инфра для AI/ML, k8s, GPU-sharing, inference
- Эдгар Сипки - разработка с AI, инженерные workflow
- Анна Буянова - это я - продолжаю рассказывать про ruby, архитектуру, ai-assisted разработку, it-сообщества и мероприятия (ну вы знаете)
Рада быть в подборке с такими крутыми ребятами ✨
Telegram
AI dev
Oleg Busel invites you to add the folder “AI dev”, which includes 5 chats.
🔥7❤3👀3
Forwarded from Kristya
Всем привет! 👋
Мы открываем прием докладов на RubyRussia 2026!
2 октября мы снова встретимся в Москве, чтобы обсудить Ruby, обменяться опытом и провести день в кругу сообщества. А пока самое время стать частью программы конференции.
🔺 До 1 сентября принимаем заявки на доклады. Если у вас есть интересная тема, необычный опыт, технический кейс или история, которой хочется поделиться, — отправляйте заявку. Мы поможем с подготовкой: дадим обратную связь, подскажем, как сделать выступление сильнее, и поддержим на всех этапах.
🔺 Если пока сомневаетесь, стоит ли ехать, посмотрите, как прошла RubyRussia 2025. Записи всех докладов выложены на YouTube.
До встречи на RubyRussia 2026!❤
Мы открываем прием докладов на RubyRussia 2026!
2 октября мы снова встретимся в Москве, чтобы обсудить Ruby, обменяться опытом и провести день в кругу сообщества. А пока самое время стать частью программы конференции.
До встречи на RubyRussia 2026!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3
Анна Буянова (Anna Codes)
Привет! 6 июня прошла конфа Saint P Rubyconf Не успела сразу написать, много поездок, но лучше поздно, чем никогда. Конференция прошла в мини-формате, было человек 30 (?) Благодаря этому мы все получили руби-паспорта ✊ Зато 5 докладов 💪 - для такого кол…
Начали появляться видео с Saint P Rubyconf 🔥
YouTube
Владимир Дементьев. Диалоги о require
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
🔥9👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Признаем, что ИИ не так уж повлиял на наши способности ☺️
P.S. Ладно, я всё равно считаю, что там much to rot, но в другом смысле ))
Альберта
P.S. Ладно, я всё равно считаю, что там much to rot, но в другом смысле ))
Альберта
❤7👍5😁4👎3
Интересный кейс и презентация. Идеи со слайдов вызвали разные мысли - пока думаю, делиться или нет )
Завтра в @devhandsai будет встреча на ту же тему (источник)
Сам Макс, помимо эрланга и раста интересен тем, что был активным участником руби-сообщества годах так в 2009-2010
Послушаем 😏
Завтра в @devhandsai будет встреча на ту же тему (источник)
Сам Макс, помимо эрланга и раста интересен тем, что был активным участником руби-сообщества годах так в 2009-2010
Послушаем 😏
Telegram
Алексей Рыбак: системный дизайн, хайлоад, разработка с агентами
Вынесу из нашего AI-клуба: про SDD (spec-driven development c агентами).
Кстати, завтра в AI-клубе — встреча с Максом Лапшиным, в 19:00 MSK (тот самый кейс Erlang -> Rust).
Участник чата спрашивает, кто как внедряет SDD, смущает зоопарк подходов и фреймворков…
Кстати, завтра в AI-клубе — встреча с Максом Лапшиным, в 19:00 MSK (тот самый кейс Erlang -> Rust).
Участник чата спрашивает, кто как внедряет SDD, смущает зоопарк подходов и фреймворков…
👍3❤1👀1
Forwarded from Alexey Rybak
legacy-to-rust.pdf
156.6 KB
Доклад Макса Лапшина (Flussonic): кейс миграции стримингового софта с Erlang на Rust
❤1
Внезапно вышла ruby2d 1.0 🎉
Это библиотека для разработки игр и 2d-приложений на руби.
Пару лет назад делала урок с использованием этой либы для курса ruby-newbie. Уже тогда было грустно, что проект не развивается (и, казалось, не разовьётся :)
Автор тоже так думал, но с ai появилось больше возможностей => и вот релиз 1.0 ✊
Что изменилось в версии 1.0:
- перешли с OpenGL на SDL3
- код можно запускать и из браузера (скомпилировать под WebAssembly)
- новые фигуры, анимации, аудио, улучшенная поддержка геймпадов и тд
Если хотите прочитать подробнее:
Пост о релизе
Коммит
Попробовать:
Интерактивный онлайн-туториал (WebAssembly, ага)
Туториал, чтобы попробовать локально (нужен Ruby 4)
Примеры игр, приложений
#ruby@anna_codes
Это библиотека для разработки игр и 2d-приложений на руби.
Пару лет назад делала урок с использованием этой либы для курса ruby-newbie. Уже тогда было грустно, что проект не развивается (и, казалось, не разовьётся :)
Автор тоже так думал, но с ai появилось больше возможностей => и вот релиз 1.0 ✊
Что изменилось в версии 1.0:
- перешли с OpenGL на SDL3
- код можно запускать и из браузера (скомпилировать под WebAssembly)
- новые фигуры, анимации, аудио, улучшенная поддержка геймпадов и тд
Если хотите прочитать подробнее:
Пост о релизе
Коммит
Попробовать:
Интерактивный онлайн-туториал (WebAssembly, ага)
Туториал, чтобы попробовать локально (нужен Ruby 4)
Примеры игр, приложений
#ruby@anna_codes
❤12👍12🎉2