Тринадцатый десяток прочитанных книг и журналов

21 октября 2015

Вы все правильно поняли — настало время для очередной пачки рецензий на недавно прочитанные мной книги. В этом выпуске очень мало функционального программирования и NoSQL. Видимо, эти темы мне уже немного наскучили. Предыдущие рецензии: двенадцатый десяток, одиннадцатый десяток, десятый десяток, девятый десяток.

Mastering Go Web ServicesMastering Go Web Services
Nathan Kozyra

Совсем свежая (2015 год) книжка про язык Go. В книге рассказывается, как написать социальную сеть с REST, WebSockets, OAuth, HTML-шаблонами и вот этим всем. Есть примеры работы с MySQL, MongoDB, Redis, Couchbase, RabbitMQ. Еще есть примеры использования AngularJS и jQuery. Не то, чтобы в книге были какие-то глубокие откровения. Мне лично очень хотелось почитать про то, как те же проблемы, что я решал на других языках, решаются в мире Go. Другой подход к тем же задачам — это всегда любопытно, даже если сам Go вас не особо интересует. И хотя принципиальных различный в подходах обнаружено не было, мне лично книга понравилась. Пять из пяти.

Learning Nagios 4Learning Nagios 4
Wojciech Kocjan

Решил разобарься, как правильно делается мониторинг. В соответствующем трэде на LOR’е многие посоветовали Nagios. В итоге выбор был сделан в его пользу. И хотя мне известно, что Nagios нравится не всем, жалеть об этом выборе не пришлось. Книгу, как мне кажется, можно было сделать короче раза в два. Если не считать этого недостатка, все хорошо. После прочтения книги я неплохо понимал, что как устроено в Nagios, без особых проблем смог его поднять и настроить, поглядывая на примеры конфигов из книги. Моя оценка — твердая, уверенная четверка.

Mastering Concurrency in GoMastering Concurrency in Go
Nathan Kozyra

Книга того же автора, что написал «Mastering Go Web Services». После первой книги мне стало интересно, как в CSP решаются те же проблемы, для решения которых я последние три года использую акторы. Но проблема заключается в том, что про многопоточность в языке Go рассказывать особо нечего. Вот горутины, вот каналы, вот мьютексы, вот RWMutex — все! Не удивительно, что в книге много воды с рассказами про IDE, вебдев, установку Couchbase и подобные вещи. Можно было спокойно уложить весь действительно полезный материал в 100 страниц. Поэтому моя оценка — 3 из 5. За то, что книга тратит время читателя впустую.

Effective AkkaEffective Akka
Jamie Allen

Книга 2013 года, крохотная, менее 100 страниц. Сразу после CSP было интересно закинуться чем-нибудь про акторы. Книга представляет собой что-то вроде сборника советов о том, как правильно работать с Akka. В общем и целом, каких-то особо глубоких инсайтов в книге нет. Все, кто работают с Akka больше одного года, и так знают обо всех подводных граблях, паттернах и хороших практиках в стиле «каждый актор должен делать только одну вещь», «по возможности используйте неизменяемые данные», «избегайте преждевременной оптимизации», «впихните побольше метрик, в продакшене пригодится», и так далее. Тем же, кто только начинает работать с Akka, книгу прочитать определенно стоит. Моя оценка — твердая четыре. За то, что книга не тратит время читателя впустую.

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition)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 DevelopmentModern 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 EssentialsOpenVZ Essentials
Mark Furman

Книжка про OpenVZ. Это технология виртуализации, позволяющая запускать на одной физической Linux-машине много виртуальных Linux-машин. Дистрибутивы гостевых систем и хост-системы могут быть любыми. Но с ОС, отличными от Linux, как я понял, OpenVZ не работает. Мне почему-то всегда казалось, что OpenVZ — это что-то такое непостижимо сложное. Но оказалось, что пользоваться им не намного сложнее, чем Docker или Vagrant. В общем, технология отличная. Сама книга тоже понравилась. Описывается установка OpenVZ, CLI интерфейс, а также работа с OpenVZ Web Panel. Все коротко и исключительно по делу, никакой воды. Моя оценка — пять из пяти.

Учебник по высоким нагрузкамУчебник по высоким нагрузкам

Бесплатная PDF-книга, лежит на сайте books.ontico.ru. Хорошее введение в разработку высоконагруженных проектов. Объясняются типичные вещи вроде отличия горизонтального масштабирования от вертикального, какими способами делают балансировку нагрузки, что такое шардниг, репликация, chaos monkey, проблема инвалидации кэшей, и прочие такого рода вещи. В целом книжка полезная. С легким запашком пафосности конференции HL++, но полезная. Все коротко, по делу, объем небольшой. Можно, например, дать джуниору, чтобы быстро ввести его в курс дела. На том же сайте есть и другие книжки, но из них, похоже, я все интересное уже читал.

Nmap EssentialsNmap 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 PresenceTechnical Blogging: Turn Your Expertise into a Remarkable Online Presence
Antonio Cangiano

Книга давно лежала у меня в очереди. И вот, наконец решил таки ее прочитать. Главным образом тут речь идет о вещах вроде установки WordPress, где взять идеи для постов, как писать в блог регулярно, что делать, если у тебя воруют контент, об основах SEO и SMO, выборе хостинга, монетизации, и тд. Есть пара любопытных моментов, о которых я не знал. Например, оказывается, что в Канаде есть особые законы касательно того, какой должна быть форма подписки на e-mail рассылку. А в США если ты пишешь обзор девайса, который был подарен в обмен на то, чтобы ты написал этот самый обзор, по закону ты должен обязательно сообщить об этом читателям. В целом книжка понравилась. Не скажу, что узнал из книги очень много нового. Но пара идей по улучшению блога после прочтения возникла. А для тех, кто только подумывает завести блог, книга бесспорно будет весьма и весьма полезна.

Такие пироги с котятами.

Я вам все рассказал, теперь ваша очередь посоветовать в комментариях пару интересных книжек!

Дополнение: Четырнадцатый десяток прочитанных книг и журналов

Метки: .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.