Обновить
4K+

Ruby *

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

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

RailsClub'Moscow 2014. Интервью с Аароном Паттерсоном (Aaron Patterson)

Время на прочтение4 мин
Охват и читатели4.5K
RailsClub 2014 стартует уже через 19 дней! Мы вышли на финишную прямую подготовки и начинаем публиковать традиционные интервью с нашими докладчиками.

Первый разговор — с самым долгожданным гостем, Аароном Паттерсоном. Аарон член Ruby и Rails СoreTeam, топ 1 контрибьютор Rails на сегодня и RubyHero 2010.

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



Над чем ты сейчас работаешь?
Читать дальше →

RailsClub Moscow 2014

Время на прочтение4 мин
Охват и читатели3.4K
Привет!

27 сентября состоится RailsClub Moscow 2014 — главное ruby-событие года, конференция для опытных разработчиков на Ruby и Rails. В этом году доклады хардкорнее, хэдлайнеры титулованнее, еда вкуснее, а традиционный зал Digital October — еще уютнее.

Итак, программа:

image

Аарон Паттерсон, член Ruby и Rails core team, TOP 1 контрибьютор на сегодня, RubyHero 2010. Человек, который определяет развитие языка, и отличный спикер. Пропустить приезд Аарона в Россию просто нельзя!
Мы звали Аарона еще в прошлом году, а в этом постарались сделать предложение, от которого нельзя отказаться. Не зря мы расписывали Аарону, как хорошо ему будет в Москве (посмотрите и вы).
Тема выступления сейчас уточняется. Можете написать в комментариях свои пожелания.
Читать дальше →

Ruby и криптоалгоритмы ГОСТ

Время на прочтение8 мин
Охват и читатели21K
Логотип Ruby и суровый ГОСТовый навесной замокВ жизни далеко не каждого разработчика наступает момент, когда приходится взаимодействовать с государственными системами. И немногим из них приходится взаимодействовать именно с российскими государственными системами. И так уж сложились звёзды, что я оказался одним из этих «счастливчиков».

Особенность российского государева ИТ в том, что везде, где нужно обеспечить безопасность (шифрование) и целостность (подпись) информации, необходимо использовать только отечественные криптоалгоритмы (которые стандартизованы и описаны в добром десятке ГОСТов и RFC). Это весьма логично с точки зрения национальной безопасности, но весьма больно с точки зрения разработки на не самом популярном языке (это джависты вон обласканы вниманием со всех сторон).

И вот, когда встала перед нами задача весьма плотного обмена сообщениями с ГОСТовой электронной подписью с одной из таких систем, то предложенный вариант решения в виде сетевого SOAP-сервиса, подписывающего запросы (и ответы) мне не понравился от слова «совсем» (оборачивать SOAP в SOAP — это какой-то кошмар в квадрате). Наступили длинные майские выходные, а когда они закончились — у меня было решение получше…
Что же это за решение?

Ruby on Rails исполнилось 10 лет

Время на прочтение1 мин
Охват и читатели11K
Первый публичный релиз Rails 0.5.0 состоялся 24 июля 2004 года, почти ровно десять лет назад. Именно этот день считается официальным днём рождения, так что уже вчера можно было отмечать юбилей.

Хотя датский программист Давид Хейнемейер Ханссон (dhh), автор популярного фреймворка, считает, что официально отпраздновать его можно и на конференции RailsConf.
Читать дальше →

Изучаем алгоритм работы регулярных выражений в Ruby

Время на прочтение9 мин
Охват и читатели17K

Согласно Википедии, Oniguruma означает «колесница дьявола» в переводе с японского.

Мы все знакомы с регулярными выражениями. Они являются «швейцарским армейским ножом разработчика». Что бы вы ни искали, какой бы текст ни разбирали, вы всегда можете сделать это используя регулярные выражения. На самом деле, вероятно, вы начали использовать их гораздо раньше, чем стали использовать Ruby — они уже давно включены в большинство популярных языков программирования: Perl, JavaScript, PHP, Java и прочие. Ruby появился в середине 1990-х годов, тогда как регулярные выражения еще в 1960-х, то есть почти на 30 лет раньше!

Но как на самом деле работают регулярные выражения?
Читать дальше →

Как работает GIL в Ruby. Часть 3. Делает ли GIL ваш код потоко-безопасным?

Время на прочтение9 мин
Охват и читатели5.4K


