Программирование на Java.

Что Такое Java? Платформа Java. 2. Лекция: Основы Объектно-Ориентированного Программирования. 3. Лекция: Лексика Языка. 4. Лекция: Типы Данных. 5. Лекция: Имена. Пакеты. 6. Лекция: Объявление Классов. 7. Лекция: Преобразование Типов. 8. Лекция: Объектная Модель В Java. 9. Лекция: Массивы. 10. Лекция: Операторы И Структура Кода. Исключения. 11. Лекция: Пакет Java.Awt. 12. Лекция: Потоки Выполнения. Синхронизация. 13. Лекция: Пакет Java.Lang. 14. Лекция: Пакет Java.Util. 15. Лекция: Пакет Java.Io. 16. Лекция: Введение В Сетевые Протоколы.

Основы программирования в Linux.

Для Кого Эта Книга? Примечание. Чему Посвящена Книга? Что Вам Потребуется Для Использования Книги? Исходный Программный Код. Примечание. Замечание, Касающееся Программного Кода Примеров. Общедоступная Лицензия Проекта Gnu. Стилевое Оформление, Принятое В Книге. Примечание. Ошибки. Сайт P2P.Wrox.Com. Примечание. Глава 1. Приступая К Работе. Введение В Unix, Linux И Проект Gnu. Что Такое Ос Unix? Краткая История Ос Unix. Идеология Unix. Что Такое Linux? Проект Gnu И Фонд Свободного По. Дистрибутивы Linux. Программирование В Ос Linux. Примечание. Linux-Программы. Примечание. Текстовые Редакторы. Компилятор Языка С. Упражнение 1.1. Ваша Первая Linux-Программа На Языке C. Маршрутная Карта Системы Разработки. Приложения. Заголовочные Файлы. Библиотечные Файлы. Статические Библиотеки. Упражнение 1.2. Статические Библиотеки. Совместно Используемые Библиотеки. Примечание. Получение Справки. Резюме. Глава 2. Программирование Средствами Командной Оболочки. Почему Программа В Командной Оболочке? Немного Теории. Примечание. Что Такое Командная Оболочка? Примечание. Каналы И Перенаправление. Перенаправление Вывода. Перенаправление Ввода. Каналы. Командная Оболочка Как Язык Программирования. Интерактивные Программы. Создание Сценария. Примечание. Превращение Сценария В Исполняемый Файл. Примечание. Примечание. Примечание. Синтаксис Командной Оболочки. Переменные. Примечание. Заключение В Кавычки. Упражнение 2.1. Игра С Переменными. Переменные Окружения. Примечание. Переменные-Параметры. Упражнение 2.2. Манипулирование Параметрами И Переменными Окружения. Условия. Команда Test Или [ Примечание. Примечание. Примечание. Управляющие Структуры. Примечание. If. Примечание. Elif. Упражнение 2.3. Выполнение Проверок С Помощью Elif. Проблема, Связанная С Переменными. Примечание. For. Упражнение 2.4. Применение Цикла For К Фиксированным Строкам. Примечание. Упражнение 2.5. Применение Цикла For С Метасимволами. Примечание. While. Until. Примечание. Case. Примечание. Примечание. Упражнение 2.6. Вариант 1: Пользовательский Ввод. Упражнение 2.7. Вариант 3: Объединение Образцов. Упражнение 2.8. Вариант 3: Выполнение Нескольких Операторов. Примечание. Списки. И-Список. Упражнение 2.9. И-Списки. Или-Список. Упражнение 2.10. Или-Списки. Операторные Блоки. Функции. Примечание. Упражнение 2.11. Простая Функция. Примечание. Упражнение 2.12. Возврат Значения. Команды. Break. Команда : Примечание. Continue. Команда . Упражнение 2.13. Команда Точка. Echo. Примечание. Eval. Exec. Exit N. Export. Упражнение 2.14. Экспорт Переменных. Примечание. Expr. Printf. Return. Set. Shift. Trap. Примечание. Упражнение 2.15. Сигналы Прерываний. Unset. Примечание. Еще Две Полезные Команды И Регулярные Выражения. Команда Find. Упражнение 2.16 Применение Команды Find С Критериями. Команда Grep. Упражнение 2.17. Основной Вариант Использования Команды Grep. Регулярные Выражения. Выполнение Команд. Примечание. Подстановки В Арифметических Выражениях. Примечание. Подстановка Значений Параметров. Примечание. Встроенные Документы. Упражнение 2.19. Применение Встроенных Документов. Упражнение 2.20. Ещё Одно Применение Встроенного Документа. Примечание. Отладка Сценариев. По Направлению К Графическому Режиму — Утилита Dialog. Примечание. Упражнение 2.21. Применение Утилиты Dialog. Упражнение 2.22. Более Сложная Программа, Использующая Утилиту Dialog. Соединяем Все Вместе. Требования. Проектирование. Упражнение 2.23. Приложение Для Работы С Коллекцией Компакт-Дисков. Примечание. Замечания, Касающиеся Приложения. Резюме. Глава 3. Работа С Файлами. Структура Файла В Linux. Каталоги. Примечание. Файлы И Устройства. Dev/Console. /Dev/Tty. /Dev/Null. Примечание. Системные Вызовы И Драйверы Устройств. Библиотечные Функции. Низкоуровневый Доступ К Файлам. Write. Read. Примечание. Open. Примечание. Исходные Права Доступа. Umask. Close. Примечание. Ioctl. Упражнение 3.1. Программа Копирования Файла. Примечание. Упражнение 3.2. Вторая Версия Программы Кодирования Файла. Другие Системные Вызовы Для Управления Файлами. Lseek. Fstat, Stat И Lstat. Примечание. Dup И Dup2. Стандартная Библиотека Ввода/Вывода. Примечание. Fopen. Примечание. Fread. Fwrite. Примечание. Fclose. Fflush. Fseek. Fgetc, Getc И Getchar. Fputc, Putc И Putchar. Fgets И Gets. Примечание. Форматированные Ввод И Вывод. Printf, Fprintf И Sprintf. Scanf, Fscanf И Sscanf. Примечание. Другие Потоковые Функции. Упражнение 3.3. Третья Версия Программы Копирования Файлов. Ошибки Потока. Примечание. Потоки И Дескрипторы Файлов. Ведение Файлов И Каталогов. Chmod. Chown. Примечание. Unlink, Link И Symlink. Примечание. Mkdir И Rmdir. Chdir И Getcwd. Просмотр Каталогов. Opendir. Readdir. Telldir. Seekdir. Closedir. Упражнение 3.4. Программа Просмотра Каталога. Ошибки. Strerror. Perror. Файловая Система Procfs. Примечание. Более Сложные Приемы: Fcntl И Mmap. Fcntl. Mmap. Упражнение 3.5. Применение Функции Mmap. Резюме. Глава 4. Окружение Linux. Аргументы Программы. Упражнение 4.1. Аргументы Программы. Getopt. Упражнение 4.2. Функция Getopt. Getopt_Long. Упражнение 4.3. Функция Getopt_Long. Переменные Окружения. Упражнение 4.4. Функции Getenv И Putenv. Применение Переменных Окружения. Примечание. Переменная Environ. Упражнение 4.5. Переменная Environ. Время И Дата. Примечание. Примечание. Упражнение 4. Функция Time. Упражнение 4.7. Функция Gmtime. Упражнение 4.8. Функция Ctime. Упражнение 4.9. Функции Strftime И Strptime. Временные Файлы. Примечание. Информация О Пользователе. Упражнение 4.11. Информации О Пользователе. Примечание. Примечание. Информация О Компьютере. Упражнение 4.12. Информации О Компьютере. Примечание. Ведение Системных Журналов. Примечание. Упражнение 4.13. Применение Функции Syslog. Упражнение 4.14. Маска Регистрации (Logmask). Ресурсы И Ограничения. Примечание. Примечание. Упражнение 4.16. Ограничения Ресурсов. Примечание. Резюме. Глава 5. Терминалы. Чтение С Терминала И Запись На Терминал. Упражнение 5.1. Подпрограммы Формирования Меню На Языке C. Сравнение Канонического И Неканонического Режимов. Обработка Перенаправленного Вывода. Упражнение 5.2. Проверка Для Выявления Перенаправления Вывода. Диалог С Терминалом. Упражнение 5.3. Применение /Dev/Tty. Драйвер Терминала A И Общий Терминальный Интерфейс. Обзор. Аппаратная Модель. Структура Типа Termios. Примечание. Примечание. Режимы Ввода. Примечание. Режимы Вывода. Примечание. Режимы Управления. Примечание. Локальные Режимы. Специальные Управляющие Символы. Символы. Значения Time И Min. Доступ К Режимам Терминала Из Командной Оболочки. Задание Режимов Терминала Из Командной Строки. Примечание. Скорость Терминала. Примечание. Дополнительные Функции. Упражнение 5.4. Программа Ввода Пароля С Применение Termios. Упражнение 5.5. Считывание Каждого Символа. Вывод Терминала. Тип Терминала. Примечание. Установите Тип Вашего Терминала. Примечание. Применение Характеристик Terminfo. Примечание. Упражнение 5.6. Полное Управление Терминалом. Обнаружение Нажатий Клавиш. Упражнение 5.7. Исключительно Ваша Собственная Kbhit. Виртуальные Консоли. Псевдотерминалы. Резюме. Глава 6. Управление Текстовыми Экранами С Помощью Библиотеки Curses. Компиляция С Библиотекой Curses. Примечание. Примечание. Терминология Библиотеки Curses И Общие Представления. Упражнение 6.1. Программа С Использованием Curses, Выводящая Приветствие. Экран. Вывод На Экран. Примечание. Считывание С Экрана. Очистка Экрана. Перемещение Курсора. Атрибуты Символов. Упражнение 6.2. Перемещение, Вставка И Атрибуты. Клавиатура. Режимы Клавиатуры. Клавиатурный Ввод. Упражнение 6.3. Режим Клавиатуры И Ввод. Примечание. Окна. Структура Window. Примечание. Универсальные Функции. Перемещение И Обновление Окна. Упражнение 6.4. Управление Множественными Окнами. Примечание. Оптимизация Обновлений Экрана. Вложенные Окна. Примечание. Упражнение 6.5. Вложенные Окна. Дополнительная Клавиатура. Упражнение 6.6. Применение Дополнительной Клавиатуры. Применение Цвета. Упражнение 6.7. Цвета. Переопределение Цветов. Панели. Упражнение 6.8. Применение Панели. Приложение, Управляющее Коллекцией Компакт-Дисков. Примечание. Начало Нового Приложения Для Работы С Коллекцией Компакт-Дисков. Взгляд На Функцию Main. Формирование Меню. Управление Базой Данных. Добавление Записей. Обновление Записей. Примечание. Удаление Записей. Запросы К Базе Данных Компакт-Дисков. Резюме. Глава 7. Управление Данными. Управляемая Память. Простое Выделение Памяти. Примечание. Упражнение 7.1. Простое Распределение Памяти. Выделение Огромных Объемов Памяти. Упражнение 7.2. Запрос На Всю Физическую Память. Упражнение 7.3. Доступная Память. Примечание. Неправильное Обращение К Памяти. Упражнение 7.4. Неправильное Обращение К Вашей Памяти. Указатель Null. Упражнение 7.5. Обращение По Указателю Null. Освобождение Памяти. Упражнение 7.6. Освобождение Памяти. Примечание. Другие Функции Распределения Памяти. Блокировка Файлов. Создание Файлов С Блокировкой. Упражнение 7.7. Создание Файла С Блокировкой. Упражнение 7.8. Совместная Блокировка Файлов. Примечание. Блокировка Участков Файла. Значение F_Getlk Параметра Command. Значение F_Setlk Параметра Command. Значение F_Setlkw Параметра Command. Применение Вызовов Read И Write При Наличии Блокировки. Упражнение 7.9. Блокировка Файла С Помощью Вызова Fcntl. Упражнение 7.10. Тестирование Блокировок Файла. Конкурирующие Блокировки. Упражнение 7.11. Конкурирующие Блокировки. Другие Команды Блокировок. Взаимоблокировки. Примечание. Базы Данных. База Данных Dbm. Введение В Базу Данных Dbm. Получение Dbm. Устранение Неполадок И Повторная Установка Dbm. Подпрограммы Dbm. О Типе Dbm Лучше Всего Думать Как Об Аналоге Типа File. Когда Вы Открываете Базу Данных Dbm, Обычно Создаются Два Физических Файла: Один С Расширением Pag, А Другой С Расширением Dir. Возвращается Один Указатель Dbm, Который Применяется Для Обращения К Обоим Файлам Как К Паре. Файлы Никогда Не Следует Непосредственно Читать И В Них Не Нужно Писать; Они Предназначены Для Доступа Через Стандартные Операции Dbm. Примечание. Функции Доступа Dbm. Dbm_Open. Dbm_Store. Dbm_Fetch. Примечание. Dbm_Close. Упражнение 7.12. Простая База Данных Dbm. Дополнительные Функции Dbm. Dbm_Delete. Dbm_Error. Dbm_Clearerr. Dbm_Firstkey И Dbm_Nextkey. Упражнение 7.13. Извлечение И Удаление. Приложение Для Работы С Коллекцией Компакт-Дисков. Обновление Проектного Решения. Приложение Управления Базой Данных Компакт-Дисков, Использующее Dbm. Примечание. Упражнение 7.14. Файл CD_Data.H. Примечание. Упражнение 7.15. Файл App_Ui.C. Примечание. Примечание. Упражнение 7.16. Файл CD_Access.C. Резюме. Глава 8. Mysql. Примечание. Установка. Пакеты Mysql. Примечание. Настройка После Установки. Примечание. Примечание. Устранение Неисправностей После Установки. Администрирование Mysql. Команды. Примечание. Myisamchk. Mysql. Примечание. Mysqladmin. Mysqlbug. Mysqldump. Mysqlimport. Mysqlshow. Создание Пользователей И Наделение Их Правами Доступа. Grant. Revoke. Примечание. Пароли. Создание Базы Данных. Типы Данных. Тип Boolean. Символьный Тип. Числовой Тип. Временной Тип. Создание Таблицы. Упражнение 8.1. Создание Таблицы И Вставка Данных. Примечание. Графические Средства. Mysql Query Browser. Mysql Administrator. Примечание. Доступ К Данным Mysql Из Программ На С. Подпрограммы Подключения. Обработка Ошибок. Выполнение Sql-Операторов. Sql-Операторы, Не Возвращающие Данных. Что Же Вы Вставили? Упражнение 8.2. Извлечение ID, Сгенерированного В Столбце Типа Auto_Increment. Упражнение 8.3. Использование Автоматически Формируемых ID В Программе На С. Операторы, Возвращающие Данные. Примечание. Функции Для Извлечения Всех Данных Сразу. Примечание. Извлечение Данных. Построчное Извлечение Данных. Примечание. Обработка Полученных Данных. Примечание. Примечание. Разные Функции. Приложение Для Работы С Базой Данных Компакт-Дисков. Создание Таблиц. Вставка Данных. Примечание. Доступ К Данным Приложения Из Программы На С. Определение Интерфейса. Тестирование Интерфейса Приложения. Реализация Интерфейса. Резюме. Глава 9. Средства Разработки. Проблемы Применения Многочисленных Исходных Файлов. Примечание. Команда Make И Make-Файлы. Синтаксис Make-Файлов. Опции И Параметры Make. Зависимости. Правила. Примечание. Упражнение 9.1. Простой Make-Файл. Комментарии В Make-Файле. Макросы В Make-Файле. Упражнение 9.2. Make-Файл С Макросом. Множественные Задания. Встроенные Правила. Суффиксы И Шаблоны Правил. Управление Библиотеками С Помощью Make. Упражнение 9.4. Управление Библиотекой. Более Сложная Тема: Make-Файлы И Подкаталоги. Версия Gnu Команд Make И Gcc. Упражнение 9.5. Использование Gcc -MM. Управление Исходным Кодом. Rcs. Команда Rcs. Примечание. Команда Сi. Команда Со. Примечание. Команда Rlog. Примечание. Команда Rcsdiff. Обозначение Версий. Упражнение 9.6. Gnu-Версия Make С Rcs. Команда Ident. Упражнение 9.7. Команда Ident. Sccs. Сравнение Rcs И Sccs. Cvs. Локальное Использование Cvs. Доступ К Cvs По Сети. Внешние Интерфейсы Cvs. Subversion. Написание Интерактивного Справочного Руководства. Распространение Программного Обеспечения. Программа Patch. Примечание. Другие Утилиты Распространения. Rpm-Пакеты. Работа С Файлами Rpm-Пакетов. Установка Rpm-Пакетов. Формирование Rpm-Пакетов. Сбор Программного Обеспечения. Примечание. Создание Rpm-Файла Spec. Примечание. Примечание. Создание Rpm-Пакета С Помощью Rpmbuild. Примечание. Пакеты Других Форматов. Среды Разработки. Kdevelop. Другие Среды Разработки. Резюме. Глава 10. Отладка. Типы Ошибок. Примечание. Общие Методы Отладки. Программа С Ошибками. Примечание. Анализ Кода. Примечание. Примечание. Оснащение Средствами Контроля. Упражнение 10.1. Отладочная Информация. Отладка Без Перекомпиляции. Контролируемое Выполнение. Примечание. Отладка С Помощью Gdb. Запуск Gdb. Выполнение Программы. Трассировка Стека. Просмотр Переменных. Вывод Листинга Программы. Установка Точек Останова. Вставка Исправлений С Помощью Отладчика. Дополнительные Сведения О Gdb. Дополнительные Средства Отладки. Lint Удаление Ошибок Из Ваших Программ. Средства, Отслеживающие Вызовы Функций. Примечание. Ctags. Cxref. Cflow. Выполнение Профилирования С Помощью Prof/Gprof. Проверки Соблюдения Условий. Упражнение 10.2. Программа Assert.C. Устранение Ошибок Использования Памяти. Electricfence. Упражнение 10.3. Применение Библиотеки Electricfence. Valgrind. Упражнение 10.4. Средство Valgrind. Резюме. Глава 11. Процессы И Сигналы. Что Такое Процесс? Структура Процесса. Таблица Процессов. Просмотр Процессов. Примечание. Системные Процессы. Планирование Процессов. Запуск Новых Процессов. Упражнение 11.1. Функция System. Примечание. Замена Образа Процесса. Упражнение 11.2. Функция Execlp. Дублирование Образа Процесса. Упражнение 11.3. Системный Вызов Fork. Ожидание Процесса. Упражнение 11.4. Системный Вызов Wait. Процессы-Зомби. Упражнение 11.5. Зомби. Перенаправление Ввода И Вывода. Потоки. Сигналы. Упражнение 11.7. Обработка Сигнала. Примечание. Примечание. Отправка Сигналов. Упражнение 11.8 Будильник. Надежный Интерфейс Сигналов. Упражнение 11.9. Функция Sigaction. Примечание. Множества Сигналов. Флаги Sigaction. Общая Сводка Сигналов. Резюме. Глава 12. Потоки Posix. Что Такое Поток? Достоинства И Недостатки Потоков. Первая Программа С Применением Потоков. Примечание. Упражнение 12.1. Простая Программа С Потоками. Примечание. Одновременное Выполнение. Упражнение 12.2. Одновременное Выполнение Двух Потоков. Примечание. Синхронизация. Синхронизация С Помощью Семафоров. Примечание. Упражнение 12.3. Семафор Потока. Синхронизация С Помощью Мьютексов. Упражнение 12.4. Мьютекс Потока. Атрибуты Потока. Упражнение 12.5. Установка Атрибута Отсоединенного Состояния. Атрибуты Планирования Потока. Упражнение 12.6. Планирование. Отмена Потока. Примечание. Упражнение 12.7. Отмена Потока. Потоки В Изобилии. Упражнение 12.8. Много Потоков. Резюме. Глава 13. Связь Между Процессами: Каналы. Что Такое Канал? Каналы Процессов. Popen. Pclose. Упражнение 13.1. Чтение Вывода Внешней Программы. Отправка Вывода В Popen. Упражнение 13.2. Пересылка Вывода В Другую Программу. Передача Данных Большого Объема. Упражнение 13.3. Чтение Из Канала Данных Большого Объема. Как Реализован Вызов Popen. Примечание. Упражнение 13.4. Вызов Popen Запускает Командную Оболочку. Вызов Pipe. Примечание. Упражнение 13.5 Функция Pipe. Упражнение 13.6. Каналы Через Вызов Fork. Родительский И Дочерний Процессы. Упражнение 13.7. Каналы И Exec. Чтение Закрытых Каналов. Каналы, Применяемые Как Стандартные Ввод И Вывод. Примечание. Управление Файловым Дескриптором С Помощью Close И Dup. Упражнение 13.3. Каналы И Dup. Именованные Каналы: Fifo. Примечание. Упражнение 13.9. Создание Именованного Канала. Доступ К Fifo. Упражнение 13.10. Организации Доступа К Файлу Fifo. Примечание. Открытие Fifo С Помощью Open. Примечание. Упражнение 13.11. Открытие Файлов Fifo. O_Rdonly И O_Wronly Без O_Nonblock. Примечание. O_Rdonly С O_Nonblock И O_Wronly. Чтение Из Каналов Fifo И Запись В Них. Упражнение 13.12. Связь Процессов С Помощью Каналов Fifo. Примечание. Примечание. Более Сложная Тема: Применение Каналов Fifo В Клиент-Серверных Приложениях. Упражнение 13.13. Пример Клиент-Серверного Приложения. Приложение Для Работы С Базой Данных Компакт-Дисков. Примечание. Цели. Реализация. Заголовочный Файл Cliserv.H. Примечание. Примечание. Функции Интерфейса Клиента. Интерпретатор Клиента. Поиск В Базе Данных. Интерфейс Сервера Server.C. Канал. Примечание. Заголовочный Файл Для Реализации Канала. Функции Серверной Стороны. Функции Сервера. Прокладка Каналов. Функции На Стороне Клиента. Клиентские Функции. Получение Результатов С Сервера. Резюме, Касающееся Приложения. Резюме. Глава 14. Семафоры, Совместно Используемая Память И Очереди Сообщений. Семафоры. Примечание. Описание Семафора. Теоретический Пример. Реализация Семафоров В Linux. Примечание. Semget. Semop. Semctl. Применение Семафоров. Упражнение 14.1. Семафоры. Совместно Используемая Память. Shmget. Shmat. Shmdt. Shmctl. Упражнение 14.2. Совместно Используемая Память. Очереди Сообщений. Msgget. Msgsnd. Msgrcv. Msgctl. Упражнение 14.3. Очереди Сообщений. Приложение Для Работы С Базой Данных Компакт-Дисков. Пересмотр Функций Сервера. Пересмотр Функций Клиента. Команды Состояния Ipc. Отображение Состояния Семафора. Отображение Состояния Совместно Используемой Памяти. Отображение Состояния Очереди Сообщений. Резюме. Глава 15. Сокеты. Что Такое Сокет? Соединения На Базе Сокетов. Упражнение 15.1. Простой Локальный Клиент. Упражнение 15.2. Простой Локальный Сервер. Атрибуты Сокета. Домены Сокетов. Примечание. Типы Сокетов. Потоковые Сокеты. Примечание. Дейтаграммные Сокеты. Протоколы Сокетов. Создание Сокета. Адреса Сокетов. Именование Сокета. Создание Очереди Сокетов. Прием Запросов На Соединение. Запросы Соединений. Закрытие Сокета. Обмен Данными С Помощью Сокетов. Примечание. Упражнение 15.3. Сетевой Клиент. Упражнение 15.4. Сетевой Сервер. Порядок Байтов На Компьютере И В Сети. Примечание. Примечание. Сетевая Информация. Упражнение 15.5. Сетевая Информация. Упражнение 15.6. Подключение К Стандартному Сервису. Интернет-Демон (Xinetd/Inetd). Примечание. Параметры Сокета. Множественные Клиенты. Упражнение 15.7. Сервер Для Многочисленных Клиентов. Select. Примечание. Упражнение 15.8. Функция Select. Множественные Клиенты. Упражнение 15.9. Улучшенное Клиент-Серверное Приложение. Примечание. Дейтаграммы. Резюме. Глава 16. Программирование В Gnome С Помощью Gtk+ Введение В Систему X. X-Сервер. X-Клиент. Примечание. X-Протокол. Xlib. Комплекты Инструментов. Оконные Менеджеры. Другие Способы Создания Gui — Платформно-Независимые Оконные Api. Введение В Gtk+ Примечание. Система Типов Glib. Система Объектов Gtk+ Примечание. Знакомство С Gnome. Установка Библиотек Разработки Gnome/Gtk+ Примечание. Примечание. Примечание. События, Сигналы И Обратные Вызовы. Примечание. Примечание. Упражнение 16.2. Функция Обратного Вызова. Виджеты Упаковочных Контейнеров. Упражнение 16.3. Макет Виджета-Контейнера. Виджеты Gtk+ Gtkwindow. Примечание. Gtkentry. Упражнение 16.4. Ввод Имени Пользователя Или Пароля. Gtkspinbutton. Упражнение 16.5. Использование Виджета Gtkspinbutton. Gtkbutton. Gtktogglebutton. Gtkcheckbutton. Gtkradiobutton. Упражнение 16.6. Gtkcheckbutton, Gtktogglebutton И Gtkradiobutton. Gtktreeview. Упражнение 16.7. Использование Виджета Gtktreeview. Виджеты Gnome. Упражнение 16.8. Окно Gnome. Примечание. Меню Gnome. Упражнение 16.9. Меню Gnome. Упражнение 16.10. Меню С Помощью Макросов Gnome. Диалоговые Окна. Gtkdialog. Модальное Диалоговое Окно. Немодальные Диалоговые Окна. Gtkmessagedialog. Приложение Для Работы С Базой Данных Компакт-Дисков. Примечание. Упражнение 16.11. Файл Cdapp_Gnome.H. Упражнение 16.12. Файл Interface.C. Упражнение 16.13. Callbacks.C. Упражнение 16.14. Файл Main.C. Резюме. Глава 17. Программирование В Kde С Помощью Qt. Введение В Kde И Qt. Примечание. Примечание. Установка Qt. Примечание. Упражнение 17.1. Окно Qmain. Примечание. Сигналы И Слоты. Примечание. Примечание. Упражнение 17.2. Сигналы И Слоты. Упражнение 17.3. Применение Классов Qboxlayout. Виджеты Qt. Qlineedit. Упражнение 17.4. Виджет Qlineedit. Кнопки Qt. Qbutton: Базовый Класс Кнопок. Qpushbutton. Qcheckbox. Qradiobutton. Упражнение 17.5. Виджет Qbutton. Qcombobox. Упражнение 17.6. Виджет Qcombobox. Qlistview. Упражнение 17.7 Виджет Qlistview. Диалоговые Окна. Qdialog. Примечание. Модальные Диалоговые Окна. Немодальные Диалоговые Окна. Полумодальное Диалоговое Окно. Qmessagebox. Qinputdialog. Применение Qmake Для Упрощения Написания Make-Файлов. Примечание. Создание Меню И Панелей Инструментов С Помощью Kde. Упражнение 17.8. Приложение В Kde С Меню И Панелями Инструментов. Приложение Для Работы С Базой Данных Компакт-Дисков С Использованием Kde/Qt. Mainwindow. Addcddialog. Logondialog. Main.Cpp. Примечание. Резюме. Глава 18. Стандарты Linux. Язык Программирования С. Краткий Урок Истории. Коллекция Компиляторов Gnu. Опции Gcc. Опции Компилятора Для Отслеживания Стандартов. Опции Для Отслеживания Стандарта В Директивах Define. Опции Компилятора Для Вывода Предупреждений. Примечание. Интерфейсы И Linux Standards Base. Стандартные Библиотеки Lsb. Краткий Урок Истории. Примечание. Применение Стандарта Lsb К Библиотекам. Пользователи И Группы Lsb. Инициализация Системы Lsb. Стандарт Устройства Файловой Системы. Примечание. Примечание. Что Еще Почитать О Стандартах? Резюме. Об Авторах. Благодарности. Примечания.

iOS. Приемы программирования.

1.0. Введение. Создание И Запуск Вашего Первого Приложения Для Ios. Определение Переменных И Понятие О Них. Как Создавать Классы И Правильно Пользоваться Ими. Добавление Нового Функционала К Классам С Помощью Методов. Соблюдение Требований, Предъявляемых Другими Классами, С Помощью Протоколов. Хранение Элементов В Коллекциях И Получение Элементов Из Коллекций. Обеспечение Поддержки Подписывания Объектов В Ваших Классах. 1.1. Отображение Предупреждений С Помощью Uialertview. Постановка Задачи. Решение. Обсуждение. См. Также. 1.2. Создание И Использование Переключателей С Помощью Uiswitch. Постановка Задачи. Решение. Обсуждение. 1.3. Оформление Uiswitch. Постановка Задачи. Решение. Обсуждение. См. Также. 1.4. Выбор Значений С Помощью Uipickerview. Постановка Задачи. Решение. Обсуждение. См. Также. 1.5. Выбор Даты И Времени С Помощью Uidatepicker. Постановка Задачи. Решение. Обсуждение. 1.6. Реализация Инструмента Для Выбора Временных Рамок С Помощью Uislider. Постановка Задачи. Решение. Обсуждение. 1.7. Оформление Uislider. Постановка Задачи. Решение. Обсуждение. См. Также. 1.8. Группирование Компактных Параметров С Помощью Uisegmentedcontrol. Постановка Задачи. Решение. Обсуждение. 1.9. Представление Видов И Управление Ими С Помощью Uiviewcontroller. Постановка Задачи. Решение. Обсуждение. См. Также. 1.10. Предоставление Возможностей Совместного Использования Информации С Применением Uiactivityviewcontroller. Постановка Задачи. Решение. Обсуждение. См. Также. 1.11. Предоставление Специальных Возможностей Совместного Использования Данных С Применением Uiactivityviewcontroller. Постановка Задачи. Решение. Обсуждение. См. Также. 1.12. Внедрение Навигации С Помощью Uinavigationcontroller. Постановка Задачи. Решение. Обсуждение. См. Также. 1.13. Управление Массивом Контроллеров Видов, Относящихся К Навигационному Контроллеру. Постановка Задачи. Решение. Обсуждение. 1.14. Демонстрация Изображения На Навигационной Панели. Постановка Задачи. Решение. Обсуждение. 1.15. Добавление Кнопок На Навигационные Панели С Помощью Uibsrbuttonitem. Постановка Задачи. Решение. Обсуждение. См. Также. 1.16. Представление Контроллеров, Управляющих Несколькими Видами, С Помощью Uitabbarcontroller. Постановка Задачи. Решение. Обсуждение. 1.17. Отображение Статического Текста С Помощью Uilabel. Постановка Задачи. Решение. Обсуждение. 1.18. Оформление Uilabel. Постановка Задачи. Решение. Обсуждение. См. Также. 1.19. Прием Пользовательского Текстового Ввода С Помощью Uitextfield. Постановка Задачи. Решение. Обсуждение. См. Также. 1.20. Отображение Длинных Текстовых Строк С Помощью Uitextview. Постановка Задачи. Решение. Обсуждение. 1.21. Добавление Кнопок В Пользовательский Интерфейс С Помощью Uibutton. Постановка Задачи. Решение. Обсуждение. 1.22. Показ Изображений С Помощью Uiimageview. Постановка Задачи. Решение. Обсуждение. 1.23. Создание Прокручиваемого Контента С Помощью Uiscrollview. Постановка Задачи. Решение. Обсуждение. 1.24. Загрузка Веб-Страниц С Помощью Uiwebview. Постановка Задачи. Решение. Обсуждение. 1.25. Отображение Протекания Процессов С Помощью Uiprogressview. Постановка Задачи. Решение. Обсуждение. 1.26. Создание И Отображение Текстов С Оформлением. Постановка Задачи. Решение. Обсуждение. См. Также. 1.27. Представление Видов «Основной — Детали» С Помощью Uisplitviewcontroller. Постановка Задачи. Решение. Обсуждение. 1.28. Организация Разбивки На Страницы С Помощью Uipageviewcontroller. Постановка Задачи. Решение. Обсуждение. 1.29. Отображение Вспомогательных Экранов С Помощью Uipopovercontroller. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 2. Создание Динамических И Интерактивных Пользовательских Интерфейсов. 2.0. Введение. 2.1. Добавление Тяготения К Компонентам Пользовательского Интерфейса. Постановка Задачи. Решение. Обсуждение. См. Также. 2.2. Обнаружение Столкновений Между Компонентами Пользовательского Интерфейса И Реагирование На Них. Постановка Задачи. Решение. Обсуждение. См. Также. 2.3. Анимирование Компонентов Пользовательского Интерфейса С Помощью Толчков. Постановка Задачи. Решение. Обсуждение. См. Также. 2.4. Прикрепление Нескольких Динамических Элементов Друг К Другу. Постановка Задачи. Решение. Обсуждение. См. Также. 2.5. Добавление Эффекта Динамического Зацепления К Компонентам Пользовательского Интерфейса. Постановка Задачи. Решение. Обсуждение. См. Также. 2.6. Присваивание Характеристик Динамическим Эффектам. Постановка Задачи. Решение. Обсуждение. См. Также. Главаз. Автоматическая Компоновка И Язык Визуального Форматирования. 3.0. Введение. 3.1. Размещение Компонентов Пользовательского Интерфейса В Центре Экрана. Постановка Задачи. Решение. Обсуждение. См. Также. 3.2. Определение Горизонтальных И Вертикальных Ограничений На Языке Визуального Форматирования. Постановка Задачи. Решение. Обсуждение. См. Также. 3.3. Применение Ограничений При Работе С Перекрестными Видами. Постановка Задачи. Решение. Обсуждение. См. Также. 3.4. Конфигурирование Ограничений Автоматической Компоновки В Конструкторе Интерфейсов. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 4. Создание И Использование Табличных Видов. 4.0. Введение. 4.1. Наполнение Табличного Вида Данными. Постановка Задачи. Решение. 4.2. Использование Дополнительных Элементов В Ячейке Табличного Вида. Постановка Задачи. Решение. Обсуждение. 4.3. Создание Специальных Дополнительных Элементов В Ячейке Табличного Вида. Постановка Задачи. Решение. Обсуждение. 4.4. Обеспечение Удаления Смахиванием В Ячейках Табличных Видов. Постановка Задачи. Решение. Обсуждение. 4.5. Создание Верхних И Нижних Колонтитулов В Табличных Видах. Постановка Задачи. Решение. Обсуждение. 4.6. Отображение Контекстных Меню В Ячейках Табличных Видов. Постановка Задачи. Решение. Обсуждение. 4.7. Перемещение Ячеек И Разделов В Табличных Видах. Постановка Задачи. Решение. Обсуждение. 4.8. Удаление Ячеек И Разделов В Табличных Видах. Постановка Задачи. Решение. Обсуждение. См. Также. 4.9. Использование Uitableviewcontroller Для Удобства При Создании Табличных Видов. Постановка Задачи. Решение. Обсуждение. См. Также. 4.10. Отображение Элемента Управления, Предназначенного Для Обновления Информации В Табличных Видах. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 5. Выстраивание Сложных Макетов С Помощью Сборных Видов. 5.0. Введение. 5.1. Создание Сборных Видов. Постановка Задачи. Решение. Обсуждение. См. Также. 5.2. Присваивание Источника Данных Сборному Виду. Постановка Задачи. Решение. Обсуждение. См. Также. 5.3. Обеспечение Последовательной Компоновки В Сборном Виде. Постановка Задачи. Решение. Обсуждение. См. Также. 5.4. Наполнение Сборного Вида Простейшим Содержимым. Постановка Задачи. Решение. Обсуждение. См. Также. 5.5. Заполнение Сборных Видов Специальными Ячейками С Помощью Xib-Файлов. Постановка Задачи. Решение. Обсуждение. См. Также. 5.6. Обработка Событий В Сборных Видах. Постановка Задачи. Решение. Обсуждение. См. Также. 5.7. Создание Верхних И Нижних Колонтитулов В Макете С Последовательной Компоновкой. Постановка Задачи. Решение. Обсуждение. См. Также. 5.8. Добавление Собственных Вариантов Взаимодействий К Сборным Видам. Постановка Задачи. Решение. Обсуждение. См. Также. 5.9. Представление Контекстных Меню В Ячейках Сборных Видов. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 6. Раскадровки. 6.0. Введение. 6.1. Добавление В Раскадровку Навигационного Контроллера. Постановка Задачи. Решение. Обсуждение. См. Также. 6.2. Передача Данных С Одного Экрана На Другой. Постановка Задачи. Решение. Обсуждение. См. Также. 6.3. Добавление В Раскадровку Контроллера С Панелью Вкладок. Постановка Задачи. Решение. См. Также. 6.4. Внедрение Специальных Переходов Между Сегвеями В Раскадровке. Постановка Задачи. Решение. Обсуждение. См. Также. 6.5. Размещение Изображений И Других Компонентов Пользовательского Интерфейса В Раскадровках. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 7. Параллелизм. 7.0. Введение. 7.1. Создание Блоковых Объектов. Постановка Задачи. Решение. Обсуждение. 7.2. Доступ К Переменным В Блоковых Объектах. Постановка Задачи. Решение. Обсуждение. 7.3. Вызов Блоковых Объектов. Постановка Задачи. Решение. Обсуждение. См. Также. 7.4. Решение С Помощью Gcd Задач, Связанных С Пользовательским Интерфейсом. Постановка Задачи. Решение. Обсуждение. 7.5. Синхронное Решение С Помощью Gcd Задач, Не Связанных С Пользовательским Интерфейсом. Постановка Задачи. Решение. Обсуждение. См. Также. 7.6. Асинхронное Решение С Помощью Gcd Задач, Не Связанных С Пользовательским Интерфейсом. Постановка Задачи. Решение. Обсуждение. См. Также. 7.7. Выполнение Задач После Задержки С Помощью Gcd. Постановка Задачи. Решение. Обсуждение. См. Также. 7.8. Однократное Выполнение Задач С Помощью Gcd. Постановка Задачи. Решение. Обсуждение. 7.9. Объединение Задач В Группы С Помощью Gcd. Постановка Задачи. Решение. Обсуждение. См. Также. 7.10. Создание Собственных Диспетчерских Очередей С Помощью Gcd. Постановка Задачи. Решение. Обсуждение. 7.11. Синхронное Выполнение Задач С Помощью Операций. Постановка Задачи. Решение. Обсуждение. См. Также. 7.12. Асинхронное Выполнение Задач С Помощью Операций. Постановка Задачи. Решение. Обсуждение. См. Также. 7.13. Создание Зависимости Между Операциями. Постановка Задачи. Решение. Обсуждение. См. Также. 7.14. Создание Таймеров. Постановка Задачи. Решение. Обсуждение. 7.15. Параллельное Программирование С Использованием Потоков. Постановка Задачи. Решение. Обсуждение. 7.16. Активизация Фоновых Методов. Постановка Задачи. Решение. Обсуждение. 7.17. Выход Из Потоков И Таймеров. Постановка Задачи. Решение. Обсуждение. Глава 8. Безопасность. 8.0. Введение. 8.1. Обеспечение Безопасности И Защиты В Приложениях. Постановка Задачи. Решение. Обсуждение. См. Также. 8.2. Хранение Значений В Связке Ключей. Постановка Задачи. Решение. Обсуждение. См. Также. 8.3. Нахождение Значений В Связке Ключей. Постановка Задачи. Решение. Обсуждение. См. Также. 8.4. Обновление Значений В Связке Ключей. Постановка Задачи. Решение. Обсуждение. См. Также. 8.5. Удаление Значений Из Связки Ключей. Постановка Задачи. Решение. Обсуждение. См. Также. 8.6. Совместное Использование Данных Из Связки Ключей В Нескольких Приложениях. Постановка Задачи. Решение. Обсуждение. См. Также. 8.7. Запись И Считывание Информации Связки Ключей Из Icloud. Постановка Задачи. Решение. Обсуждение. См. Также. 8.8. Безопасное Хранение Файлов В Песочнице Приложения. Постановка Задачи. Решение. Обсуждение. См. Также. 8.9. Защита Пользовательского Интерфейса. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 9. Core Location И Карты. 9.0. Введение. 9.1. Создание Картографического Вида. Постановка Задачи. Решение. Обсуждение. 9.2. Обработка Событий Картографического Вида. Постановка Задачи. Решение. Обсуждение. См. Также. 9.3. Отметка Местоположения Устройства. Постановка Задачи. Решение. Обсуждение. 9.4. Отображение Маркеров В Картографическом Виде. Постановка Задачи. Решение. Обсуждение. 9.5. Отображение Разноцветных Маркеров В Картографическом Виде. Постановка Задачи. Решение. Обсуждение. 9.6. Отображение Пользовательских Маркеров В Картографическом Виде. Постановка Задачи. Решение. Обсуждение. См. Также. 9.7. Преобразование Обычных Адресов В Данные Широты И Долготы. Постановка Задачи. Решение. Обсуждение. См. Также. 9.8. Преобразование Данных Широты И Долготы В Обычные Адреса. Постановка Задачи. Решение. Обсуждение. См. Также. 9.9. Поиск В Картографическом Виде. Постановка Задачи. Решение. См. Также. 9.10. Отображение Направлений На Карте. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 10. Реализация Распознавания Жестов. 10.0. Введение. 10.1. Обнаружение Жестов Смахивания. Постановка Задачи. Решение. Обсуждение. 10.2. Обнаружение Жестов Вращения. Постановка Задачи. Решение. Обсуждение. См. Также. 10.3. Обнаружение Жестов Панорамирования И Перетаскивания. Постановка Задачи. Решение. Обсуждение. 10.4. Обнаружение Жестов Долгого Нажатия. Постановка Задачи. Решение. Обсуждение. 10.5. Обнаружение Жестов-Нажатий. Постановка Задачи. Решение. Обсуждение. 10.6. Обнаружение Щипка. Постановка Задачи. Решение. Обсуждение. Глава 11. Сетевые Функции, Json, XML И Twitter. 11.0. Введение. 11.1. Асинхронная Загрузка С Применением Nsurlconnection. Постановка Задачи. Решение. Обсуждение. 11.2. Обработка Задержек При Асинхронных Соединениях. Решение. Обсуждение. 11.3. Синхронная Загрузка С Применением Nsurlconnection. Постановка Задачи. Решение. Обсуждение. 11.4. Изменение Url-Запроса С Применением Nsmutableurlrequest. Постановка Задачи. Решение. Обсуждение. 11.5. Отправка Запросов Http Get С Применением Nsurlconnection. Постановка Задачи. Решение. Обсуждение. 11.6. Отправка Запросов Http Post С Применением Nsurlconnection. Постановка Задачи. Решение. Обсуждение. 11.7. Отправка Запросов Http Delete С Применением Nsurlconnection. Постановка Задачи. Решение. Обсуждение. 11.8. Отправка Запросов Http Put С Применением Nsurlconnection. Постановка Задачи. Решение. Обсуждение. 11.9. Сериализация Массивов И Словарей В Json. Постановка Задачи. Решение. Обсуждение. 11.10. Десериализация Нотации Json В Массивы И Словари. Постановка Задачи. Решение. Обсуждение. См. Также. 11.11. Включение В Приложения Функций Социального Обмена Контентом. Постановка Задачи. Решение. Обсуждение. См. Также. 11.12. Синтаксический Разбор XML С Помощью Nsxmlparser. Постановка Задачи. Решение. Обсуждение. Глава 12. Управление Файлами И Каталогами. 12.0. Введение. 12.1. Определение Пути К Самым Полезным Каталогам На Диске. Постановка Задачи. Решение. Обсуждение. См. Также. 12.2. Запись Информации В Файлы И Считывание Информации Из Файлов. Постановка Задачи. Решение. Обсуждение. См. Также. 12.3. Создание Каталогов На Диске. Постановка Задачи. Решение. Обсуждение. См. Также. 12.4. Перечисление Файлов И Каталогов. Постановка Задачи. Решение. Обсуждение. См. Также. 12.5. Удаление Файлов И Каталогов. Постановка Задачи. Решение. Обсуждение. См. Также. 12.6. Сохранение Объектов В Файлах. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 13. Камера И Библиотека Фотографий. 13.0. Введение. 13.1. Обнаружение И Испытание Камеры. Постановка Задачи. Решение. Обсуждение. 13.2. Фотографирование С Помощью Камеры. Постановка Задачи. Решение. Обсуждение. См. Также. 13.3. Запись Видео С Помощью Камеры. Постановка Задачи. Решение. Обсуждение. См. Также. 13.4. Сохранение Снимков В Библиотеке Фотографий. Постановка Задачи. Решение. Обсуждение. 13.5. Сохранение Видео В Библиотеке Фотографий. Постановка Задачи. Решение. Обсуждение. 13.6. Получение Фото И Видео Из Библиотеки Фотографий. Постановка Задачи. Решение. Обсуждение. См. Также. 13.7. Получение Ресурсов Из Библиотеки Ресурсов. Постановка Задачи. Решение. Обсуждение. 13.8. Редактирование Видео На Устройстве С Операционной Системой Ios. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 14. Многозадачность. 14.0. Введение. 14.1. Обнаружение Доступности Многозадачности. Постановка Задачи. Решение. Обсуждение. 14.2. Выполнение Долгосрочной Задачи В Фоновом Режиме. Постановка Задачи. Решение. Обсуждение. См. Также. 14.3. Добавление Возможностей Фонового Обновления В Приложения. Постановка Задачи. Решение. Обсуждение. См. Также. 14.4. Воспроизведение Аудио В Фоновом Режиме. Постановка Задачи. Решение. Обсуждение. 14.5. Обработка Геолокационных Изменений В Фоновом Режиме. Постановка Задачи. Решение. Обсуждение. 14.6. Сохранение И Загрузка Состояния Приложений Ios, Использующих Многозадачность. Постановка Задачи. Решение. Обсуждение. См. Также. 14.7. Управление Сетевыми Соединениями В Фоновом Режиме. Постановка Задачи. Решение. Обсуждение. См. Также. 14.8. Отказ От Многозадачности. Постановка Задачи. Решение. Обсуждение. Глава 15. Уведомления. 15.0. Введение. 15.1. Отправка Уведомлений. Постановка Задачи. Решение. Обсуждение. См. Также. 15.2. Слушание Уведомлений И Реагирование На Них. Постановка Задачи. Решение. Обсуждение. 15.3. Слушание Уведомлений, Поступающих С Клавиатуры, И Реагирование На Них. Постановка Задачи. Решение. Обсуждение. См. Также. 15.4. Планирование Локальных Уведомлений. Постановка Задачи. Решение. Обсуждение. См. Также. 15.5. Слушание Локальных Уведомлений И Реагирование На Них. Постановка Задачи. Решение. Обсуждение. См. Также. 15.6. Обработка Локальных Системных Уведомлений. Постановка Задачи. Решение. Обсуждение. Решение. Обсуждение. 15.7. Настройка Приложения Для Получения Пуш-Уведомлений. Постановка Задачи. Решение. Обсуждение. См. Также. 15.8. Доставка Пуш-Уведомлений В Приложение. Постановка Задачи. Решение. Обсуждение. См. Также. 15.9. Реагирование На Пуш-Уведомления. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 16. Фреймворк Core Data. 16.0. Введение. 16.1. Создание Модели Core Data С Помощью Xcode. Постановка Задачи. Решение. Обсуждение. 16.2. Генерирование Файлов Классов Для Сущностей Core Data. Постановка Задачи. Решение. Обсуждение. 16.3. Создание И Сохранение Данных С Помощью Core Data. Постановка Задачи. Решение. Обсуждение. 16.4. Считывание Данных Из Core Data. Постановка Задачи. Решение. Обсуждение. См. Также. 16.5. Удаление Данных Из Core Data. Постановка Задачи. Решение. Обсуждение. 16.6. Сортировка Данных В Core Data. Постановка Задачи. Решение. Обсуждение. См. Также. 16.7. Оптимизация Доступа К Данным В Табличных Видах. Постановка Задачи. Решение. Обсуждение. 16.8. Реализация Отношений В Core Data. Постановка Задачи. Решение. Обсуждение. 16.9. Выборка Данных В Фоновом Режиме. Постановка Задачи. Решение. Обсуждение. См. Также. 16.10. Использование Специальных Типов Данных В Модели Core Data. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 17. Графика И Анимация. 17.0. Введение. 17.1. Перечисление И Загрузка Шрифтов. Постановка Задачи. Решение. Обсуждение. См. Также. 17.2. Отрисовка Текста. Постановка Задачи. Решение. Обсуждение. 17.3. Создание, Установка И Использование Цветов. Постановка Задачи. Решение. Обсуждение. См. Также. 17.4. Отрисовка Изображений. Постановка Задачи. Решение. Обсуждение. См. Также. 17.5. Создание Адаптивных Изображений. Постановка Задачи. Решение. Обсуждение. См. Также. 17.6. Отрисовка Линий. Постановка Задачи. Решение. Обсуждение. См. Также. 17.7. Создание Путей. Постановка Задачи. Решение. Обсуждение. См. Также. 17.8. Отрисовка Прямоугольников. Постановка Задачи. Решение. Обсуждение. См. Также. 17.9. Добавление Теней К Фигурам. Постановка Задачи. Решение. Обсуждение. 17.10. Отрисовка Градиентов. Постановка Задачи. Решение. Обсуждение. См. Также. 17.11. Перемещение Фигур, Нарисованных В Графических Контекстах. Постановка Задачи. Решение. Обсуждение. См. Также. 17.12. Масштабирование Фигур, Нарисованных В Графических Контекстах. Постановка Задачи. Решение. Обсуждение. См. Также. 17.13. Вращение Фигур, Нарисованных В Графических Контекстах. Постановка Задачи. Решение. Обсуждение. См. Также. 17.14. Анимирование И Перемещение Видов. Постановка Задачи. Решение. Обсуждение. 17.15. Анимирование И Масштабирование Видов. Постановка Задачи. Решение. Обсуждение. См. Также. 17.16. Анимирование И Вращение Видов. Постановка Задачи. Решение. См. Также. 17.17. Получение Изображения Со Скриншотом Вида. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 18. Фреймворк Core Motion. 18.0. Введение. 18.1. Обнаружение Доступности Акселерометра. Постановка Задачи. Решение. Обсуждение. См. Также. 18.2. Обнаружение Доступности Гироскопа. Постановка Задачи. Решение. Обсуждение. См. Также. 18.3. Получение Данных Акселерометра. Постановка Задачи. Решение. Обсуждение. См. Также. 18.4. Обнаружение Встряхивания Устройства С Ios. Постановка Задачи. Решение. Обсуждение. 18.5. Получение Данных Гироскопа. Постановка Задачи. Решение. Обсуждение. См. Также. Глава 19. Фреймворк Pass Kit. 19.0. Введение. 19.1. Создание Сертификатов Pass Kit. Постановка Задачи. Решение. Обсуждение. См. Также. 19.2. Создание Файлов Талонов. Постановка Задачи. Решение. Обсуждение. См. Также. 19.3. Подготовка Пиктограмм И Изображений Для Талонов. Постановка Задачи. Решение. Обсуждение. См. Также. 19.4. Подготовка Талонов К Цифровому Подписыванию. Постановка Задачи. Решение. Обсуждение. См. Также. 19.5. Цифровое Подписывание Талонов. Постановка Задачи. Решение. Обсуждение. См. Также. 19.6. Распространение Талонов По Электронной Почте. Постановка Задачи. Решение. Обсуждение. См. Также. 19.7. Распространение Талонов С Помощью Веб-Сервисов. Постановка Задачи. Решение. Обсуждение. См. Также. 19.8. Настройка Возможности Доступа К Талонам В Приложениях, Работающих На Устройстве С Операционной Системой Ios. Постановка Задачи. Решение. Обсуждение. См. Также. 19.9. Взаимодействие С Passbook С Помощью Программирования. Постановка Задачи. Решение. Обсуждение. См. Также. Благодарности. Сноски.

Программирование игр и головоломок.

Обозначения. Часть I. Условия Задач. 1. Случайные Числа. Генерация Случайного Числа. Непредсказуемые Числовые Последовательности. Азартные Игры. Воспроизводимая Непредсказуемая Последовательность. Другие Азартные Игры. 2. Игры С Числами. Арифметические Развлечения. Числовые Последовательности. Зашифрованные Операции. Доказательства Теорем. Простые Числа. Таинственные Программы. 3. Игры Без Стратегии. Общие Предложения. 4. Игры Со Стратегией. 5. Стратегия Без Игры (Выигрывающие Стратегии). Ханойские Башни. Печальный Конец Паскаля Младшего. 6. Комбинаторные Задачи. 7. Обо Всем Понемногу. Часть II. Первая Помощь. 1. Случайные Числа. 2. Игры С Числами. Зашифрованные Операции. 3. Игры Без Стратегии. 4. Игры Со Стратегией. 5. Стратегия Без Игры (Выигрывающие Стратегии). 6. Комбинаторные Задачи. 7. Обо Всем Понемногу. Часть III. И Если Вы Все Еще Не Нашли Решения. 1. Случайные Числа. 2. Игры С Числами. 3. Игры Без Стратегии. 4. Игры Со Стратегией. 5. Стратегия Без Игры (Выигрывающие Стратегии). 6. Комбинаторные Задачи. 7. Обо Всем Понемногу. Список Литературы. Примечания.

Искусство программирования для Unix.

Для Кого Предназначена Эта Книга. Как Использовать Эту Книгу. Дополнительные Источники Информации. Соглашения, Используемые В Данной Книге. Учебные Примеры. Авторские Благодарности. Часть I. Контекст. 1. Философские Вопросы. 1.1. Культура? Какая Культура? 1.2. Долговечность Unix. 1.3. Доводы Против Изучения Культуры Unix. 1.4. Что В Unix Делается Неверно. 1.5. Что В Unix Делается Верно. 1.5.1. Программное Обеспечение С Открытым Исходным Кодом. 1.5.2. Кроссплатформенная Переносимость И Открытые Стандарты. 1.5.3. Internet И World Wide Web. 1.5.4. Сообщество Открытого Исходного Кода. 1.5.5. Гибкость На Всех Уровнях. 1.5.6. Особый Интерес Исследования Unix. 1.5.7. Уроки Unix Применимы В Других Операционных Системах. 1.6. Основы Философии Unix. 1.6.1. Правило Модульности: Следует Писать Простые Части, Связанные Ясными Интерфейсами. 1.6.2. Правило Ясности: Ясность Лучше, Чем Мастерство. 1.6.3 Правило Композиции: Следует Разрабатывать Программы, Которые Будут Взаимодействовать С Другими Программами. 1.6.4. Правило Разделения: Следует Отделять Политику От Механизма И Интерфейсы От Основных Модулей. 1.6.5. Правило Простоты: Необходимо Проектировать Простые Программы И "Добавлять Сложность" Только Там, Где Это Необходимо. 1.6.6 Правило Расчетливости: Пишите Большие Программы, Только Если После Демонстрации Становится Ясно, Что Ничего Другого Не Остается. 1.6.7. Правило Прозрачности: Для Того Чтобы Упростить Проверку И Отладку Программы, Ее Конструкция Должна Быть Обозримой. 1.6.8. Правило Устойчивости: Устойчивость — Следствие Прозрачности И Простоты. 1.6.9. Правило Представления: Знания Следует Оставлять В Данных, Чтобы Логика Программы Могла Быть Примитивной И Устойчивой. 1.6.10. Правило Наименьшей Неожиданности: При Проектировании Интерфейсов Всегда Следует Использовать Наименее Неожиданные Элементы. 1.6.11. Правило Тишины: Если Программа Не Может "Сказать" Что-Либо Неожиданное, То Ей Вообще Не Следует "Говорить". 1.6.12. Правило Исправности: Когда Программа Завершается Аварийно, Это Должно Происходить Явно И По Возможности Быстро. 1.6.13. Правило Экономии: Время Программиста Стоит Дорого; Поэтому Экономия Его Времени Более Приоритетна По Сравнению С Экономией Машинного Времени. 1.6.14. Правило Генерации: Избегайте Кодирования Вручную; Если Есть Возможность, Пишите Программы Для Создания Программ. 1.6.15. Правило Оптимизации: Создайте Опытные Образцы, Заставьте Их Работать, Прежде Чем Перейти К Оптимизации. 1.6.16. Правило Разнообразия: Не Следует Доверять Утверждениям О "Единственно Верном Пути". 1.6.17. Правило Расширяемости: Проектируйте С Учетом Изменений В Будущем, Поскольку Будущее Придет Скорее, Чем Кажется. 1.7. Философия Unix В Одном Уроке. 1.8. Применение Философии Unix. 1.9. Подход Также Имеет Значение. 2. История: Слияние Двух Культур. 2.1. Истоки И История Unix, 1969–1995 Гг. 2.1.1. Начало: 1969–1971 Гг. 2.1.2. Исход: 1971–1980 Гг. 2.1.3. Tcp/Ip И Unix-Войны: 1980–1990 Гг. 2.1.4. Бои Против Империи: 1991–1995 Гг. 2.2. Истоки И История Хакерской Культуры, 1961–1995 Гг. 2.2.1. Академические Игры: 1961–1980 Гг. 2.2.2. Internet И Движение Свободного Программного Обеспечения: 1981–1991 Гг. 2.2.3. Linux И Реакция Прагматиков: 1991–1998 Гг. 2.3. Движение Открытого Исходного Кода: С 1998 Года До Настоящего Времени. 2.4. Уроки Истории Unix. 3. Контраст: Сравнение Философии Unix И Других Операционных Систем. 3.1. Составляющие Стиля Операционной Системы. 3.1.1. Унифицирующая Идея Операционной Системы. 3.1.2. Поддержка Многозадачности. 3.1.3. Взаимодействующие Процессы. 3.1.4. Внутренние Границы. 3.1.5. Атрибуты Файлов И Структуры Записи. 3.1.6. Двоичные Форматы Файлов. 3.1.7. Предпочтительный Стиль Пользовательского Интерфейса. 3.1.8. Предполагаемый Потребитель. 3.1.9. Входные Барьеры Для Разработчика. 3.2. Сравнение Операционных Систем. 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. Пример Файла Паролей. 5.1.2. Учебный Пример: Формат Файлов .Newsrc. Пример 5.2. Файл .Newsrc. 5.1.3. Учебный Пример: Png — Формат Графических Файлов. 5.2. Метаформаты Файлов Данных. 5.2.1. Dsv-Стиль. 5.2.2. Формат Rfc 822. 5.2.3. Формат Cookie-Jar. Пример 5.3. Файл Программы Fortune. 5.2.4. Формат Record-Jar. Пример 5.4. Основные Характеристики Трех Планет В Формате Record-Jar. 5.2.5. XML. Пример 5.5. XML-Формат. 5.2.6. Формат Windows Ini. Пример 5.6. Формат Windows Ini. 5.2.7. Unix-Соглашения По Текстовым Файловым Форматам. 5.2.8. Аргументы "За" И "Против" Сжатия Файлов. 5.3. Проектирование Протоколов Прикладного Уровня. 5.3.1. Учебный Пример: Smtp, Простой Протокол Передачи Почты. Пример 5.7. Smtp-Сеанс. 5.3.2. Учебный Пример: Pop3, Почтовый Протокол 3-Й Версии. Пример 5.8. Pop3-Сеанс. 5.3.3. Учебный Пример: Imap, Протокол Доступа К Почтовым Сообщениям. Пример 5.9. 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. Распечатка Fetchmail -V. 6.1.3. Учебный Пример: Gcc. 6.1.4 Учебный Пример: Kmail. 6.1.5. Учебный Пример: Sng. Пример 6.2. 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.1. Конвейер Pic2Graph. 7.2.2.4. Учебный Пример: Утилиты Bc(1) И DC(1). 7.2.2.5. Контрпример: Почему Программа Fetchmail Не Выполнена В Виде Конвейера. 7.2.3. Упаковщики. 7.2.3.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. 7.2.6.5.2. Учебный Пример: Freeciv. 7.2.6.6. Общая Память. 7.3. Проблемы И Методы, Которых Следует Избегать. 7.3.1. Устаревшие Ipc-Методы В Unix. 7.3.1.1. System V Ipc. 7.3.1.2. Потоки. 7.3.2. Методы Удаленного Вызова Процедур. 7.3.3. Опасны Ли Параллельные Процессы? 7.4. Разделение Процессов На Уровне Проектирования. 8. Мини-Языки: Поиск Выразительной Нотации. 8.1. Классификация Языков. 8.2. Применение Мини-Языков. 8.2.1. Учебный Пример: Sng. 8.2.2. Учебный Пример: Регулярные Выражения. 8.2.3. Учебный Пример: Glade. Пример 8.1. Glade-Спецификация "Hello, World!". 8.2.4. Учебный Пример: M4. Пример 8.2. Макрокоманда M4. 8.2.5. Учебный Пример: Xslt. Пример 8.3. Xslt-Программа. 8.2.6. Учебный Пример: Инструментарий Documenter'S Workbench. Пример 8.4. Pic-Код Для Схемы Классификации Языков. 8.2.7. Учебный Пример: Синтаксис Конфигурационного Файла Fetchmail. Пример 8.5. Синтетический Код Fetchmailrc. 8.2.8. Учебный Пример: Awk. 8.2.9. Учебный Пример: Postscript. 8.2.10. Учебный Пример: Утилиты Bc И DC. Пример 8.6. Rsa-Реализация С Помощью Утилиты DC. 8.2.11. Учебный Пример: Emacs Lisp. 8.2.12 Учебный Пример: Javascript. 8.3. Проектирование Мини-Языков. 8.3.1. Определение Соответствующего Уровня Сложности. 8.3.2. Расширение И Встраивание Языков. 8.3.3. Написание Специальной Грамматики. 8.3.4. Проблемы Макросов. 8.3.5. Язык Или Протокол Прикладного Уровня. 9. Генерация Кода: Повышение Уровня Спецификации. 9.1. Создание Программ, Управляемых Данными. 9.1.1. Учебный Пример: Ascii. 9.1.2. Учебный Пример: Статистическая Фильтрация Спама. 9.1.3. Учебный Пример: Программирование Метаклассов В Fetchmail. Пример 9.1. Синтаксис Файла Fetchmailrc. Пример 9.2. Дамп Python-Структуры Для Конфигурации Fetchmail. Пример 9.3. Код Метакласса Copy_Instance. Пример 9.4. Вызывающий Контекст Для Copy_Instance. 9.2. Генерация Специального Кода. 9.2.1. Учебный Пример: Генерация Кода Для Ascii-Дисплеев. Пример 9.5. Справка По Использованию Программы Ascii. 9.2.2. Учебный Пример: Генерация Html-Кода Для Табличного Списка. Пример 9.6. Необходимый Формат Вывода Для Таблицы Звезд. Пример 9.7. Модель Таблицы Звезд. 10. Конфигурация: Правильное Начало. 10.1. Конфигурируемые Параметры. 10.2. Месторасположение Конфигурационной Информации. 10.3. Файлы Конфигурации. 10.3.1. Учебный Пример: Файл .Netrc. Пример 10.1. Файл .Netrc. 10.3.2. Переносимость На Другие Операционные Системы. 10.4. Переменные Окружения. 10.4.1. Системные Переменные Окружения. 10.4.2. Пользовательские Переменные Окружения. 10.4.3. Когда Использовать Переменные Окружения. 10.4.4. Переносимость На Другие Операционные Системы. 10.5. Параметры Командной Строки. 10.5.1. Параметры Командной Строки От -А До -Z. 10.5.2. Переносимость На Другие Операционные Системы. 10.6. Выбор Метода. 10.6.1. Учебный Пример: Fetchmail. 10.6.2. Учебный Пример: Сервер Xfree86. Пример 10.2. Конфигурация X. 10.7. Нарушение Правил. 11. Интерфейсы: Модели Проектирования Пользовательских Интерфейсов В Среде Unix. 11.1. Применение Правила Наименьшей Неожиданности. 11.2. История Проектирования Интерфейсов В Unix. 11.3. Оценка Конструкций Интерфейсов. 11.4. Компромиссы Между CLI- И Визуальными Интерфейсами. 11.4.1. Учебный Пример: Два Способа Написания Программы Калькулятора. 11.5. Прозрачность, Выразительность И Возможность Конфигурирования. 11.6. Модели Проектирования Интерфейсов В Unix. 11.6.1. Модель Фильтра. 11.6.2. Модель Заклинаний. 11.6.3. Модель Источника. 11.6.4. Модель Приемника. 11.6.5. Модель Компилятора. 11.6.6. Модель Редактора Ed. 11.6.7. Rogue-Подобная Модель. 11.6.8. Модель "Разделения Ядра И Интерфейса". 11.6.8.1. Пара Конфигуратор/Актор. 11.6.8.2. Пара Спулер/Демон. 11.6.8.3. Пара Драйвер/Ядро. 11.6.8.4. Пара Клиент/Сервер. 11.6.9. Модель CLI-Сервера. 11.6.10. Модель Интерфейсов На Основе Языков. 11.7. Применение Unix-Моделей Проектирования Интерфейсов. 11.7.1. Модель Многопараметрических Программ. 11.8. Использование Web-Браузера В Качестве Универсального Клиента. 11.9. Молчание — Золото. 12. Оптимизация. 12.1. Отказ От Оптимизации. 12.2. Измерения Перед Оптимизацией. 12.3. Размер Кода. 12.4. Пропускная Способность И Задержка. 12.4.1. Пакетные Операции. 12.4.2. Совмещение Операций. 12.4.3. Кэширование Результатов Операций. 13. Сложность: Просто, Как Только Возможно, Но Не Проще. 13.1. Сложность. 13.1.1. Три Источника Сложности. 13.1.2. Компромиссы Между Сложностью Интерфейса И Реализации. 13.1.3. Необходимая, Необязательная И Случайная Сложность. 13.1.4. Диаграмма Видов Сложности. 13.1.5. Когда Простоты Не Достаточно. 13.2. Редакторы. 13.2.1. Ed. 13.2.2. Vi. 13.2.3. Sam. 13.2.4. Emacs. 13.2.5. Wily. 13.3. Необходимый И Достаточный Размер Редактора. 13.3.1. Идентификация Проблем Сложности. 13.3.2. Компромиссы Не Действуют. 13.3.3. Является Ли Emacs Доводом Против Unix-Традиции? 13.4. Необходимый Размер Программы. Часть III. Реализация. 14. Языки Программирования: С Или Не С? 14.1. Многообразие Языков В Unix. 14.2. Доводы Против С. 14.3. Интерпретируемые Языки И Смешанные Стратегии. 14.4. Сравнение Языков Программирования. 14.4.1. С. 14.4.1.1. Учебный Пример: Fetchmail. 14.4.2. С++ 14.4.2.1. С++ Учебный Пример: Инструментарий Qt. 14.4.3. Shell. 14.4.3.1. Учебный Пример: Xmlto. 14.4.3.2. Учебный Пример: Sorcery Linux. 14.4.4. Perl. 14.4.4.1. Небольшой Учебный Пример По Perl: Blq. 14.4.4.2. Большой Учебный Пример По Perl: Keeper. 14.4.5. Tcl. 14.4.5.1. Учебный Пример: Tkman. 14.4.5.2. Moodss: Большой Учебный Пример По Tcl. 14.4.6. Python. 14.4.6.1. Небольшой Учебный Пример По Python: Imgsizer. 14.4.6.2. Учебный Пример По Python Среднего Размера: Fetchmailconf. 14.4.6.3. Большой Учебный Пример Python: Pil. 14.4.7. Java. 14.4.7.1. Учебный Пример: Freenet. 14.4.8. Emacs Lisp. 14.5. Тенденции Будущего. 14.6. Выбор Х-Инструментария. 15. Инструментальные Средства: Тактические Приемы Разработчика. 15.1. Операционная Система, Дружественная К Разработчику. 15.2. Выбор Редактора. 15.2.1. Полезные Сведения О Vi. 15.2.2. Полезные Сведения О Emacs. 15.2.3. "Антирелигиозный" Выбор: Использование Обоих Редакторов. 15.3. Генераторы Специализированного Кода. 15.3.1. Yacc И Lex. 15.3.1.1. Учебный Пример: Грамматика Fetchmailrc. 15.3.2. Учебный Пример: Glade. 15.4. Утилита Make: Автоматизация Процедур. 15.4.1. Базовая Теория Make. 15.4.2. Утилита Make В Разработке Не На C/C++ 15.4.2.1. Учебный Пример: Использование Make Для Преобразования Файла Документации. 15.4.3. Правила Make. 15.4.4. Генерация Make-Файлов. 15.4.4.1. Makedepend. 15.4.4.2. Imake. 15.4.4.3. Autoconf. 15.4.4.4. Automake. 15.5. Системы Контроля Версий. 15.5.1. Для Чего Используется Контроль Версий. 15.5.2. Контроль Версий Вручную. 15.5.3 Автоматизированный Контроль Версий. 15.5.4. Unix-Инструменты Для Контроля Версий. 15.5.4.1. Source Code Control System (Sccs). 15.5.4.2. Revision Control System (Rcs). 15.5.4.3. Concurrent Version System (Cvs). 15.5.4.4. Другие Системы Контроля Версий. 15.6. Отладка Времени Выполнения. 15.7. Профилирование. 15.8. Комбинирование Инструментов С Emacs. 15.8.1. Emacs И Make. 15.8.2. Emacs И Отладка Во Время Выполнения. 15.8.3. Emacs И Контроль Версий. 15.8.4. Emacs И Профилирование. 15.8.5. Лучше, Чем Ide. 16. Повторное Использование Кода: Не Изобретая Колесо. 16.1. История Случайного Новичка. 16.2. Прозрачность — Ключ К Повторному Использованию Кода. 16.3. От Повторного Использования К Открытому Исходному Коду. 16.4. Оценка Проектов С Открытым Исходным Кодом. 16.5. Поиск Открытого Исходного Кода. 16.6. Вопросы Использования Программ С Открытым Исходным Кодом. 16.7. Вопросы Лицензирования. 16.7.1. Что Определяется Как Открытый Исходный Код. 16.7.2. Стандартные Лицензии На Открытый Исходный Код. 16.7.3. Когда Потребуется Адвокат. Часть IV. Сообщество. 17. Переносимость: Переносимость Программ И Соблюдение Стандартов. 17.1. Эволюция С. 17.1.1. Ранняя История С. 17.1.2. Стандарты С. 17.2. Стандарты Unix. 17.2.1. Стандарты И Unix-Войны. 17.2.2. Влияние Новых Unix-Систем. 17.2.3. Стандарты Unix В Мире Открытого Исходного Кода. 17.3. Ietf И Процесс Rfc-Стандартизации. 17.4. Спецификации — Днк, Код — Рнк. 17.5. Программирование, Обеспечивающее Переносимость. 17.5.1. Переносимость И Выбор Языка. 17.5.1.1. Переносимость С. 17.5.1.2. Переносимость С++ 17.5.1.3. Переносимость Shell. 17.5.1.4. Переносимость Perl. 17.5.1.5. Переносимость Python. 17.5.1.6. Переносимость Tcl. 17.5.1.7. Переносимость Java. 17.5.1.8. Переносимость Emacs Lisp. 17.5.2. Обход Системных Зависимостей. 17.5.3. Инструменты, Обеспечивающие Переносимость. 17.6. Интернационализация. 17.7. Переносимость, Открытые Стандарты И Открытый Исходный Код. 18. Документация: Объяснение Кода В Web-Сообществе. 18.1. Концепции Документации. 18.2. Стиль Unix. 18.2.1. Склонность К Большим Документам. 18.2.2. Культурный Стиль. 18.3. Многообразие Форматов Документации В Unix. 18.3.1. Troff И Инструментарий Documenter'S Workbench. Пример 18.1. Разметка Groff(1). Пример 18.2. Разметка Man-Страниц. 18.3.2. Tex. 18.3.3. Texinfo. 18.3.4. Pod. 18.3.5. Html. 18.3.6. Docbook. 18.4. Современный Хаос И Возможный Выход Из Положения. 18.5. Docbook. 18.5.1. Определения Типов Документов. 18.5.2. Другие Dtd-Определения. 18.5.3. Инструментальная Связка Docbook. 18.5.4. Средства Преобразования. 18.5.5. Инструменты Редактирования. 18.5.6. Связанные Стандарты И Практические Приемы. 18.5.7. Sgml. 18.5.8. Справочные Ресурсы По XML-Docbook. 18.6. Лучшие Практические Приемы Написания Unix-Документации. 19. Открытый Исходный Код: Программирование В Новом Unix-Сообществе. 19.1. Unix И Открытый Исходный Код. 19.2. Лучшие Практические Приемы При Взаимодействии С Разработчиками Открытого Исходного Кода. 19.2.1. Хорошая Практика Обмена Исправлениями. 19.2.1.1. Отправляйте Заплаты, А Не Целые Архивы Или Файлы. 19.2.1.2. Отправляйте Исправления К Текущей Версии Кода. 19.2.1.3. Не Следует Включать Заплаты Для Генерируемых Файлов. 19.2.1.4. Не Отправляйте Заплат, Которые Только Убирают $-Идентификаторы Систем Rcs Или Sccs. 19.2.1.5. Используйте Вместо Формата По Умолчанию (-E) Форматы -С Или -U. 19.2.1.6. Сопровождайте Заплаты Документацией. 19.2.1.7. Сопровождайте Заплату Пояснениями. 19.2.1.8. Включайте В Код Полезные Комментарии. 19.2.1.9. Не Огорчайтесь, Если Заплата Отклонена. 19.2.2. Хорошая Практика Наименования Проектов И Архивов. 19.2.2.1. Используйте Gnu-Стиль Названий С Именной Частью И Номерами (Основной.Второстепенный.Заплата). 19.2.2.2. По Возможности Необходимо Придерживаться Локальных Соглашений. 19.2.2.3. Упорно Ищите Уникальный Префикс Имени, Который Легко Вводить. 19.2.3. Хорошая Практика Разработки. 19.2.3.1. Не Полагайтесь На Частный Код. 19.2.3.2. Используйте Автоинструменты Gnu. 19.2.3.3. Тестируйте Код Перед Выпуском Версии. 19.2.3.4. Выполняйте Контроль Ошибок В Коде Перед Выпуском Версии. 19.2.3.5. Проверяйте Орфографию В Документации И Readme-Файлах Перед Выпуском Версии. 19.2.3.6. Рекомендованные Практические Приемы Переносимости Кода C/C++ 19.2.4. Хорошая Практика Создания Дистрибутивов. 19.2.4.1. Убедитесь, Что Архивы Всегда Распаковываются В Один Новый Каталог. Пример 19.1. Make-Правила Для Tar-Архива. 19.2.4.2. Включайте В Дистрибутив Readme-Файл. 19.2.4.3. Придерживайтесь Стандартной Практики Именования Файлов. 19.2.4.4. Проектирование С Учетом Обновлений. 19.2.4.5. В Linux Создавайте Rpm-Пакеты. 19.2.4.6. Предоставляйте Контрольные Суммы Пакетов. 19.2.5. Практические Приемы Хорошей Коммуникации. 19.2.5.1. Публикация На Сайте Freshmeat. 19.2.5.2. Публикация В Соответствующих Группах Новостей. 19.2.5.3. Создайте Web-Сайт. 19.2.5.4. Поддерживайте Списки Рассылки Проекта. 19.2.5.5. Публикуйте Проект В Главных Архивах. 19.3. Логика Лицензирования: Как Выбрать Лицензию. 19.4. Почему Следует Использовать Стандартную Лицензию. 19.5. Многообразие Лицензий На Открытый Исходный Код. 19.5.1. Лицензия Mit Или Консорциума X. 19.5.2. Классическая Bsd-Лицензия. 19.5.3. Артистическая Лицензия. 19.5.4. General Public License. 19.5.5. Mozilla Public License. 20. Будущее: Опасности И Перспективы. 20.1. Сущность И Случайность В Традиции Unix. 20.2. Plan 9: Каким Представлялось Будущее Unix. 20.3. Проблемы В Конструкции Unix. 20.3.1. Unix-Файл Представляет Собой Только Большой Блок Байтов. 20.3.2. Слабая Поддержка Gui-Интерфейсов В Unix. 20.3.3. Удаление Файлов В Unix Необратимо. 20.3.4. Unix Предполагает Статичную Файловую Систему. 20.3.5. Конструкция Системы Управления Задачами Была Плохо Реализована. 20.3.6. В Unix Api Не Используются Исключительные Ситуации. 20.3.7. Вызовы Ioctl(2) И Fcntl(2) Являются Препятствиями. 20.3.8. Модель Безопасности Unix, Возможно, Слишком Примитивна. 20.3.9. Unix Имеет Слишком Много Различных Видов Имен. 20.3.10. Файловые Системы Могут Считаться Вредными. 20.3.11. На Пути К Глобальному Адресному Пространству Internet. 20.4. Проблемы В Окружении Unix. 20.5. Проблемы В Культуре Unix. 20.6. Причины Верить. Приложения. А. Глоссарий Аббревиатур. Б. Список Литературы. В. Персональный Вклад. Г. Корни Без Корней: Unix-Коаны Мастера Фу. Предисловие Редактора. Мастер Фу И Десять Тысяч Строк. Мастер Фу И Скрипт Кидди. Мастер Фу Рассуждает О Двух Дорогах. Мастер Фу И Консультант По Методологии. Мастер Фу Рассуждает О Графическом Пользовательском Интерфейсе. Мастер Фу И Фанатик Unix. Мастер Фу Рассуждает О Природе Unix. Мастер Фу И Конечный Пользователь. Дополнительная Информация. Примечания.

Офисное программирование.

Часть I. Осноные Седения О Программироании На Vba. Глава 1. Типы Данных, Услоные Операторы И Массиы Vba. 1.1. Введение В Vba. Типы Данных. Введение В Vba. Объектно-Ориентированное Программирование. Обзор Типов Данных Vba. Типы Данных Vba. Переменные. Константы. Математические Функции. 1.2. Редактор Vba. Первое Знакомство. Запуск Редактора Vba. Создание Простейших Программ. 1.3. Изменение Порядка Выполнения Операторов. Операторы И Выражения. Арифметические Операторы. Символы Совпадения С Образцом Для Оператора Like. Логические Операторы. Изменение Порядка Выполнения Операторов. Повторение Действий: Циклы. Глава 2. Объект Userform. 2.1. Свойства И Методы Объекта Userform. Свойства Объекта Userform. Наиболее Часто Используемые Свойства Объектов Userform. Методы Объекта Userform. Наиболее Часто Используемые Методы Для Объектов Userform. События Объекта Userform. События Объектов Userform. Элементы Управления. Стандартные Элементы Управления, Включенные В Vba. Свойства Стандартных Элементов Управления. 2.2. Использование Форм. Создание Vba-Программ. Задачи На Закрепление Материала. Глава 3. Массивы, Процедуры, Функции. 3.1. Организация Массивов. Одномерные Массивы. Двумерные Массивы. 3.2. Работа С Различными Типами Данных. Тип, Определяемый Пользователем. Перечисляемый Тип. Приведение И Преобразование Типов. Функции Преобразования Типов. Операции Со Строками. Функции Работы Со Строками. 3.3. Процедуры И Функции Vba. Описание Процедур И Функций Vba. Объявление Процедуры Инициализации Массива. Объявление Функции, Подсчитывающей Сумму Любого Числа Аргументов. Вызов Подпрограмм И Функций. Макросы. Редактирование Программного Кода Макроса В Редакторе Visual Basic. Задачи На Закрепление Материала. Глава 4. Создание Vba-Программ. 4.1. Элемент Управления Listbox. Задачи На Закрепление Материала. Дополнительные Задания. 4.2. Элементы Управления Combobox, Optionbutton И Frame. Поле Со Списком. Переключатель И Рамка. Задачи На Закрепление Материала. 4.3. Элементы Управления Multipage, Scrollbar, Spinbutton[2]. Коллекция Controls. Набор Страниц Multipage. Значения Свойства Taborientation. Полоса Прокрутки Scrollbar. Счетчик Spinbutton. 4.4. Объект Dataobject[3]. Описание Объекта Dataobject. Перемещение Объектов. Реализация Технологии Draganddrop. Свойства Calendar. Методы Calendar. Часть II. Программирование На Vba В Word. Глава 5. Вывод Текста В Документ Word. 5.1. Основные Объекты Word. Объект Word.Application. Свойства Объекта Word.Application. Работа С Документами И Класс Document. События Объекта Document. Документ И Его Части. Объекты Range И Selection. Работа С Текстом. 5.2. Форматирование Документа. Работа С Текстом (Продолжение). Создание Кнопки Или Панели В Word. Задачи На Закрепление Материала. Заявление. При Поездке На Дачу, Находящуюся На Расстоянии 55 Км, При Цене Бензина За Литр 18,50 Руб., Потребление Бензина Составит 101,75 Руб. Отчет О Доходе. Глава 6. Автоматизация Стандартных Документов. 6.1. Встроенные Диалоговые Окна. Диалоговые Окна. Значения Аргумента Кнопки Процедуры Msgbox. Значения Аргумента Кнопки Процедуры Msgbox. Задачи На Закрепление Материала. 6.2. Создание И Автоматическое Заполнение Бланков Стандартных Документов. Создание Vba-Программ. Задача На Закрепление Материала. Часть III. Программирование На Vba В Excel. Глава 7. Особенности Использования Vba В Excel. 7.1. Основные Объекты Vba В Excel. Использование Объектов Range И Selection. Свойства Объекта Range. Методы Объекта Range. Методы Объекта Range, Использующие Команды Excel. Округление Чисел. Приведение Данных. Создание Vba-Программ. Использование Методов Autofill При Заполнении Таблиц. 7.2. Использование Возможностей Vba При Непосредственных Расчетах. Создание Vba-Программ. Отклонение Фактического Уровня Издержек Обращения От Плана За Месяц _________________ 20__ Г. Задачи На Закрепление Материала. 7.3. Финансовые Функции. Расчет Амортизации. Общие Параметры Функций Для Расчетов Амортизации. Создание Vba-Программы. Задача На Закрепление Материала. Глава 8. Построение Диаграмм Средстами Vba. 8.1. Построение Гладких Диаграмм. Диаграммы В Excel. Создание Vba-Программы. 8.2. Построение Круговых Диаграмм И Гистограмм. Создание Vba-Программ. Глава 9. Базы Данных В Excel. 9.1. Заполнение Базы Данных. Элементы Управления. Создание Vba-Программы. Задача На Закрепление Материала. 9.2. Конструирование Пользовательского Интерфейса. Создание Vba-Программы. Конструирование Интерфейса. Презентация. Задача На Закрепление Материала. Глава 10. Создание Собственного Головного Меню[9]. Создание Меню С Помощью Vba. Фрагмент Таблицы Идентификаторов Встроенных Команд Меню. Литература. Примечания.

Основы программирования на Java.

Основные Понятия. 1. Переменные. 1.1. Объявление Переменных. 1.2. Область Видимости Переменной. 2. Типы. 2.1. Простые Типы. 2.1.1. Числовые Типы. 2.1.2. Символы. 2.1.3. Тип Boolean. 2.2. Приведение Типов. 3. Массивы. 3.1. Многомерные Массивы. 4. Операторы. 4.1. Арифметические Операторы. 4.1.1. Оператор Деления По Модулю. 4.1.2. Арифметические Операторы Присваивания. 4.1.3. Инкремент И Декремент. 4.2. Целочисленные Битовые Операторы. Таблица 4.2. Операторы Битовой Арифметики. 4.3. Операторы Отношений. 4.4. Булевы Логические Операторы. 4.5. Тернарный Оператор If-Then-Else. 4.6. Приоритеты Операторов. 5. Управление Выполнением Программы. 5.1. Условный Оператор If-Else. 5.2. Опреатор Break. 5.3. Оператор Switch. 5.4. Оператор Return. 6. Циклы. 6.1. Цикл While. 6.2. Цикл Do-While. 6.3. Цикл For. 6.3.1. Оператор Запятая. 6.4. Оператор Continue. Объектно-Ориентированное Программирование На Java. 7. Классы. 7.1. Переменные Класса. 7.2. Оператор New. 7.3. Объявление Методов. 7.4. Вызов Метода. 7.5. Скрытие Переменных. 7.6. Конструкторы. 7.7. Совмещение Методов. 7.8. Ссылка This. 7.9. Наследование. 7.10. Ссылка Super. 7.11. Замещение Методов. 7.12. Динамическое Назначение Методов. 7.13. Директива Final. 7.14. Деструкторы. 7.15. Статические Методы. 7.16. Абстрактные Классы. 8. Пакеты И Интерфейсы. 8.1. Пакеты. 8.1.1. Оператор Package. 8.1.2. Трансляция Классов В Пакетах. 8.1.3. Оператор Import. 8.1.4. Ограничение Доступа. 8.2. Интерфейсы. 8.2.1. Оператор Interface. 8.2.2. Оператор Implements. 9. Обработка Исключений. 9.1. Основы Механизма Исключений. 9.2. Типы Исключений. 9.3. Неперехваченные Исключения. 9.4. Операторы Try И Catch. 9.5. Несколько Разделов Catch. 9.6. Вложенные Операторы Try. 9.7. Оператор Throw. 9.8. Оператор Throws. 9.9. Оператор Finally. 10. Многопоточное Программирование. 10.1. Модель Легковесных Процессов В Java. 10.2. Подпроцесс. 10.3. Интерфейс Runnable. 10.4. Приоритеты Подпроцессов. 10.5. Синхронизация. 10.6. Методы Программного Интерфейса Легковесных Процессов. 10.6.1. Методы Класса. 11. Ввод/Вывод. 11.1. Работа С Файлами. 11.2. Каталоги. 11.3. Класс Inputstream. 11.5. Файловый Поток Filelnputstream. 11.6. Файловый Поток Fileoutputstream. 12. Программировние Графических Пользовательских Интерфейсов. 12.3. Класс Canvas. 12.4. Класс Label. 12.5. Класс Button. 12.6. Класс Checkbox. 12.7. Класс Checkboxgroup. 12.8. Класс Choice. 12.9. Класс List. 12.10. Класс Scrollbar. 12.11. Класс Textfield. 12.12. Класс Textarea. 12.13. Стратегии Размещения Компонентов. 12.13.1. Диспетчер Размещения Layoutmanager. 12.13.2. Стратегия Fiowlayout. 12.13.3. Стратегия Borderlayout. 12.13.4. Стратегия Gridlayout. 12.14. Программирование Окон - Window. 12.15. Программирование Меню. 12.16. Модель Обработки Событий От Компонентов. Заключение. Библиографический Список.

Основы программирования на JavaScript.

Лекция 2. Операторы И Функции. Лекция 3. Формы И Циклы. Лекция 4. Функции И Концепция Объектов. Лекция 5. Строки, Числа И Массивы. Лекция 6. Объектная Модель Документа. Лекция 7. Объект Документа И Объект Окна. Лекция 8. Основы Объектно-Ориентированного Программирования. Лекция 9. Наследование И Замыкание. Лекция 10. Основы Приложений Ajax. Лекция 11. Обработка Ошибок В Javascript. Лекция 12. Рекурсия. Дополнения. Дополнение. Краткое Руководство По Ajax. Дополнение. Учебное Руководство По Xhtml. Литература. Примечания.

Системное программирование в среде Windows.

Потенциальная Аудитория. Изменения В Третьем Издании. Как Организована Эта Книга. Сопоставление С Unix И Библиотекой С. Примеры. Web-Сайты, Посвященные Этой Книге. Благодарности. Глава 1. Знакомство С Win32 И Win64. Основные Возможности Операционных Систем. Эволюция Windows. Версии Windows. Устаревшие Предыдущие Версии Windows. Windows Nt 5.X. Другие Интерфейсы Программирования Для Windows. Поддержка Процессоров. Воздействие Windows На Ситуацию На Рынке. Windows, Стандарты И Открытые Системы. Библиотеки Совместимости. Принципы, Лежащие В Основе Windows. Подготовка К Работе С Win64. О Целесообразности Привлечения Функций Стандартной Библиотеки C Для Обработки Файлов. Что Требуется Для Работы С Данной Книгой. Пример: Простое Последовательное Копирование Файла. Копирование Файлов С Использованием Стандартной Библиотеки С. Программа 1.1. Срс: Копирование Файлов С Использованием Библиотеки С. Копирование Файлов С Использованием Windows. Программа 1.2. Cpw: Копирование Файлов С Использованием Windows, Первая Реализация. Копирование Файлов С Использованием Вспомогательной Функции Windows. Программа1.3.Cpcf: Копирование Файлов С Использованием Вспомогательной Функции Windows. Резюме. В Следующих Главах. Дополнительная Литература. Win32. Win64. Архитектура Windows Nt И История Ее Развития. Unix. Программирование С Использованием Windows Gui. Теория Операционных Систем. Стандартная Библиотека Ansi С. Windows Се. Эмуляция Windows В Unix. Упражнения. Глава 2. Использование Файловой Системы И Функций Символьного Ввода/Вывода Windows. Файловые Системы Windows. Правила Именования Файлов. Операции Открытия, Чтения, Записи И Закрытияфайлов. Создание И Открытие Файла. Параметры. Закрытие Файла. Чтение Файла. Параметры. Запись В Файл. Вступление: Стандартные Символы И Символы Unicode. Альтернативные Функции Для Работы С Обобщенными Строками. Обобщенная Функция Main. Определения Функций. Стратегии Использования Символов Unicode. Стандартные Устройства И Консольный Ввод/Вывод. Параметры. Параметры. Параметры. Пример: Вывод На Консоль Сообщений И Подсказок Для Пользователя. Программа 2.1. Printmsg: Вспомогательные Функции Вывода На Консоль Сообщений И Ожидания Ответа От Пользователя. Пример: Обработка Ошибок. Программа 2.2. Функция Report Error, Предназначенная Для Вывода Сообщений Об Ошибках При Выполнении Системных Вызовов. Пример: Копирование Нескольких Файлов На Стандартное Устройство Вывода. Программа 2.3. Cat: Вывод Нескольких Файлов На Стандартное Устройство Вывода. Пример: Преобразование Символов Из Ascii В Unicode. Программа 2.4. Atou: Преобразование Файла С Выводом Сообщений Об Ошибках. Программа 2.5. Функция Asc2Un. Производительность Программы. Управление Файлами И Каталогами. Управление Файлами. Параметры. Управление Каталогами. Пример: Печать Текущего Каталога. Программа 2.6. Pwd: Печать Текущего Каталога. Резюме. В Следующих Главах. Дополнительная Литература. Организация Хранения Данных В Windows И Ntfs. Unicode. Unix. Упражнения. Глава 3. Усовершенствованные Средства Для Работы С Файлами И Каталогами И Знакомство С Реестром. 64-Битовая Файловая Система. Указатели Файлов. Параметры. 64-Битовая Арифметика. Указание Позиции Файла С Помощью Структуры Overlapped. Определение Размера Файла. Установка Размера Файла, Инициализация Файла И Разреженные Файлы. Пример: Обновление Записей, Находящихся В Произвольном Месте Файла. Программа 3.1. Recordaccess. Атрибуты Файлов И Управление Каталогами. Параметры. Полные Имена Файлов. Другие Методы Определения Атрибутов Файлов И Каталогов. Именование Временных Файлов. Параметры. Точки Монтирования. Пример: Вывод Списка Атрибутов Файла. Программа 3.2. Lsw: Вывод Списка Файлов И Обход Дерева Каталогов. Пример: Установка Меток Времени Файла. Программа 3.3. Touch: Установка Меток Даты И Времени Файла. Стратегии Обработки Файлов. Блокирование Файлов. Параметры. Снятие Блокировок. Следствия Принятой Логики Блокирования Файлов. Использование Блокирования Файлов. Реестр. Ключи Реестра. Управление Системным Реестром. Управление Подразделами Реестра. Параметры. Параметры. Управление Значениями. Пример: Вывод Списка Разделов И Содержимого Реестра. Программа 3.4. Lsreq: Вывод Списка Разделов И Содержимого Системного Реестра. Резюме. В Следующих Главах. Дополнительная Литература. Упражнения. Глава 4. Обработка Исключений. Исключения И Обработчики Исключений. Блоки Try И Except. Выражения Фильтров И Их Значения. Коды Исключений. Резюме: Последовательность Обработки Исключений. Исключения, Возникающие При Выполнении Операций Над Числами С Плавающей Точкой. Ошибки И Исключения. Исключения, Генерируемые Приложением. Параметры. Пример: Обработка Ошибок Как Исключений. Программа 4.1. Reportexception: Функция Вывода Сообщений Об Исключениях. Обработчики Завершения. Выход Из Try-Блока. Аварийное Завершение. Выполнение Обработчика Завершения И Выход Из Него. Сочетание Блоков Finally И Except. Глобальное И Локальное Разворачивание Стека. Обработчики Завершения: Завершение Процессов И Потоков. Seh И Обработка Исключений В C++ Пример: Использование Обработчиков Завершения Для Повышения Качества Программ. Программа 4.2. Toupper: Обработка Файлов С Восстановлением Нормального Состояния Программы После Сбоев. Пример: Использование Функции Фильтра. Программа 4.3. Exception: Обработка Исключений И Завершения Выполнения. Программа 4.4. Функция Filter. Обработчики Управляющих Сигналов Консоли. Пример: Обработчик Управляющих Сигналов Консоли. Программа 4.5. Ctrlc: Программа Обработки Сигналов. Векторная Обработка Исключений. Резюме. В Следующих Главах. Упражнения. Глава 5. Управление Памятью, Отображение Файлов И Библиотеки DLL. Архитектура Системы Управления Памятью В Win32 И Win64. Обзор Методов Управления Памятью. Куча. Управление Памятью Кучи. Параметры. Параметры. Флаг Heap_No_Serialize. Флаг Heap_Generate_Exceptions. Другие Функции Кучи. Резюме: Управление Кучами. Пример: Сортировка Файлов С Использованием Бинарного Дерева Поиска. Программа 5.1. Sortbt: Сортировка С Использованием Бинарного Дерева Поиска. Программа 5.2. Filltree И Другие Функции Управления Деревом Поиска. Отображение Файлов. Объекты Отображения Файлов. Параметры. Отображение Файла На Адресное Пространство Процесса. Параметры. Ограничения Метода Отображения Файлов. Резюме: Отображение Файлов. Пример: Последовательная Обработка Файлов С Использованием Метода Отображения. Программа 5.3. Asc2Unmm: Преобразование Файла С Использованием Метода Отображения Файлов. Пример: Сортировка Отображенных Файлов. Программа 5.4. Sortfl: Сортировка Файла С Использованием Его Отображения В Памяти. Базовые Указатели. Пример: Использование Базовых Указателей. Программа 5.5. Sortmm: Использование Базовых Указателей В Индексном Файле. Программа 5.6. Sortmm: Создание Индексного Файла. Динамически Компонуемые Библиотеки. Статические И Динамические Библиотеки. Неявное Связывание. Экспортирование И Импортирование Интерфейсов. Явное Связывание. Пример: Явное Связывание Функци И Преобразования Файлов. Программа 5.7. Atouel: Преобразование Файлов С Использованием Явного Связывания. Создание Библиотек DLL На Основе Функции Asc2Un. Точки Входа Библиотеки DLL. Управление Версиями DLL. Резюме. В Следующих Главах. Дополнительная Литература. Отображение Файлов, Виртуальная Память И Ошибки Страниц. Структуры Данных И Алгоритмы. Использование Явного Связывания. Упражнения. Глава 6. Управление Процессами. Процессы И Потоки Windows. Создание Процесса. Параметры. Указание Исполняемого Модуля И Командной Строки. Наследуемые Дескрипторы. Счетчики Дескрипторов Процессов. Идентификаторы Процессов. Параметры. Дублирование Дескрипторов. Завершение И Прекращение Выполнения Процесса. Ожидание Завершения Процесса. Блоки И Строки Окружения. Защита Процесса. Пример: Параллельный Поиск Указанного Текстового Шаблона. Программа 6.1. Grepmp: Выполнение Параллельного Поиска Текстового Шаблона. Процессы В Многопроцессорной Среде. Временные Характеристики Процесса. Пример: Временные Характеристики Процессов. Программа 6.2. Timep: Временные Характеристики Процессов. Использование Команды Timep. Генерация Управляющих Событий Консоли. Пример: Простое Управление Задачами. Создание Фоновых Задач. Программа 6.3. Jobshell: Создание, Вывод Списка И Прекращение Выполнения Фоновых Задач. Получение Номера Задачи. Программа 6.4. Jobmgt: Создание Информации О Новой Задаче. Вывод Списка Фоновых Задач. Программа 6.5. Jobmgt: Отображение Списка Активных Задач. Поиск Задачи В Файле Списка Задач. Программа 6.6. Jobmgt: Получение Идентификатора Процесса По Номеру Задачи. Объекты Задач. Резюме. В Следующих Главах. Упражнения. Глава 7. Потоки И Планирование Выполнения. Обзор Потоков. Перспективы И Проблемы. Основные Сведения О Потоках. Управление Потоками. Параметры. Идентификация Потоков. Дополнительные Функции Управления Потоками. Приостановка И Возобновление Выполнения Потока. Ожидание Завершения Потока. Удаленные Потоки. Использование Библиотеки С Впотоках. Библиотеки С Многопоточной Поддержкой. Пример: Многопоточный Поиск Контекста. Программа 7.1. Grepmt: Многопоточный Поиск Текстового Шаблона. Потоки И Производительность. Модель "Хозяин/Рабочий" И Другие Модели Многопоточных Приложений. Пример: Применение Принципа "Разделяй И Властвуй" Для Решения Задачи Сортировки Слиянием В Smp-Системах. Программа 7.2. Sortmt: Сортировка Слиянием С Использованием Нескольких Потоков. Производительность. Локальные Области Хранения Потоков. Приоритеты Процессов И Потоков И Планирование Выполнения. Предостережение Относительно Использования Приоритетов Потоков И Процессов. Состояния Потоков. Возможные Ловушки И Распространенные Ошибки. Ожидание В Течение Конечного Интервала Времени. Облегченные Потоки. Резюме. В Следующих Главах. Дополнительная Литература. Windows. Unix И Pthreads. Упражнения. Глава 8. Синхронизация Потоков. Необходимость В Синхронизации Потоков. Критические Участки Кода. Неудачные Пути Решения Проблемы Критических Участков Кода. Класс Памяти Volatile. Функции Взаимоблокировки. Локальная И Глобальная Память. Резюме: Безопасный Многопоточный Код. Объекты Синхронизации Потоков. Объекты Критических Участковкода. Настройка Спин-Счетчика. Использование Объектов Critical_Section Для Защиты Разделяемыхпеременных. Пример: Простая Система "Производитель/Потребитель". Программа 8.1.Simplepc: Простая Система "Производитель/Потребитель". Комментарии К Примеру Простой Системы "Производитель/Потребитель". Мьютексы. Покинутые Мьютексы. Мьютексы, Критические Участки Кода И Взаимоблокировки. Сравнительный Обзор: Мьютексы И Объекты Critical_Section. Синхронизация Куч. Семафоры. Использование Семафоров. Ограниченность Семафоров. События. Обзор: Четыре Модели Использования Событий. Пример: Система "Производитель/Потребитель". Программа 8.2. Eventpc: Система "Производитель/Потребитель", Использующая Сигналы. Обзор: Объекты Синхронизации Windows. Ожидание Сообщений И Объектов. Дополнительные Рекомендации Относительно Использования Мьютексов И Объектов Critical_Section. Другие Функции Взаимоблокировки. Учет Факторов Производительности При Организации Управленияпамятью. Резюме. В Следующих Главах. Дополнительная Литература. Windows. Упражнения. Глава 9. Влияние Синхронизации На Производительность И Рекомендации По Ее Повышению. Влияние Синхронизации На Производительность. Достоинства И Недостатки Объектов Critical_Section. Программа 9.1. Statsmx: Поддержка Статистики Потоков. Модельная Программа Для Исследования Факторов Производительности. Настройка Производительности Smp-Систем С Помощью Спин-Счетчиков. Установка Значений Спин-Счетчиков. Дросселирование Семафора Для Уменьшения Состязательности Между Потоками. Родство Процессоров. Маски Родства Системы, Процесса И Потока. Определение Количества Процессоров В Системе. Гиперпотоки И Счетчик Процессоров. Порты Завершения Ввода/Вывода. Рекомендации По Повышению Производительности И Возможные Риски. Резюме. В Следующих Главах. Дополнительная Литература. Упражнения. Глава 10. Усовершенствованные Методы Синхронизации Потоков. Модель Переменных Условий И Свойства Безопасности. Совместное Использование Событий И Мьютексов. Модель Переменных Условий. Комментарии По Поводу Модели Переменных Условий. Использование Модели Переменных Условий. Разновидности Модели Переменных Условий. Пример Предиката Переменной Условия. Семафоры И Модель Переменных Условий. Использование Функции Signalobjectandwait. Пример: Объект Порогового Барьера. Программа 10.1. Synchobj.H: Часть 1 — Объявления Объекта Порогового Барьера. Программа 10.2. Thbobject.С: Реализация Объекта Порогового Барьера. Комментарии По Поводу Реализации Объекта Порогового Барьера. Объект Очереди. Программа 10.3. Synchobj.H: Часть 2 — Объявления Объекта Очереди. Программа 10.4. Queueobj.С: Функции Управления Очередью. Комментарии По Поводу Функций Управления Очередью С Точки Зрения Производительности. Пример: Использование Очередей В Многоступенчатом Конвейере. Программа 10.5. Threestage.С: Многоступенчатыйконвейер. Комментарии По Поводу Многоступенчатого Конвейера. Асинхронные Вызовы Процедур. Очередизация Асинхронных Вызовов Процедур. Арс И Упущенные Сигналы. Состояния Дежурного Ожидания. Программа 10.6. Модифицированная Функция Q_Get, Обеспечивающая Корректное Завершение Выполнения Потоков. Безопасная Отмена Выполнения Потоков. Создание Переносимых Приложений С Использованием Потоков Pthreads. Стеки Потоков И Допустимые Количества Потоков. Рекомендации По Проектированию, Отладке И Тестированию Программ. Как Избежать Создания Некорректного Программного Кода. За Рамками Windows Api. Резюме. В Следующих Главах. Дополнительная Литература. Упражнения. Глава 11. Взаимодействие Между Процессами. Анонимные Каналы. Пример: Перенаправление Ввода/Вывода С Использованием Анонимного Канала. Программа 11.1. Pipe: Межпроцессное Взаимодействие С Использованием Анонимных Каналов. Именованные Каналы. Использование Именованных Каналов. Создание Именованных Каналов. Параметры. Подключение Клиентов Именованных Каналов. Функции Состояния Именованных Каналов. Функции Подключения Именованных Каналов. Подключение Клиентов И Серверов Именованных Каналов. Функции Транзакций Именованных Каналов. Определение Наличия Сообщений В Именованных Каналах. Пример: Клиент-Серверный Процессор Командной Строки. Программа 11.2. Clientnp: Клиент, Ориентированный На Соединение Посредством Именованного Канала. Программа 11.3. Servernp: Многопоточный Сервер Именованного Канала. Комментарии По Поводу Клиент-Серверного Процессора Командной Строки. Почтовые Ящики. Использование Почтовых Ящиков. Создание И Открытие Почтового Ящика. Параметры. Создание, Подключение И Именование Каналов И Почтовых Ящиков. Пример: Сервер, Обнаруживаемый Клиентами. Программа 11.4. Srvrbcst: Функция Потока Почтового Клиента. Программа 11.5. Locsrvr: Почтовый Сервер. Комментарии По Поводу Многопоточных Моделей. Резюме. В Следующих Главах. Упражнения. Глава 12. Сетевое Программирование С Помощью Сокетов Windows. Сокеты Windows. Инициализация Winsock. Параметры. Создание Сокета. Параметры. Серверные Функции Сокета. Связывание Сокета. Параметры. Перевод Связанного Сокета В Состояние Прослушивания. Прием Клиентских Запросов Соединения. Параметры. Отключение И Закрытие Сокетов. Пример: Подготовка И Получение Клиентских Запросов Соединения. Клиентские Функции Сокета. Установление Клиентского Соединения С Сервером. Параметры. Пример: Подключение Клиента К Серверу. Отправка И Получение Данных. Сравнение Именованных Каналов И Сокетов. Сравнение Серверов Именованных Каналов И Сокетов. Сравнение Клиентов Именованных Каналов И Сокетов. Пример: Функция Приема Сообщений В Случае Сокета. Пример: Клиент На Основе Сокета. Программа 12.1. Clientsk: Клиент На Основе Сокетов. Пример: Усовершенствованный Сервер На Основе Сокетов. Программа 12.2. Serversk: Сервер На Основе Сокета С Внутрипроцессными Серверами. Замечания По Поводу Безопасности. Внутрипроцессные Серверы. Программа 12.3. Command: Пример Внутри Процессных Серверов. Ориентированные На Строки Сообщения, Точкив Хода DLL И Tls. Решение Проблемы Долговременных Состояний В Многопоточной Среде. Пример: Безопасная Многопоточная DLL Для Обмена Сообщениями Через Сокет. Программа 12.4. Sendreceiveskst: Безопасная Многопоточная DLL. Комментарии По Поводу DLL И Безопасной Многопоточной Среды. Пример: Альтернативная Стратегия Создания Безопасных Библиотек DLL С Много Поточной Поддержкой. Программа 12.5. Sendreceiveskha: Безопасная Многопоточная DLL Со Структурой Состояния. Дейтаграммы. Использование Дейтаграмм Для Удаленного Вызова Процедур. Сравнение Berkeley Sockets И Windows Sockets. Перекрывающийся Ввод/Вывод С Использованием Windows Sockets. Windows Sockets 2. Резюме. В Следующих Главах. Дополнительная Литература. Windows Sockets. Berkeley Sockets И Tcp/Ip. Упражнения. Глава 13. Windows Services. Написание Программ, Реализующихслужбы Windows Services: Обзор. Функция Main(). Программа 13.1. Main: Точка Входа Main Службы. Функции Servicemain(). Регистрация Управляющей Программы Службы. Параметры. Настройка Состояния Службы. Параметры. Структура Service_Status. Параметры. Тип Службы. Состояние Службы. Воспринимаемые Управляющие Коды. Специфический Для Службы Код. Обработчик Управляющих Команд Службы. Пример: "Интерфейсная Оболочка" Службы. Программа 13.2. Simpleservice: Оболочка Службы. Управление Службами Windows. Открытие Scm. Параметры. Создание И Удаление Службы. Параметры. Запуск Службы. Управление Службой. Опрос Состояния Службы. Резюме: Функционирование И Управление Службой. Пример:Команднаяоболочкауправленияслужбами. Программа 13.3. Serviceshell: Программа Управления Службами. Совместное Использование Объектов Ядра Приложениями И Службами. Регистрация Событий. Замечания По Отладке Службы. Резюме. В Следующих Главах. Дополнительная Литература. Упражнения. Глава 14. Асинхронный Ввод/Вывод И Порты Завершения. Обзор Методов Асинхронного Ввода/Вывода Windows. Перекрывающийся Ввод/Вывод. Перекрывающиеся Сокеты. Следствия Применения Перекрывающегося Ввода/Вывода. Структуры Overlapped. Состояния Перекрывающегося Ввода/Вывода. Отмена Выполнения Операций Перекрывающегося Ввода/Вывода. Пример: Использование Дескриптора Файла В Качестве Объекта Синхронизации. Пример: Преобразование Файлов С Использованием Перекрывающегося Ввода/Вывода И Множественной Буферизации. Программа 14.1. Atouov: Преобразование Файла С Использованием Перекрывающегося Ввода/Вывода. Расширенный Ввод/Вывод С Использованием Процедуры Завершения. Функции Readfileex, Writefileex И Процедурызавершения. Функции Дежурного Ожидания. Выполнение Процедуры Завершения И Возврат Из Функции Дежурного Ожидания. Пример: Преобразование Файла С Использованием Расширенного Ввода/Вывода. Программа 14.2. Atouex: Преобразование Файла С Использованием Расширенного Ввода/Вывода. Асинхронный Ввод/Вывод Сиспользованием Нескольких Потоков. Таймеры Ожидания. Пример: Использование Таймера Ожидания. Программа 14.3. Timebeep: Генерация Периодических Сигналов. Комментарии К Примеру С Таймером Ожидания. Порты Завершения Ввода/Вывода. Управление Портами Завершения Ввода/Вывода. Ожидание Порта Завершения Ввода/Вывода. Отправка Уведомления Порту Завершения Ввода/Вывода. Альтернативы Портам Завершенияввода/Вывода. Пример: Сервер, Использующий Порты Завершения Ввода/Вывода. Программа 14.4. Servercp: Сервер, Использующий Порт Завершения. Резюме. В Следующих Главах. Упражнения. Глава 15. Безопасность Объектов Windows. Атрибуты Безопасности. Общий Обзор Средств Безопасности: Дескриптор Безопасности. Списки Контроля Доступа. Использование Объектов Безопасности Windows. Права Объектов И Доступ К Объектам. Инициализация Дескриптора Безопасности. Управляющие Флаги Дескриптора Безопасности. Идентификаторы Безопасности. Параметры. Получение Имени Учетной Записи И Имени Пользователя. Работа С Acl. Пример: Использование Разрешений На Доступ В Стиле Unix К Файлам Ntfs. Программа 15.1. Chmodw: Изменение Разрешений На Доступ К Файлу. Программа 15.2. Lsfp: Перечисление Разрешений На Доступ К Файлу. Пример: Инициализация Атрибутов Защиты. Программа 15.3. Initunfp: Инициализация Атрибутов Защиты. Комментарии К Программе 15.3. Чтение И Изменение Дескрипторов Безопасности. Пример: Чтение Разрешений На Доступ К Файлу. Программа 15.4. Readfilepermissions: Чтение Атрибутов Безопасности. Пример: Изменение Разрешений На Доступ К Файлу. Программа 15.5. Changefilepermissions: Изменение Атрибутов Безопасности. Комментарии По Поводу Разрешений На Доступ К Файлам. Защита Объектов Ядра И Коммуникаций. Защита Именованных Каналов. Программа 15.6. Servernp: Защита Именованного Канала. Защита Объектов Ядра И Приватных Объектов. Значения Маски Асе. Пример: Защита Процесса И Его Потоков. Обзор Дополнительных Возможностей Защиты Объектов. Удаление Элементов Асе. Абсолютные И Самоопределяющиеся Относительные Дескрипторы Безопасности. Системные Списки Acl. Информация, Хранящаяся В Маркерах Доступа. Управление Идентификаторами Sid. Протокол Защищенных Сокетов. Резюме. В Следующей Главе. Дополнительная Литература. Windows. Строение И Архитектура Windows Nt. Стандарт Безопасности Orange Book C2. Упражнения. Глава 16. Программирование В Среде Win64. Нынешнее Состояние Win64. Поддержка Процессоров. Поддержка Windows. Поддержка Сторонних Компаний. Обзор 64-Разрядной Архитектуры. Необходимость В 64-Битовой Адресации. Опыт Unix. Опыт Перехода От 16-Разрядных Версий Windows К 32-Разрядным. Надолго Ли Хватит 64 Бит? Модель Программирования Win64. Цели. Типы Данных. Типы Данных Фиксированной Точности. Типы Данных, Соответствующие Точности Указателей. Пример: Использование Указательных Типов Данных. Различия Между Windows И Unix. Перенос Имеющегося Программного Кода. Изменения, Связанные С Использованием Api. Изменения, Связанные С Устранением Неявных Допущений Относительно Предполагаемых Размеров Элементов Данных. Пример: Перенос Программы Sortmm (Программа 5.5). Использование Предупреждающих Сообщений Компилятора. Код До Подготовки К Переносу. Программа 16.1. Sortmm.С: Код До Подготовки К Переносув Win64, Часть 1. Предупреждающие Сообщения Компилятора. Программа 16.2. Sortmm: Код До Подготовки К Переносу В Win64, Часть 2. Предупреждающие Сообщения И Необходимые Изменения, Касающиеся Других Программ. Резюме. Дополнительная Литература. Упражнения. Приложение А. Использование Примеров Программ. Структура Каталогов. Учебные Пособия (Слайды). Каталог Utility. Каталог Include. Распределение Программ По Главам. Глава 1. Глава 2. Глава 3. Глава 4. Глава 5. Глава 6. Глава 7. Глава 8. Глава 9. Глава 10. Глава 11. Глава 12. Глава 13. Глава 14. Глава 15. Глава 16. Листинги Включаемых Файлов. Evrythng.H. Envirmnt.H. Support.H. Jobmgt.H. Clntsrvr.H. Exclude.H. Программа А.6. Включаемый Файл Exclude.H. Дополнительные Служебные Программы. Options.С. Программа А.7. Функция Options. Skiparg.С. Программа А.8. Функция Skiparg. Getargs.С. Программа А.9. Функция Getargs. Приложение Б. Сопоставление Функций Windows, Unix И Библиотеки С. Главы 2 И 3: Управление Файлами И Каталогами. Глава 4: Обработка Исключений. Глава 5: Управление Памятью, Отображение Файлов И Библиотеки DLL. Глава 6: Управление Процессами. Глава 7: Потоки И Планирование Выполнения. Главы 8-10: Синхронизация Потоков. Глава 11: Взаимодействие Между Процессами. Глава 14: Асинхронный Ввод/Вывод. Глава 15: Безопасность Объектов Windows. Приложение В. Результаты Измерения Производительности. Тестовые Конфигурации. Приложения. Хост-Системы. Измерение Производительности. Копирование Файлов. Комментарии. Преобразование Символов Из Кодировки Ascii В Unicode. Комментарии. Поиск Заданных Комбинаций Символов. Комментарии. Сортировка Файлов. Комментарии. Множество Потоков, Соревнующихся Между Собой За Обладание Единственным Ресурсом. Выполнение Тестов. Библиография. Примечания.

QT. программирование GUI на С++

Часть I. Основные Возможности Средств Разработки Qt. Глава 1. Первое Знакомство. «Здравствуй, Qt». Взаимодействие С Пользователем. Компоновка Виджетов. Использование Справочной Документации. Стили Виджетов. Глава 2. Создание Диалоговых Окон. Подклассы Qdialog. Подробное Описание Технологии Сигналов И Слотов. Метаобъектная Система Qt. Быстрое Проектирование Диалоговых Окон. Изменяющиеся Диалоговые Окна. Динамические Диалоговые Окна. Встроенные Классы Виджетов И Диалоговых Окон. Глава 3. Создание Главных Окон. Создание Подкласса Qmainwindow. Создание Меню И Панелей Инструментов. Создание И Настройка Строки Состояния. Реализация Меню File. Применение Диалоговых Окон. Сохранение Настроек Приложения. Работа Со Многими Документами. Экранные Заставки. Глава 4. Реализация Функциональности Приложения. Центральный Виджет. Создание Подкласса Qtablewidget. Хранение Данных В Объектах Типа «Элемент». Загрузка И Сохранение. Реализация Меню Edit. Реализация Других Меню. Создание Подкласса Qtablewidgetltem. Глава 5. Создание Пользовательских Виджетов. Настройка Виджетов Qt. Создание Подкласса Qwidget. Интеграция Пользовательских Виджетов В Qt Designer. Двойная Буферизация. Часть II. Средний Уровень Qt—Программирования. Глава 6. Управление Компоновкой. Компоновка Виджетов На Форме. Стековая Компоновка. Разделители. Области С Прокруткой. Прикрепляемые Виджеты И Панели Инструментов. Многодокументный Интерфейс. Глава 7. Обработка Событий. Переопределение Обработчиков Событий. Установка Фильтров Событий. Обработка Событий Во Время Продолжительных Процессов. Глава 8. Графика 2D И 3D. Рисование При Помощи Qpainter. Преобразования Рисовальщика. Высококачественное Воспроизведение Изображения При Помощи Qimage. Вывод На Печатающее Устройство. Графические Средства Opengl. Глава 9. Технология «Drag-And-Drop». Обеспечение Поддержки Технологии «Drag-And-Drop». Поддержка Пользовательских Типов Переносимых Объектов. Работа С Буфером Обмена. Глава 10. Классы Отображения Элементов. Применение Удобных Классов Отображения Элементов. Применение Заранее Определенных Моделей. Реализация Пользовательских Моделей. Реализация Пользовательских Делегатов. Глава 11. Классы—Контейнеры. Последовательные Контейнеры. Как Работает Неявное Совместное Использование Данных. Ассоциативные Контейнеры. Обобщенные Алгоритмы. Строки, Массивы Байтов И Объекты Произвольного Типа. Глава 12. Ввод—Вывод. Чтение И Запись Двоичных Данных. Чтение И Запись Текста. Работа С Каталогами. Ресурсы, Внедренные В Исполняемый Модуль. Связь Между Процессами. Глава 13. Базы Данных. Соединение С Базой Данных И Выполнение Запросов. Представление Данных В Табличной Форме. Создание Форм По Технологии «Master—Detail». Глава 14. Работа С Сетью. Написание Ftp—Клиентов. Написание Нттр—Клиента. Написание Клиент—Серверных Приложений На Базе Tcp. Передача И Прием Дейтаграмм Udp. Глава 15. XML. Чтение Документов XML При Помощи Интерфейса Sax. Чтение Документов XML При Помощи Интерфейса Dom. Запись Документов XML. Глава 16. Обеспечение Интерактивной Помощи. Всплывающие Подсказки, Комментарии В Строке Состояния И Справки «Что Это Такое?». Использование Qtextbrowser В Качестве Простого Браузера Системы Помощи. Использование Qt Assistant Для Мощной Интерактивной Системы Помощи. Часть III. Advanced Qt. Глава 17. Интернационализация. Работа С Unicode. Создание Переводимого Интерфейса Приложения. Динамическое Переключение Языков. Перевод Приложений. Глава 18. Многопоточная Обработка. Создание Потоков. Синхронизация Потоков. Взаимодействие С Главным Потоком. Применение Классов Qt Во Вторичных Потоках. Глава 19. Создание Подключаемых Модулей. Расширение Qt С Помощью Подключаемых Модулей. Как Обеспечить В Приложении Возможность Подключения Модулей. Написание Подключаемых К Приложению Модулей. Глава 20. Возможности, Зависимые От Платформы. Применение «Родных» Программных Интерфейсов. Применение Activex В Системе Windows. Управление Сеансами В Системе X11. Глава 21. Программирование Встроенных Систем. Первое Знакомство С Qtopia. Настройка Qtopia Core. Приложение А. Установка Qt. Замечание О Лицензировании. Установка Qt/Windows. Установка Qt/Mac. Установка Qt/X11. Приложение Б. Введение В С++ Для Программистов Java И С# Первое Знакомство С С++ Основные Отличия Языков. Элементарные Типы Данных. Определения Класса. Указатели. Ссылки. Массивы. Символьные Строки. Перечисления. Имена, Вводимые Typedef. Преобразование Типов. Перегрузка Операторов. Типы Значений. Глобальные Переменные И Функции. Пространства Имен. Препроцессор. Стандартная Библиотека С++ Благодарности.