Clean C++: Sustainable Software Development Patterns and Best Practices with C++ 17

Clean C++: Sustainable Software Development Patterns and Best Practices with C++ 17

Clean C++: Sustainable Software Development Patterns and Best Practices with C++ 17
Автор: Roth Stephan
Дата выхода: 2017
Издательство: Apress Media, LLC.
Количество страниц: 299
Размер файла: 2.6 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

Введение

Глава 1. Как стать анонимным в Интернете?

1.1. Анонимность и вы

1.2. Анонимайзеры: сокрытие IP-адреса

1.3. Анонимные прокси-серверы: сокрытие IP-адреса и местонахождения

1.3.1. Прокси-сервер — что это?

1.3.2. Настраиваем анонимный прокси-сервер

1.3.3. Достоинства и недостатки анонимных прокси-серверов

1.4. Локальная анонимность

1.5. Отключение слежки Windows....10

1.6. Что еще нужно знать об анонимности в Интернете?

1.7. Анонимность и закон

Глава 2. Тоr: заметаем следы. Как просто и эффективно скрыть свой IP-адрес

2.1. Как работает Тоr? Заходим в «Одноклассники» с работы

2.2. Тоr или анонимные прокси-серверы и анонимайзеры. Кто кого?

2.3. Критика Тоr и скандалы вокруг этой сети

2.4. Установка и использование Тог

2.4.1. Быстро, просто и портабельно: Тог на флешке

2.4.2. Настройка почтового клиента Mozilla Thunderbird

2.4.3. Настройка программы интернет-телефонии Skype

Воспользоваться VPN-сервисами

Настроить браузер Chrome для работы через Тог

2.4.4. Настройка браузера Opera

2.4.5. Настройка FTP-клиента FileZilla

2.5. Когда Тоr бессильна. Дополнительные расширения для Firefox

2.6. Ограничения и недостатки сети Тоr

2.7. Этика использования сети Тог

Глава 3. Что такое VPN и «с чем его едят»? Защита передаваемых по сети данных от прослушивания

3.1. Зачем нужен VPN?

3.2. Выбор VPN-сервиса

3.2.1. VPN Shield

3.2.2. IPVanish VPN

3.2.3. HideMyAss (HMA)

3.2.4. Private Internet Access

3.2.5. StrongVPN

3.2.6. Express VPN

3.2.7. SecurityKISS

3.3. Организация VPN-соединения

3.4. Opera VPN: осторожно!

3.5. Что лучше: VPN или Тог?

Глава 4. Воображаемая безопасность: выбираем безопасный мессенджер

4.1. Критерии оценки

4.2. Мессенджеры

4.2.1. Telegram

4.2.2. Signal

4.2.3. Viber

4.2.4. WhatsApp

4.2.5. Briar

4.2.6. ТамТам

4.2.7. VK (ВКонтакте)

4.2.8. Facebook Messenger

4.2.9. Wire

4.2.10. Jabber

4.2.11. Riot Matrix

4.2.12. Status

4.2.13. Threema

4.3. Заключение

Глава 5. Анонимность в социальной сети

5.1. Нужна ли вам анонимность?

5.2. Зачем нужна анонимность в социальной сети?

5.3. Обеспечение анонимности

Глава 6. Способы взлома и защиты электронной почты

6.1. Способы взлома почтового ящика

6.1.1. Троянский конь

6.1.2. Взлом по номеру телефона

6.1.3. Физический доступ к компьютеру

Кейлоггер

Программы для «восстановления» паролей почтовых учетных записей

6.1.4. Социальная инженерия, или просто обман

6.1.5. Модное слово «фишинг»

6.1.6. «Вспоминаем» пароль

6.1.7. Кража Cookies

6.1.8. XSS-уязвимости

6.1.9. Метод грубой силы

6.2. Защита почтового ящика

6.3. Шифрование электронной почты

6.3.1. Немного теории: S/MIME, PKI и PGP

6.3.2. Как будем защищать почту?

6.3.3. Использование OpenSSL

6.4. Настройка почтовых клиентов на шифрование

6.4.1. Настройка Microsoft Outlook

6.4.2. Настройка Mozilla Thunderbird

Глава 7. Шифрование данных

7.1. Выбор средства защиты данных

7.1.1. Шифрование всего диска

7.1.2. Шифрование одного из разделов диска

7.1.3. Криптоконтейнеры, или виртуальные диски

7.1.4. Прозрачное шифрование

7.2. Шифрование стандартными средствами операционной системы

7.2.1. Прозрачное шифрование с помощью EFS

Преимущества и недостатки EFS

Шифрование с помощью EFS

7.2.2. Шифрование диска с помощью BitLocker

Что такое BitLocker?

Что можно зашифровать, а что — нет?

Шифруем диск с помощью BitLocker

Работа с зашифрованным BitLocker диском

7.2.3. Файловая система eCryptfs в Linux

Шифрование папки

Храним пароль на флешке

7.2.4. Можно ли доверять стандартному шифрованию?

