Обновить
2.26

Ruby *

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

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

Каждой ветке по хосту c помощью capistrano

Время на прочтение3 мин
Количество просмотров6.3K
Думаю многим знакомо понятие «борьба за staging», когда все разработчики одновременно за день до релиза хотят поделиться своими наработками, чтобы тестировщик их проверил как можно скорее и не пришлось всю ночь править баги, да? Кому интересно посмотреть как мы решаем данную проблему для RoR-проектов с помощью Capistrano прошу под кат.


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

RailsClub 2015: Интервью с Сэмом Пиппеном

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

До RailsClub 2015 остался месяц. В этом году мы активно растем (и количеством докладов, и количеством участников). Приглашаем всех рубистов присоединяться!
Сегодня мы начинаем публиковать традиционные интервью с нашими докладчиками.

Первый собеседник — Сэм Пиппен, хакер из Лондона, член RSpec core team, разработчик в Fun and Plausible Solutions.

image
Интервью публикуются с оригинальными ответами на английском языке и нашим вольным переводом.
Читать дальше →

Ruby On Rails и взаимодействие с REST Qiwi Shop

Время на прочтение6 мин
Количество просмотров7.7K
Имею огромное желание рассказать о том, как просто работать с QIWI Shop, используя Ruby on Rails.

Для чего нужен QIWI Shop? Например, у Вас есть свой онлайн-магазин и Вам необходимо принимать платежи от пользователей. Qiwi достаточно распространен в мире. Он не требует наличия персонального аттеста для вывода средств, как это, например, требуют в WebMoney. Поэтому QIWI достаточно привлекателен для интеграрации в онлайн-магазины.


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

Пишем Telegram бота на Ruby в 10 строк

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

После выпуска Telegram Bot Platform многие задумывались о написании своего бота. Этот пост описывает минимальные шаги, необходимые для написания собственного бота на Ruby. Для этого потребуется только аккаунт в Telegram и машина с установленным Ruby на ней.
Читать дальше →

Live — чат и ActionCable

Время на прочтение3 мин
Количество просмотров13K
Хочу опубликовать коротенькую заметку о том как интегрировать, зарелизиный совсем недавно, ActionCable в ваш Ruby on Rails проект на примере Live — чата. Я не стану углубляться в то, как работает сам ActionCable, просто приведу небольшой пример использования.
Читать дальше →

RailsClub Moscow 2015, мы начинаем

Время на прочтение8 мин
Количество просмотров4.9K
image

Привет всем рубистам и рубисткам!

С радостью рассказываем о том, какую программу мы приготовили на RailsClub 2015, который состоится 26 сентября в Москве. Все подробности на сайте конференции railsclub.ru (кстати, зацените наш новый сайт). Приглашаем всех неравнодушных, главное российское Ruby-событие года нельзя пропускать! Билет сейчас стоит 7000, но уже через неделю будет дороже.

Что же будет:

image Koichi Sasada
Член команды Яцухиро Мацумото в Heroku, директор Ruby Association.
PERFORMANCE IN THE DETAILS: A WAY TO MAKE FASTER RUBY
Heroku Matz team is working to improve quality of CRuby/MRI. Quality has several meanings, such as stability, low resource consumption, and of course speed. My main goal is to make faster Ruby.
However, we don't have one absolute solution to speed up Ruby interpreter. Instead of one solution, we introduce variety of techniques to improve Ruby's performance. In this talk, I will show you recent achievements by techniques in details.
Читать дальше →

Вышел релиз JRuby 9000

Время на прочтение2 мин
Количество просмотров8.2K
Сегодня вышел релиз JRuby 9.0.0.0. Активная фаза разработки длилась около двух лет, за это время насчитано более 5500 коммитов от 104 разработчиков. А некоторые вещи, на которых основывается этот релиз, были начаты более пяти лет назад. В целом, в эту версию вложено огромное количество труда и сейчас очень приятно поздравлять разработчиков с успешным завершением.

Что такое JRuby
JRuby — это реализация языка программирования Ruby, работающая на виртуальной машине Java. Основные достоинства: высокая скорость работы, параллелизм без GIL, возможность вызова java-библиотек из ruby-кода, а также возможность скриптинга на ruby для java-приложений.

Главные отличия от версии 1.7

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

Подборка актуальных и полезных материалов по Ruby #1: статьи, доклады, подкасты, гемы

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


