Вход/Регистрация
Искусство программирования для Unix
вернуться

Реймонд Эрик Стивен

Шрифт:

3.2.1. VMS

3.2.2. MacOS

3.2.3. OS/2

3.2.4. Windows NT

3.2.5. BeOS

3.2.6. MVS

3.2.7. VM/CMS

3.2.8. Linux

3.3. Все повторяется

Часть II Проектирование

4 Модульность: четкость и простота

4.1. Инкапсуляция и оптимальный размер модуля

4.2. Компактность и ортогональность

4.2.1. Компактность

4.2.2. Ортогональность

4.2.3. Правило SPOT

4.2.4. Компактность и единый жесткий центр

4.2.5. Значение освобождения

4.3. Иерархичность программного обеспечения

4.3.1. Сравнение нисходящего и восходящего программирования

4.3.2. Связующие уровни

4.3.3. Учебный пример: язык С считается тонким связующим уровнем

4.4. Библиотеки

4.4.1. Учебный пример: подключаемые подпрограммы GIMP

4.5. Unix и объектно-ориентированные языки

4.6. Создание модульного кода

5 Текстовое представление данных: ясные протоколы лежат в основе хорошей практики

5.1. Важность текстовой формы представления

5.1.1. Учебный пример: формат файлов паролей в Unix

5.1.2. Учебный пример: формат файлов .newsrc

5.1.3. Учебный пример: PNG — формат графических файлов

5.2. Метаформаты файлов данных

5.2.1. DSV-стиль

5.2.2. Формат RFC 822

5.2.3. Формат Cookie-Jar

5.2.4. Формат record-jar

5.2.5. XML

5.2.6. Формат Windows INI

5.2.7. Unix-соглашения по текстовым файловым форматам

5.2.8. Аргументы "за" и "против" сжатия файлов

5.3. Проектирование протоколов прикладного уровня

5.3.1. Учебный пример: SMTP, простой протокол передачи почты

5.3.2. Учебный пример: РОРЗ, почтовый протокол 3-й версии

5.3.3. Учебный пример: IMAP, протокол доступа к почтовым сообщениям

5.4. Метаформаты протоколов прикладного уровня

5.4.1. Классический метапротокол прикладного уровня в Internet

5.4.2. HTTP как универсальный протокол прикладного уровня

5.4.2.1. Учебный пример: база данных CDDB/freedb.org

5.4.2.2. Учебный пример: протокол IPP

5.4.3. ВЕЕР: Blocks Extensible Exchange Protocol

5.4.4. XML-RPC, SOAP и Jabber

6 Прозрачность: да будет свет

6.1. Учебные примеры

6.1.1. Учебный пример: audacity

6.1.2. Учебный пример: параметр -v программы fetchmail

6.1.3. Учебный пример: GCC

6.1.4 Учебный пример: kmwail

6.1.5. Учебный пример: SNG

6.1.6. Учебный пример: база данных Terminfo

6.1.7. Учебный пример: файлы данных Freeciv

6.2. Проектирование, обеспечивающее прозрачность и воспринимаемость

6.2.1. Дзэн прозрачности

6.2.2. Программирование, обеспечивающее прозрачность и воспринимаемость

6.2.3. Прозрачность и предотвращение избыточной защищенности

6.2.4. Прозрачность и редактируемые формы представления

6.2.5. Прозрачность, диагностика и восстановление после сбоев

6.3. Проектирование, обеспечивающее удобство сопровождения

7 Мультипрограммирование: разделение процессов для разделения функций

7.1. Отделение контроля сложности от настройки производительности

7.2. Классификация IPC-методов в Unix

7.2.1. Передача задач специализированным программам

7.2.1.1. Учебный пример: пользовательский почтовый агент mutt

7.2.2. Каналы, перенаправление и фильтры

7.2.2.1. Учебный пример: создание канала к пейджеру

7.2.2.2. Учебный пример: создание списков слов

7.2.2.3. Учебный пример: pic2graph

7.2.2.4. Учебный пример: утилиты bc(1) и dc(1)

7.2.2.5. Контрпример: почему программа fetchmail не выполнена в виде конвейера

7.2.3. Упаковщики

7.3.2.1. Учебный пример: сценарии резервного копирования

7.2.4. Оболочки безопасности и цепи Бернштайна

7.2.5. Подчиненные процессы

7.2.5.1. Учебный пример: scp и ssh

7.2.6. Равноправный межпроцессный обмен данными

7.2.6.1. Временные файлы

7.2.6.2. Сигналы

7.2.6.3. Системные демоны и традиционные сигналы

7.2.6.4. Учебный пример: использование сигналов в программе fetchmail

7.2.6.5. Сокеты

7.2.6.5.1. Учебный пример: PostgreSQL

  • Читать дальше
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: