Описание книги
Уже больше десяти лет программисты на Ruby обращаются к данной книге как к надежному источнику сведений о том, как эффективно писать на этом языке. А теперь Хэл Фултон и Андрэ Арко изрядно обновили этот классический труд, включив описание новых средств языка и инструментов.
Новое издание охватывает версию Ruby 2.1 и содержит более 400 примеров, отвечающих на вопрос: "Как это делается в Ruby?". Все примеры сопровождаются подробным описанием задачи и технических ограничений. Затем дается пошаговое объяснение одного хорошего решения с детальными комментариями, позволяющими лучше усвоить материал.
Третье издание удобно организовано по темам, так что стало еще проще найти ответ на свой вопрос - и писать более качественный код в согласии с духом и философией Ruby.
Рассматриваемые темы:
- обзор Ruby 2.1: терминология, философия, основные принципы;
- рекомендации по работе со строками и регулярными выражениями;
- интернационализация программ;
- вычисления (включая тригонометрию, математический анализ, статистику и работу с датами и временем);
- работа с символами и диапазонами;
- массивы, хэши, стеки, очереди, деревья, графы и другие структуры данных;
- эффективное хранение данных в форматах YAML и JSON, а также в базе данных SQLite3;
- объектно-ориентированные и динамические возможности - от нескольких конструкторов до инспекции программы;
- построение графических интерфейсов пользователя с помощью Shoes 4, Ruby/Tk, Ruby/GTK3, QtRuby и других библиотек;
- повышение качества многопоточных программ благодаря лучшему пониманию механизмов синхронизации в Ruby;
- автоматизация системного администрирования;
- форматы данных: JSON, XML, RSS, Atom, RMagick, PDF и т.п.;
- тестирование и отладка с помощью RSpec, Minitest, Cucumber, byebug и pry;
- измерение производительности Ruby-программ;
- сборка и распространение пакетов кода, управление зависимостями с помощью Bundler;
o сетевое программирование: клиенты, серверы времени, POP, SMTP, IMAP, Open-URI;
- веб-приложения: HTTP-серверы, Rails, Sinatra, генерация HTML;
- написание распределенного кода на Ruby с помощью drb;
- выбор современных инструментов разработки, повышающих продуктивность.