Рубрика «ruby» - 25

Привет!

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

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

image

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

Читать полностью »

В этом посте я пошагово расскажу как с нуля настроить продакшн-сервер для Rails. Частично это перевод вот этой английской статьи, но я убрал использование гема «Capistrano», т.к. куда проще воспользоваться git clone, а кому нужен Capistrano, тому и этот мануал не нужен. Так же я более подробно описал создание бд и добавил пару пунктов, без которых сервер не работал. Мы будем использовать:

  • Ubuntu 14.04
  • nginx + passenger
  • rvm
  • Ruby 2.1.2
  • PostgreSQL
  • git

Читать полностью »

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

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

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

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

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

Изучаем алгоритм работы регулярных выражений в Ruby
Согласно Википедии, Oniguruma означает «колесница дьявола» в переводе с японского.

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

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

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

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

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

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

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

Многие не знают о тех мощных параметрах командной строки, что понимает интерпретатор Ruby. Они показывают как сильное влияние оказал на язык Perl и что Ruby отличный интсрумент общего назначения для командной строки.

Пусть есть задача обновить некоторые текстовые файлы, которые используются у нас в проекте. Данные выглядят как CSV, но так же содержат комментарии. Нам нужно отфильтровать некоторые записи по стране. Вот пример файла:
Читать полностью »

Введение

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

Привет. На хабре много обзоров различных сред разработки, но совсем мало информации про Komodo Edit и Komodo IDE.
Я пользуюсь Komodo с 2010 года и за это время вышло несколько мажорных релизов и хочу с вами поделиться кратким обзором основных возможностей.

Обзор Komodo Edit и Komodo IDE 8

Komodo Edit — это кросс-платформенный текстовый редактор, который построен на движке Mozilla, поддерживает большое количество языков. Проект является полностью открытым и распространяется под лицензией MPL (Mozilla Public License). Разработка проекта ведется на GitHub.
Как и у всех, есть авто-дополнение со справочной информацией, поддержка плагинов, макросы, сниппеты.
Главная фича, которая мне понравилась, это удаленное редактирование кода, подобно Sublime если прикрутить к нему плагины для работы по SFTP. В восьмой версии также появился визуальный скроллинг, аналогично тому, который есть в Sublime.

Читать полностью »

То чувство когда, чтобы скачать файлы телефон, ты пишешь свой ftp-сервер на Ruby…

Для этого нам понадобиться gem ftpd

gem install ftpd

Все просто, и ничего лишнего, маленький но храбрый ftp-сервер на Ruby

require 'ftpd'

class Driver
  def initialize(temp_dir)
    @temp_dir = temp_dir
  end
  def authenticate(user, password)
     true
  end
  def file_system(user)
    Ftpd::DiskFileSystem.new(@temp_dir)
  end
end

driver = Driver.new("/home/dsalahutdinov")
server = Ftpd::FtpServer.new(driver)
server.log = Logger.new($stdout)
server.start
puts "Server listening on port #{server.bound_port}"
gets

Исходник можно скачать по адресу: gist.github.com/dsalahutdinov/ac0e3e8b085ac8603650

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js