Отправить другу/подруге по почте ссылку на эту страницуВариант этой страницы для печатиНапишите нам!Карта сайта!Помощь. Как совершить покупку…
московское время23.11.24 07:12:03
На обложку
Великая живопись Нидерландов: Очеркавторы — Любимов Л. Д.
Русская расовая теория до 1917 года. Вып. 2Русская расовая теория до 1917 года. Вып. 2
Лекции по математической теории устойчивостиавторы — Демидович Б. П.
б у к и н и с т и ч е с к и й   с а й т
Новинки«Лучшие»Доставка и ОплатаМой КнигоПроводО сайте
Книжная Труба   поиск по словам из названия
В ВЕСЕННЕ-ЛЕТНЕ-ОСЕННЕЕ ВРЕМЯ ВОЗМОЖНЫ И НЕМИНУЕМЫ ЗАДЕРЖКИ ПРИ ОБРАБОТКЕ ЗАКАЗОВ
Авторский каталог
Каталог издательств
Каталог серий
Моя Корзина
Только цены
Рыбалка
Наука и Техника
Математика
Физика
Радиоэлектроника. Электротехника
Инженерное дело
Химия
Геология
Экология
Биология
Зоология
Ботаника
Медицина
Промышленность
Металлургия
Горное дело
Сельское хозяйство
Транспорт
Архитектура. Строительство
Военная мысль
История
Персоны
Археология
Археография
Восток
Политика
Геополитика
Экономика
Реклама. Маркетинг
Философия
Религия
Социология
Психология. Педагогика
Законодательство. Право
Филология. Словари
Этнология
ИТ-книги
O'REILLY
Дизайнеру
Дом, семья, быт
Детям!
Здоровье
Искусство. Культурология
Синематограф
Альбомы
Литературоведение
Театр
Музыка
КнигоВедение
Литературные памятники
Современные тексты
Худ. литература
NoN Fiction
Природа
Путешествия
Эзотерика
Пурга
Спорт

/ИТ-книги/O'REILLY

Perl: изучаем глубже. — 2-е изд. — Шварц Р. Л., Фой Б., Феникс Т.
Perl: изучаем глубже. — 2-е изд.
От основ к мастерству
Шварц Р. Л., Фой Б., Феникс Т.
год издания — 2007, кол-во страниц — 320, ISBN — 978-5-93286-093-9, 5-93286-093-6, тираж — 2000, язык — русский, тип обложки — мягк., масса книги — 400 гр., издательство — Символ-Плюс
цена: 499.00 рубПоложить эту книгу в корзину
Intermediate Perl
Second Edition
Randal L Schwartz, brian d foy
& Tom Phoenix

O'REILLY 2006

Пер. с англ. А. Киселева

Уровень подготовки читателей: средний

Формат 70x100 1/16. Печать офсетная
ключевые слова — perl, программист, ооп, cpan, объектно-ориентир, массив, eval, интерфейс, разыменован, автовивификац, yaml, grep, замыкан, дескриптор, файл, package, makefile, тестиров, stdout, stderr, сервер

Книга «Perl: изучаем глубже» — продолжение мирового бестселлера «Learning Perl» («Изучаем Perl»), известного под названием «Лама». Издание поможет вам перешагнуть грань, отделяющую любителя от профессионала, и научит писать на Perl настоящие программы, а не разрозненные сценарии. Материал изложен компактно и в занимательной форме, главы завершаются упражнениями, призванными помочь закрепить полученные знания. Рассмотрены пакеты и пространства имён, ссылки и области видимости, создание и использование модулей. Вы научитесь с помощью ссылок управлять структурами данных произвольной сложности, узнаете, как обеспечить совместимость программного кода, написанного разными программистами. Уделено внимание и ООП, которое поможет повторно использовать части кода. Обсуждаются создание дистрибутивов, аспекты тестирования и передача собственных модулей в CPAN.

Книга адресована широкому кругу программистов, знакомых с основами Perl и стремящихся повысить свою квалификацию как в написании сценариев, так и в ООП, и призвана помочь им научиться писать эффективные, надежные и изящные программы.

Объектно-ориентированный механизм языка программирования Perl являет собой пример ловкости рук без всякого обмана. Он берёт набор возможностей, не связанных с объектно-ориентированным стилем программирования, таких как пакеты, ссылки, хеши, массивы, подпрограммы и модули, и с помощью несложных заклинаний превращает их в полнофункциональные объекты, классы и методы.

