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

Ruby *

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

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

Сравним ruby, lisp и python

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

На примере простых алгоритмов (вычисление расстояния между точками, сумма членов геометрической прогрессии, формирование массива простых чисел по алгоритму Эратосфена, числа Фибоначчи) сравниваются три языка программирования - Lisp, Python и Ruby. Сравнение проходит по следующим параметрам: компактность и читаемость кода, скорость работы.

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

Новости

Контрактные тесты с Pact: гарантия стабильности микросервисов

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

Привет! Меня зовут Юрий, я старший разработчик в Купере в команде Ruby Platform, занимающейся разработкой внутренних библиотек, инструментов мониторинга и поддержки микросервисов.

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

Из данной статьи вы узнаете:

- общий принцип работы контрактных тестов;

- о проблемах, с которыми мы столкнулись при внедрении контрактного тестирования и как их решали;

- как мы разработали свое решение для контрактного тестирования Ruby-приложений;

- о настройке CI/CD для автоматизации контрактных тестов.

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

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

Реализация сапёра в 100 строках чистого Ruby

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

Ruby — весьма экспрессивный язык, в котором очень многое зачастую можно реализовать буквально в ста строках кода. Именно поэтому мне так нравится искать способ создать то же самое, но в более сжатом виде.1

Сразу внесу ясность: я не говорю о код-гольфинге, хотя это занятие тоже бывает интересным. Я имею в виду сокращение количества строк кода без потери его читаемости. По факту одним из самых приятных аспектов Ruby является то, что уменьшение количества строк кода зачастую может повысить его читаемость.

В нашем случае мы проделаем это на примере старого доброго «Сапёра». Помню, как играл в него на Windows XP ещё пацаном. Если и вы разделяете аналогичные воспоминания, то приветствую вас, мои друзья-миллениалы!
Читать дальше →
Всего голосов 33: ↑30 и ↓3+45
Комментарии5

Кратко про библиотеку Rumale для машинного обучения на Ruby

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

Привет, Хабр!

Библиотека Rumale создана для того, чтобы сделать машинное обучение доступным и удобным для разрабов на Ruby. Она имеет большой выбор алгоритмов и инструментов, аналогичных тем, что можно найти в Scikit-learn для Python.

Краткий формат статьи выбран из-за сходств с Sckit learn.

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

Истории

Transactional Outbox: от идеи до open-source

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

Привет! На связи Миша Меркушин. Я тимлид команды Ruby Platform, ответственной за разработку внутренних библиотек и улучшение архитектуры микросервисов на Ruby в СберМаркете. Эта статья про архитектурный паттерн Outbox и инструмент, который мы создали и итерационно развивали внутри команды и лишь недавно «выпустили» его в мир. Он решает проблему обеспечения надежной и согласованной отправки сообщений из приложения, гарантируя, что сообщение будет отправлено после успешного завершения транзакции базы данных.

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

Собственные проекты, углубленная практика алгоритмов и другое: поднимаем навыки программирования на новый уровень

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

Неважно, новичок ли вы, отлаживающий вашу первую программу «Hello World», или опытный инженер, — у каждого из нас всегда есть возможность улучшить свои навыки. Александр Шелютин, Data Architect в KarmaHQ, расскажет о разнице между тем, как просто заставить что-то работать, и написанием действительно хорошего кода.

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

Как делать многоуровневые формы в Rails

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

Работа с многоуровневыми формами в Ruby on Rails — это то, что точно поднимет ваш скилл в Ruby. В этой рассмотрим, как упростить этот процесс с помощью двух гемов: Wicked и Cocoon.

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

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

Безработные айосники, мертвый PHP и бесполезные “саперы”: топ-5 мифов о будущем российского IT

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

Мы в hitch занимаемся аутстаффингом – выводим опытных IT-специалистов на бигтех-проекты. Поэтому непрерывно следим за любыми изменениями на рынке, а еще с удовольствием слушаем экспертов — но не во всём с ними соглашаемся. Сегодня разберем прогнозы и обещания, которые всколыхнули рынок, но показались нам нереалистичными.

Читать далее
Всего голосов 20: ↑16 и ↓4+14
Комментарии98

Как дальнобойщик в 38 лет стал разработчиком на Ruby on Rails

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

Недавно мне представилась возможность взять интервью у Педро Давида Гарсии Лопеса, разработчика на Ruby on Rails из Великобритании, который до этого работал дальнобойщиком. Интересно то, что он решил стать программистом в 38 лет. В этой статье я расскажу его историю, которая, надеюсь, покажется вам такой же вдохновляющей, какой она показалась мне.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+52
Комментарии23

Уязвимости на GitHub: в библиотеке Ruby, которую скачали 250 000 раз, модулях для электронных замков и популярных играх

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

