Программирование на Python - [3]
Глава 5. Системные инструменты
параллельного выполнения..................................................258
«Расскажите обезьянам, что им делать» ................................258
Ветвление процессов ........................................................... 260
Комбинация fork/exec.....................................................264
Потоки выполнения............................................................270
Модуль _thread..............................................................274
Модуль threading............................................................ 287
Модуль queue.................................................................293
Графические интерфейсы и потоки выполнения:
предварительное знакомство ............................................ 298
Подробнее о глобальной блокировке
интерпретатора (GIL)......................................................302
Завершение программ ......................................................... 306
Завершение программ средствами модуля sys.....................306
Завершение программ средствами модуля os......................307
Коды завершения команд оболочки...................................308
Код завершения процесса
и совместно используемая информация.............................312
Код завершения потока
и совместно используемая информация.............................314
Взаимодействия между процессами.......................................316
Анонимные каналы........................................................318
Именованные каналы (fifo)..............................................331
Сокеты: первый взгляд .................................................... 335
Сигналы ........................................................................ 340
Пакет multiprocessing.........................................................343
Зачем нужен пакет multiprocessing?.................................. 344
Основы: процессы и блокировки.......................................346
Инструменты IPC: каналы, разделяемая память и очереди ... 349
Запуск независимых программ ......................................... 357
И многое другое..............................................................359
Зачем нужен пакет multiprocessing? Заключение ................ 361
Другие способы запуска программ.........................................362
Семейство функций os.spawn...........................................362
Функция os.startfile в Windows........................................366
Переносимый модуль запуска программ ................................368
Другие системные инструменты............................................ 374
Глава 6. Законченные системные программы........................376
«Ярость поиска».................................................................376
Игра: «Найди самый большой файл Python»...........................377
Сканирование каталога стандартной библиотеки................377
Сканирование дерева каталогов стандартной библиотеки.....378
Сканирование пути поиска модулей..................................379
Сканирование всего компьютера....................................... 382
Вывод имен файлов с символами Юникода.........................387
Разрезание и объединение файлов.........................................390
Разрезание файлов переносимым способом......................... 391
Соединение файлов переносимым образом .........................395
Варианты использования................................................. 399
Создание веб-страниц для переадресации ............................... 403
Файл шаблона страницы .................................................404
Сценарий генератора страниц...........................................405
Сценарий регрессивного тестирования ................................... 408
Запускаем тестирование..................................................411
Копирование деревьев каталогов...........................................417
Сравнение деревьев каталогов ..............................................422
Поиск расхождений между каталогами.............................422
Поиск различий между деревьями....................................425
Запускаем сценарий........................................................428
Проверка резервных копий..............................................431
Отчет о различиях и другие идеи ...................................... 433
Поиск в деревьях каталогов..................................................435
grep, glob и find..............................................................436
Создание собственного модуля find...................................437
Удаление файлов с байт-кодом .........................................442
Visitor: обход каталогов «++»...............................................448
Редактирование файлов в деревьях каталогов (Visitor).........454
Глобальная замена в деревьях каталогов (Visitor) ...............456
Подсчет строк исходного программного кода (Visitor)..........458
Копирование деревьев каталогов
с помощью классов (Visitor).............................................460
Другие примеры обходчиков (внешние).............................462
Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.
«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.