Привет, Хабр! Относительно недавно мы уже публиковали подборку книг по Go для начинающих разработчиков. Теперь пришёл черёд изданий для специалистов с опытом. В этой статье рассказываем о книгах для программистов, у которых уже есть опыт работы с Golang и кто готов двигаться дальше. Книги актуальные, написаны как на русском, так и на английском языке. Как всегда, просьба: если у вас есть собственные предпочтения, расскажите о них в комментариях.

Язык программирования Go

Авторы: Алан Донован, Брайан Керниган

Эта книга есть у многих разработчиков, поскольку её можно назвать классикой. В ней рассказывается о преимуществах Go перед другими языками программирования, раскрываются нюансы разработки на этом языке, приводятся практические примеры. Кроме того, авторы отвечают на самые популярные вопросы, причём делают это неплохо.

Начинается всё с более-менее общих вещей, и дальше авторы двигаются к практическим примерам, раскрывая многие нюансы работы с Go. Если базовых знаний по языку нет, лучше почитать что-то для начинающих, а потом уже приступить к изучению этого издания. Для суперпрофи, вероятно, нового здесь не очень много, но разработчикам с уровнем, близким к среднему, есть с чем ознакомиться.

Книга написана живым языком, большим плюсом является то, что авторы приводят действительно много примеров. Кроме того, они дают задания, которые помогают закрепить полученные ранее знания. Лучше, конечно, ознакомиться с оригиналом, но если знание английского не очень хорошее, то подойдёт и издание на русском.

Go: идиомы и паттерны проектирования

Автор: Джон Боднер

Это практическое руководство, которое будет полезно многим. В нём есть важнейшая информация для разработки на Go. Она помогает начать думать как Go-разработчик, даёт полезную информацию по шаблонам проектирования, которые используют многие программисты. Кроме того, в ней рассказывается о дженериках.

Есть нюансы работы в Go, включая дизайнерские решения, рассказывается о том, как правильно настроить среду разработки, когда стоит использовать рефлексию, cgo и какие функции Go позволяют ему работать эффективнее других языков.

Книга может пригодиться и новичку, но более всего она полезна для программиста с опытом. Дело в том, что автор рассказывает об «истоках» Golang, помогает осознать преимущества разработки на Go. В целом книга даёт возможность синхронизировать уже накопленные знания с основными концепциями работы в Go, точнее, с теми нюансами, которые могли остаться закрытыми для новичка.

Modern Web Development with Go

Автор: Душан Стоянович

Книга на английском языке, она даёт возможность научиться создавать приложения веб-сервера с использованием Golang. Книга новая, выпущена в 2023 году, поэтому в ней есть много интересных нюансов, которые имеют отношение к современным тенденциям разработки веб-приложений. Автор рассказывает, как спроектировать, создать и протестировать приложение, учитывая важные моменты из сферы информационной безопасности.

После прочтения книги можно начать создавать серверные проекты либо же осуществить работу над уже готовыми проектами, понимая, что и как устроено. Как и положено хорошей книге по разработке, в этом издании очень много практических примеров. При этом они не отвлечённые, а непосредственно относятся к практике современного программирования.

В каждой главе есть примеры и сценарии использования определённых технологий. Это даёт читателю возможность повторить в собственных проектах то, что рассказывается и показывается в книге. Также автор раскрывает важную информацию об инструментах и библиотеках, которые используются в веб-разработке на Go. Особенное внимание автор уделил вопросам параллелизма и масштабируемости. Так, в книге показано, как на практике применить эти функции, для того чтобы создать хорошо работающее масштабируемое приложение.

К сожалению, перевода на русский нет, есть только английская версия книги.

Golang для профи

Автор: Михалис Цукалос

В книге множество примеров, есть шаблоны и, конечно, объяснения для всего этого — автор не бросит читателя на произвол судьбы. Цукалос раскрывает нюансы типов и структур, пакетов, параллельной работы и т. п. В конце каждой главы есть упражнения, которые позволяют закрепить полученные знания на практике.

Среди прочих важных нюансов стоит упомянуть вопросы использования Go в производственных системах, рассказ о том, как работают внутренние механизмы языка, приведены примеры создания и оптимизации сетевого кода для серверных и клиентских приложений.

Также автор рассказывает о взаимодействии с другими системами посредством WebAssembly, JSON и gRPC. А ещё о разработке систем машинного обучения на этом языке. Причём актуальных систем — как простых, так и достаточно сложных. Положительный момент в том, что Цукалос добавляет советы работы и с Docker, Git, UNIX.

Black Hat Go: Программирование для хакеров и пентестеров

Автор: Том Стил

Ещё одна книга на русском языке, которую стоит использовать в качестве настольной специалистам по кибербезопасности. Она позволяет разобраться в вопросах тестирования систем, разработке важных инструментов и методов противодействия злоумышленникам.

Есть, кстати, и рассказ о синтаксисе и философии языка — на случай, если вам нужно обновить что-то в памяти. После этого автор приступает к демонстрации практических примеров использования Go для работы с протоколами HTTP, DNS и SMB. Естественно, книга полностью соответствует названию, поскольку в ней разбираются задачи противодействия краже данных, сниффингу, также рассматривается работа с эксплойтами.

Ещё рассказывается о криптографии, стеганографии и прочих важных темах, конечно, в русле всё того же языка Go. Книга будет крайне полезной для разработчиков, которые интересуются вопросами информационной безопасности. Если вы являетесь специалистом по инфобезу с опытом разработки, то с «Black Hat Go: программирование для хакеров и пентестеров» обязательно стоит ознакомиться.

Let’s Go Further

Автор: Алекс Эдвардс

Ещё одна книга на английском языке, которую нельзя пропустить. Дело в том, что она идеально подходит для дальнейшего изучения Golang, после того как вы освоили основы. Автор помогает узнать гораздо больше, чем вы знали раньше, знакомит с продвинутыми паттернами для разработки и развёртывания API и веб-приложений.

Автор раскрывает крайне важные темы, включая отправку и получение JSON-данных. Рассказывает он и о практиках современных разработчиков, об управлении фоновыми задачами, а также о том, как создать отчёты по метрикам.

Всё, что изложено в этой книге, пригодится в ежедневной работе, так что не пропустите это издание.

Комментарии (2)


  1. mrobespierre
    19.09.2023 00:50
    +1

    Первая чертовски хороша для начинающих, но "meh" для продолжающих, остальные просто не нужны (у меня есть все кроме последней, если что). Вместо них лучше читать "Облачный Go" и "Concurrency in Go".


  1. MaksIII
    19.09.2023 00:50

    Go: идиомы и паттерны проектирования читал, хорошая. В принципе и с нуля зайдет, слог там легкий.