Ruby: установка и управление gem в Ruby

www.rubygems.org – основной сайт с гемами

Ubuntu/Centos/Gentoo

Установка ruby/gems:

sudo apt-get/yum/emerge install ruby
sudo apt-get/yum/emerge install rubygems

Гемы обычно ставятся через утилиту gem – она заведует поиском/установкой/удалениями гемов и имеет другие полезные команды. Краткий ман. Утилита поддерживает мультиверсионность гемов – если последняя вышедшая версия используемого вами gem не совместима с той, которую вы используете сейчас, то можно использовать обе версии одновременно. 

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

Ruby: gem oci8 для работы с БД Oracle

INSTALL

Gem oci8 как в Ubuntu, так и в Gentoo использует oracle instantclient для работы, поэтому сначала нужно поставить его. Полностью процесс установки gem описан тут.

После установки instantclient устанавливаем уже расширение:

  • Установка Ubuntu требует обязательное определение переменной LD_LIBRARY_PATH.
~$ sudo env LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib gem install ruby-oci8
Building native extensions.  


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

Ruby: работа с Excel (xls) и CSV с гемами spreadsheet, axlsx

Для работы с CSV достаточно системной библиотеки CSV.

 

CSV

Работа с CSV

# открываем файл, каждая строка является массивом, каждая ячейкам – элементом массива

csv.foreach("csv.csv") do |line|
puts line.inspect
end

# если нам нужно сохранить весь файл в двумерный массив (array, в нем строки в виде отдельных array) – просто вызываем read.

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

phantomjs – парсинг web с поддержкой js

Зачем
В отличии от mechanize, который очень удобен и функционален, phantomjs, судя прямо из названия, поддерживает исполнение javascript без установки браузера.
Установка
Устанавливать проще всего через apt-get/yum. Можно так же скачать пакет с сайта, плюсом будет самая свежая версия пакета.

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

Ruby: парсинг и модификация WEB страниц с Nokogiri и Mechanize

Парсить страницу через curl + regexp можно, но только в простых сценариях. В противном случае проще и надежнее использовать библиотеки.

Mechanize и Nokogiri похожи. Насколько я понимаю Mechanize использует Nokogiri для своей работы. Оба Gem могут использовать html объекты для парсинга/манипуляции (nokogiri так же может работать с xml).

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

Ruby: простой Web Server на базе WEBrick

В Ruby есть встроенный сервер WEBrick. У него есть довольно богатый функционал, но юзать его не рекомендуют (как минимум из-за отсутствия документации и однопоточности). Для целей production могут использоваться другие ruby-сервера: puma, unicorn, rainbows.

WEBrick::HTTPAuth
WEBrick::HTTPAuth::Authenticator
WEBrick::HTTPAuth::BasicAuth
WEBrick::HTTPAuth::DigestAuth
WEBrick::HTTPAuth::Htdigest
WEBrick::HTTPAuth::Htgroup
WEBrick::HTTPAuth::Htpasswd
WEBrick::HTTPAuth::ProxyAuthenticator
WEBrick::HTTPAuth::ProxyBasicAuth
WEBrick::HTTPAuth::ProxyDigestAuth
WEBrick::HTTPAuth::UserDB
WEBrick::Cookie

Поднимаем простой http сервер. 



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

В защиту PHP ;)

Многие плюются на php, есть даже шутка:
Вы указали в резюме знание php.. Вам не стыдно?
По факту же довольно большое количество крупных сайтов его используют. Чаще всего это не “чистый” PHP, а высокопроизводительные детища в виде HipHop от FB (его использует и Wiki) или KPHP от VK, но, например, jruby тоже не совсем Ruby. 

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