Обновить
5.9

Ruby *

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

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

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось

Время на прочтение4 мин
Охват и читатели4.7K

На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется под лицензиями BSD (2-clause BSDL) и Ruby, которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3. Подробности — под катом.

Читать далее

Оптимизация и автоматизация в бэкенд-разработке мобильных приложений: как ускорить разработку в четыре раза

Время на прочтение7 мин
Охват и читатели3.5K

Привет, Хабр! Меня зовут Александр Меркулов, я занимаюсь разработкой более 20 лет, с 2011 года пишу на Ruby. Сейчас я — backend-техлид в Учи.ру. Наша команда использует большой монолит, который написан на Rails. Также мы создаем и поддерживаем микросервисы, у нас есть нативная мобилка: целых четыре приложения под веб-платформу.

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

Читать далее

Как настроить gRPC на примере микросервисов на Ruby и Go

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.5K

Поделимся личным опытом, как у нас получилось организовать взаимодействие микросервисов на Ruby и Go на основе gRPC. Мы расскажем:

- о преимуществах gRPC;
- об особенностях работы с протоколом;
- о трудностях, с которыми может столкнуться начинающий разработчик.

Читать далее

Плагины в Ruby on Rails — миф или реальность?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.2K

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

В этой статье мы расскажем:

Что такое плагины

Для чего их используют

Как их создавать

Читать далее

Интеграция Prodamus-платежей в проектах на Ruby On Rails

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели3K

Привет, на связи backend-отдел Joy Dev. В этой статье расскажем про оплаты через платежные ссылки и, в частности, как мы применили для этого отечественный сервис “Prodamus” в наших проектах на Ruby On Rails и поделимся с вами созданным нами инструментом для облегчения интеграции с данным сервисом.

Читать далее

Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели3.9K

Привет ? На связи команда PaaS СберМаркета. Меня зовут Роман, и уже больше 2-х лет моя группа занимается разработкой инструментов для разработчиков, в том числе утилитой sbm-cli, о которой хочу рассказать сегодня.

Вероятно вы каждый день пользуетесь консольными утилитами, такими как git, homebrew, ssh, grep, find, etc. Мы сделали command line interface приложение, запуск которого на локальной машине разработчика может превышать количество запусков команды git (спойлер: статистика в конце статьи).

О том как так получилось, почему этот инструмент так важен для разработчика и что он умеет, а что нет, расскажем в этой статье.

Читать далее

Создатель Ruby on Rails: «Turbo 8 отказывается от TypeScript»

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9.8K

По общему мнению, TypeScript стал большим успехом для Microsoft. Я видел множество сияющих от радости людей, напичкавших JavaScript типами, которые могут быть проверены компилятором. Но я никогда не был его поклонником. Ни через пять минут размышлений, ни через пять лет. Поэтому я с большим удовольствием могу сообщить, что мы отказываемся от TypeScript в следующем большом выпуске Turbo 8.

Читать далее

Тестирование пользовательских сценариев с помощью Ferrum

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели2.2K


Привет, дорогие хабражители!


Меня зовут Вадим, я представляю команду внедрения проектов группы компаний Bimeister.


В этой статье я поделюсь нашим опытом разработки автотестов для тестирования пользовательских сценариев работы с нашей платформой c помощью ruby gem — Ferrum.

Читать дальше →

Как не нужно писать на руби

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.7K

В последнее время мне пришлось прочитать довольно много кода претендентов на позицию Senior Ruby Developer, и теперь, вытащив из глаз затычки, предотвращающие вытекание, я решил поделиться теми типовыми ошибками, которые соискатель делать не имеет права в принципе. Все они напрямую скопированы из разных решений тестового задания. Задание простое, требует немного денежной арифметики, немного простой логики, немного умения спроектировать и организовать малюсенький проектик.

Итак, встречайте: пять самых частых ляпов, зажигающих перед соискателем красный свет.

Оговорюсь, что я никогда не зверствую в кодревью и требую исправить только ошибки. Советую подправить — совсем уж корявый код, и только после апрува. Захочет коллега — исправит перед мерджем, нет — нет.

