Ruby on Rails | rubyhub
1.55K subscribers
232 photos
2 videos
1 file
370 links
Software Writer @yegorckv
Download Telegram
Внутреннее устройство Rails/Rack-приложения

Мастер-класс для желающих познакомится с внутренним устройством рельс, но не знающих с чего начать. Разберем взаимодействие частей фреймворка между собой, с веб-сервером и с операционной системой. Это поможет проще разбираться с новыми гемами, библиотеками и находить проблемы в проекте.

28 февраля (вт) 19:00 мск

Живое участие в эфире - бесплатно

https://thinknetica.com/pro/mk_rails_inside
ActionText в Ruby on Rails. Обзор первого знакомства

Action Text - модуль в Ruby on Rails, дающий возможность работать с текстом. Он включает в себя WYSIWYG редактор Trix. Можно писать и редактировать текст, ссылки, цитаты, списки, сохранять изображения и файлы.

https://habr.com/ru/post/720462/
Отчет по рынку труда 2022-2023 гг.
@jooby_analytics

Онлайн презентация https://docs.google.com/presentation/d/1jpw2P62IpGU3OgFzoD8h6r96fETW0HoSCK3Wj04Exww/edit?usp=sharing

Обсуждение в чате - https://t.me/joinchat/AAAAAElBokyJQXBkb19D-w
Курс по Ruby+Rails. Часть 7. Модели и ActiveRecord

На одной из прошлых лекций вы познакомились с паттерном MVC – Model, View, Controller. И сегодня пришло время подробней разобраться в том, что прячется за первой буквой этой аббревиатуры.

https://habr.com/ru/company/evrone/blog/722858/
Forwarded from Evil Martians
Практически каждый рубист знает RuboCop — это линтер и инструмент для форматирования в Ruby. Но есть множество проектов, в которых единый стиль не был внедрен с самого начала (обычно это крупные и долгоживущие проекты). Исправить это будет сложно.

В этом посте-римейке Head of Backend Владимир Дементьев показывает, как мы добавляем стилизацию кода в такие Ruby/Rails-проекты с помощью RuboCop и Standard.

https://evilmartians.com/chronicles/rubocoping-with-legacy-bring-your-ruby-code-up-to-standard
Docker для приложения Rails 7

Широкое распространение развертывания приложений с использованием Docker стало причиной написания этой статьи.

Попробуем подойти к этому вопросу с практической стороны и решить задачу без наличия каких либо специфичных знаний в этой области.

https://habr.com/ru/post/726438/
Forwarded from Evrone IT meetups
Ruby meetup (Online)

1. Что такое distroless-образы, как их использовать в современной разработке и зачем понадобилось их применять в Самокате - Артем Соломатин, Samokat.tech

Расскажем в докладе: что такое distroless-образы, зачем нужны, плюсы/минусы, как сработали для нас в Самокате (примеры). Такой подход мы встречали не так часто у коллег из индустрии, хотим подсветить потенциальную пользу от его применения в продакшн-окружении.

2. RoR vs Go 2022 - Александр Елистратов, BGaming

Анализ Ruby on Rails vs GoLang: подход к разработке, библиотеки, фреймворки, личный опыт использования на коммерческих проектах. Раскрытие данной темы может помочь людям лучше понять различия данных технологий: их зоны применения, простоту перехода с Ruby на Go, особенности ООП на Go.



🗓 19 апреля, начало в 19:00 мск, Среда

🌐 ОНЛАЙН

Регистрация на мероприятие
Forwarded from Evil Martians
Head of Backend Владимир Дементьев снова на RailsConf! Теперь с докладом про слоистый подход в кулинарии и… Rails.

Базовый архитектурный рецепт Rails — MVC, три ингредиента или слоя, чтобы «приготовить» веб-приложение. Чем больше и тяжелее становятся слои, тем сложнее с таким «блюдом» работать. Нужно усовершенствовать наш рецепт, но как? Узнаем на RailsConf, 24–26 апреля, Атланта, США

https://evilmartians.com/events/rails-as-a-piece-of-birthday-cake
Стучим по рельсам

