Как стать автором
Обновить
6.05

Ruby on Rails *

Фреймворк, написанный на Ruby

Сначала показывать
Порог рейтинга
Уровень сложности

Архитектура Учи.ру: облака, модульность и унификация

Время на прочтение7 мин
Количество просмотров2.1K

В этом году Учи.ру исполняется 10 лет. За это время компания пережила технологические и архитектурные трансформации. Она выросла из простого сайта, где можно было решать примеры на счёт столбиком, до группы компаний с курсами по школьным и внешкольным предметам, олимпиадами и многим другим. Команда научилась справляться с внезапным усилением трафика, одновременно запускать несколько задач и «распиливать» огромный монолит на кусочки.

Сейчас может показаться, что все используемые нами решения стандартны, но в далеком 2012 году мы внедряли их одними из первых. Я, Алексей Вахов, директор по инновациям Учи.ру, расскажу о ключевых технологиях и архитектурных принципах, которые лежат в основе платформы.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии1

Как Unicorn и Puma взаимодействуют с nginx. Введение в UNIX сокеты с помощью Ruby

Время на прочтение5 мин
Количество просмотров3.3K

Ruby приложения обычно используются вместе с веб сервером типа nginx. Когда пользователь запрашивает страницу вашего Rails приложения, nginx делегирует запрос серверу приложения. Но как именно это работает? Как nginx общается с Unicorn?

Одним из наиболее эффективных способов будут Unix сокеты. Давайте посмотрим как они работают! В этом посте мы начнём с основ Unix сокетов и закончим созданием своего простого Ruby приложения, которое может быть проксировано nginx.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии4

Чиним отставание реплик, не меняя архитектуру Ruby-монолита

Время на прочтение8 мин
Количество просмотров1.3K

Привет, меня зовут Александр Панасюк. Я разрабатываю на Ruby с 2011 года и сейчас руковожу группой разработки на Ruby в СберМаркете. Хочу поделиться опытом того, как при масштабировании e-com’а мы боролись с узким горлышком при помощи репликации и какой метод предпочли при борьбе с отставанием реплик. Об этом я уже рассказывал на конференции Ruby Russia'22, а это текстовая версия моего доклада.

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

Как мы еще не перешли с Vue.js на Hotwire

Время на прочтение7 мин
Количество просмотров6K

Мы продолжаем публиковать доклады последней Ruby Russia. На этот раз поговорим о новинке Hotwire, которую уже опробовали в Uscreen. Автор текста Марсель Мустафин, задавайте ему вопросы в комментариях!

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии5

Истории

Чем dry-rb (не) полезен мне

Время на прочтение8 мин
Количество просмотров3.4K

В конце сентября мы провели уже четырнадцатую конференцию Ruby Russia. На ней было много полезного, и чтобы эта польза не пропала, мы оформили доклады в тексты, которые будем публиковать здесь. Автор первого Егор Шморгун, Ruby-разработчик Level Travel.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Курс по Ruby+Rails. Часть 6. Роутинг и RESTful Applications

Время на прочтение15 мин
Количество просмотров2.6K

Сегодня мы поговорим о важнейшем элементе фреймворка Ruby on Rails — маршрутизации, а также посмотрим на принцип, вокруг которого она построена — архитектурный принцип REST. 

Маршрутизация — это программное связывание элементов HTTP-запроса с конкретными элементами программного обеспечения сервера, которые выполняют этот запрос. Например, в ответ на определенный глагол и путь запроса вызывается определенный метод (action) определенного контроллера, внутри которого производится обработка запроса. 

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии2

Инструмент разработчика Ruby on Rails на базе NeoVim (nvim)

Время на прочтение5 мин
Количество просмотров3.2K

Вашему вниманию конфигурационный файл с плагинами для комфортной разработки под Ruby on Rails и не только.

Более года собирался данный конфигурационный файл, удалялись или устанавливались разные плагины и проходили обкатку. в результате теперь комфортно работать в "самом" быстром редакторе.

Читать далее
Всего голосов 3: ↑1 и ↓2-1
Комментарии3

Курс по Ruby+Rails. Часть 5. Паттерн MVC

Время на прочтение14 мин
Количество просмотров3.3K

MVC — это главный архитектурный принцип, вокруг которого строится не только Ruby on Rails, но и любой другой фреймворк, работающий со сложными структурами данных и их отображением. Этот архитектурный паттерн появился довольно давно, на заре объектно-ориентированного программирования, но он не сразу был принят веб-программистами. 

Довольно долго они работали с данными и веб-страницами в общей куче. Каждая веб-страница содержала код множества операций, которые рисовали нужный пользовательский интерфейс. Разделение обязанностей между элементами приложения отдавалась на усмотрение программиста без строгой фиксации каких-либо паттернов или стандартов. Однако с течением времени разработчики перешли к более удобной работе — с моделями и с паттерном MVC как стандартом де-факто.

Давайте подробнее разберёмся во взаимодействиях и рассмотрим каждый элемент в отдельности.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

Почему в вашем проекте не нужны Service Objects? Наводим порядок в коде

Время на прочтение7 мин
Количество просмотров2.5K

Привет! Я Олег Федоткин, Head of PaaS СберМаркета. Хочу поговорить про Service Objects: что с ними не так, почему от них стоит избавляться и как это сделать. 

