Angry Beard
284 subscribers
188 photos
14 videos
13 files
728 links
Bearded guy about the startups, tech and product development - https://alec-c4.com
Download Telegram
#ruby #rails Небольшой анонс. Несколько лет назад я сделал серию шаблонов Ruby on Rails приложений, на которые даже получил неплохую обратную связь. Так получилось, что я забросил этот проект на несколько лет и сейчас решил достать его из архива и реанимировать. Собственно - вот ссылка, а вот список что нового

- обновлено для использования с rails 8.1
- добавлен shell-скрипт, чтобы интерактивно выбирать шаблоны
- сделана возможность собирать все шаблоны в одной репе и отказаться от git submodules как было раньше
- shared код для различных шаблонов
- пока что 3 шаблона в работе - REST API, minimal (importmaps + tailwind), esbuild + tailwind
- базовая функциональность, позволяющая сразу из коробки развернуть тесты, линтеры, системные гемы

Что в дальнейшем будет
- шифрование в БД (гем lockbox) - пока что разбираюсь как сгенерить креденшлы при генерации проекта, а не писать README вида "добавьте 10 строчек в конфиг"
- кастомные генераторы для аутентификации (хочу добавить passwordless и login+password)
- админка - можно конечно сделать свою как и раньше, а можно и что-то готовое взять, аналогично другим шаблонам
- вернуть BI - blazer + ahoy + searchjoy
- добавить шаблоны для inertia - svelte и react
- и многое другое
👍2
#ruby #rails Вовсю полыхает скандал в сообществе ruby-разработчиков. Andre Arko, один из core commit-еров bundler рассказал, что Ruby Central пытается заявить свои права на проект. Сам же Andre считает, что проект должен принадлежать сообществу, он зарегистрировал торговую марку bundler на своё имя, но готов передать её организации, которая будет подконтрольна мейнтейнерам и сообществу.
😱2
#ruby #rails А вот тут Joel Drapper пишет, что судя по всему торчат уши Shopify за этим конфликтом. Вкратце:

- У Ruby Central возникли финансовые трудности.
- Sidekiq прекратил спонсорство в размере $250 000 в год после того, как на RailsConf 2025 дали слово DHH.
- Shopify выдвинул ультиматум: Ruby Central должен взять полный контроль над репозиториями RubyGems на GitHub и гемами bundler и rubygems-update, иначе финансирование будет прекращено.
- HSBT поспешил и начал захват: назначил Марти Хоута владельцем репозиториев и урезал права мейнтейнеров ещё до обсуждения. Доступ временно вернули, и Марти встретился с мейнтейнерами, признав, что Ruby Central не имеет права просто забирать эти проекты у сообщества. Он предлагал альтернативу — форк RubyGems — и предупреждал о рисках.
- Несмотря на это, совет Ruby Central проголосовал за захват и немедленно его реализовал. Впоследствии несколько членов совета ввели сообщество в заблуждение, оправдывая действия в соцсетях.
- Это было подготовлено заранее: Shopify даже организовал собственную “дежурку” для замены прежних мейнтейнеров, включая тех, кто управлял сервисом RubyGems.org. Более того, Shopify настоял, чтобы Андрэ Арко, работавший над RubyGems более десяти лет и основавший Ruby Together (позже слившуюся с Ruby Central), не возвращался в проект.
Если вам не хватает драм на Netflix, то вот вам новый замес в #ruby on #rails сообществе
1 - DHH набросил на вентилятор - Бриташка уже не та, трансгендерные черные женщины из Пакистана собираются в банды и всех насилуют
2 - некий Tekin Süleyman с ноги открывает дверь в ад и заявляет, что DHH - это проблема и говорит, мол, такие высказывания не проходят мимо, когда у тебя в руках Rails Foundation и торговые марки.
3 - DHH надевает белое пальто, всех называет пидарасами, а себя жертвой и говорит, что он вращал всех хейтеров на своей волшебной палочке и отменить его не получится

Конец первого сезона.

Как вы понимаете - финал сезона остался открытым, скачать прочитать все серии можно тут
- https://tekin.co.uk/2025/09/the-ruby-community-has-a-dhh-problem
- https://world.hey.com/dhh/calling-someone-a-nazi-is-a-permission-slip-for-violence-4bfbbb82
- https://world.hey.com/dhh/we-ve-all-had-enough-of-this-nonsense-8545dd26
#ruby #rails #elixir AppSignal прекрасны - только что они анонсировали бесплатный доступ к своей платформе. Но есть небольшие ограничения

- 50K requests
- 1GB logging
- 5-day retention

По идее этого должно хватать для старта или небольшого проекта
👍3
#rails #ruby #AI Если вы активно используете Claude Code для разработки rails-приложений, то вот эта тулза вам поможет немного экономить на токенах, обещают, что по сравнению с дефолтными страницами ошибок более чем 13-кратная экономия токенов
#ruby #rails Несмотря на то, что я предпочитаю использовать shrine, вот этот гем зайдет тем, кто использует ActiveStorage. В двух словах - это mountable rails engine, которая представляет собой дашборд для всех загружаемых файлов.
Поддался модному тренду и добавил в kickstart ажно целых 3 шаблона для inertia_rails - svelte (моя прееелесть), react и vue. Ссылка всё та же - туточки. #ruby #rails
2
Пу-пу-пу, в смысле вышел #ruby 4.0.0 preview 2. Я почитал описание и не могу сказать, что увидел какие-то изменения, которые сразу вызвали у меня вопль "вау!" и желание протестировать сборку, но вот краткое саммари того, что в ней есть

