Мой издательский пост
Давным-давно, ещё, когда я жил в Минске, одним из моих старших друзей был удивительный инженер Павел Горбунов, интеллектуал, романтик и автор множества афористичных мыслей, из которых мне наиболее запомнилась «Кто пребывает в нирване, часто ходит в рванине». Он работал в машиностроительном КБ и также говорил, что «у меня большинство друзей — программисты, а я люблю, что плоды моей работы можно пощупать руками». Сейчас, приближаясь к тому возрасту Горбунова, я также хочу рассказать о той части моей работы, которую можно потрогать руками — то есть, о книгах.
В редакции Хабра я работаю с конца 2020 года, а с февраля 2021 вернулся к издательской деятельности и с большим удовольствием тружусь в издательстве «БХВ» из Санкт-Петербурга. Такое название сохранилось с середины 90-х, когда компания была совместным российско-немецким предприятием и называлась на латинице «BHV», что по-немецки расшифровывается как «BuchHandel und Verlag» — «Книготорговля и издательство». Естественно, в начале 2021 года я воспринял новообретённую аудиторию Хабра как потенциальный пул авторов. Внимательно смотрел профили моих читателей, ко многим обращался в личку, если видел в их (хабро)блогах или на гитхабе потенциальную основу для технической книги. Теперь, поскольку этот поиск принёс ощутимые плоды, я хотел бы рассказать о наиболее интересных переводных и авторских книгах, которые мне удалось выпустить за прошлый год и начало текущего года –, а также поблагодарить тех, кто решился со мной работать и, надеюсь, не разочаровался в этом.
Алгоритмический тренинг. Решения практических задач на Python и С++ (Максим Иванов)
Ссылка на книгу
Аннотация
Алгоритмы и структуры данных — основа профессиональной подготовки программиста. В библиотеке профессионала найдутся многотомные неустаревающие труды по этой теме. Но, чтобы выйти за рамки академической Computer Science и перейти к реальной практике, алгоритмы нужно быстро подбирать и применять. Автор этой книги работал над ней более 10 лет, опираясь на свой богатый опыт олимпиадного и спортивного программирования.
В книге собраны варианты реализации и применения важнейших алгоритмов в условиях быстрого принятия решений — что незаменимо на собеседованиях и конференциях. Также книга может быть полезна для подготовки к экзаменам, олимпиадам и соревнованиям по программированию. Но в большей степени она позиционируется как настольная книга для начинающих программистов, желающих быстро и интересно приобрести качественную алгоритмическую подготовку — и претендовать на достойное предложение о работе. Реализации всех алгоритмов даны на двух языках — Python и С++.
О книге
Максим Иванов @emaxx постучал мне в личку в апреле 2021 года, прочитав переводной пост «Виртуальных частиц не существует». Обратился по поводу мелкой ошибки. На тот момент я изыскивал варианты издать книгу, которая давала бы базовую алгоритмическую подготовку, но была максимально высокоуровневой и при этом доступной. В профиле Максима я нашёл именно такую книгу http://e-maxx.ru/upload/e-maxx_algo.pdf по состоянию на 2012 год — и предложил Максиму обновить её, дав реализации распространённых алгоритмов на языках C++ и Python. Максим с готовностью согласился дорабатывать свой старинный труд, был чрезвычайно внимателен к нашим литературно-редакторским и оформительским правкам. Несколько раз проект задерживался, в особенности весной-летом 2022 года, так как книга заметно подорожала вместе с бумагой. Тем не менее, сейчас книга Максима является настоящим бестселлером (входит в топ-20 в актуальном ассортименте издательства), вероятно, будет допечатана до конца года.
По ходу работу рассматривался вариант названия «Алгоритмический воркаут», и я отдельно хотел бы поблагодарить Максима за то, что он согласился на более нейтральный вариант «Алгоритмический тренинг». Дизайн обложки продиктован тем, что дерево является одной из самых распространённых и многогранных структур данных.
Хит на Хабр (Антон Поляков)
Ссылка на книгу
Аннотация
Книга рассматривает малоисследованный аспект технического писательства и продвижения: ведение технического блога. Автор книги Антон Поляков, много лет отдавший сайту «Хабр», на многочисленных примерах пошагово раскрывает секреты мастерства и помогает освоить ведение информативного и рентабельного технического блога во всех деталях. При этом невозможно переоценить влияние сообщества читателей как на восприятие контента, публикуемого в блоге, так и на развитие имиджа автора или компании, которым блог принадлежит. Поэтому за основу для книги было взято сообщество «Хабр» с его обширной аудиторией, исключительным тематическим разнообразием, бескомпромиссными интеллектуальными дискуссиями, а также уникальными системами «кармы» и «рейтинга», практически не оставляющими шанса откровенно бросовым или бездумно проплаченным материалам.
О книге
С Антоном Поляковым @AntonPolyakov мы списались в конце апреля 2021 года. Ранее Антон работал в редакции Хабра, и я случайно вышел на его авторский курс по ведению технического блога на сайте it-content.pro/. Антон со знанием дела подошёл как к рассказу о блоггинге, так и к секретам технического писательства и техноавторства. На тот момент я сам ещё только осваивал работу с Хабром, и книга Антона открыла мне глаза на многие вопросы, в частности, на оптимальную длину публикации, выигрышное время публикации, на отработку комментариев и подбор тем для блога. Книгу высоко оценили действующие сотрудники редакции Хабра, в частности, @Boomburum и @IgnatChuker. Надеюсь, также эта книга пригодилась кому-то из завсегдатаев или новичков Хабра, позволила закрепиться в корпблоге или просто прокачать скиллы лонгридолелания.
Обучение с подкреплением для реальных задач (Фил Уиндер)
Ссылка на книгу
Аннотация
Книга посвящена промышленно-ориентированному применению обучения с подкреплением (Reinforcement Learning, RL). Объяснено, как обучать промышленные и научные системы решению любых пошаговых задач методом проб и ошибок — без подготовки узкоспециализированных учебных множеств данных и без риска переобучить или переусложнить алгоритм. Рассмотрены марковские процессы принятия решений, глубокие Q-сети, градиенты политик и их вычисление, методы устранения энтропии и многое другое. Данная книга — первая на русском языке, где теоретический базис RL и алгоритмы даны в прикладном, отраслевом ключе.
Для аналитиков данных и специалистов по искусственному интеллекту
О книге
Решился выносить на обсуждение эту книгу после долгих размышлений о том, в каких сферах кроме чисто игровых моделей может быть полезно обучение с подкреплением. На тот момент активно общался с уважаемым @BlindZ0ne на тему применения искусственного интеллекта в финансовой и биржевой сфере, и именно его выкладки подвигли меня на проработку этой книги. Я остался доволен практическим уклоном этой книги, получал положительные отзывы о том, как в ней рассмотрены градиенты политик и подбор вознаграждения в сложных быстро меняющихся (финансовых) системах. Тем не менее, до исчерпания первого тиража ещё далеко.
Rust в действии (Тим Макнамара)
Ссылка на книгу
Аннотация
Книга о прикладных аспектах языка программирования Rust, описывающая внутреннее устройство языка и сферы его использования. Rust рассматривается как современное дополнение для С при программировании ядра ОС и при системном программировании, а также как низкоуровневый скоростной язык, обеспечивающий максимальную производительность. Объяснены тонкости работы с процессором, многопоточное программирование, работа с памятью, а также взаимодействие с Linux. Изложенный материал позволяет как писать современные приложения на Rust с нуля, так и внедрять Rust в сложившуюся базу кода.
Книга ориентирована на специалистов по C, Linux, системному программированию и на всех, кто желает освоить Rust и сразу приступить к работе с ним.
О книге
Я несколько лет следил за работой над этой книгой; по разным причинам, в том числе, личным, автор приостанавливал работу над ней. Это была не первая на российском рынке книга по Rust, но книга, пожалуй, наиболее своевременная, которая не только хорошо вписалась в нишу системного программирования и совпала по выходу с включением Rust в ядро Linux, но и стала настоящей находкой для корифеев блокчейна. В данный момент один из наиболее успешных и, надеюсь, долговечных моих проектов. Также рад буду обсудить возможную авторскую книгу о Rust под Linux, заинтересовавшиеся могут писать в личку.
Linux и Go. Эффективное низкоуровневое программирование (Олег Цилюрик)
Ссылка на книгу
Аннотация
Первая русскоязычная книга об интеграции языка Go в архитектуру ядра Linux. Содержит вводный курс по языку Go для системного программирования, описывает применение Go для реализации конкурентности и параллелизма, рассказывает об интероперабельности между имеющимся кодом на C с новым кодом на Go, а также исследует возможности внедрения Go для повышения производительности различных дистрибутивов.
Книга ориентирована на программистов и системных администраторов, работающих с Linux, будет интересна разработчикам ядра Linux и драйверов устройств.
О книге
Именно на фоне поисков потенциальной книги о Rust под Linux мне довелось попасть на сайт Олега Ивановича Цилюрика — было это в конце февраля прошлого года. Олег Иванович @Olej — просто легенда в мире Linux и системного программирования, ранее сотрудничал с санкт-петербургским издательством «Символ-Плюс» и с коммерческими компаниями.
В настоящее время язык Go в ядре Linux образует важные и интересные вкрапления (в особенности, с точки зрения параллелизма), но дать целостную картину по такой непростой теме мог только человек, ориентирующийся в kernel space буквально с закрытыми глазами. Динамика продаж книги в последние пару месяцев по-хорошему обескураживает, обсуждаем с Олегом Ивановичем перспективы второго издания.
В марте готовится к выходу вторая книга Олега Ивановича, написанная им для нас на основе более чем двадцатилетних наработок.
Расширения ядра Linux: драйверы и модули
Ссылка на книгу
Аннотация
В книге подробно рассмотрено программирование драйверов ядра Linux, исследованы возможности расширяемости ядра при помощи модулей. Основная версия ядра — 5.15. Код примеров отработан и проверен на десятках различных инсталляций Linux, установленных из различных дистрибутивов и разных семейств дистрибутивов: Fedora, CentOS, Debian, Ubuntu, Mint. Уделено внимание архитектурам x_64, x_86, ARM, а также одноплатному компьютеру Raspberry Pi и драйверам устройств, подключаемых по USB. Затронут стандарт POSIX, разобраны API ядра, работа с Raspberry Pi, системные вызовы и подключение разнообразных периферийных устройств.
Для программистов и системных администраторов
О книге
Читателям ещё предстоит оценить эту книгу, однако я не сомневаюсь в её успехе. В этом фолианте на 688 страниц Олег Иванович во всех тонкостях рассмотрел программирование и применение драйверов ядра — создав аналог легендарной книги «Linux Device Drivers», третье издание которой на русском языке так и не вышло, а четвёртое не состоялось даже по-английски. Следите за ссылкой, скоро она оживёт. Олег Иванович, ещё раз спасибо вам за ваш титанический труд и энциклопедические знания в предметной области.
Глубокое обучение и анализ данных. Практическое руководство (Дмитрий Малов)
Ссылка на книгу
Аннотация
Книга о принципах глубокого обучения, описывающая построение и развитие нейронных сетей с нуля. На материале обширных практических наработок в сфере распознавания образов и обработки естественного языка продемонстрированы возможности популярной библиотеки Pytorch, а также Keras и Tensorflow. Особое внимание уделено разбору базовых алгоритмов, реализованных на языке Python, которые помогут самостоятельно освоить работу с нейронными сетями, написав собственное приложение для глубокого обучения на основе данных из браузера.
Для Python-разработчиков и специалистов Data Science
О книге
Несколько лет назад, после не самого удачного перевода «Dragon Book», на российском рынке доминировали две книги по глубокому обучению — исходно русскоязычная под авторством Сергея Николенко @snikolenko и переводная книга от Франсуа Шолле. Затем рынок начал фрагментироваться, а нейронные сети стали развиваться так быстро, что сориентироваться в архитектурах и библиотеках стало невероятно сложно. Книга Дмитрия Малова из Санкт-Петербурга также готовилась почти полтора года, поскольку автор забирал черновики и переписывал, желая угнаться за технологией. И вот эта книга готова — выход её ожидается в марте. Пожалуй, это самое компактное и простое руководство для погружения в Keras и Tensorflow, а также в алгоритмы для обработки естественного языка. В книгу вошли многолетние наработки автора, в частности, по компьютерному зрению и DL в браузере. Кроме того, эта книга одной из первых на русском языке рассматривает сверхпопулярную библиотеку PyTorch — и кажется наиболее лёгким, разносторонним и удобоваримым введением в глубокое обучение для начинающих.
Информационная безопасность для пользователя. Правила самозащиты в Интернете (Михаил Райтман)
Ссылка на книгу
Аннотация
Книга о безопасной работе в Интернете и защите персональных данных, в том числе с соблюдением мер анонимизации и приватности. Рассматриваются вопросы выбора надежных паролей, использования прокси-серверов, анонимных сетей и VPN, технологии шифрования и защищенного общения. Особое внимание уделено анонимной операционной системе Tails, рекомендуемой Эдвардом Сноуденом. Приведены способы конспиративного общения по защищенным каналам связи и подключения к анонимным сетям, таким как I2P RetroShare и др. Даются практические рекомендации по безопасной работе с торрентами, мессенджерами, файловыми архивами. Книга поможет разобраться в устройстве Даркнета и варезной Сцены. Отдельная глава посвящена луковой архитектуре и браузеру Tor. Особое внимание уделено кастомизации устанавливаемых программ.
Для специалистов по безопасности, системных администраторов, уверенных пользователей Linux
О книге
Нас с Михаилом Райтманом объединяет более восьми лет плодотворнейшего переводческого и редакторского сотрудничества, однако сильнейшей стороной этого автора является экспертиза в обеспечении приватности данных, умение проникнуть в Интернете куда угодно и выудить из Сети что угодно. Сначала эта книга планировалась как переиздание его же работы «Искусство легального, анонимного и безопасного доступа к ресурсам Интернета», но позже оформилась в самостоятельное произведение, отражающее реалии нынешней VPN-эпохи. Книга настолько же самобытная и самодостаточная, насколько необходимая сейчас и в ближайшем будущем.
Java. Состояние языка и его перспективы (Федор Урванов)
Ссылка на книгу
Аннотация
Книга о современном состоянии языка Java, векторе его развития, а также о грамотном программировании в духе паттернов GoF. Книга дает базовое представление о фреймворке Spring, контейнерах Docker, принципах ООП, затрагивая, в частности, переход к облачным решениям, обращение с IDE. Также освещены темы из enterprise-разработки: файловый ввод/вывод NIO2, многопоточность, локализация, интеграция и оптимизация производительности. В книге отражено состояние языка по состоянию на версию Java 17 с разбором некоторых аспектов Java 18.
Будет интересна специалистам, возвращающимся к работе с Java после перерыва, бэкенд-разработчикам, читателям, готовящимся к сертификационным экзаменам.
О книге
Федор Урванов @urvanov собрал на авторском сайте https://urvanov.ru наработки по нескольким востребованным технологиям — не только по Java, но и, например, по TypeScript. Его электронный учебник по Java был посвящён версии Java 8, но Федор любезно согласился быстро и глубоко обновить эту книгу до Java 17 с захватом Java 18 и смежных технологий. Издавать книгу с указанием версии — всегда большой риск, связанный с устареванием материала, однако Федор блестяще справился с работой, что прямо следует из отгрузок. Полагаю, господин Урванов продолжит работу с нами и порадует сообщество новинкой (новинками)? — пока мы предметно обсуждали книгу о Spring и Spring Boot.
Заключение
Итак, для первого впечатления вполне достаточно. У нас на сайте ещё много интересных книг, в особенности рекомендую обратить внимание на бестселлеры (раз, два) Ольги Назиной, посвящённые тестированию. В обозримом будущем ждите от меня книг по следующим темам (всё нижеперечисленное — на этапах от «в редактуре» до «обложка готова»):
1) MySQL
2) DDD
3) Kubernetes
4) Чистый код
5) DOP (дата-ориентированное программирование)
6) Приватность данных
7) Глубокое обучение
8) Параллельное программирование
9) Алгоритмы на C++
10) Infrastructure as Code
11) Kaggle
….
Сложились бы эти проекты без Хабра? Какая-то доля из них — несомненно, но именно Хабр и в первую очередь Хабр в настоящее время позволяет мне ориентироваться в технологическом ландшафте и находить не только авторов, но и талантливых редакторов (спасибо, уважаемые @Evgeny_Chernyy, @TraurigerNarr, Сергей Баранов). Отдельное спасибо за помощь в поиске вдохновения и векторов развития для новых проектов уважаемым @visirok и @Loriowar. Надеюсь, этот длинный пост не утонет в критике, поможет мне оживить контакты со многими другими авторами, которые планировали писать для нас книги, но пока не довели дело до результата, а также приведёт мне новых талантливых писателей-технарей. Спасибо, что дочитали.