Переводы предыдущих двух частей:
Первая часть
Вторая часть

Это статья Jesse Storimer. Он выступает на семинаре Unix fu, онлайн классе для Ruby-разработчиков, которые хотят научиться удивительным хакам в Ruby и повысить свой уровень в разработке серверного стека. Количество участников ограничено, так что поторопитесь, пока есть свободные места. Так же, он является автором книг «Работа с Unix процессами», «Работа с TCP сокетами» и «Работа с потоками в Ruby».

В Ruby-сообществе существуют некоторые заблуждения относительно GIL в MRI-реализации интерпретатора. Если вы хотите узнать ответ на главный вопрос этой статьи, без ее прочтения, то вот он: GIL не делает ваш код на Ruby потоко-безопасным.

Но вы не должны принимать мои слова на веру.
Читать дальше →

Вёрстка по БЭМу в Ruby on Rails

Время на прочтение7 мин
Охват и читатели12K

Введение


В этой статье я хотел бы рассказать о технике вёрстки по БЭМу в рельсовых проектах. Я ещё не видел подобных руководств(кроме, может быть, этого, но оно мало подходит в качестве руководства и о нём ещё расскажу дальше), поэтому решил написать эту статью. Кроме того, я создал гем, который упростит интеграцию БЭМ и рельс, о нём и как его использовать я тоже напишу дальше.
Читать дальше →

Как мы боролись с проблемами производительности в «Redmine». Кто виноват и как помочь?

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

Конечно, статья не совсем верно названа. В чистом Redmine особо больших проблем с производительностью нет. Но мы, в процессе разработки большого количества плагинов, эти проблемы с легкостью вносили.

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

Симптом у проблем с производительностью всегда один – это разгневанный пользователь, кричащий, клянущий твое ПО и возможно тебя лично.
Читать дальше →

Простые тесты на ruby для web

Время на прочтение6 мин
Охват и читатели7.8K
Для изучения ruby был выбран учебный проект в котором простая задача, написания тестов для web. Ввиду отсутствия знаний и опыта было решено использовать упрощенный фреймворк sinatra.
Читать дальше →

Как мы увеличили скорость генерации JSON в 6000 раз

Время на прочтение2 мин
Охват и читатели15K
Краткий обзор способов формирования JSON

На сегодняшний день в Rails имеются следующие способы сериализации объектов в JSON:
  1. Вызов to_json() напрямую.
  2. RABL
  3. Active model serializers
  4. JBuilder

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

Установка последних RedMine + Apache + nginx

Время на прочтение26 мин
Охват и читатели50K
Redmine logo

Приведу кратко основное по RedMine:
  • ведение нескольких проектов;
  • система отслеживания ошибок;
  • диаграммы Ганта;
  • настраиваемые произвольные поля для инцидентов, временных затрат, проектов и пользователей;
  • лёгкая интеграция с системами управления версиями (SVN, Git, Mercurial);


Мне очень Важно было установить свежие версии всех модулей, почерпнул много источников, но практически все с недоделками, и очень таки неудобная конфигурация у них получалась.
Вот и пришлось самому сделать универсальную конфигурацию, которая может работать под любой из основных Веб-серверов.
Читать дальше →

Интеграция Ruby в Nginx

Время на прочтение6 мин
Охват и читатели14K


Уже достаточно давно существует всем известная связка Nginx + Lua, в том числе здесь был ряд статей. Но время не стоит на месте. Примерно год назад появилась первая версия модуля, интегрирующего Ruby в Nginx.
Читать дальше →

DevConf::Ruby — 14 июня — программа сформирована

Время на прочтение1 мин
Охват и читатели3.3K
14 июня (суббота) 2014 — пройдет крупнейшая конференция по Ruby, PHP, Python,JavaScript, Android

62 доклада от авторов языков, баз данных и экспертов в WEB-разработке!

Впервые в России нам удалось собрать авторов MySQL, PostgreSQL, Percona Server, Sphinx, Tarantool в отдельном потоке DevConf::Storage — по сути это отдельная конференция по современным БД.

Поток Ruby насыщен актуальными темами, который обязан знать каждый Ruby-разработчик

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

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

Опыт offline/online курсов Ruby on Rails c обязательными ДЗ

Время на прочтение6 мин
Охват и читатели20K
Как сделать так, чтобы студенты на курсах программирования не только присутствовали, но чтобы и получали реальные результаты в процессе и на выходе?

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


