
Ruby *
Динамический высокоуровневый язык программирования
Анонс митапа RubyRoars #1 в Харькове

Большой опыт проведения митапов Sync.NET, ThinkPHP, ThinkJava, WordPress Kharkiv и iThink привел нашу команду к логичному вопросу — а не пора ли нам создать и Ruby-сообщество? Пора, именно поэтому мы приглашаем всех Ruby-разработчиков на стартовую встречу RubyRoars, призванную положить начало новому большому сообществу от NIX Solutions :).
GeekBrains открывает набор на бесплатные курсы подготовки программистов

Всем привет! Мы открываем набор на бесплатные курсы обучения для Ruby и Frontend-разработчиков. Для участия необходимо пройти конкурс. Пять лучших выпускников пройдут стажировку у нас и останутся работать в офисе. Заявки на обучение принимаются по 17 июня включительно. Подробности набора и программа обучения – под катом.
Переиспользуемые UI компоненты в приложениях на Ruby on Rails
В этой статье, я хотел бы рассказать об альтернативном способе организации фронтенда для приложений на Ruby on Rails. В основном я работаю на бэкенде, но время от времени появляются задачи на фронтенде и то, что зачастую приходится там видеть, не внушает никакого оптимизма для дальнейшей работы.
Тестирование API сервисов и RSpec

Иногда бывает необходимость написать небольшой АПИ сервис, часто в виде прототипа. И часто этот прототип потом так и остаётся в первоначально написанном виде следуя принципу «работает — не трогай». Переписывание даже относительно маленького сервиса сопряжено с возможностью внесения ошибки или случайного незначительно изменения поведения, которое обнаружится далеко не сразу. На помощь тут приходит тестирование по методу черного ящика (функциональное тестирование). Написание тестов является важной частью процесса разработки, а время потраченное на написание тестов может быть гораздо больше, чем реализация тестируемого функционала. Предлагаю рассмотреть метод тестирования, когда тестируемый код (сервис) и авто тесты написаны на разных языках программирование. Данный подход позволяет писать тесты без зависимости от первоначально выбранной технологии, что позволяет достаточно легко «выкинуть» прототип и переписать требуемый функционал на других технологиях. Плюс это демонстрация того, что тесты не обязательно должны быть написаны на том же языке, что и тестируемый сервис.
Делаем приём платежей криптовалютой своими руками
Привет, Хабр!
Время от времени замечаю вопросы о том, как принимать платежи Bitcoin на своём сайте без использования сторонних сервисов. Это достаточно просто, но надо учитывать, что есть подводные камни.
В этой статье я постараюсь максимально подробно, без акцента на каком-либо языке программирования, описать, как сделать приём платежей Bitcoin (а также, при желании — Litecoin, Dash, Bitcoin Cash, Steep, ONION и т.п.), начиная с разворачивания полной ноды и заканчивания проверкой поступления платежа.
tdlib-ruby: как сделать Telegram-клиент на Ruby

Одна из особенностей мессенджера Telegram — широкие возможности API (Bot API и Telegram API). Команда Telegram пошла ещё дальше и выпустила библиотеку TDLib (Telegram Database Library), позволяющую разрабатывать альтернативные клиенты Telegram и не задумываться о низкоуровневых деталях реализации (работа с сетью, шифрование и локальное хранение данных).
TDLib работает на Android, iOS, Windows, macOS, Linux, Windows Phone, WebAssembly, watchOS, tvOS, Tizen, Cygwin и других *nix системах, а так же интегрируется с любым языком программирования, поддерживающим выполнение C-функций.
В этой статье мы рассмотрим использование TDLib в Ruby и создание gem'а для взаимодействия с JSON-интерфейсом библиотеки.
Анонс ElixirLangMoscow Meetup #7