- Оператор *nil больше не вызывает nil.to_a, аналогично тому, как оператор **nil не вызывает nil.to_hash.
- Логические операторы (||, &&, and, or) на начало строки теперь продолжают предыдущую строку, как при использовании текущего оператора.
- Версия Unicode обновлена до 17.0.0, а Emoji Version — до 17.0. Эти обновления применяются как к строкам, так и к регулярным выражениям.
- Set теперь является встроенным классом вместо класса со срабатыванием в стандартной библиотеке.
- IO.select теперь принимает Float::INFINITY в качестве аргумента timeout.
- Обновления стандартной библиотеки
• ostruct 0.6.1
• pstore 0.2.0
• benchmark 0.4.0
• logger 1.7.0
• rdoc 6.13.1
• irb 1.15.2
• reline 0.6.1

И еще ряд изменений. В общем - ждём полноценного релиза, чтобы потестировать и (надеюсь) поразиться очередному приросту производительности и каким-нибудь ярким фичам
👍2
Вот это хороший подарок на Новый Год - вышел #ruby 4.0.0. В сообществе @pro_rb уже потестировали скорость работы, спойлер - стало побыстрее, включая работу ractor.
🎉3🔥1
#ruby DHH рассказал о старте работы над ActionMCP для #rails - вначале попросил LLM сгенерить код, а потом решил переписать всё руками.
👍1
#ruby #rails поскольку гем streamio-ffmpeg судя по всему был заброшен авторами, а мне понадобилось добавить поддержку ffmpeg в мой собственный небольшой проект, который я надеюсь скоро анонсировать, то выпустил первую версию своего гема ffmpeg_core - https://github.com/alec-c4/ffmpeg_core и буду рад любым PRам и багрепортам
👍3🔥2
#ruby #rails Солнышко светит, птички поют, зайки прыгают по лужайке, а пацаны не спят ночами и релизят новые гемы. В общем, поимев немного попаболи с тем, чтобы вкрутить i18n в inertia-приложение (отдельное приключение с тем, чтобы поддерживать синхронно локали для бека и фронта + i18n-tasks постоянно ругается то на неиспользуемые ключи, то на пропущенные), я запилил гем inertia_i18n, который делает всем хорошо.

Как оно работает без магии и шаманства:
локали в config/locales раскладываются по папочкам. Всё, что для Rails — в backend, всё, что для фронта — в frontend. Что не попало ни туда ни сюда — считается общим и живёт своей жизнью.


config/
└── locales/
├── backend/ # Rails-specific translations
│ ├── en.yml
│ └── ru.yml
├── frontend/ # Frontend-specific translations
│ ├── common.en.yml
│ ├── pages.en.yml
│ └── pages.ru.yml
└── en.yml # Optional: shared or legacy keys


Гем собирает всё это добро из yml в json и аккуратно подкладывает в app/frontend/locales, где его уже без сюрпризов жрёт i18next. Бэк доволен, фронт доволен, i18n-tasks жалуется, но жрёт кактус.
Как обычно — показывайте звёзды, несите PR, багрепорты принимаются без нытья, но с логами.
👍21🔥1
#opensource ще одна полезняшка для #ruby #rails моего авторства - https://github.com/alec-c4/role_fu Поскольку автор rolify судя по всему забил на проект и на текущий момент в нем 130 открытых issues и 22 зависших PR, я скреативил замену с парой новых фич - временные роли, аудит назначения ролей, (опциональные) abilities в БД и адаптеры для pundit и cancancan.
2👍1
#opensource #rails #ruby в общем не буду ходить вокруг да около - еще один гем моего авторства https://github.com/alec-c4/active_record_properties Даёт возможность сохранять настройки для модели, например для User - тему, язык, таймзону, для организации - корпоративные цвета и юрисдикцию. Пользуйтесь и не благодарите меня за мою охуенность полезные проекты
👍4👎1
#ruby #opensource Как минимум - это забавно. Чувак сделал shell, в которой можно писать скрипты на ruby. Исходный код доступен на github, но пока что звёзд маловато, на текущий момент - 96 при 102 коммитах
#macos #ruby #postgres Интересный баг в PostgreSQL, который я только сейчас заметил, а его оказывается уже обсуждают вовсю в разных тикетах (раз, два, три) и блогах. Баг этот связан со стабильностью работы связки macOS Tahoe + libpq + fork, но от него падает Solid Queue. Ждём фикса либо от Apple (изменение поведения libdispatch/ObjC runtime), либо от PostgreSQL (изменение дефолта для gssencmode). Пока же используем PGGSSENCMODE=disable в переменных окружения или gssencmode: disable в database.yml
#ruby #rails еще один небольшой, но (надеюсь) полезный гем auto_decorator для тех, кто не хочет тащить в проект монстра типа draper. Минимум кода, декорирует автоматом, максимально легковесный - всё как мы любим 🙂
👍1🔥1