- Улучшение custom namespaces в Rails 7.1
- Байка про nil
- Rails и Falcon на OpenBSD

https://digest.evrone.ru/20230403
Сложнее, чем кажется

В майском выпуске мы разберёмся, почему тесты в CI глючат чаще, чем при локальных прогонах. Также расскажем о подводных камнях при парсинге CSV-файлов и предупреждениях об устаревании.

- Почему тесты в CI глючат чаще

- Обманчиво простой парсинг CSV

- Не привыкайте к deprecation warnings

https://digest.evrone.ru/20230502
​​Под капотом Ruby on Rails

Онлайн воркшоп для разработчиков, которые хотят быстрее пилить фичи и находить ошибки в приложениях на Ruby on Rails.
Пошагово разберем работу фреймворка, в том числе:

- как обрабатывается http запрос;
- как формируется html с ответом;
- как собираются ассеты для фронтенда;
- как на рельсах можно сделать современное веб-приложение с динамическим контентом.

А ещё посмотрим как устроены популярные гемы, которыми вы пользуетесь каждый день.

3 дня по 2 часа
- 15 мая (пн) 19:00 мск
- 18 мая (чт) 19:00 мск
- 22 мая (пн) 19:00 мск

https://thinknetica.com/pro/workshop_rails_under_hood
Курс по Ruby+Rails. Часть 8. Модели и первые шаги

Миграции — это механизм ActiveRecord, который позволяет вносить изменения в структуру базы данных: создавать и удалять таблицы, переименовывать, добавлять и удалять поля. Так как в них описываются все изменения, они обеспечивают консистентность структуры БД. Они, как и модели, представляют собой классы, написанные на Ruby и хранящиеся в папке db/migrate. Каждая миграция определяется временной меткой, с которой начинается имя файла. Эти метки должны быть уникальны, так как используются для контроля миграций в таблице schema_migrations, которая хранит все выполненные миграции. Эти метки указывают на момент создания миграции и позволяют отслеживать хронологию их применения, что необходимо, например, в случае разворачивания приложения на новом сервере.

https://habr.com/ru/companies/evrone/articles/735250/
Подключаем RuStore оплаты для вашего Ruby-приложения

Всем привет! В этой статье я и мой коллега Рустем расскажем о том, как мы реализуем оплаты в наших проектах на Ruby On Rails на примере платформы RuStore, а также поделимся разработанной библиотекой для взаимодействия с её API.

https://habr.com/ru/companies/joydev/articles/736756/
Forwarded from Metaprogramming
Хроники смерти Ruby: первоисточник (1/6)

Сейчас можно считать сложившимся мнением среди настоящих софтверных инженеров, привыкших получать информацию из третьих рук и доверять экспертному мнению профессиональных IT-журналистов, что Ruby умирает (вариант: уже умер).

Интересно проследить историческую перспективу развития вопроса.

Впервые поднял тему, взявши сразу быка за рога, некий Jeff Cogswell в статье от 2014 года с недвусмысленным названием "5 языков программирования, назначенных умереть" ("5 Programming Languages Marked for Death").

Раздел про Ruby начинается с предложения, пытающегося подчеркнуть для читателей, насколько автор в теме: "всего десять лет назад, Руби был на пике моды [по Руби все сходили с ума]". Напомню, десять лет назад от момента написания статьи был 2004 год. Два года до выхода первой версии Ruby on Rails. Ruby вообще никто не знал, это был хоббийный проект нескольких неизвестных японских разработчиков из академических кругов.

Но всё же за что Джефф приговорил Ruby?

Утверждает, что, мол, "мы, люди, которые выросли на С-подобном синтаксисе, путаемся и спотыкаемся при изучении того, как работает Ruby". Дальше приводит два примера, в чём профессиональные С-программисты путаются: "hello, world" и функция для вычисления факториала:

puts 'Bye bye, Miss American Ruby! Drove my Chevy to the Levie…'

puts '2011 was the day that Ruby died, yeah…'

def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end

puts fact(ARGV[0].to_i)