В Харькове, да и вообще в наших краях, увы мало рубистов даже для нашей небольшой Ruby on Rails компании из 20 человек. Многие компании открывают бесплатные курсы, после чего отбирают себе лучших выпускников. К сожалению, солидная часть отобранных студентов очень быстро начинают игнорировать не только домашние задания, но и вообще сами занятия. Поэтому важно получить изначально мотивированных кандидатов в разработчики на Ruby on Rails. Ничто так не мотивирует и не подтверждает готовность учиться, как участие, оплаченное своими кровными.
Читать дальше →

Ruby 2.1 в деталях (Часть 3)

Время на прочтение10 мин
Охват и читатели9.4K

Метод #singleton_class? для Module/Class

В классы Module и Class был добавлен метод #singleton_class?, который, как и следовало ожидать, возвращает, является ли получатель мета-классом (singleton)

class Example
  singleton_class?     #=> false
  class << self
    singleton_class?   #=> true
  end
end

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

Ruby 2.1 в деталях (Часть 2)

Время на прочтение12 мин
Охват и читатели12K

Refinements

Уточнения (refinements) больше не являются экспериментальной фичей и не выводят ворнинг, а также в их реализацию добавилось несколько деталей, делающих их использование более удобным.

Теперь к методу #using для активации уточнений на уровне файла добавился метод Module#using для активации в пределах модуля. Однако использование уточнений по-прежнему ограничено лексической областью видимости, т.е. они не будут активны при повторном открытии модуля.
Читать дальше →

Ruby 2.1 в деталях (Часть 1)

Время на прочтение10 мин
Охват и читатели19K

Ruby 2.1, последняя значимая версия Ruby (на момент написания поста), была выпущена в Рождество 2013, спустя всего лишь 10 месяцев после выхода 2.0.0. Она вышла с целым рядом изменений и улучшений, и данный пост в деталях описывает эти новшества.
Читать дальше →

Матрица компетенций Ruby on Rails разработчика

Время на прочтение4 мин
Охват и читатели9.6K
Как начинающему Rails разработчику понять, в какую сторону копать, чтобы как можно быстрее стать опытным программистом? Понятно, что нужно работать, работать и еще раз работать. Но кроме этого важен горизонт, который даст понять, в какую же сторону нужно идти по дороге к званию профессионала.

Два месяца назад мы запустили оффлайн&онлайн курсы в Харькове по Ruby on Rails для начинающих RubyBursa. Из особенностей — половина занятий было в учебном классе, половина в формате вебинара. Мы поставили жесткие условия выполнения домашних заданий и за первое невыполнение участники получали желтую карточку, за второе — красное и выбывали с курсов. Такие «драконовские методы» позволили 35 из 40 участников дойти до конца со 100% выполнением всех домашних задач.

Некоторые ученики в процессе учебы интересовались: «а что же дальше?». Наш преподаватель Оксана специально в виде ответа на этот вопрос подготовила пробную версию матрицы компетенции Ruby разработчика. Не претендуем на академичность и понимаем возможную спорность предложенной схемы.

Определите сколько баллов у вас есть суммарно по всем направлениям и подведите итог в конце статьи:
Читать дальше →

Вышел релиз Rails 4.1. Некоторые тонкости переезда

Время на прочтение3 мин
Охват и читатели17K
image
8 апреля в официальном блоге Ruby on Rails появилось сообщение об официальном выходе Rails 4.1. Весь функционал уместился в 5200 коммитов.

На хабре уже был обзор бета версии. Также можно почитать Release notes и A Guide for Upgrading Ruby on Rails.

В статье я бы хотел остановиться на некоторых тонкостях и деталях того, что под капотом.
Читать дальше →

Пишем документацию для Ruby on Rails проектов с помощью YARD

Время на прочтение4 мин
Охват и читатели9.4K
imageДобрый день, хабражители! Обнаружил, что на сайте нет статьи о том, как можно организовать процесс создания документации для Ruby on Rails проектов. Исправим эту проблему.

В статье будет рассказано, как с помощью гема YARDможно написать грамотную документацию к рельс проектам и автоматически сгенерировать документ, где эта документация будет представлена в презентативном виде. Пример документации можно посмотреть в коде сайта ВалиИзРашки.
Читать дальше →