ar
Feedback
Ruby on Rails | rubyhub

Ruby on Rails | rubyhub

الذهاب إلى القناة على Telegram
1 791
المشتركون
+224 ساعات
-27 أيام
-1030 أيام
جذب المشتركين
يونيو '26
يونيو '26
+15
في 0 قنوات
مايو '26
+22
في 0 قنوات
Get PRO
أبريل '26
+19
في 0 قنوات
Get PRO
مارس '26
+27
في 0 قنوات
Get PRO
فبراير '26
+57
في 0 قنوات
Get PRO
يناير '26
+25
في 0 قنوات
Get PRO
ديسمبر '25
+30
في 0 قنوات
Get PRO
نوفمبر '25
+29
في 0 قنوات
Get PRO
أكتوبر '25
+43
في 0 قنوات
Get PRO
سبتمبر '25
+25
في 0 قنوات
Get PRO
أغسطس '25
+25
في 0 قنوات
Get PRO
يوليو '25
+33
في 0 قنوات
Get PRO
يونيو '25
+16
في 0 قنوات
Get PRO
مايو '25
+42
في 1 قنوات
Get PRO
أبريل '25
+27
في 0 قنوات
Get PRO
مارس '25
+37
في 1 قنوات
Get PRO
فبراير '25
+52
في 1 قنوات
Get PRO
يناير '25
+63
في 0 قنوات
Get PRO
ديسمبر '24
+77
في 3 قنوات
Get PRO
نوفمبر '24
+43
في 0 قنوات
Get PRO
أكتوبر '24
+46
في 0 قنوات
Get PRO
سبتمبر '24
+50
في 0 قنوات
Get PRO
أغسطس '24
+49
في 0 قنوات
Get PRO
يوليو '24
+43
في 0 قنوات
Get PRO
يونيو '24
+47
في 0 قنوات
Get PRO
مايو '24
+60
في 0 قنوات
Get PRO
أبريل '24
+70
في 0 قنوات
Get PRO
مارس '24
+59
في 0 قنوات
Get PRO
فبراير '24
+61
في 0 قنوات
Get PRO
يناير '24
+48
في 0 قنوات
Get PRO
ديسمبر '23
+51
في 0 قنوات
Get PRO
نوفمبر '23
+53
في 0 قنوات
Get PRO
أكتوبر '23
+69
في 1 قنوات
Get PRO
سبتمبر '23
+45
في 0 قنوات
Get PRO
أغسطس '23
+316
في 0 قنوات
Get PRO
يوليو '23
+23
في 0 قنوات
Get PRO
يونيو '23
+38
في 0 قنوات
Get PRO
مايو '23
+40
في 0 قنوات
Get PRO
أبريل '23
+17
في 0 قنوات
Get PRO
مارس '23
+10
في 0 قنوات
Get PRO
فبراير '23
+26
في 0 قنوات
Get PRO
يناير '23
+43
في 0 قنوات
Get PRO
ديسمبر '22
+353
في 0 قنوات
Get PRO
نوفمبر '22
+22
في 0 قنوات
Get PRO
أكتوبر '22
+26
في 0 قنوات
Get PRO
سبتمبر '22
+60
في 0 قنوات
Get PRO
أغسطس '22
+52
في 0 قنوات
Get PRO
يوليو '22
+25
في 0 قنوات
Get PRO
يونيو '22
+36
في 0 قنوات
Get PRO
مايو '22
+241
في 0 قنوات
التاريخ
نمو المشتركين
الإشارات
القنوات
29 يونيو0
28 يونيو+3
27 يونيو0
26 يونيو0
25 يونيو0
24 يونيو0
23 يونيو0
22 يونيو0
21 يونيو+1
20 يونيو+1
19 يونيو0
18 يونيو+2
17 يونيو0
16 يونيو0
15 يونيو0
14 يونيو0
13 يونيو0
12 يونيو0
11 يونيو+1
10 يونيو0
09 يونيو+2
08 يونيو+1
07 يونيو0
06 يونيو0
05 يونيو0
04 يونيو+1
03 يونيو+1
02 يونيو+1
01 يونيو+1
منشورات القناة
💎 ROSTIC'S уходит от Ruby CRM-система одной из крупнейших сетей быстрого питания в России долгое время строилась на Ruby on
💎 ROSTIC'S уходит от Ruby CRM-система одной из крупнейших сетей быстрого питания в России долгое время строилась на Ruby on Rails. Ещё в 2020 году команда Evrone помогала ROSTIC'S запускать это решение. Evrone начали планомерный переход с Ruby на .NET.

