Вы все правильно поняли — настало время для очередной пачки рецензий на недавно прочитанные мной книги. В этом выпуске очень мало функционального программирования и NoSQL. Видимо, эти темы мне уже немного наскучили. Предыдущие рецензии: двенадцатый десяток , одиннадцатый десяток , десятый десяток , девятый десяток .
Mastering Go Web Services
Nathan Kozyra
Совсем свежая (2015 год) книжка про язык Go. В книге рассказывается, как написать социальную сеть с REST , WebSockets, OAuth, HTML-шаблонами и вот этим всем. Есть примеры работы с MySQL, MongoDB , Redis , Couchbase , RabbitMQ . Еще есть примеры использования AngularJS и jQuery. Не то, чтобы в книге были какие-то глубокие откровения. Мне лично очень хотелось почитать про то, как те же проблемы, что я решал на других языках, решаются в мире Go. Другой подход к тем же задачам — это всегда любопытно, даже если сам Go вас не особо интересует. И хотя принципиальных различный в подходах обнаружено не было, мне лично книга понравилась. Пять из пяти.
Learning Nagios 4
Wojciech Kocjan
Решил разобарься, как правильно делается мониторинг. В соответствующем трэде на LOR’е многие посоветовали Nagios . В итоге выбор был сделан в его пользу. И хотя мне известно, что Nagios нравится не всем, жалеть об этом выборе не пришлось. Книгу, как мне кажется, можно было сделать короче раза в два. Если не считать этого недостатка, все хорошо. После прочтения книги я неплохо понимал, что как устроено в Nagios, без особых проблем смог его поднять и настроить, поглядывая на примеры конфигов из книги. Моя оценка — твердая, уверенная четверка.
Mastering Concurrency in Go
Nathan Kozyra
Книга того же автора, что написал «Mastering Go Web Services». После первой книги мне стало интересно, как в CSP решаются те же проблемы, для решения которых я последние три года использую акторы. Но проблема заключается в том, что про многопоточность в языке Go рассказывать особо нечего. Вот горутины , вот каналы, вот мьютексы, вот RWMutex — все! Не удивительно, что в книге много воды с рассказами про IDE, вебдев, установку Couchbase и подобные вещи. Можно было спокойно уложить весь действительно полезный материал в 100 страниц. Поэтому моя оценка — 3 из 5. За то, что книга тратит время читателя впустую.
Effective Akka
Jamie Allen
Книга 2013 года, крохотная, менее 100 страниц. Сразу после CSP было интересно закинуться чем-нибудь про акторы. Книга представляет собой что-то вроде сборника советов о том, как правильно работать с Akka . В общем и целом, каких-то особо глубоких инсайтов в книге нет. Все, кто работают с Akka больше одного года, и так знают обо всех подводных граблях, паттернах и хороших практиках в стиле «каждый актор должен делать только одну вещь», «по возможности используйте неизменяемые данные», «избегайте преждевременной оптимизации», «впихните побольше метрик, в продакшене пригодится», и так далее. Тем же, кто только начинает работать с Akka, книгу прочитать определенно стоит. Моя оценка — твердая четыре. За то, что книга не тратит время читателя впустую.
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition)
Dave Shreiner, Graham Sellers
Классическая книга по OpenGL . Также известна под названием «redbook». Немного пугает объем — целых 1000 страниц. Но существенную часть этого объема составляет словарь, предметный указатель, различные аппендексы (например, про WebGL), так что на самом деле книга вполне среднего размера, страниц на 650.
В книге, к сожалению, используются GLUT и GLEW, это минус. Сейчас, по всей видимости, куда более актуальны GLFW и GLXW соответственно. Читается реально сложно. Мне было понятно где-то 50% в лучшем случае. Думается, это не из-за того, что книга плоха, а потому что OpenGL действительно сложно учить. Пришлось дополнительно прочитать множество туториалов по OpenGL , а также написать кучу демок.
В общем и целом, для изучения OpenGL книга, на мой вгляд, не годится. Учить его лучше по туториалам. А книгу прочитать уже после того, как осилил работу с текстурами , моделями , освещение по Фонгу и подобные вещи.
Modern Windows Exploit Development
Massimiliano Tomassoli
Бесплатная книга о том, как пишутся эксплоиты. На вид довольно актуальна — повествование ведется в контексте Windows 7 (не Windows XP, как обычно), 32-х и 64-х битной версии. Объясняются SEH, формат PE, работа с дебагером WinDbg , написание шеллкода и как его усложняют Address Space Layout Randomization (ASLR), Data Execution Prevention (DEP), а также stack cookies, которые есть в современных компиляторах C/C++. Эти stack cookies обходятся путем модификации SEH-цепочек, но для борьбы с этим придумали SafeSEH. DEP обходится при помощи техники под названием ROP (Return-Oriented Programming).
Также в книге приводятся примеры обхода EMET 5.2 и написание эксплоитов для IE10 и IE11. Последние статьи довольно сложны для восприятия и содержат много JavaScript, поэтому, признаюсь, их я читал по-диагонали.
Некоторые советы показались мне довольно сомнительными. Например, писать шелкод предлагается на С++, а потом выдирать его из exe-файла и патчить специальным скриптом на Python. Мне кажется, куда проще сразу на ассемблере написать.
В PDF-версии книги код отображается абы как, так что лучше читать ее на сайте. Также имеется частичный перевод на русский язык: один , два , три , четыре , пять .
OpenVZ Essentials
Mark Furman
Книжка про OpenVZ . Это технология виртуализации, позволяющая запускать на одной физической Linux-машине много виртуальных Linux-машин. Дистрибутивы гостевых систем и хост-системы могут быть любыми. Но с ОС, отличными от Linux, как я понял, OpenVZ не работает. Мне почему-то всегда казалось, что OpenVZ — это что-то такое непостижимо сложное. Но оказалось, что пользоваться им не намного сложнее, чем Docker или Vagrant . В общем, технология отличная. Сама книга тоже понравилась. Описывается установка OpenVZ, CLI интерфейс, а также работа с OpenVZ Web Panel . Все коротко и исключительно по делу, никакой воды. Моя оценка — пять из пяти.
Учебник по высоким нагрузкам
Бесплатная PDF-книга, лежит на сайте books.ontico.ru . Хорошее введение в разработку высоконагруженных проектов. Объясняются типичные вещи вроде отличия горизонтального масштабирования от вертикального, какими способами делают балансировку нагрузки, что такое шардниг, репликация, chaos monkey, проблема инвалидации кэшей, и прочие такого рода вещи. В целом книжка полезная. С легким запашком пафосности конференции HL++, но полезная. Все коротко, по делу, объем небольшой. Можно, например, дать джуниору, чтобы быстро ввести его в курс дела. На том же сайте есть и другие книжки, но из них, похоже, я все интересное уже читал.
Nmap Essentials
David Shaw
В целом, хороший, годный туториал по Nmap . Например, начинающим devops, интересующимся, как можно увеличить защищенность системы, будет исключительно полезно ознакомится. Если же вы уже знаете, чем -sV отличается от -O, то, скорее всего, не найдете в книге ничего нового для себя. Мне лично особенно интересно было почитать про NSE (Nmap Scripting Engine). До этого я и не знал, что для Nmap можно писать скрипты на Lua. Также я не знал, что вместе с Nmap идут другие утилиты, например, Ncrack и Ncat. Видно, что в последних главах уже не знали, о чем писать, и решили рассказать о том, как пользоваться Nessus и Metasploit. К Nmap это никак не относится, но тем, кто интересуется безопасностью, все равно будет интересно. Книга норм, на твердую четверку.
Technical Blogging: Turn Your Expertise into a Remarkable Online Presence
Antonio Cangiano
Книга давно лежала у меня в очереди. И вот, наконец решил таки ее прочитать. Главным образом тут речь идет о вещах вроде установки WordPress , где взять идеи для постов, как писать в блог регулярно, что делать, если у тебя воруют контент, об основах SEO и SMO, выборе хостинга, монетизации, и тд. Есть пара любопытных моментов, о которых я не знал. Например, оказывается, что в Канаде есть особые законы касательно того, какой должна быть форма подписки на e-mail рассылку. А в США если ты пишешь обзор девайса, который был подарен в обмен на то, чтобы ты написал этот самый обзор, по закону ты должен обязательно сообщить об этом читателям. В целом книжка понравилась. Не скажу, что узнал из книги очень много нового. Но пара идей по улучшению блога после прочтения возникла. А для тех, кто только подумывает завести блог , книга бесспорно будет весьма и весьма полезна.
Такие пироги с котятами.
Я вам все рассказал, теперь ваша очередь посоветовать в комментариях пару интересных книжек!
Дополнение: Четырнадцатый десяток прочитанных книг и журналов