Текст примеров понятен даже человеку, который вообще не умеет программировать.

Дальше в статье приводится типовой аргумент "про Твиттер": "все любят язык, а вот Твиттер переписал весь проект с Ruby, т.к. не хватило производительности".

Для динамического языка, вообще говоря, нет ничего позорного в эволюции проекта вида "быстро написали, потом переписали на статическом языке". Это нормальное и даже целевое применение технологии. Благодаря этому Твиттер смог получить первых пользователей и, не застряв в болоте Java-разработки, заработать денег на дальнейшее развитие. Закономерный ход типовой эволюции стартапа. Но примечательно здесь то, что второго примера, кроме Твиттера, такой эволюции для Ruby никогда не приводят. Проектов на Rails сколько угодно любых размеров, а вот примеров отказа от технологии единицы. То есть в плане производительности Ruby/Rails всех, по большому счёту, устраивает.

Итак, Джефф пишет, с лёгкой иронией и играя словами, что в 2011 году Ruby уже, в мыслях автора, умер. В тот же год в реальном мире разработчик языка, Юкихиро Матсумото, был принят на руководящую техническую позицию в Heroku, недавно закрывшего сделку по продаже компании (2010) за $200 млн.

Heroku начал свой путь как система развёртывания и хостинга Ruby-приложений. Так сказать, от Ruby-разработчиков для Ruby-разработчиков. И так лихо сделал и реализовал ставку на умирающий язык, что за три года из "гаражного стартапа" превратился в одного из лидеров начавшейся индустрии "контейнерных-облачных хостингов".

В то время крупнейшие компании практически одновременно начали "гонку вооружений" за раздел только начавшего появляться (но уже заранее понятно, что сулящего огромные прибыли) рынка "цифровых облаков". Amazon запускает AWS (2006); Google – Cloud Platform (2008); Microsoft, спохватившись позднее всех, Azure (2010). В разгар битвы слона, кита и бегемота без лишнего шума и пыли откусывает значительную часть пирога Heroku (2007-2010), который практически сразу выкупает разработчик CRM-систем Salesforce (2010). Актив не совсем профильный, но Salesforce верно рассчитала, что дело того стоит, да и цена сделки, в масштабе разворачивающихся событий, копеечная. Благодаря своей прозорливости Salesforce до сих пор борется с "облачными конкурентами" более чем на равных. Heroku остаётся обособленным подразделением, продолжающим развивать платформу под крылом материнской компании.

#programming #ruby
Монолит вместо микросервисов

Идти против тренда непросто, но это иногда приносит хороший результат. Расскажем, почему в одном из сервисов Amazon полностью отказалась от микросервисной архитектуры в пользу монолита. Ещё обсудим обновления полезных библиотек и экспериментальный JIT-компилятор, включённый в первое превью Ruby 3.3.0.

https://digest.evrone.ru/20230601
Ruby on Rails: жив и будет жить

Рассказываем, почему Ruby on Rails до сих пор актуален. Мы уверены, что и язык, и фреймворк живы и будут жить. Все аргументы — внутри статьи.

https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241602
Решился — и стал бэкенд-разработчиком. Как Хекслет помог мне сменить профессию и справиться с трудностями

Привет! Меня зовут Сергей, и я хочу поделиться своей историей. Мне 33 года, живу в городе Фетхие в Турции и работаю бэкенд-разработчиком на Ruby. Буквально год назад я практически ничего не знал о программировании и веб-разработке, но желание сменить профессию и попробовать себя в чем-то новом привело меня в эту точку. Как говорится, «You only live once!»

https://ru.hexlet.io/blog/posts/reshilsya-i-stal-backend-razrabotchikom
Плохие тесты: кто виноват и что делать?

Тестирование — один из самых больных, если не самый больной вопрос в современной разработке программного обеспечения. Поговаривают, что разработчики не любят писать тесты, что написать правильные тесты зачастую сложнее, чем сам код, что «зеленое — не значит работает», а типовые экстремисты даже утверждают, что АДТ с лихвой эти самые тесты заменяют.

https://habr.com/ru/articles/740216/