2
💎 Nuke on Rails объединяет Brakeman, bundler-audit, проверки OWASP и анализ с помощью LLM в единый отчёт, ранжируя уязвимост
💎 Nuke on Rails объединяет Brakeman, bundler-audit, проверки OWASP и анализ с помощью LLM в единый отчёт, ранжируя уязвимости безопасности и риски сопровождения по степени их влияния 💻github.com/nuke-on-rails/nuke-on-rails
791
3
Давно не было соло — решил записаться без гостя и разобрать то, что вы сами накидали в комментариях и в канале. Про агентов с
Давно не было соло — решил записаться без гостя и разобрать то, что вы сами накидали в комментариях и в канале. Про агентов с полным доступом к инфре после выпуска с Русланом. Про DDD, TDD и зачем это, даже если на собесе не спрашивают. Про vibe coding, тестировщиков как узкое место и спор: ИИ отупляет или просто меняет навыки — как когда появился Google. Heavy Tech #46 https://youtu.be/SQDQHuZs2rk
1 523
4
Ruby on Rails обошёл Next.js а Vercel всё ещё немного опережает Cloudflare n = 3 658 стартапов
Ruby on Rails обошёл Next.js а Vercel всё ещё немного опережает Cloudflare n = 3 658 стартапов
1 751
5
Production Results Что происходит, когда production Rails-приложения переводят с threads на fibers? На Rage.rb: — p95 latency
Production Results Что происходит, когда production Rails-приложения переводят с threads на fibers? На Rage.rb: — p95 latency ниже в 6x и 10x под нагрузкой — 0% ошибок — реальные endpoints и production traffic, без микробенчей
1 765
6
Podlodka #477 – Ruby on Rails Deep Dive Кирилл Мокевнин – сооснователь онлайн-школы программирования «Хекслет», разработчик с
Podlodka #477 – Ruby on Rails Deep Dive Кирилл Мокевнин – сооснователь онлайн-школы программирования «Хекслет», разработчик с почти двадцатилетним стажем, амбассадор организованного программирования и автор одноимённых YouTube- и Telegram-каналов. Он работал с Ruby on Rails ещё в коммерческой разработке, вокруг Rails строился сам Хекслет, и во многом на рельсах формировался его инженерный опыт. Rails много раз хоронили, но он почему-то продолжает жить. В него коммитят, вокруг него остаются большие продукты, он по-прежнему очень быстро закрывает типовые веб-задачи и даёт то самое ощущение, что один человек может сделать приложение от и до. Разбираем главные идеи рельсов: convention over configuration, ActiveRecord, миграции, серверную шаблонизацию, jobs, очереди и готовую инфраструктуру. Отдельно обсуждаем тёмную сторону этой философии: магию, метапрограммирование, динамически сгенерированные методы, колбэки в моделях, before_validation, жирные модели и боль больших проектов. А ещё – Sorbet, Tapioca и то, почему Кирилл со временем стал больше ценить типизацию, кодогенерацию и более «деревянный» код. Не обходим стороной фронтенд в рельсах: Hotwire, Inertia, React, TypeScript и вечный спор о том, где не писать JavaScript действительно полезно, а где превращается в тупиковую ветку. Ну и конечно обсуждаем главное: кому Rails вообще нужен сегодня. Почему его рано списывать, в каких продуктах он всё ещё даёт огромную скорость, а где лучше честно выбрать другой стек. 🎧 Слушать выпуск 👀 Смотреть выпуск 👉Предложить себя в подкаст
1 486
7
Ruby on AI. Дизайн Агента (Часть 1) / AI Harness 👉 https://youtu.be/z9TEJVKP77g Группа: @pro_ruby_on_rails_ru Вопросы: @ilia_zykin ❤️ лайк 🔂 репост
1 017
8
Забавно наблюдать, как Ruby on Rails когда-то вдохновлял Laravel, а теперь создатель Rails — David Heinemeier Hansson — высту
Забавно наблюдать, как Ruby on Rails когда-то вдохновлял Laravel, а теперь создатель Rails — David Heinemeier Hansson — выступает на сцене Laravel-ивента. We are honored to announce David Heinemeier Hansson aka @dhh 🇩🇰, creator of Ruby on Rails, on stage at Laravel Live Denmark 2026. A Dane whose framework inspired a generation of developers comes home to Copenhagen this August. Different framework, same craft.
1 533
9
Прагматичный DDD на Ruby: 350 микросервисов, тесты за 5 минут https://youtu.be/gqHMT62NqU0
Прагматичный DDD на Ruby: 350 микросервисов, тесты за 5 минут https://youtu.be/gqHMT62NqU0
1 275
10
🚞 Rails Security Best Practices: A Comprehensive Guide Разбор того, что Ruby on Rails защищает «из коробки», а что — нет: встроенная защита от CSRF, работа с cookies и экранирование данных — в отличие от задач на уровне самого приложения, таких как двухфакторная аутентификация (2FA), ведение журналов действий и управление доступом
1 932
11
💻 Вы делаете вайб-кодинг неправильно!!! Стрим с ru_ruslan, топ-комментатором рубе-сообществ! После наших вайб-код стримов ра
💻 Вы делаете вайб-кодинг неправильно!!! Стрим с ru_ruslan, топ-комментатором рубе-сообществ! После наших вайб-код стримов разнес нас в пух и прах. Говорит, что делаем мы все неправильно. Сегодня покажет практики и свое кунг-фу. Если почему-то не знаете Руслана? В любом ruby-чатике — первый коммент под постом его. Не верится, что он находит еще время на работу и освоение новых инструментов, но смегодня он докажет обратное.
1 755
12
Вы делаете вайб-кодинг неправильно Стрим начался, подключаемся https://youtube.com/live/UqVX824JJLs?feature=share
Вы делаете вайб-кодинг неправильно Стрим начался, подключаемся https://youtube.com/live/UqVX824JJLs?feature=share
0
13
📺Что должен знать каждый backend про N+1, lazy preload и производительность / 💎Евгений Демин В этом выпуске в гостях Евгени
📺Что должен знать каждый backend про N+1, lazy preload и производительность / 💎Евгений Демин В этом выпуске в гостях Евгений Дёмин — Ruby-разработчик и автор нескольких популярных open source библиотек, которые решают проблемы с базами данных, валидацией и производительностью. Женя начинал как математик в Калининграде, попал на западный рынок почти случайно — друг порекомендовал его британскому рекрутеру, а всё собеседование свелось к фразе «Yes, please» в телефонной трубке. Тем не менее его взяли.
0
14
💻 В Rails теперь есть руководство для агентов 💻
💻 В Rails теперь есть руководство для агентов 💻
0
15
‼️Анонсируем набор докладов на конференцию в Санкт-Петербурге (примерная дата ~ 6 июня). Жестких ограничений по темам нет - про Ruby, базы данных, devops и в целом все что можете интересно рассказать. В видео поговорили про доклады и конференции, не стесняйтесь подавать заявку, если вы в чем-то разобрались, это может быть многим интересно. ПОДАЧА ДОКЛАДА ➡️ https://forms.yandex.ru/u/69b53f6d84227c436538552c/ Питерское (на самом деле глобальное) сообщество Рубистов https://t.me/saintprubycommunity
0
16
Слой LLM в Rails: проектируем базовый класс Вчера в комментах показывали ruby_llm-agents, я его посмотрел и выяснил две вещи: 1. гем довольно сильно похож на то, что я придумал; 2. как я мог его пропустить? а так: он вышел в январе, а я занимался этим в октябре, просто долго зрел писать пост 🤷‍♂️ Я еще почитал и выяснил, что в ruby_llm тоже завезли похожий DSL. Хорошо, что у меня другой, а то бы вы этот пост не читали! --- Каждый вызов LLM должен быть обернут в отдельный класс, который является наследником базового класса (назовем его `BaseLLMRequest`). Весь бойлерплейт и инструментация находятся базовом классе, а наследники лишь настраивают параметры запроса. Реализвать базовый класс можно так: class BaseLLMRequest def call chat = build_chat message = build_user_message # Runner — отдельный класс для выполнения запроса, чтобы отделить транспортный уровень response = Runner.new(chat:).run_with(message) transform_response(response.content) end private def build_chat chat = Chat.create!(model:) chat = chat.with_instructions(instructions) if instructions chat = chat.with_schema(output_schema) if output_schema # Тут можно добавить любые настройки для чата; некоторые шаги могут быть необязательными. chat end # Конфигурация — переопределяется в наследниках def model = nil def prompt = "" def instructions = nil def output_schema = nil # здесь мы будем преобразовывать сырой ответ в нечто, удобное для бизнес–слоя def transform_response(raw) = raw # хелпер для ERB — о нем поговорим ниже def eval_erb_template(path, variables) template = File.read(path) ERB.new(template, trim_mode: "-").result_with_hash(variables) end end Теперь — пример класса–наследника: class TicketClassificationLLMRequest < BaseLLMRequest option :ticket def model = "gpt-4o-mini" # можно попробовать схитрить и сделать дефолтную реализацию так, чтобы использовались эти пути и имена def instructions_path = File.expand_path("./instructions.text.erb", __dir__) def output_schema_path = File.expand_path("./output_schema.json", __dir__) def prompt_path = File.expand_path("./prompt.text.erb", __dir__) # про ERB поговорим ниже def prompt = eval_erb_template(prompt_path, { body: ticket.body }) # проверяем, что категория — корректная и добавляем больше данных в ответ def transform_response(raw) category = raw["category"] VALID_CATEGORIES.include?(category) ? Success(category:, summary: raw["summary"]) : Failure() end end Почему не DSL (как в вышеупомянутом геме), а просто методы? Всегда можно переехать, но такой подход дает больше гибкости. Например, если захочется запустить A/B–тест на модель, достаточно будет добавить эту логику в реализацию: def model if user.ab_tests["best_model"] == "segment_4" "gpt-5" else "gpt-4o" end end Промпты как ERB-шаблоны Все части промпта и схему я решил держать в файлах (либо строчках прямо в классе, если нужно). Структура примерно такая: llm_requests/ ticket_classification_llm_request.rb ticket_classification_llm_request/ instructions.text.erb output_schema.json ERB здесь работает так же, как во views: с помощью eval_erb_template мы выполняем подстановку переменных в шаблон. Отдельно стоит упомянуть разницу между prompt и instructions. Prompt идёт от роли *user*, instructions — от роли *developer*. У провайдеров developer role по идее имеет более высокий приоритет. кроме этого обычно в instructions лежат — правила и формат ответа, в prompt — конкретные данные для обработки.
0
17
🖼️ The Real-Time Ruby Framework не масштабируется или уткнулись в потолок? Каждый раз, когда кто-то говорит: «Rails не масшт
🖼️ The Real-Time Ruby Framework не масштабируется или уткнулись в потолок? Каждый раз, когда кто-то говорит: «Rails не масштабируется», сообщество спешит ответить: «Это неправда». Это звучит успокаивающе. Но не работает. Побеждают в спорах не те, кто отрицает исходную точку — а те, кто умеет её принять и переиграть. В следующий раз не спорьте «в лоб». Попробуйте так: - Раньше это было правдой. Но JIT в Ruby многое изменил. - Иногда это правда — но компромиссы всё равно выгоднее, чем у альтернатив.» - Или идите ва-банк: Да, это правда. Пока вы не попробовали Rage.
0