Python для хакеров. Нетривиальные задачи и проекты

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

«Python для хакеров. Нетривиальные проекты и задачи» делает упор на реальные проекты, так что от экспериментирования с синтаксисом вы сразу перейдете к написанию полноценных программ. Развивая свои навыки разработки на Python, вы будете проводить научные опыты, изучать статистику и решать задачи, которые не давали покоя гениям на протяжении многих лет, и даже займетесь обнаружением далеких экзопланет. Каждая глава начинается с четко поставленной цели и обсуждения способов решения задачи. Далее следует собственно миссия и стратегия действий, построенная таким образом, чтобы вы научились мыслить как программист. Вы будете руководить спасательной операцией береговой охраны, спланируете и осуществите полет космического корабля на Луну, реализуете ограничение доступа в секретную лабораторию с помощью распознавания лиц и не только это. Программы, представленные в книге, не отпугнут даже новичков. Вы будете осваивать все более сложные техники и наращивать навыки написания кода. Справившись со всеми миссиями, вы будете готовы к самостоятельному решению любых сложных реальных задач с помощью Python.

Author(s): Ли Воган
Series: Библиотека программиста
Edition: 1
Publisher: Питер
Year: 2023

Language: Russian
Commentary: Publisher's PDF
Pages: 384
City: СПб.
Tags: Natural Language Processing; Computer Vision; Programming; Python; Face Recognition; Bayesian Inference; Data Visualization; Encryption; NLTK; pandas; Text Summarization; Bokeh; HoloViews; Object Detection; Elementary; Astronomy; Stylometry; Simulations