Благодаря этому трюку программист, основываясь на своих познаниях языка Perl, может легко и просто перейти к объектно-ориентированному стилю программирования, не преодолевая горы нового синтаксиса и не переплывая океаны новых технологий. Это также означает, что объектно-ориентированные возможности языка Perl можно осваивать постепенно, по мере необходимости отбирая те, что наилучшим образом подходят для решения поставленных задач.

Однако здесь кроется одна проблема. Поскольку все эти пакеты, ссылки, хеши, массивы, подпрограммы и модули составляют основу объектно-ориентированного механизма, для использования объектно-ориентированных возможностей языка Perl необходимо знать принципы работы с пакетами, ссылками, хешами, подпрограммами и модулями.

Трудность именно в этом. Кривая обучения не исчезла, она всего лишь сократилась на полдесятка шагов.

Какие же необъектно-ориентированные возможности языка Perl надо изучить, чтобы можно было взяться за объектно-ориентированные?

Ответу на этот вопрос и посвящена данная книга. На её страницах Рэндал, опираясь на 20-летний опыт работы с языком Perl и 40-летний опыт просмотра фильмов «Остров Джиллигана» и «Мистер Эд», описывает компоненты языка Perl, которые все вместе составляют фундамент его объектно-ориентированных возможностей. И, что ещё лучше, на примерах показывает, как из этих компонентов создавать классы и объекты.

Итак, если объекты языка Perl вызывают у вас чувства, подобные тем, которые испытал Джиллиган на необитаемом острове, эта книга — как раз то, что доктор прописал.

Кроме того, вся информация в ней прямо из первых рук.

Вступительное слово
Дэмиан Конвей (Damian Conway), май 2003

ОГЛАВЛЕНИЕ

Вступительное слово11
 
Предисловие12
 
1. Введение19
Что вы должны знать?20
Как быть со сносками?20
Как быть с упражнениями?21
Что делать, если я преподаю Perl?21
 
2. Основы22
Операторы списков22
Организация ловушек ошибок с помощью eval27
Исполнение программного кода, созданного динамически28
Упражнения29
 
3. Модули31
Стандартный дистрибутив31
Использование модулей32
Функциональные интерфейсы33
Как составить список импорта34
Объектно-ориентированные интерфейсы35
Типичный объектно-ориентированный модуль Math::BigInt35
Единая архивная сеть Perl36
Установка модулей из CPAN37
Настройка списка каталогов для поиска модулей38
Упражнения41
 
4. Введение в ссылки43
Выполнение однотипных действий с разными массивами43
Ссылки на массивы45
Разыменование ссылок на массивы46
Избавляемся от фигурных скобок48
Модификация массивов49
Вложенные структуры данных49
Упрощаем доступ к вложенным структурам с помощью стрелок52
Ссылки на хеши53
Упражнения55
 
5. Ссылки и области видимости57
Несколько ссылок на данные57
А если это было имя структуры?59
Подсчёт ссылок и вложенные структуры данных60
Ошибки при подсчёте ссылок62
Создание анонимных массивов64
Создание анонимных хешей67
Автовивификация69
Автовивификация и хеши72
Упражнения74
 
6. Управление сложными структурами данных76
Использование отладчика для просмотра данных
со сложной структурой76
Просмотр данных со сложной структурой
с помощью модуля Data::Dumper81
YAML83
Сохранение данных со сложной структурой
с помощью модуля Storable84
Операторы grep и map86
Обходное решение86
Выбор и модификация данных со сложной структурой88
Упражнения89
 
7. Ссылки на подпрограммы91
Ссылки на именованные подпрограммы91
Анонимные подпрограммы96
Подпрограммы обратного вызова98
Замыкания99
Подпрограмма как возвращаемое значение
другой подпрограммы101
Использование переменных замыканий для ввода данных104
Переменные замыканий как статические
локальные переменные105
Упражнения107
 
8. Ссылки на дескрипторы файлов109
Старый способ109
Улучшенный способ110
Способ ещё лучше112
IO::Handle112
Ссылки на дескрипторы каталогов117
Упражнения118
 
