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

Ruby *

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

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

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

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 6.9K
Мнение
Перевод

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

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

Новости

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

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.2K
Туториал


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


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


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

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

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

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 4.9K
Ретроспектива
Recovery Mode

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

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

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

Читать далее
Всего голосов 9: ↑4 и ↓5 -1
Комментарии 119

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

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 2.8K
Мнение

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

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

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

Истории

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

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 952
Туториал

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

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

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

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

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

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

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

Уровень сложности Простой
Время на прочтение 1 мин
Количество просмотров 706

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

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

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

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

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

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

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

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

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

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

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

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

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 2.1K
Обзор
Перевод


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

Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 8

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

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

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

- dry-auto_inject

- dry-validation

- dry-struct

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

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

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

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

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

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

Yandex Scale
Дата 25 – 26 сентября
Время 17:00 – 18:00
Место Москва Онлайн
Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business⁢ Day: Retail CPG
Дата 28 сентября
Время 09:50 – 14:00
Место Онлайн
XIX конференция разработчиков свободных программ «Базальт СПО»
Дата 29 сентября – 1 октября
Время 10:00 – 19:00
Место Переславль-Залесский Онлайн
Kokoc Hackathon
Дата 29 сентября – 1 октября
Время 19:00 – 21:00
Место Онлайн
Ruby Russia 2023 Online
Дата 30 сентября
Время 11:00 – 21:00
Место Онлайн
PG Boot Camp Russia 2023
Дата 5 октября
Время 10:00 – 17:00
Место Москва Онлайн
Joker
Дата 9 – 14 октября
Время 16:00 – 19:30
Место Санкт-Петербург Онлайн
Russia Risk Conference 2023 — 19-я конференция по риск-менеджменту
Дата 25 – 26 октября
Время 10:00 – 19:00
Место Москва Онлайн

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

Время на прочтение 8 мин
Количество просмотров 7.6K
Обзор

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

Читать далее
Всего голосов 19: ↑14 и ↓5 +9
Комментарии 17

3 попытки и 8 лет перехода с Ruby на Elixir

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

Привет, это очередной доклад Ruby Russia 2022. В нём наш разработчик Дмитрий Клейменов рассказывает, как он восемь лет пытался сменить Ruby на Elixir, благодаря чему ему все же это удалось, и жалеет ли он о переходе в другой стек.

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

Что узнали рубисты igooods, делая push-уведомления

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

В вашей ленте новый текст по мотивам доклада на Ruby Russia 2022. Сегодня Георгий Быков, Ruby и Elixir-разработчик из igooods, расскажет, с какими проблемами столкнулась его команда при создании пушей, и как им удалось их решить.

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

Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза

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

Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очередь, диктует строгие требования к надёжности и быстродействию сервисов.

Часть проектов у нас написана на Ruby. Если раньше в качестве web-сервера для них мы использовали Puma (который уже стал de-facto стандартом) и горя не знали, то в определённый момент нам его производительности стало не хватать. В статье, сделанной по мотивам моего доклада на конференции Ruby Russia 2022 расскажу, как и зачем мы переехали на другой веб-сервер.

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

ActiveRecord Schema Consistency — а если проверю?

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

Это ещё один текст по мотивам доклада на Ruby Russia 2022. Он посвящён консистентности схемы базы данных на примере библиотеки database_consistency. Автор — Евгений Демин, Principal Engineer и Ruby-разработчик Toptal.

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

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

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

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

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

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

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

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

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

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

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

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

Работа

Ruby on Rails
23 вакансии
Программист Ruby
13 вакансий