Как стать автором
Поиск
Написать публикацию
Обновить
1.47

Ruby *

Динамический высокоуровневый язык программирования

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

Функциональные аспекты Ruby

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

Что такое функциональное программирование?

Прежде чем начинать, давайте закрепим понимание термина «функциональное программирование». В основе своей, функциональное программирование это организация кода вокруг функций, а не вокруг объектов. Чтобы это работало, функции должны рассматриваться как тип данных первого класса в рамках языка программирования. Это лишь модный способ сказать, что функции могут храниться в переменных, возвращаться из других функций, использоваться в качестве параметров, потенциально даже быть изменены, так же как любая другая часть программы. Вместо того чтобы погружаться глубже в теорию, давайте перейдём к примерам.

Читать далее

Руби блоки за 5 минут

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

Блоки — одна из самых мощных и часто игнорируемых фич руби. Признаюсь, у меня ушло прилично времени чтобы разобраться как работают блоки и насколько они могут быть полезными на практике.

Есть нечто в yield, что делает его крайне трудным для понимания при первом рассмотрении. Я хочу поговорить о концептах и приведу несколько примеров, так что к концу этого поста у вас появится твёрдое понимание руби блоков.

Читать далее

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

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

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

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

Читать далее

Node.js for ruby developers

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

Можно ли, зная Ruby, писать код на Node.js? А можно ли с командой Ruby-разработчиков успешно поддерживать и развивать большой легаси монолит на ноде? Можно! А как, расскажет Дмитрий Матвеев, СТО «Поток.Диджитал» и спикер Ruby Russia 2022.

Интересно, а что там дальше?

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

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

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

Читать далее

JSON:API 一 это не JSON API

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

Это третий доклад с прошедшей Ruby Russia. В нём Александр Меркулов, team lead UCHI.ru рассказывает, как его команда решила поэкспериментировать с JSON:API, и что из этого вышло.

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Узнать больше о докладах →

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

поехали

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

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

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

Почему бы и не поддаться современным веяниям, и не реализовать REST api на лямбдах?

Проверить так ли уж необходимы Rails и попробовать минимизировать количество зависимостей.

Попробовать декомпозировать веб приложение в терминах облачных сервисов.

Oracle free tier,  хм, насколько это бесплатно в реальности?

Читать далее

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

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

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

class UserController < ApplicationController

end

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

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

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

Читать далее

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