Анна Буянова (Anna Codes)
568 subscribers
93 photos
3 videos
2 files
170 links
Бэкенд, архитектура, ruby, ai-assisted разработка, it-сообщества.

лс: @lightalloy
Download Telegram
Избранное из глав "птицы".

Глава 2. Разделение компонентов.

Архитектурный квант - условно сервис, который деплоится отдельно.
Хотя несколько сервисов вполне могут представлять собой один квант, и часто это делают:

Например:
общая база данных => у вас один архитектурный квант
общий ui => у вас тоже один архитектурный квант )
есть оркестратор запросов => мб у вас тоже один квант ))

Динамический coupling между квантами

3 "силы", которые формируют пространство для принятия решений:
- взаимодействие между квантами - синхронное (вызывающий ждёт, чтобы продожить) или асинхронное (не ждёт)
- согласованность - атомарные транзакции или приемлемо eventual consistency
- координация - оркестратор (есть сервис, к-й отвечает за координацию) или хореография (нет координатора)

Понравилась табличка с вариантами, особенно horror )

Глава 3

О том, что тестируемость, развёртываемость, масштабируемость, доступность, отказоустойчивость лучше у небольших сервисов.
Поэтому если у вас проблемы с финансами, нужно срочно перейти на микросервисы (немного утрированный пример из главы 😁)

Так то это так мб, но возникают другие проблемы, и как будет с той же тестируемостью у системы в целом?

Впрочем, учебные примеры часто бывают немного странными. Допустим, всё же нужно разделиться, посмотрим )

#книги@anna_codes #arch_hard_parts@anna_codes
5👍4🤓1
4😁1
Какую категорию следующую получаем? 😏
😁186❤‍🔥22
👣 Курс по go

Недавно закончила курс по 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 (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
👍116🔥4🤓3
Привет!

В понедельник 25.05 в 19:00 будет встреча с Владимиром Дементьевым, автором книги "Слоёные рельсы".

Обсудим второе издание книги, рубишные конференции, ещё что-нибудь. Можно накинуть тем в комменты, можно прийти и задать вопросы на встрече 😎

Ссылку приложу в понедельник, будет телемост.

#стрим@anna_codes #ruby@anna_codes
👍137🔥4
Спасибо всем, было круто!
Дальше на спбруби 🖥 🚂

#стрим@anna_codes #ruby@anna_codes
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥16👏73
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
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
👍21❤‍🔥55🔥1
Привет!

Собираюсь сходить на такой воркшоп по ai-assisted разработке, может кому-то тоже будет интересно.

Понравилось, что мк ориентирован на процесс, а не конкретный инструмент, можно адаптировать к разным и за счёт этого легче применить в команде.

Также, на первый взгляд, приближен к реальности и далёк от "щас быстренько навайбкодим стартап" ))

Посмотрим, что полезного смогу взять 😎
👀65🔥5👍2
Сегодня участвую в такой подборке с каналами про Ai, разработку и инфраструктуру

Коротко по всем:
- Александр, Kremniy - go и ai
- Алёша, Фарш не провернуть - локальный запуск моделей, твиты про anthropic
- Антон, MLOps Infra - инфра для AI/ML, k8s, GPU-sharing, inference
- Эдгар Сипки - разработка с AI, инженерные workflow
- Анна Буянова - это я - продолжаю рассказывать про ruby, архитектуру, ai-assisted разработку, it-сообщества и мероприятия (ну вы знаете)

Рада быть в подборке с такими крутыми ребятами
🔥73👀3
Видимо, rubyrussia будет :)
👍2
Forwarded from Kristya
Всем привет! 👋

Мы открываем прием докладов на RubyRussia 2026!

2 октября мы снова встретимся в Москве, чтобы обсудить Ruby, обменяться опытом и провести день в кругу сообщества. А пока самое время стать частью программы конференции.

🔺До 1 сентября принимаем заявки на доклады. Если у вас есть интересная тема, необычный опыт, технический кейс или история, которой хочется поделиться, — отправляйте заявку. Мы поможем с подготовкой: дадим обратную связь, подскажем, как сделать выступление сильнее, и поддержим на всех этапах.

🔺Если пока сомневаетесь, стоит ли ехать, посмотрите, как прошла RubyRussia 2025. Записи всех докладов выложены на YouTube.

До встречи на RubyRussia 2026!
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Признаем, что ИИ не так уж повлиял на наши способности ☺️

P.S. Ладно, я всё равно считаю, что там much to rot, но в другом смысле ))

Альберта
7👍5😁4👎3
Интересный кейс и презентация. Идеи со слайдов вызвали разные мысли - пока думаю, делиться или нет )

Завтра в @devhandsai будет встреча на ту же тему (источник)
Сам Макс, помимо эрланга и раста интересен тем, что был активным участником руби-сообщества годах так в 2009-2010

Послушаем 😏
👍31👀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
12👍12🎉2