Последнее в категории Книги

В магазинах появился русский перевод книги O’Reilly «Регулярные выражения. Сборник рецептов» (Regular Expressions Cookbook), написанная Яном Гойвертсом и Стивеном Левитаном.

Регулярные выражения. Сборник рецептов / Regular Expressions Cookbook

(На оригинальной книге, которую я получил от O’Reilly, тоже есть черная полоса с надписью Includes a Regular Expressions Tutorial.)

Содержание

  1. Введение в регулярные выражения
  2. Основные навыки владения регулярными выражениями
  3. Программирование с применением регулярных выражений
  4. Проверка и форматирование
  5. Слова, строки и специальные символы
  6. Числа
  7. URL, пути и адреса в Интернете
  8. Разметка и обмен данными

Все примеры в рецептах даны на семи диалектах регулярных выражений: .NET, Java, JavaScript, PCRE, Perl, Python и Ruby.

Цена на books.ru вдвое меньше (650 руб.), чем в «Московском доме книги» (1135 руб.).

Соль минор

| Нет комментариев

Я хотел написать про одно, а напишу про другое.

Сегодня мне стало интересно, что на спане умеет рисовать ноты. Оказалось, не так уж и много. Есть пара интересных модулей, которые умеют делать картинки с клавишами, которые нужно нажать, получая на входе название аккорда.

Например, модуль GD::Chord::Piano рисует такие простые картинки:

chord.png

Интерфейс крайне прост и приятен:

use GD::Chord::Piano;
my $im = GD::Chord::Piano->new;
print $im->chord('Gm')->png;

Все, что требуется, — передать название аккорда методу chord. Этот пример скопирован из документации к модулю.

А вот другой модуль — Music::Image::Chord, который, судя по названию и описанию, должен делать нечто похожее.

Но если скопировать пример из документации, то ничего не работает:

Use of uninitialized value in division (/) at /usr/local/lib/perl5/site_perl/5.10.0/Music/Image/Chord.pm line 152.
Can't use an undefined value as a HASH reference at /usr/local/lib/perl5/site_perl/5.10.0/Music/Image/Chord.pm line 153.

Нет, можно конечно продолжить разбираться, но не хочется.

К сожалению, такое весьма часто такое случается с примерами в книгах, причем не из-за того, что у автора и читателя оказались компиляторы разных версий. А ведь это так просто — скопипейстить код из набранной рукописи и проверить ее.

У разработчиков периодически возникают ситуации, когда они уверены в написанном коде и не проверяют его. Ну разве можно ошибиться, исправив один-два символа в регулярном выражении на боевом сервере? А вот можно :-) Сила опытного разработчика не в том, что он может писать код с закрытыми глазами, а в том, что он не стремается проверять себя.

В качестве офтопика можно вспомнить историю, расказанную создателем Бейсика Томасом Курцом о том, что какой-то аспирант написал компилятор PL/1 без отладки, впервые запустив его только после того, как код был полностью написан:

...he worked at Darthmouth in the computer center. He wrote a PL/1 compiler, and it's a big thing, and he checked it, and looked at it, and so on, but he never tested it, he never ran it until it was all done. You know, 20,000 or 30,000 lines of code, and the only test he did was to read it. Then he ran it and it worked the first time!

В той же книге рассказано и о том, что означат отладка для создателя C++ Бьярна Страуструпа:

— How do you debug? Do you have any suggestion for C++ developers?
— By introspection. I study the program for so long and poke at it more or less systematically for so long that I have sufficient understanding to provide an educated guess where the bug is.

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

Хочу поделиться некоторыми мыслями, которые мне хочется воплотить на сайте books.perl.org.

Этот сайт существует много лет, и, прежде всего, пора освежить его внешний вид. Но это одна сторона дела.

Основное же, что меня не устраивает в нынешнем виде, — сайт полностью на английском языке. Мне хочется сделать его многоязычным. Это даст и возможность показывать все переводы книг на другие языки.

Третье — разные издания книг плохо связаны друг с другом или вообще отсутствуют.

Четвертое — для тех книг, которые доступны на Google Books, нужно дать возможность посмотреть их там.

Еще очень хочется найти все обложки в хорошем разрешении.

О том, что собой будет представлять новый сайт, я расскажу через месяц в Пизе.

В «Московском доме книги» на Новом Арбате сейчас продаются аж десять (!) книг про Perl.

perlbooksoffline.jpg

Э. Рандал, Д. Сугальск, Л. Тёч. Perl 6 and Parrot Essentials (2-е издание) (устарела)

Л. Штайн. Разработка сетевых программ на Perl

Л. Уолл, Т. Кристиансен, Д. Орвант. Программирование на Perl (3-е издание)

Р. Шварц, б. фой, Т. Феникс. Perl: изучаем глубже

Р. Фоули. Perl отладчик

К. Мельтцер, Б. Михальски. Разработка CGI-приложений на Perl (устарела)

М. Шохирев. Язык программирования Perl 5

А. Ломов. Apache, Perl, MySQL: практика создания динамических сайтов. Самоучитель

Д. Фридл. Регулярные выражения (3-е издание)

Н. Прохоренок. Разработка Web-сайтов с помощью Perl и MySQL (крайне не рекомендую)

Страницы

  • img

Об архиве

Эта страница содержит последние записи категории Книги.

Предыдущая категория — Интернационализация.

Следующая категория — Лингвистика.

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.