9. Практические приёмы работы со ссылками120
Краткий обзор способов сортировки120
Сортировка по индексам122
Эффективность алгоритмов сортировки124
Преобразование Шварца126
Многоуровневая сортировка на основе преобразования Шварца127
Данные с рекурсивной организацией127
Построение структур данных с рекурсивной организацией129
Отображение данных с рекурсивной организацией132
Упражнения133
 
10. Разработка больших программ135
Ликвидация повторяющихся участков программного кода135
Вставка программного кода с помощью eval137
С помощью оператора do137
С помощью директивы require139
require и @INC141
Конфликт имён144
Имена пакетов как разделители пространств имён146
Область видимости директивы package148
Пакеты и лексические переменные149
Упражнения149
 
11. Введение в объекты151
Если бы мы могли говорить на языке зверей151
Вызов метода с помощью оператора «стрелка»153
Дополнительный параметр при вызове метода154
Вызов второго метода с целью упрощения155
Несколько замечаний о массиве @ISA156
Перекрытие методов158
Поиск унаследованного метода160
SUPER способ добиться того же самого161
Зачем нужен аргумент @_162
Что мы узнали…162
Упражнения162
 
12. Объекты и данные164
Лошадь лошади рознь164
Вызов метода экземпляра166
Доступ к данным экземпляра166
Как создать лошадь167
Наследование конструктора168
Создание метода, работающего как с экземплярами,
так и с классами169
Добавление параметров к методам170
Более сложные экземпляры171
Лошадь другого цвета172
Что возвращать173
Не открывайте чёрный ящик175
Оптимизация методов доступа176
Операция чтения и записи в одном методе176
Ограничение доступа к методам только по имени класса
или только для экземпляров класса177
Упражнения178
 
13. Уничтожение объектов179
Уборка мусора179
Уничтожение вложенных объектов181
Вторичная переработка185
Форма косвенного обращения к объектам186
Дополнительные переменные экземпляра в подклассах188
Переменные класса190
Слабые ссылки192
Упражнения195
 
14. Дополнительные сведения об объектах196
Методы класса UNIVERSAL196
Проверка возможностей объектов197
Метод AUTOLOAD как последняя инстанция199
Применение AUTOLOAD для реализации методов доступа200
Более простой способ создания методов доступа201
Множественное наследование203
Упражнения204
 
15. Экспортирование206
Что делает директива use206
Импорт с помощью модуля Exporter208
©EXPORT и @EXPORT_OK208
% EXPORT_TAGS210
Экспорт имён в объектно-ориентированных модулях211
Собственные подпрограммы импорта213
Упражнения215
 
16. Создание дистрибутива216
Собрать дистрибутив можно разными способами217
Программа h2xs218
Файл README220
Встроенная документация226
Управление дистрибутивом с помощью Makefile.PL229
Изменение каталога установки (PREFIX=…)231
Тривиальная команда make test232
Тривиальная команда make install233
Тривиальная команда make dist234
Дополнительные каталоги с библиотеками235
Упражнения236
 
17. Основы тестирования237
Чем больше тестов, тем лучше программный код237
Простейший сценарий с тестами238
Искусство тестирования239
Тестирующая система242
Разработка тестов с помощью Test::More244
Тестирование объектно-ориентированных особенностей247
Списки To-Do тестов249
Пропуск тестов249
Более сложные тесты (несколько тестовых сценариев)250
Упражнения251
 
18. Дополнительные сведения о тестировании253
Тестирование длинных строк253
Тестирование файлов254
Тестирование устройств STDOUT и STDERR256
Работа с ложными объектами258
Тестирование документации в формате POD260
Степень покрытия тестами261
Разработка собственных модулей Test::*262
Упражнения266
 
19. Передача модулей в CPAN267
Всемирная сеть архивов Perl267
Первый шаг268
Подготовка дистрибутива269
Передача дистрибутива на сервер270
Объявление о выпуске модуля271
Тестирование на нескольких платформах271
Подумайте о написании статьи или доклада272
Упражнения272
 
А. Ответы к упражнениям273
 
Алфавитный указатель302

Книги на ту же тему

  1. CGI программирование на Perl, Гулич С., Гундаварам Ш., Бирзнекс Г., 2001
  2. UNIX. Профессиональное программирование. — 2-е изд., Стивенс Р., Раго С., 2007

Напишите нам!© 1913—2013
КнигоПровод.Ru
Рейтинг@Mail.ru работаем на движке KINETIX :)
elapsed time 0.021 secработаем на движке KINETIX :)