В конце марта в блоге GitHub вышла статья, как защищаться от уязвимостей типа RepoJacking. В первых строчках автор советовал использовать пакетные менеджеры типа NPM и PyPI, чтобы киберугроза этого вида «не угрожала пользователю напрямую». Можно было бы вздохнуть с облегчением, но читатели Хабра уже знают об исследовании команды МТС RED ART, которое позволило найти более 1300 уязвимых для RepoJacking репозиториев.

Меня зовут Андрей Сомсиков, я — руководитель команды МТС RED ART. В этой статье — вторая часть нашего исследования уязвимых репозиториев на GitHub. Мы нашли уязвимости в популярных библиотеках: для разработки на Ruby, для электронных замков и даже для пользователей Reddit и Minecraft. Но не всё так страшно! В конце дам рекомендации от всей нашей команды по борьбе с уязвимостями в популярных хостингах кода.

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

Hosting Ruby. Обзор вариантов и пример деплоя Ruby on Rails приложения

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

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

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

Как научить поиск мобильного приложения распознавать точные и ошибочные запросы

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

Привет, Хабр! Меня зовут Алексей Кокухин, я бэкенд-разработчик в Friflex. Мы создаем сайты и мобильные приложения и специализируемся на решениях для ритейла. Для наших клиентов конверсия в покупку — значимая метрика, поэтому мы постоянно изучаем, какие факторы на нее влияют.

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

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

Сложности роста Ruby-приложений

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

Привет! Меня зовут Валентин Бритвич, я Unit Lead интеграций в СберМаркете. Когда СберМаркет был стартапом, мы начинали с одного Rails-монолита, но бизнес рос, и стали появляться сотни партнёров на подключение, кастомные интеграции, которые нужно поддерживать, а с ними и проблемы, с которыми сталкивается разработка в растущем бизнесе. В статье я расскажу про сложности роста Ruby-приложений, с которыми мы столкнулись, и о том, как с ними справиться.

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

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

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Давид Хейнемейер Ханссон (DHH): автор Ruby on Rails, программист и автогонщик

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

Давид Ханссон, пилот Porsche 911 RSR команды Abu Dhabi Proton Racing перед гонкой на выносливость «6 часов Сильверстоуна» в 2016 году, источник

Датский разработчик Давид Хейнемейер Ханссон, известный в сообществе под ником-аббревиатурой DHH, — крайне неординарная и разносторонняя личность. Программист, автогонщик, писатель, венчурный инвестор, бизнесмен и семьянин — так он описывает себя на личном сайте.

Работа всей жизни DHH — фреймворк Ruby on Rails, которым пользуются сотни тысяч разработчиков по всему миру. Но увлечения Давида не ограничиваются только лишь программированием.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+40
Комментарии3

NeoVim для Ruby разработчика

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

Данная конфигурация собиралась очень долго. на данный момент работаю именно на ней. Является больше напоминанием для себя, и шпаргалкой для тех кому интересно. Это субъективная точка зрения, и ни кому ее не навязываю. Если захотите использовать, буду рад тем что помог.

Резюме статьи:

пошаговая настройка рабочего места для разработчиков. кто хочет попробовать неизведанное.

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

Королева форумов — Discourse. Ruby on Rails is Best

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

В мире CMS-ок уже десятилетиями правит один язык. Который создан чисто для веба. Все его знают это PHP. Все самые популярные CMS сделаны на этом языке. Есть конечно же CMS написанные на других языках. Но как правило они не так популярны. Точнее значительно уступают по популярности CMS на PHP.

Вот статистика таких CMS и SaaS платформ:

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

Почему я рекомендую Ruby on Rails новичкам в 2024 году?

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

Здесь даные советы для начинающих программистов. Этот материал для новичков. Опытные специалисты все это уже знают давно.

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

Подсушить тесты

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

Можно ли сегодня сказать что-то новое про браузерное тестирование в Ruby и Rails, когда придумано, казалось бы, всё, что можно: и Selenium, и Capybara, и SitePrism?

А вот и можно.

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

Внедрение Elasticsearch с Ruby on Rails для расширенного поиска

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

Elasticsearch - это поисковый движок, который позволяет в реальном времени работать с огромными объемами данных. Он основан на Lucene и предлагает не только полнотекстовый поиск, но и сложные запросы к данным, включая агрегацию.

Ruby on Rails — это фреймворк, который делает акцент на скорости и простоте разработки. Используя принципы convention over configuration и DRY, Rails позволяет сосредоточиться на уникальной логике приложения, минимизируя количество шаблонного кода.

В статье рассмсотрим как использовать Elasticsearch вместе с Ruby on Rails для реализации поиска внутри приложения.

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

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

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

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

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

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

Работа

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