Всем привет! Я работаю в AT Consulting и представляю команду разработчиков портала Beeline.kz, который мы пишем на Ruby on Rails. Поскольку информация в нашей сфере быстро устаревает, приходится постоянно следить за новостями и обучаться новым технологиям. По мере накопления новостей и полезных материалов, связанных с Ruby, я буду публиковать Ruby-дайджест.
Большинство материалов, которые я собрал в дайджесте, написаны на английском, но я надеюсь, что это не проблема, ведь первый шаг к Ruby – это изучение языка.
Читать дальше →

Прием уведомлений от внешних сервисов, или зачем был сделан Hooksler

Время на прочтение5 мин
Количество просмотров7.5K
В последнее время большую популярность приобрел сервис для командной коммуникации Slack. Из коробки он имеет немалое количество интеграций с различными сервисами + довольно удобное внешнее API. Но при всем при этом на бесплатных аккаунтах есть ограничение в 5 интеграций. Прицепили мы github, newrelic + пару досок с trello и все, количество их закончилось. Можно использовать универсальный Incoming WebHook, но он само собой имеет свой формат и никак не совместим с другими сервисами. Но программист не был бы программистом, если бы не решил эту задачу.
Читать дальше →

Двухфакторная аутентификация для всех

Время на прочтение2 мин
Количество просмотров8.1K
По мотивам публикации «Проектирование микросервиса» я решил написать (и написал!) опенсорс для реализации двухфакторной аутентификации. На самом деле получилось два репозитория, которые обеспечивают весь «бэкграунд» второго фактора аутентификации и предоставляют удобную архитектуру для внедрения плюшек.



Отдельно отмечу, что первая часть может служить самостоятельным приложением. Оба сервиса работают через API.
Читать дальше →

Пишем веб-сервис на Scalatra

Время на прочтение7 мин
Количество просмотров9.5K
Scalatra – это легковесный высокопроизводительный web-фреймворк, близкий к Sinatra, что может значительно облегчить вам жизнь при переходе с Ruby на Scala. В этой статье я хочу восполнить пробел в отсутствии мануалов на русском языке по этому интересному фреймворку на примере создания простого приложения с возможностью аутентификации.
Читать дальше →

Как победить Excluded Constraints с помощью RubyGem

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


Во время разработки iOS/OSX-приложений непременно приходится использовать Interface Builder и Auto Layout. В приложениях со сложными интерфейсом и в приложениях, находящихся в разработке достаточно давно, часто появляется проблема с большим количеством «исключенных констрейнов». Storyboard грузится необоснованно долго, а во время перехода между сценами можно успеть сходить за кофе.

Но, казалось бы, интерфейс всех контроллеров такой же незамысловатый, как и в релизе полгода назад. Что же случилось? Тем, кто использовал Size Classes, сразу понятно, что интерфейс — не такая простая штука, как кажется. Он ведет себя по-разному в разных ориентациях и на разных дисплеях. Делает он это, потому что некоторые constraints применяются только в определенной ситуации.

Это значит, что в остальных ситуациях эти constraints не используются. У Xcode Interface Builder есть особенность, которая помогает при разработке сложных интерфейсов и мешает при разработке простых. Если добавить constraint к какому-то UIView и затем удалить его из Xcode Inspector (а чаще всего это — самый удобный путь), Xcode не удалит его, а лишь сложит в список неиспользуемых на случай, если понадобится для другого дисплея или ориентации.

Иногда, если развернуть все группы constraints, можно ужаснуться происходящему в storyboard-файле:


Не хотите наблюдать подобное? Добро пожаловать под кат!
Читать дальше →

Обработка 1 миллиона запросов в минуту c Go

Время на прочтение8 мин
Количество просмотров39K
Предлагаю читателям «Хабрахабра» перевод статьи главного архитектора компании Malwarebytes о том, как они достигли обработки 1 миллиона запросов в минуту всего на 4 серверах.

У нас в Malwarebytes мы переживаем бешеный рост и с тех пор, как я присоединился к компании около года назад в Кремниевой Долине, одной из моих основных обязанностей было проектирование и разработка архитектур нескольких систем для развития быстрорастущей компании и всей необходимой инфраструктуры для поддержки продукта, который используют миллионы людей каждый день. Я работал в индустрии антивирусов более 12 лет в нескольких разных компаниях, и знаю, насколько сложными получаются в итоге эти системы, из-за колоссальных объемов данных, с которыми приходится иметь дело ежедневно.
Читать дальше →

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