Клуб ElixirLangMoscow при поддержке Rambler&Co приглашает разработчиков, тимлидов и всех, кто так или иначе связан с разработкой на Elixir, принять участие в ElixirLangMoscow Meetup, который состоится 15 февраля в 19:00, в четверг, в баре «Дорогая, я перезвоню».
Я ненавижу константы в Ruby
Ruby — очень сложный язык программирования. Он невероятно красивый и читабельный, однако у него есть множество тем и особенностей, которые могут оставаться "темным лесом" даже для опытного Ruby-разработчика. Одной из таких тем является поиск констант.
Несмотря на заголовок, гнева в посте не будет.
RubyMine 2017.3. Более быстрая IDE, WSL, Embedded Puppet, и многое другое
В этой серии мы расскажем про новую версию IDE для Ruby и Rails, RubyMine 2017.3.

Как мы готовили Crystal к production
И это было очень удобно при разработке микросервисов, таких же простых, как на Ruby, но более быстрых, чем на Go (в большинстве применений).
К сожалению, в языке (вернее, в его стандартной библиотеке) нашлось несколько проблем, мешающих использовать его в современном мире. Основная проблема — HashDoS.
Я подошёл к этому с одной стороны, реализовав нормализацию чисел, например, но тут свыше пришел ангел по имени @funny-falcon, и уютный мирок Crystal офигел. Один pull request, учитывающий особенности LLVM, генерации хэшей, сами хэши, JSON и кучу иного — стал предметом обсуждений более чем на 200 комментариев, что для маленького проекта вообще нонсенс.
В итоге pull request закрыт (дикая нагрузка).
Но почти все его идеи уже реализованы и находятся в Crystal master.
Теперь на нем уже можно писать код, который можно отдавать наружу.
Настройка Minio и Nginx для RoR приложения
Minio — что это
Minio это простое, быстрое и совместимое с AWS S3 хранилище объектов. Minio создан для размещения неструктурированных данных, таких как фотографии, видеозаписи, файлы журналов, резервные копии, а также образы виртуальных машин и контейнеров. Небольшой размер позволяет включать его в состав стека приложений, аналогичного Node.js, Redis и MySQL. В minio также поддерживается распределенный режим (distributed mode), который предоставляет возможность подключения к одному серверу хранения объектов множества дисков, в том числе расположенных на разных машинах.
RailsClub 2017. Материалы
Ближайшие события
А как вы создаете синглтоны в Ruby?
Как создать синглтон в Ruby?
Лично мне приходят на ум 4 способа.

ruby -e для упрощения работы в консоли
Как, думаю, многим известно, Ruby создавался под влиянием Perl, поэтому нет ничего удивительного в том, что Ruby может подменить Perl в его нише "практического извлечения данных и составления отчетов". В данном небольшом посте речь пойдет об использовании ruby для мелкой обработки текста в консоли.
Когда Феникс успел убить Рейлс?

Случается, что некоторые задачи не удаётся решить на привычном для вас языке программирования. Предположим, перед нами встала задача реализовать обмен сообщениями в реальном времени при больших объёмах трафика. Как сделать это оптимально? По понятным причинам, Руби – не лучший для этого вариант, поэтому придётся начинать поиски альтернатив. Перед вами появится множество путей, и как для рубиста, самым оптимальным выбором будет использование Эликсира.
Эликсир – функциональный язык программирования с синтаксисом Руби, работающий на виртуальной машине Эрланга. Следовательно, для человека из мира Руби знакомство с языком пройдёт очень легко. Хотя для того, чтобы понять его полностью, придётся постараться, не раз перечитывая документацию.
Ответ на вопрос из заголовка и масса интересного об Эликсире сразу же под катом.
Анонс RamblerElixir #4

Приглашаем разработчиков, тимлидов и всех, кто так или иначе связан с разработкой на Elixir, принять участие в RamblerElixir Meetup, который состоится 19 октября в 19:00, в четверг, на уютной мансарде Rambler&Co.
RailsClub 2017. Интервью с организатором elixir-lang.moscow Никитой Соболевым

RailsClub 2017. Ответ на три главных вопроса от Piotr Solnica

Как ты считаешь, какая самая большая задача сейчас стоит перед Ruby и RoR сообществом?
RailsClub 2017. Интервью с Никитой Шильниковым, Dry-rb и Rom-rb core-разработчиком

Как ты начал программировать на Ruby?