Рецензии на прочитанные книги: шестнадцатый десяток
27 февраля 2017
Вы могли заметить, что в последнее время я стал читать меньше книг. Связано это с тем, что куда больше интересного я теперь узнаю из отдельных статей в интернете, видео на YouTube и подобных источников. Как-то так сложилось, что такие источники мы обсуждаем в DevZen, поэтому из этого блога вы про них не узнаете. Тем не менее, мне удалось прочитать очередные десять книги, о которых я и расскажу в этом посте. Предыдущие рецензии: выпуск пятнадцать, выпуск четырнадцать, выпуск тринадцать, выпуск двенадцать.
SystemTap Beginners Guide
Don Domingo, William Cohen
SystemTap — довольно полезный инструмент. Его можно использовать как для трассировки ядра операционной системы и приложений, так и для профайлинга. Чуть подробнее о SystemTap рассказывается в заметке Установка и простые примеры использования SystemTap.
Из книги узнал, как установить SystemTap на RHEL / CentOS, как собрать модуль ядра с пробами на одной машине, а использовать его на другой, не имеющей отладочных символов, узнал про существование flight recorder mode. Есть интересные примеры в стиле как посмотреть, какие процессы в системе генерируют больше всего сетевого трафика или активнее всего используют диск, мониторинг входящих TCP соединений, и подобного плана.
Книга распространяется бесплатно и доступна в разделе с документацией на сайте SystemTap.
SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys
Michael W Lucas
Небольшая книжка от знаменитого Michael Lucas, автора книг «Absolute FreeBSD», «Absolute OpenBSD», «PGP & GPG: Email for the Practical Paranoid» и многих других. Решил прочитать, чтобы проверить, может я чего-то не знаю про SSH.
Оказалось, что кое-чего действительно не знал. Например, что sshd умеет запускать оболочку под chroot. Или что при сильном желании поверх SSH можно настроить полноценный VPN. Книга читается легко и приятно, а также полна забавных выражений вроде «choose the headache you prefer».
Считаю, что освежить свои знания с ее помощью никому не повредит.
Database System Implementation
Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom
Классическая книга о внутреннем устройстве РСУБД. В книге нигде явно об этом не упоминается, но PostgreSQL, например, внутри устроен именно так, как в ней и описано.
Помимо прочего, книга довольно подробно объясняет, как работают хэш-таблицы на диске, inverted indexes, B+-деревья, R-деревья и многие другие структуры, используемые в СУБД. Ну и, конечно же, вы узнаете все про MVCC, buffer manager, а также undo и redo логах.
Интересно, что Jeffrey Ullman также является и соавтором Dragon Book и многих других книг. У прочих авторов биография и библиография не менее интересные (Hector Garcia-Molina, Jennifer Widom).
Learning Linux Binary Analysis
Ryan "elfmaster" O’Neill
Просто шикарная книга о ковырянии формата ELF, написании своего отладчика на ptrace, способах заражения и лечения исполняемых файлов, и всяком таком прочем. Последняя глава вкратце рассказывает про руткиты уровня ядра. Читается на одном дыхании. Куча полезных ссылок.
Одна из лучших книг прочитанных мной в последнее время, пять из пяти.
Ядро Lunux, описание процесса разработки, 3-е издание
Роберт Лав
Книга о внутреннем устройстве ядра Linux, удивительным образом не успевшая сильно устареть с 2010-го года. По крайней мере, если верить народу из рассылки kernelnewbies@. Даже если информация из книги немного и потеряла свою актуальность, это все равно превосходная книга о дизайне операционных систем в целом.
Не удивительно, что перевод книги на русский язык печатают до сих пор. Перевод, кстати, хороший, бумага качественная, переплет твердый.
Официальная документация по CouchDB 2.0
Автор, увы, не указан. Вероятно, потому что сама по себе книга является открытым проектом. В ней есть несколько патчей и от меня.
Где-то половина книги представляет собой полную справку по всему HTTP API, RFC-подобное описание протокола репликации, и прочие не особо читаемые вещи. Если эту часть выкинуть, в результате остается небольшая такая приятная книжа страниц на 200, из которых можно получить неплохое представление о возможностях и ограничениях CouchDB 2.0.
Электроника для начинающих
Чарльз Платт
Совершенно потрясающее введение в электронику. Подходит как для детей, так и для взрослых, которые со школы уже все давно позабыли. Неоспоримое преимущество конкретно этой книги перед другими заключается в том, что к ней существуют starter kit’ы, которые можно легко приобрести и в России. Они содержат компоненты, необходимые для повторения большинства проектов из книги. Дополнительно понадобится приобрести разве что мультиметр и паяльник. В принципе, ничто не мешает купить все необходимое и самостоятельно, но для начинающих это чуть более сложный путь.
На момент написания этих строк в магазинах доступно как первое, так и второе издание книги. Я читал первое издание, а затем полистал второе. Различаются они в основном переработанными иллюстрациями. Поэтому, вроде как, читать можно любое издание и starter kit от первого издания подойдет и ко второму.
Программирование микроконтроллеров в книге не рассматривается.
Изучаем Arduino
Джереми Блум
Вот если вас интересуют микроконтроллеры AVR и в частности Arduino, обратите внимание на эту книгу. К ней тоже выпускают starter kit’ы. Но они содержат в себе далеко не все, так как некоторые рассмотренные в книге устройства довольно недешевы и, возможно, интересны далеко не всем.
Я бы советовал читать эту книгу строго после книги «Электроника для начинающих», иначе у вас останутся существенные пробелы в знании электроники. Starter kit брать не рекомендую, так как в нем мало чего интересного. Лучше просто купите отдельную Arduino Uno. Затем все интересные вам шилды и устройства можно будет без труда докупить отдельно.
Конспект хакера, 20 мини-проектов
Тоненькая книжка от Amperka.ru. Автор, к сожалению, не указан. Продается здесь.
Книгу можно прочитать буквально за 30 минут. Содержит краткое описание того, как читать цветовую маркировку на резисторах, как пользоваться сдвиговыми регистрами, и так далее. Интересна главным образом тем, что написана в стиле конспекта. Не уверен, что ранее мне попадались книги в таком формате.
Учить по этой книге Arduino я бы определенно не советовал, а вот заполнить ею некоторые пробелы в знаниях после «Изучаем Arduino» вполне можно. Например, вы узнаете, зачем нужны полевые транзисторы и как пользоваться чипом 74HC14 (триггер Шмитта).
Занимательные проекты на базе микроконтроллеров tinyAVR
Дхананья Гадре, Нигул Мэлхетра
Книга рассчитана на подготовленного читателя. То, как работают те или иные компоненты, объясняется весьма поверхностно. Это скорее напоминание, чем объяснение. Код приводится в виде отрывков, мол полную версию смотрите на сайте книги. При этом сайт книги уже давно недоступен.
Тем не менее, книга весьма интересна. Помимо прочего, именно из нее я узнал про матричную схему и чарлиплексинг. А больше всего меня впечатлил проект волчка, показывающего светодиодами разный текст в зависимости от того, вращается ли он по часовой или против часовой стрелки.
Советую начать чтение книги с приложения, где объясняется программирование микроконтроллеров AVR на чистом C. Авторы предполагают, что читатель уже знаком с этой темой.
Такие дела. Когда выйдет следующий обзор и выйдет ли он вообще пока что сказать не могу. Если вы знаете книги, которые, как вам кажется, заслуживают моего внимания, обязательно расскажите о них в комментариях!
Дополнение: Рецензии на прочитанные книги: семнадцатый десяток
Метки: Литература.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.