В этой статье я поделюсь своей болью о Service Objects, разберу их ключевые проблемы на примере из опенсорса и предложу собственное решение с чек-листом по его внедрению. Поехали!

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии4

Курс по Ruby+Rails. Часть 4. Структура Rails-приложения

Время на прочтение8 мин
Количество просмотров3.2K

Сегодня начнём знакомство с Ruby on Rails. Для нашего курса это, пожалуй, самый важный инструмент, и следующие несколько лекций будут посвящены именно ему.

Сначала договоримся о терминах: мы не говорим «сайт». Вместо этого будем использовать термин «веб-приложение», потому что времена интернета с простыми статичными страничками прошли. Современные веб-приложения сложны. Для пользователя в них всегда найдётся удобный интерфейс, а заказчику приложения может даже показаться, что работы у разработчика немного. Однако под капотом прячется много движущихся частей: базы данных, генерация динамического контекста, внедрение и интеграция внешних элементов. Механическую работу программиста упрощают фреймворки. В случае Ruby — это Rails.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Курс по Ruby+Rails. Часть 3. Функциональное программирование

Время на прочтение11 мин
Количество просмотров4.1K

Привет! Сегодня мы поговорим про функциональное программирование. В Ruby реализован исключительно гибкий объектно-ориентированный стиль. И как бы он ни был хорош, он имеет свою цену: иногда для реализации сложных алгоритмов и систем он слишком гибкий. 

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Курс по Ruby+Rails. Часть 2. Объектно-ориентированное программирование

Время на прочтение8 мин
Количество просмотров4.7K

В этой лекции мы рассмотрим объектно-ориентированный стиль в Ruby: поговорим об объектах, классах и модулях, а также вспомним три принципа объектно-ориентированного программирования.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

RubyRussia 2022: как выбрать себе доклад?

Время на прочтение8 мин
Количество просмотров1.1K

Самое большое (по версии Юкихиро Мацумото) русскоязычное событие по Ruby и Rails случится уже вот-вот: 30 сентября и 1 октября. Чтобы ориентироваться было легче, мы подробно описали каждый доклад, оценили их по сложности и обозначили, кому конкретно они будут полезны. Проверяйте, попали ли мы в ваши ожидания и интересы, и выбирайте, что посмотреть на конференции. И не забывайте регистрироваться, конечно!

Узнать больше о докладах →
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

Ближайшие события

Курс по Ruby+Rails. Часть 1. Императивное программирование

Время на прочтение11 мин
Количество просмотров7.7K

Компания Evrone работает на рынке веб-разработки уже 13 лет. Ruby on Rails — одна из технологий, которую мы используем часто, поэтому накопили внушительный багаж знаний — от продвинутых приёмов программирования на Ruby до эффективного использования «магии» Rails.

Чтобы делиться этими знаниями, мы запускали в тестовом режиме Evrone Academy — платформу для обучения программированию. Сейчас она на паузе, но мы хотим публично поделиться лекциями и знаниями с теми, кто хочет поближе познакомиться с Ruby уже сейчас, в привычной хабра-обстановке.

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии13

Ferrum — бесстрашный Ruby-драйвер для Chrome с открытым исходным кодом

Время на прочтение4 мин
Количество просмотров4.3K

Если вы хотите запустить интеграционные тесты на своем сайте, у вас есть три варианта: Poltergeist, Selenium и новое секретное оружие — Ferrum.

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии4

Разработка Rails приложений с использованием Hotwire

Время на прочтение8 мин
Количество просмотров6.9K

Если вы разрабатываете SPA приложения на Ruby on Rails, вы, скорее всего, используете какой-нибудь классный JS-фреймворк для быстрого обновления пользовательского интерфейса без перезагрузки страницы. И без JS фреймворка на фронтенде действительно мало что можно сделать, это своего рода стандарт в наши дни. Пока в Rails не появился Hotwire. С Hotwire вы можете получить быстрое и отзывчивое веб-приложение, но без написания тонны Javascript кода. Звучит здорово, но что такое Hotwire?

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии8

Serverless хостинг в AWS для рубиста

Время на прочтение6 мин
Количество просмотров1.8K

В первой части мы разворачивали приложение в Oracle cloud. Теперь попробуем сделать то же самое в AWS и зададимся вопросом так ли уж нужны Rails. Итак у нас: SPA приложение, REST api, Terraform как средство деплоя и управления ресурсами в облаке.

поехали
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Как заставить интерпретатор Ruby выполнить программу, написанную на естественном языке

Время на прочтение14 мин
Количество просмотров2.3K

Многие языки программирования позиционируют себя как почти естественные. Ruby не отстает: язык для людей и всё такое. Однако, первый же гайд по Rails (да, Ruby это всё еще Rails) предложит вам что–то такое:

class UserController < ApplicationController

end

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

assign variable a value 1 assign variable b value 2 sum a with b

Давайте попробуем запустить эту программу!

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии1

GraphQL без N+1 это легко благодаря N1Loader

Время на прочтение2 мин
Количество просмотров4K

N1Loader разработан для легкого избежания N+1 проблемы
любого типа. К счатью, гем очень легко интегрировать в GraphQL
API. Без дальнейших отлагательств, давайте рассмотрим простой, но самодостаточный пример.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Вклад авторов

Работа

Ruby on Rails
9 вакансий