7.3. Сторонние программные продукты

7.3.1. Выбор сторонней программы для шифрования

7.3.2. История TrueCrypt, и что случилось с проектом

7.3.3. Использование TrueCrypt

Установка программы

Создание виртуального диска

Шифрование раздела

7.3.4. Программа VeraCrypt

7.3.5. Программа CipherShed

7.3.6. Шифрование файла для передачи

7.3.7. Производительность зашифрованных дисков

7.4. Сокрытие файлов

7.5. Шифрование данных на предприятиях

Глава 8. Безопасность устройств на ОС Android

8.1. Включение кода разблокировки устройства

8.2. Отказ от установки приложений из неизвестных источников

8.3. Осторожно: неизвестные сети Wi-Fi! Шифруем передаваемые данные

8.4. Анонимность в Android: установите Тог

8.5. Блокируем запуск приложений

8.6. Шифрование данных в Android

8.6.1. Шифрование стандартными средствами

8.6.2. Сторонние программы шифрования

Программа LUKS Manager

Программа EDS Lite

8.7. Шифруем почту

8.7.1. Необходимые приложения

8.7.2. Настройка Crypto Plugin

8.7.3. Настройка MailDroid

8.7.4. Последний шаг

8.8. Отключение GPS-модуля

Глава 9. Устраняем утечки информации

9.1. Чем грозит утечка персональных данных?

9.2. Как придумать надежный пароль? Критерии надежности. Генераторы паролей

9.2.1. Выбор хорошего пароля

9.2.2. Генераторы паролей

9.3. Как сохранить пароль? Менеджеры паролей

9.4. Секретные вопросы

9.5. Двухфакторная аутентификация

9.6. Авторизация с помощью биометрических данных

9.7. Заметаем следы правильно

9.7.1. Очистка списков недавних мест и программ

9.7.2. Очистка списка USB-накопителей

9.7.3. Очистка кэша и истории браузеров

9.7.4. Удаляем записи DNS

9.7.5. Очистка Flash Cookies

9.7.6. Удаление списка последних документов MS Office

9.7.7. Автоматизируем очистку с помощью CCleaner

9.7.8. Реальное удаление файлов

9.7.9. Создаем bat-файл для очистки всего

9.7.10. Создаем AutoHotkey-скрипт для очистки всего

Глава 10. Мой дом — моя крепость: безопасность домашних устройств

10.1. Стоит ли защищать домашнюю сеть?

10.2. Защита маршрутизатора

10.2.1. Изменение пароля доступа к маршрутизатору

10.2.2. Изменение имени сети (SSID). Сокрытие SSID

10.2.3. Отключения гостевой сети

10.2.4. Изменение IP-адреса маршрутизатора

10.2.5. Используйте WPA или WPA2

10.2.6. Фильтрация МАС-адресов

10.2.7. Понижение мощности передачи

10.3. Защита веб-камеры и микрофона

10.4. Защита принтера

Глава 11. Безвозвратное удаление данных

11.1. Уничтожение информации на жестком диске

11.2. Приложения для безопасного удаления данных с жестких дисков

11.3. Удаление информации с SSD

Глава 12. Ошибки, ведущие к утрате анонимности

12.1. Как не совершать ошибок?

12.2. Как не попасть под лингвистический анализ?

12.3. Наиболее частые ошибки

Глава 13. Программы с «сюрпризами» и без

13.1. Программы с открытым кодом

13.2. Выбор программ

13.2.1. Выбор браузера

13.2.2. Выбор почтового клиента

13.2.3. Программы для закачки файлов и FTP-клиенты

13.3. Плагины

Заключение

Предметный указатель

Write maintainable, extensible, and durable software with modern C++. This book is a must for every developer, software architect, or team leader who is interested in good C++ code, and thus also wants to save development costs. If you want to teach yourself about writing clean C++, Clean C++ is exactly what you need. It is written to help C++ developers of all skill levels and shows by example how to write understandable, flexible, maintainable, and efficient C++ code. Even if you are a seasoned C++ developer, there are nuggets and data points in this book that you will find useful in your work.

If you don't take care with your code, you can produce a large, messy, and unmaintainable beast in any programming language. However, C++ projects in particular are prone to be messy and tend to slip into bad habits. Lots of C++ code that is written today looks as if it was written in the 1980s.

It seems that C++ developers have been forgotten by those who preach Software Craftsmanship and Clean Code principles. The Web is full of bad, but apparently very fast and highly optimized C++ code examples, with cruel syntax that completely ignores elementary principles of good design and well-written code. This book will explain how to avoid this scenario and how to get the most out of your C++ code. You'll find your coding becomes more efficient and, importantly, more fun.

What You'll Learn

  • Gain sound principles and rules for clean coding in C++
  • Carry out test driven development (TDD)
  • Discover C++ design patterns and idioms
  • Apply these design patterns

Who This Book Is For

Any C++ developer and software engineer with an interest in producing better code. 


Похожее:

Список отзывов:

Нет отзывов к книге.