На примере простых алгоритмов (вычисление расстояния между точками, сумма членов геометрической прогрессии, формирование массива простых чисел по алгоритму Эратосфена, числа Фибоначчи) сравниваются три языка программирования - Lisp, Python и Ruby. Сравнение проходит по следующим параметрам: компактность и читаемость кода, скорость работы.
Ruby *
Динамический высокоуровневый язык программирования
Новости
Контрактные тесты с Pact: гарантия стабильности микросервисов
Привет! Меня зовут Юрий, я старший разработчик в Купере в команде Ruby Platform, занимающейся разработкой внутренних библиотек, инструментов мониторинга и поддержки микросервисов.
У нас в Купере более 200 микросервисов на разных стеках, а также монолиты. С точки зрения инфраструктуры интеграционное тестирование такого количества компонентов - довольно затратная задача, но при этом хочется обеспечить стабильность системы, не проводя ручные интеграционные регресс-тесты. В таких условиях оптимальным решением являются контрактные тесты.
Из данной статьи вы узнаете:
- общий принцип работы контрактных тестов;
- о проблемах, с которыми мы столкнулись при внедрении контрактного тестирования и как их решали;
- как мы разработали свое решение для контрактного тестирования Ruby-приложений;
- о настройке CI/CD для автоматизации контрактных тестов.
Материал будет полезен тем, кто задумывается о повышении надежности интеграций между сервисами и внедрении контрактных тестов в свои проекты.
Реализация сапёра в 100 строках чистого Ruby
Ruby — весьма экспрессивный язык, в котором очень многое зачастую можно реализовать буквально в ста строках кода. Именно поэтому мне так нравится искать способ создать то же самое, но в более сжатом виде.1
Сразу внесу ясность: я не говорю о код-гольфинге, хотя это занятие тоже бывает интересным. Я имею в виду сокращение количества строк кода без потери его читаемости. По факту одним из самых приятных аспектов Ruby является то, что уменьшение количества строк кода зачастую может повысить его читаемость.
В нашем случае мы проделаем это на примере старого доброго «Сапёра». Помню, как играл в него на Windows XP ещё пацаном. Если и вы разделяете аналогичные воспоминания, то приветствую вас, мои друзья-миллениалы!
Кратко про библиотеку Rumale для машинного обучения на Ruby
Привет, Хабр!
Библиотека Rumale создана для того, чтобы сделать машинное обучение доступным и удобным для разрабов на Ruby. Она имеет большой выбор алгоритмов и инструментов, аналогичных тем, что можно найти в Scikit-learn для Python.
Краткий формат статьи выбран из-за сходств с Sckit learn.
Истории
Transactional Outbox: от идеи до open-source
Привет! На связи Миша Меркушин. Я тимлид команды Ruby Platform, ответственной за разработку внутренних библиотек и улучшение архитектуры микросервисов на Ruby в СберМаркете. Эта статья про архитектурный паттерн Outbox и инструмент, который мы создали и итерационно развивали внутри команды и лишь недавно «выпустили» его в мир. Он решает проблему обеспечения надежной и согласованной отправки сообщений из приложения, гарантируя, что сообщение будет отправлено после успешного завершения транзакции базы данных.
Собственные проекты, углубленная практика алгоритмов и другое: поднимаем навыки программирования на новый уровень
Неважно, новичок ли вы, отлаживающий вашу первую программу «Hello World», или опытный инженер, — у каждого из нас всегда есть возможность улучшить свои навыки. Александр Шелютин, Data Architect в KarmaHQ, расскажет о разнице между тем, как просто заставить что-то работать, и написанием действительно хорошего кода.
Как делать многоуровневые формы в Rails
Работа с многоуровневыми формами в Ruby on Rails — это то, что точно поднимет ваш скилл в Ruby. В этой рассмотрим, как упростить этот процесс с помощью двух гемов: Wicked и Cocoon.
Многоуровневые формы позволяют собирать информацию от пользователя поэтапно, что делает интерфейс более дружелюбным.
Безработные айосники, мертвый PHP и бесполезные “саперы”: топ-5 мифов о будущем российского IT
Мы в hitch занимаемся аутстаффингом – выводим опытных IT-специалистов на бигтех-проекты. Поэтому непрерывно следим за любыми изменениями на рынке, а еще с удовольствием слушаем экспертов — но не во всём с ними соглашаемся. Сегодня разберем прогнозы и обещания, которые всколыхнули рынок, но показались нам нереалистичными.
Как дальнобойщик в 38 лет стал разработчиком на Ruby on Rails
Недавно мне представилась возможность взять интервью у Педро Давида Гарсии Лопеса, разработчика на Ruby on Rails из Великобритании, который до этого работал дальнобойщиком. Интересно то, что он решил стать программистом в 38 лет. В этой статье я расскажу его историю, которая, надеюсь, покажется вам такой же вдохновляющей, какой она показалась мне.
Уязвимости на GitHub: в библиотеке Ruby, которую скачали 250 000 раз, модулях для электронных замков и популярных играх
В конце марта в блоге GitHub вышла статья, как защищаться от уязвимостей типа RepoJacking. В первых строчках автор советовал использовать пакетные менеджеры типа NPM и PyPI, чтобы киберугроза этого вида «не угрожала пользователю напрямую». Можно было бы вздохнуть с облегчением, но читатели Хабра уже знают об исследовании команды МТС RED ART, которое позволило найти более 1300 уязвимых для RepoJacking репозиториев.
Меня зовут Андрей Сомсиков, я — руководитель команды МТС RED ART. В этой статье — вторая часть нашего исследования уязвимых репозиториев на GitHub. Мы нашли уязвимости в популярных библиотеках: для разработки на Ruby, для электронных замков и даже для пользователей Reddit и Minecraft. Но не всё так страшно! В конце дам рекомендации от всей нашей команды по борьбе с уязвимостями в популярных хостингах кода.
Hosting Ruby. Обзор вариантов и пример деплоя Ruby on Rails приложения
В 2012 году, чтобы упростить развертывание приложений, написанных на Ruby on Rails, компания Heroku сделала свой знаменитый продукт. В статье мы рассмотрим несколько вариантов для хостинга и разберем, как задеплоить Ruby on Rails на конкретном примере приложения.
Как научить поиск мобильного приложения распознавать точные и ошибочные запросы
Привет, Хабр! Меня зовут Алексей Кокухин, я бэкенд-разработчик в Friflex. Мы создаем сайты и мобильные приложения и специализируемся на решениях для ритейла. Для наших клиентов конверсия в покупку — значимая метрика, поэтому мы постоянно изучаем, какие факторы на нее влияют.
Часто пользователи уходят просто потому, что поиск не смог распознать их запрос. По статистике Baymard Institute, проблемы с распознаванием поисковых запросов есть почти у каждого второго онлайн-магазина. В этой статье предлагаю разобраться, как настроить поиск мобильного приложения, чтобы он распознавал два самых популярных вида запроса — точные и ошибочные.
Сложности роста Ruby-приложений
Привет! Меня зовут Валентин Бритвич, я Unit Lead интеграций в СберМаркете. Когда СберМаркет был стартапом, мы начинали с одного Rails-монолита, но бизнес рос, и стали появляться сотни партнёров на подключение, кастомные интеграции, которые нужно поддерживать, а с ними и проблемы, с которыми сталкивается разработка в растущем бизнесе. В статье я расскажу про сложности роста Ruby-приложений, с которыми мы столкнулись, и о том, как с ними справиться.
Ближайшие события
Давид Хейнемейер Ханссон (DHH): автор Ruby on Rails, программист и автогонщик
Давид Ханссон, пилот Porsche 911 RSR команды Abu Dhabi Proton Racing перед гонкой на выносливость «6 часов Сильверстоуна» в 2016 году, источник
Датский разработчик Давид Хейнемейер Ханссон, известный в сообществе под ником-аббревиатурой DHH, — крайне неординарная и разносторонняя личность. Программист, автогонщик, писатель, венчурный инвестор, бизнесмен и семьянин — так он описывает себя на личном сайте.
Работа всей жизни DHH — фреймворк Ruby on Rails, которым пользуются сотни тысяч разработчиков по всему миру. Но увлечения Давида не ограничиваются только лишь программированием.
NeoVim для Ruby разработчика
Данная конфигурация собиралась очень долго. на данный момент работаю именно на ней. Является больше напоминанием для себя, и шпаргалкой для тех кому интересно. Это субъективная точка зрения, и ни кому ее не навязываю. Если захотите использовать, буду рад тем что помог.
Резюме статьи:
пошаговая настройка рабочего места для разработчиков. кто хочет попробовать неизведанное.
Королева форумов — Discourse. Ruby on Rails is Best
В мире CMS-ок уже десятилетиями правит один язык. Который создан чисто для веба. Все его знают это PHP. Все самые популярные CMS сделаны на этом языке. Есть конечно же CMS написанные на других языках. Но как правило они не так популярны. Точнее значительно уступают по популярности CMS на PHP.
Вот статистика таких CMS и SaaS платформ:
Почему я рекомендую Ruby on Rails новичкам в 2024 году?
Здесь даные советы для начинающих программистов. Этот материал для новичков. Опытные специалисты все это уже знают давно.
Внедрение Elasticsearch с Ruby on Rails для расширенного поиска
Elasticsearch - это поисковый движок, который позволяет в реальном времени работать с огромными объемами данных. Он основан на Lucene и предлагает не только полнотекстовый поиск, но и сложные запросы к данным, включая агрегацию.
Ruby on Rails — это фреймворк, который делает акцент на скорости и простоте разработки. Используя принципы convention over configuration и DRY, Rails позволяет сосредоточиться на уникальной логике приложения, минимизируя количество шаблонного кода.
В статье рассмсотрим как использовать Elasticsearch вместе с Ruby on Rails для реализации поиска внутри приложения.
Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось
На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется под лицензиями BSD (2-clause BSDL) и Ruby, которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3. Подробности — под катом.
Вклад авторов
alizar 536.0Homakov 300.6kronos 260.0Iskin 239.0DenisVitman 231.0Lxx 208.0dustalov 187.0vorona_karabuta 170.2iv_s 163.0