RailsClub Ruby митап №2 в офисе Rambler&Co

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

Друзья, у меня есть для вас отличная новость! 23 июля в 19:00 в офисе Rambler&Co случится RailsClub Ruby митап №2.

Намечается аж целых 5 спикеров и, соответственно, 5 интересных докладов.
Читать дальше →

Паттерны проектирования на Ruby

Время на прочтение5 мин
Количество просмотров20K
Дзен Ruby говорит нам о том, что реализовать задачу можно несколькими способами, поэтому приведенные здесь решения лишь небольшое подмножество вариантов того как решить задачу более «красиво». Почти везде, где я читал про паттерны, приводились какие-то искусственные примеры, мне же всегда хотелось, чтобы кто-то показал мне «как правильно» на уже написанном, плохо спроектированном коде.
Итак, сегодня рассмотрим два шаблона проектирования: абстрактная фабрика и шаблонный метод.
Читать дальше →

Гем для отправки смсок (Ruby)

Время на прочтение1 мин
Количество просмотров3.5K
Время от времени мне приходится внедрять отправку СМС-сообщений через разных провайдеров. Недавно я посмотрел на весь накопленный «опыт» и решил собрать из него гем. На данный момент есть поддержка СМС.ру, Кликателл, СмсУслуг и Нексмо.

Краткое описание гема и дополнительные ссылки ожидают вас под катом.
Читать дальше →

Коммерческий VPN сервис в opensource

Время на прочтение1 мин
Количество просмотров41K
Всем доброго времени суток!

Позвольте представиться.
Я CEO/CTO/CIO/итд VPN сервиса SmartVPN.biz.
Можно называть меня Виктор Иванов, так как таков был мой псевдоним в службе поддержки клиентов SmartVPN.biz.

Пару лет назад я решил создать свой первый стартап — VPN сервис.
Идея нагрянула после того как около 5 друзей попросили у меня VPN на моем личном сервачке.
Естественно, никакого анализа рынка, конкурентов и написания бизнес плана не было. Я просто сел и начал кодить.
Спустя какое-то время проектом стало можно пользоваться — и он увидел свет.
Читать дальше →

DevConf 2015 — сформирована программа конференции

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

Крупнейшая конференция DevConf 2015 пройдет в эту пятницу в Москве (конгресс центр Измайлово Бета).
20 июня пройдут эксклюзивные мастер-классы: Sphinx 3.0, MySQL 5.7, Docker, cоздание мобильных игр и архитектуры социальной сети
62 докладчика — 7 потоков: Python, PHP, Ruby, Javascript, Storage, DevOps, Commonкаждый Веб-разработчик найдет что-то интересное для повышения своей квалификации!
Читать дальше →

Правда ли, что Go быстрее Ruby?

Время на прочтение3 мин
Количество просмотров12K
Последние несколько лет я занимаюсь созданием игр для социальных сетей. В качестве back-end применяю связку Ruby + Sinatra + Redis. Redis используется в качестве единственной базы данных. Производительности одной базы Redis часто не хватает, поэтому используется кластер из нескольких баз данных. Более подробно о том, как создавалось решение в виде кластера баз Redis можно прочитать в этой статье.

В последнее время у меня большой интерес вызывает язык программирования Go — слишком много плюшек его использование сулит программисту. Хочется back-end для новых игр написать на нем, но существующая и отлаженная кодовая база на Ruby мешает этому.

Поэтому я решил двигаться небольшими итерациями и начал с переписывания микросервисов применяемых в играх на Go.

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

Ruby и C. Часть 4. Дружим акселерометр, гироскоп и дальномер с Raphael.js

Время на прочтение6 мин
Количество просмотров9.5K
В предыдущих частях от iv_s (раз два три) были описаны различные техники использования C и Ruby вместе. Я бы хотел рассказать о еще одной возможной связке – использовании уже существующих системных C-функций.

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

Как оказалось, достучаться до функций работы с шиной I2C в Ruby предельно просто – он позволяет использовать уже написанные и установленные библиотеки на C.



Схема работы такая:
на RaspberryPi запущен Sinatra сервер, который при обращении отдает данные о повороте платы по осям X и Y, а также расстояние до ближайшего препятствия в сантиметрах.
На клиенте для визуализации и отладки написан простой скрипт с использованием Raphael3d.js, который каждые 100мс опрашивает устройство и поворачивает схематическую плату в соответствии с положением платы физической.
Читать дальше →

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