Читать далее

Плохие тесты: кто виноват и что делать?

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели3.9K

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

Я бы не винил разработчиков слишком строго: в современном мире инструментарий для работы с тестами на три круга отстает от любых других вспомогательных средств. Ниже я не только расскажу, что именно с тестами не так, но и расскажу, кто в этом виноват, и что по этому поводу можно сделать.

Читать далее

Подключаем RuStore оплаты для вашего Ruby-приложения

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.3K

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

Читать далее

Курс по Ruby+Rails. Часть 8. Модели и первые шаги

Время на прочтение8 мин
Охват и читатели3.7K

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

Читать далее

RSpec библиотеки кратко и структурно

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели1.8K

В Readme репозитория rspec-metagem написано, что rspec- это есть rspec-metagem, который зависит от rspec-core, rspec-expectations and rspec-mocks. Каждый из них можно использовать независимо. Здесь я привела краткое описание, что каждая из них делает.

Читать далее

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

Курс по Ruby+Rails. Часть 7. Модели и ActiveRecord

Время на прочтение14 мин
Охват и читатели6K

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

Читать далее

Как компании подготовиться к модуляризации iOS приложений

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.3K

В активно развивающихся приложениях порой сложно обеспечивать масштабируемость, удобочитаемость и качество кода. Это частая ситуация, которая со временем может усложнить поддержку, выявление проблем и их устранение. Избежать подобных проблем помогает модуляризация приложений — подход, при котором кодовая база делится на небольшие специализированные, готовые к повторному использованию модули.

Меня зовут Кирилл Смирнов. Я технический лидер iOS команды в СберЗдоровье. Последний год наша команда плотно занималась улучшением инструментов разработки, в том числе модуляризацией. В этом материале я поделюсь опытом и рекомендациями по подготовке бизнеса (заказчиков, исполнителей, смежников и др.) к модуляризации iOS приложений.

Читать дальше →

В Ruby появилась поддержка WebAssemblу: что это значит?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3.1K


С выпуском версии 3.2 Ruby пополнил список языков программирования, поддерживающих WebAssembly. Небольшое на первый взгляд обновление может стать самым значительным изменением языка со времён Rails, так как теперь разработчики смогут работать не только с бэкендом. После портирования кода на WebAssembly его можно будет запускать где и как угодно — на фронтенде, встроенных устройствах, как бессерверные функции, вместо контейнеров или в граничных вычислениях. WebAssembly может превратить Ruby в универсальный язык программирования. Подробности под катом, а практика в вебе — на нашем курсе по Fullstack-разработке на Python.

Читать дальше →

Dry-rb — экосистема, которая упростит архитектуру вашего проекта

Время на прочтение7 мин
Охват и читатели4.1K

Привет! Меня зовут Вероника Молчанова. Я - Ruby-разработчик в компании Joy Dev. В этой статье мы рассмотрим набор Ruby-библиотек dry-rb и расскажем, как они помогли упростить архитектуру проектов. В частности хотим показать, как на наших проектах используются такие гемы из dry-экосистемы, как:

- dry-auto_inject

- dry-validation

- dry-struct

Читать далее

Ruby, Cucumber и русский язык: автотесты для Альфа-Банка

Время на прочтение6 мин
Охват и читатели3.1K

А у нас новый доклад Ruby Russia 2022. В этот раз поговорим о тестах. Автор этого текста, ведущий инженер по автоматизированному тестированию ПО в Альфа-Банке Елена Рыжкова расскажет, как в компании используют популярный Cucumber, и для чего помимо автоматизации он может быть полезен.

Читать далее

Убьет ли HTTP/2 лонг поллинг и вебсокеты?

Время на прочтение8 мин
Охват и читатели16K

В новом тексте по итогам Ruby Russia 2022 Full-Stack разработчик и консультант Learning Tapestry Александр Уланов рассуждает, есть ли у Server-sent events потенциал обойти websocket-ы и long polling.

Читать далее

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