Об авторе
О научных редакторах
Благодарности
От издательства
Введение
Для кого эта книга?
Почему Python?
План книги
Версия Python, платформа и IDE
Установка Python
Запуск Python
Использование виртуальной среды
Вперед!
Глава 1. Спасение моряков с помощью теоремы Байеса
Теорема Байеса
Проект #1. Поиск и спасение
Стратегия
Установка библиотек Python
Код для теоремы Байеса
Время сыграть
Итоги
Дополнительная литература
Усложняем проект. Более грамотный поиск
Усложняем проект. Поиск лучшей стратегии с помощью MCS
Усложняем проект. Вычисление вероятности обнаружения
Глава 2. Установление авторства с помощью стилометрии
Проект #2: «Собака Баскервилей», «Война миров» и «Затерянный мир» 
Стратегия
Установка NLTK
Корпусы текстов
Код стилометрии
Итоги
Дополнительная литература
Практический проект: охота на собаку Баскервилей с помощью распределения
Практический проект: тепловая карта пунктуации
Усложняем проект: фиксирование частотности
Глава 3. Суммаризация текста с помощью обработки естественного языка
Проект #3. У меня есть мечта... суммаризация речи!
Стратегия
Веб-скрапинг
Код для «У меня есть мечта»
Проект #4. Суммаризация речи с помощью gensim
Установка gensim
Код для суммаризации речи «Заправляйте свою кровать»
Проект #5. Суммаризация речи с помощью облака слов
Модули Word Cloud и PIL
Код для создания облака слов
Итоги
Дополнительная литература
Усложняем проект: ночные игры
Усложняем проект: суммаризация суммаризаций
Усложняем проект: суммаризация романа
Усложняем проект: важно не только что ты говоришь, но и — как!
Глава 4. Отправка суперсекретных сообщений с помощью книжного шифра
Одноразовый блокнот
Шифр «Ребекка»
Проект #6. Цифровой ключ к «Ребекке»
Стратегия
Код для шифрования
Отправка сообщений
Итоги
Дополнительная литература
Практический проект: составление графика символов
Практический проект: отправка секретов шифром времен Второй мировой войны
Глава 5. Поиск Плутона
Проект #7. Воссоздание блинк-компаратора
Стратегия
Данные
Код блинк-компаратора
Использование блинк-компаратора
Проект #8. Обнаружение астрономических транзиентов путем дифференцирования изображений
Стратегия
Код для детектора транзиентов
Использование детектора транзиентов
Итоги
Дополнительная литература
Практический проект: представление орбитальной траектории
Практический проект: найди отличия
Усложняем проект: сосчитаем звезды
Глава 6. Победа в лунной гонке с помощью «Аполлона-8»
Цель миссии «Аполлон-8»
Траектория свободного возврата
Задача трех тел
Проект #9. На Луну с «Аполлоном-8»!
Использование модуля turtle
Стратегия
Код программы для расчета свободного возврата «Аполлона-8»
Выполнение симуляции
Итоги
Дополнительная литература
Практический проект: симуляция шаблона поисков
Практический проект: запусти меня!
Практический проект: останови меня!
Усложняем проект: симуляция в истинном масштабе
Усложняем проект: реальный «Аполлон-8»
Глава 7. Выбор мест высадки на Марсе
Посадка на Марс
Карта MOLA
Проект #10. Выбор посадочных мест на Марсе
Стратегия
Код для выбора мест посадки
Результаты
Итоги
Дополнительная литература
Практический проект: убедимся, что рисунки становятся частью изображения
Практический проект: визуализация профиля высот
Практический проект: отображение в 3D
Практический проект: совмещение карт
Усложняем проект: три в одном
Усложняем проект: перенос прямоугольников
Глава 8. Обнаружение далеких экзопланет
Транзитная фотометрия
Проект #11. Симуляция транзита экзопланеты
Стратегия
Код для транзита
Эксперименты с транзитной фотометрией
Проект #12. Получение изображений экзопланет
Стратегия
Код для пикселизатора
Итоги
Дополнительная литература
Практический проект: обнаружение инопланетных мегаструктур
Практический проект: обнаружение транзита астероидов
Практический проект: добавление эффекта потемнения к краю
Практический проект: обнаружение пятен на звездах
Практический проект: обнаружение инопланетной армады
Практический проект: обнаружение планеты с луной
Практический проект: измерение продолжительности экзопланетного дня
Усложняем проект: генерация динамической кривой блеска
Глава 9. Как различить своих и чужих
Обнаружение лиц на фотографиях
Проект #13. Программирование робота-часового
Стратегия
Код
Результаты
Обнаружение лиц в видеопотоке
Итоги
Дополнительная литература
Практический проект: размытие лиц
Усложняем проект: обнаружение кошачьих мордочек
Глава 10. Ограничение доступа по принципу распознавания лиц
Распознавание лиц с помощью LBPH
Схема распознавания лиц
Извлечение гистограмм локальных бинарных шаблонов
Проект #14. Ограничение доступа к инопланетному артефакту
Стратегия
Поддержка модулей и файлов
Код для захвата видео
Код для обучения алгоритма распознавания лиц
Код для прогнозирования лиц
Результаты
Итоги
Дополнительная литература
Усложняем проект: добавление пароля и видеозахвата
Усложняем проект: похожие лица и близнецы
Усложняем проект: машина времени
Глава 11. Создание интерактивной карты побега от зомби
Проект #15. Визуализация плотности населения с помощью хороплетной карты
Стратегия
Библиотека анализа данных
Библиотеки bokeh и holoviews
Установка pandas, bokeh и holoviews
Работа с данными по уровню безработицы и плотности населения в округах и штатах
Разбираем код holoviews
Код для отрисовки хороплетной карты
Планирование маршрута
Итоги
Дополнительная литература
Усложняем проект: отображение на карте изменения численности населения США
Глава 12. Находимся ли мы в компьютерной симуляции?
Проект #16. Жизнь, Вселенная и пруд черепахи Йертл
Код симуляции пруда
Следствия симуляции пруда
Измерение затрат на пересечение строк или столбцов сетки
Результаты
Стратегия
Итоги
Дополнительная литература
Дополнение
Усложняем проект: поиск безопасного места в космосе
Усложняем проект: а вот и Солнце
Усложняем проект: взгляд глазами собаки
Усложняем проект: кастомизированный поиск слов
Усложняем проект: оптимизация праздничного показа слайдов
Усложняем проект: что за сложную паутину мы плетем
Усложняем проект: идем вещать с горы
Решения для практических проектов
Глава 2. Определение авторства с помощью стилометрии
Охота на собаку Баскервилей с помощью распределения
Тепловая карта пунктуации
Глава 4. Отправка суперсекретных сообщений с помощью книжного шифра
Составление графика символов
Отправка секретов шифром времен Второй мировой войны
Глава 5. Поиск Плутона
Представление орбитальной траектории
В чем разница?
Глава 6. Победа в лунной гонке с помощью «Аполлона-8»
Симуляция шаблона поисков
Заведи меня!
Останови меня!
Глава 7. Выбор мест высадки на Марсе
Убеждаемся, что рисунки становятся частью изображения
Визуализация профиля высоты
Отображение в 3D
Совмещение карт
Глава 8. Обнаружение далеких экзопланет
Обнаружение инопланетных мегаструктур
Обнаружение транзита астероидов
Добавление эффекта потемнения к краю
Обнаружение инопланетной армады
Обнаружение планеты с луной
Измерение продолжительности экзопланетного дня
Глава 9. Как различить своих и чужих
Размытие лиц
Глава 10. Ограничение доступа по принципу распознавания лиц
Усложняем проект: добавление пароля и видеозахвата