Микросервисы становятся все более популярным способом создания и поддержки сложных приложений. По сути, микросервисы — это набор небольших независимых сервисов или компонентов, которые совместно реализуют задачи большого приложения. Сегодня расскажем о полезных книгах для начинающих и опытных разработчиков микросервисных архитектур.
Профессиональная литература *
Полезное чтиво
Крепкое печатное слово: об онлайн-библиотеках и авторском праве. Дайджест ко Дню книг
23 апреля — Всемирный день книг и авторского права. А значит, и ещё одна памятная дата, важная для Хабра, потому что он сам — и большая книга, и книгохранилище, и собрание знаний и опыта сотен тысяч людей. Поэтому очередной кураторский дайджест я решила посвятить Интернет-библиотекам и цифровому авторскому праву: ещё раз пройтись по архивам и вспомнить о доступности знаний (и научных знаний в первую очередь), о их регулярной воспроизводимости и сохранности.
Как мы написали курс планиметрии
Когда я учился в средней школе, то самым сложным предметом для меня была геометрия. Нет, другие предметы также были сложными, вроде английского или русского языков, но я понимал, что трудность в их освоении может быть решена массовым прочтением художественной литературы. Художественную литературу я особо не любил (исключением были произведения Жюль Верна), а другой литературы просто не было. Интернет в середине 90-х был только у избранных, а найти и свободно скачать книгу можно было только после 2005 года. В общем, гуманитарные предметы меня особо не волновали, и только геометрия была тем предметом, уроки которой наводили на меня тоску и уныние. На уроках геометрии у меня зародилась мечта: найти и поквитаться с автором учебника геометрии, а затем написать свой "понятный" учебник. Как вы можете догадываться, первую часть мечты я выполнить не мог по той причине, что автора учебника уже давно не было в живых, а про вторую часть просто забыл.
Книга «Идиомы bash»
Сценарии на языке командной оболочки получили самое широкое распространение, особенно написанные на языках, совместимых с bash. Но эти сценарии часто сложны и непонятны. Сложность — враг безопасности и причина неудобочитаемости кода. Эта книга на практических примерах покажет, как расшифровывать старые сценарии и писать новый код, максимально понятный и легко читаемый.
Авторы Карл Олбинг (Carl Albing) и Джей Пи Фоссен (JP Vossen) покажут, как использовать мощь и гибкость командной оболочки. Даже если вы умеете писать сценарии на bash, эта книга поможет расширить ваши знания и навыки. Независимо от используемой ОС — Linux, Unix, Windows или Mac — к концу книги вы научитесь понимать и писать сценарии на экспертном уровне. Это вам обязательно пригодится.
Вы познакомитесь с идиомами, которые следует использовать, и такими, которых следует избегать.
Истории
Книга «Apache Kafka. Потоковая обработка и анализ данных, 2-е издание»
При работе любого корпоративного приложения образуются данные: файлы журналов, показатели, информация об активности пользователей, исходящие сообщения и другие. Правильное управление этими данными не менее важно, чем сами данные. Если вы архитектор, разработчик или инженер-технолог, но вы пока не знакомы с Apache Kafka, то из этой обновленной книги вы узнаете, как работать с потоковой платформой Kafka, позволяющей обрабатывать потоки данных в реальном времени. Дополнительные главы посвящены API AdminClient от Kafka, транзакциям, новым функциям безопасности и изменениям в инструментарии.
Инженеры из Confluent и LinkedIn, ответственные за разработку Kafka, объясняют, как с помощью этой платформы развертывать производственные кластеры Kafka, писать надежные управляемые событиями микросервисы и создавать масштабируемые приложения для потоковой обработки данных. На подробных примерах вы изучите принципы проектирования Kafka, гарантии надежности, ключевые API и детали архитектуры.
Гипертекстовое чтиво. Жанр литературы, который предопределил Интернет
Если бы Википедия была художественным романом, получилась бы одна большая фрагментированная история с нелинейным сюжетом. К персонажам, отдельным историям или эпизодам и главам можно было бы переходить по гиперссылкам, независимо, начало это или конец романа (и вообще, при такой форме там не было бы ни начала, ни конца). Современные электронные энциклопедии, социальные сети и Всемирная Паутина в целом являются производными такой гипертекстовой литературы.
Гипертекстовая литература (hypertext fiction) — это жанр электронной литературы, характеризующийся использованием гипертекстовых ссылок, которые обеспечивают новый контекст нелинейности и взаимодействие с читателем. Электронная или цифровая литература охватывает произведения, созданные исключительно на цифровых устройствах и для них. Это означает, что сочинения не могут быть легко или вообще не могут напечатаны, потому что элементы, имеющие решающее значение для текста, не могут быть перенесены в печатную версию. Не путать электронную литературу с оцифрованной печатной литературой!
Интересно то, что идея гипертекстовой литературы появилась задолго по изобретения первых гиперссылок. Литературовед Ролан Барт в своей книге S/Z описывает тип письма, в котором «сетей много и они взаимодействуют», где «у неё нет начала» и где «читатель получает к ней доступ через несколько входов, ни один из которых не может быть главным». Очевидно, он описывает текст, функционирующий так же, как Интернет. Однако есть один нюанс: S/Z был написан более чем за десять лет до того, как был изобретён первый персональный компьютер.
Архитектор в ИТ — он как философ. Все вопросы и решения может подвергнуть сомнению
Уважаемые читатели, эта статья будет для вас полезна, если:
• Вы являетесь действующим архитектором ИТ и вам необходима дискуссия с коллегами о роли архитектора;
• Вы хотите стать архитектором, но еще не осознали, кто это;
• С вами рядом работает архитектор, и вы не понимаете, чем он занимается;
• Вы не владеете английским, но давно хотели прочитать книгу западного автора по архитектуре;
• И в целом если вы интересующийся современными веяниями ИТ, а именно архитектура является популярным запросом от работодателей в виду растущих масштабов автоматизации.
Книга «Машинное обучение. Портфолио реальных проектов»
Изучите ключевые концепции машинного обучения‚ работая над реальными проектами! Машинное обучение — то, что поможет вам в анализе поведения клиентов, прогнозировании тенденций движения цен, оценке рисков и многом другом. Чтобы освоить машинное обучение, вам нужны отличные примеры, четкие объяснения и много практики. В книге все это есть!
Автор описывает реалистичные, практичные сценарии машинного обучения, а также предельно понятно раскрывает ключевые концепции. Вы разберете интересные проекты, такие как сервис прогнозирования цен на автомобили с использованием линейной регрессии и сервис прогнозирования оттока клиентов. Вы выйдете за рамки алгоритмов и изучите важные техники, например развертывание приложений в бессерверных системах и запуск моделей с помощью Kubernetes и Kubeflow. Пришло время закатать рукава и прокачать свои навыки в области машинного обучения!
Книга «Красивый C++: 30 главных правил чистого, безопасного и быстрого кода»
Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с «Красивого C++»!
Опытные программисты Гай Дэвидсон и Кейт Грегори выбрали 30 основных рекомендаций, которые посчитали особенно ценными, и дают подробные практические советы, которые помогут улучшить ваш стиль разработки на C++.
Для удобства книга структурирована в точном соответствии с официальным веб-сайтом C++ Core Guidelines.
Топ-10 книг для продакт менеджера
Что стоит почитать Product Manager'у в 2023 году? Составил подборку из 10 полезных книг, которые должны быть в библиотеке как начинающего, так и опытного продакта. Для тех у кого совсем мало времени по каждой книге прикрепил ссылку на краткое содержание.
Бездарная книга по криптографии от доктора информатики, которая содержит в себе больше ошибок, чем правильных суждений
И так однажды, появилась у меня книга по криптографии с названием "Криптография с секретным ключом" от Фрэнка Рубина. Я совру, если скажу что эта книга меня заинтересовала хорошими отзывами или автором, где таковой является магистром математики и доктором информатики, занимающимся криптографией больше 50 лет (по крайней мере так пишется на обложке книги). Вовсе нет, я просто её купил, чтобы когда-нибудь прочитать. Даже если бы у этой книги были только отвратительные отзывы и/или её бы написал человек, находящийся в кустарных условиях и понимающий только что такое шифр Цезаря, я бы скорее всего её точно также бы купил. Но факт того, кем является автор и то, что он изучает криптографию более 50 лет, мы держим в голове всё последующее время повествования.
Книга «Объекты. Стильное ООП»
Хороший объектно-ориентированный код удобно читать, изменять и исправлять. Универсальные практики проектирования объектов, собранные в этой книге, позволят улучшить ваш стиль кодирования. Эти правила подойдут к любому объектно-ориентированному языку, они делают код максимально понятным и надежным, а также повышают производительность как индивидуальных разработчиков, так и команд.
Книга «Объекты. Стильное ООП» познакомит вас с профессиональными техниками написания ОО-кода. Маттиас Нобак раскрывает правила создания объектов, определения методов, изменения и извлечения состояний и многое другое. Все примеры написаны на простом псевдокоде, который легко перевести в любой язык программирования. Кейс за кейсом вы изучите ключевые сценарии и задачи проектирования объектов, а затем шаг за шагом создадите простое веб-приложение, которое покажет, как должны взаимодействовать объекты разных типов.
Книга «Kafka Streams и ksqlDB: данные в реальном времени»
Работа с неограниченными и быстрыми потоками данных всегда была сложной задачей. Но Kafka Streams и ksqlDB позволяют легко и просто создавать приложения потоковой обработки. Из книги специалисты по обработке данных узнают, как с помощью этих инструментов создавать масштабируемые приложения потоковой обработки, перемещающие, обогащающие и преобразующие большие объемы данных в режиме реального времени.
Митч Сеймур, инженер службы обработки данных в Mailchimp, объясняет важные понятия потоковой обработки на примере нескольких любопытных бизнес-задач. Он рассказывает о достоинствах Kafka Streams и ksqlDB, чтобы помочь вам выбрать наиболее подходящий инструмент для каждого уникального проекта потоковой обработки. Для разработчиков, не пишущих код на Java, особенно ценным будет материал, посвященный ksqlDB.
Книга «Современная программная инженерия. ПО в эпоху эджайла и непрерывного развертывания»
Дэвид Фарли, легендарный разработчик и создатель continuous delivery, рассказывает о фундаментальных принципах разработки современного ПО. Пора познакомиться с наиболее эффективными и грамотными методами управления рабочими процессами, которые позволят повысить качество ваших приложений, вашей жизни и жизни ваших коллег.
Ключевые концепции, лежащие в основе эффективной разработки ПО, — это непрерывное обучение и управление сложностью. Дэвид Фарли анализирует их и формулирует принципы, следование которым приведет к улучшению дизайна ПО и качества кода, а также методы и подходы, доказавшие свою эффективность и приводящие к успеху.
Речь идет не об абстракциях, вы освоите реальные приемы, которыми пользуются опытные разработчики ПО. Эти техники эмпирические и итеративные, они основаны на обратной связи и сосредоточены на выполнении кода, то есть соответствуют всем требованиям современной разработки.
Книга «Грокаем функциональное мышление»
Кодовые базы разрастаются, становясь всё сложнее и запутаннее, что не может не пугать разработчиков. Как обнаружить код, изменяющий состояние вашей системы? Как сделать код таким, чтобы он не увеличивал сложность и запутанность кодовой базы?
Большую часть «действий», изменяющих состояние, можно превратить в «вычисления», чтобы ваш код стал проще и логичнее.
Вы научитесь бороться со сложными ошибками синхронизации, которые неизбежно проникают в асинхронный и многопоточный код, узнаете, как компонуемые абстракции предотвращают дублирование кода, и откроете для себя новые уровни его выразительности.
Книга предназначена для разработчиков среднего и высокого уровня, создающих сложный код. Примеры, иллюстрации, вопросы для самопроверки и практические задания помогут надежно закрепить новые знания.
Исследование нескольких проблем, обнаруженных при статическом анализе
Мой издательский пост
Давным‑давно, ещё, когда я жил в Минске, одним из моих старших друзей был удивительный инженер Павел Горбунов, интеллектуал, романтик и автор множества афористичных мыслей, из которых мне наиболее запомнилась «Кто пребывает в нирване, часто ходит в рванине». Он работал в машиностроительном КБ и также говорил, что «у меня большинство друзей — программисты, а я люблю, что плоды моей работы можно пощупать руками». Сейчас, приближаясь к тому возрасту Горбунова, я также хочу рассказать о той части моей работы, которую можно потрогать руками — то есть, о книгах.
В редакции Хабра я работаю с конца 2020 года, а с февраля 2021 вернулся к издательской деятельности и с большим удовольствием тружусь в издательстве «БХВ» из Санкт‑Петербурга. Такое название сохранилось с середины 90-х, когда компания была совместным российско‑немецким предприятием и называлась на латинице «BHV», что по‑немецки расшифровывается как «BuchHandel und Verlag» — «Книготорговля и издательство». Естественно, в начале 2021 года я воспринял новообретённую аудиторию Хабра как потенциальный пул авторов. Внимательно смотрел профили моих читателей, ко многим обращался в личку, если видел в их (хабро)блогах или на гитхабе потенциальную основу для технической книги. Теперь, поскольку этот поиск принёс ощутимые плоды, я хотел бы рассказать о наиболее интересных переводных и авторских книгах, которые мне удалось выпустить за прошлый год и начало текущего года — а также поблагодарить тех, кто решился со мной работать и, надеюсь, не разочаровался в этом.
UPDATE: нам важно ваше мнение, поэтому
Промокод ФИДБЭК на все книги издательства будет действовать с 00:00 10.03.2023 по 00:00 01.04.2023.