Книги для Golang-разработчиков: подборка для программистов с опытом
- вторник, 19 сентября 2023 г. в 00:00:19
Привет, Хабр! Относительно недавно мы уже публиковали подборку книг по Go для начинающих разработчиков. Теперь пришёл черёд изданий для специалистов с опытом. В этой статье рассказываем о книгах для программистов, у которых уже есть опыт работы с Golang и кто готов двигаться дальше. Книги актуальные, написаны как на русском, так и на английском языке. Как всегда, просьба: если у вас есть собственные предпочтения, расскажите о них в комментариях.
Авторы: Алан Донован, Брайан Керниган
Эта книга есть у многих разработчиков, поскольку её можно назвать классикой. В ней рассказывается о преимуществах Go перед другими языками программирования, раскрываются нюансы разработки на этом языке, приводятся практические примеры. Кроме того, авторы отвечают на самые популярные вопросы, причём делают это неплохо.
Начинается всё с более-менее общих вещей, и дальше авторы двигаются к практическим примерам, раскрывая многие нюансы работы с Go. Если базовых знаний по языку нет, лучше почитать что-то для начинающих, а потом уже приступить к изучению этого издания. Для суперпрофи, вероятно, нового здесь не очень много, но разработчикам с уровнем, близким к среднему, есть с чем ознакомиться.
Книга написана живым языком, большим плюсом является то, что авторы приводят действительно много примеров. Кроме того, они дают задания, которые помогают закрепить полученные ранее знания. Лучше, конечно, ознакомиться с оригиналом, но если знание английского не очень хорошее, то подойдёт и издание на русском.
Автор: Джон Боднер
Это практическое руководство, которое будет полезно многим. В нём есть важнейшая информация для разработки на Go. Она помогает начать думать как Go-разработчик, даёт полезную информацию по шаблонам проектирования, которые используют многие программисты. Кроме того, в ней рассказывается о дженериках.
Есть нюансы работы в Go, включая дизайнерские решения, рассказывается о том, как правильно настроить среду разработки, когда стоит использовать рефлексию, cgo и какие функции Go позволяют ему работать эффективнее других языков.
Книга может пригодиться и новичку, но более всего она полезна для программиста с опытом. Дело в том, что автор рассказывает об «истоках» Golang, помогает осознать преимущества разработки на Go. В целом книга даёт возможность синхронизировать уже накопленные знания с основными концепциями работы в Go, точнее, с теми нюансами, которые могли остаться закрытыми для новичка.
Автор: Душан Стоянович
Книга на английском языке, она даёт возможность научиться создавать приложения веб-сервера с использованием Golang. Книга новая, выпущена в 2023 году, поэтому в ней есть много интересных нюансов, которые имеют отношение к современным тенденциям разработки веб-приложений. Автор рассказывает, как спроектировать, создать и протестировать приложение, учитывая важные моменты из сферы информационной безопасности.
После прочтения книги можно начать создавать серверные проекты либо же осуществить работу над уже готовыми проектами, понимая, что и как устроено. Как и положено хорошей книге по разработке, в этом издании очень много практических примеров. При этом они не отвлечённые, а непосредственно относятся к практике современного программирования.
В каждой главе есть примеры и сценарии использования определённых технологий. Это даёт читателю возможность повторить в собственных проектах то, что рассказывается и показывается в книге. Также автор раскрывает важную информацию об инструментах и библиотеках, которые используются в веб-разработке на Go. Особенное внимание автор уделил вопросам параллелизма и масштабируемости. Так, в книге показано, как на практике применить эти функции, для того чтобы создать хорошо работающее масштабируемое приложение.
К сожалению, перевода на русский нет, есть только английская версия книги.
Автор: Михалис Цукалос
В книге множество примеров, есть шаблоны и, конечно, объяснения для всего этого — автор не бросит читателя на произвол судьбы. Цукалос раскрывает нюансы типов и структур, пакетов, параллельной работы и т. п. В конце каждой главы есть упражнения, которые позволяют закрепить полученные знания на практике.
Среди прочих важных нюансов стоит упомянуть вопросы использования Go в производственных системах, рассказ о том, как работают внутренние механизмы языка, приведены примеры создания и оптимизации сетевого кода для серверных и клиентских приложений.
Также автор рассказывает о взаимодействии с другими системами посредством WebAssembly, JSON и gRPC. А ещё о разработке систем машинного обучения на этом языке. Причём актуальных систем — как простых, так и достаточно сложных. Положительный момент в том, что Цукалос добавляет советы работы и с Docker, Git, UNIX.
Автор: Том Стил
Ещё одна книга на русском языке, которую стоит использовать в качестве настольной специалистам по кибербезопасности. Она позволяет разобраться в вопросах тестирования систем, разработке важных инструментов и методов противодействия злоумышленникам.
Есть, кстати, и рассказ о синтаксисе и философии языка — на случай, если вам нужно обновить что-то в памяти. После этого автор приступает к демонстрации практических примеров использования Go для работы с протоколами HTTP, DNS и SMB. Естественно, книга полностью соответствует названию, поскольку в ней разбираются задачи противодействия краже данных, сниффингу, также рассматривается работа с эксплойтами.
Ещё рассказывается о криптографии, стеганографии и прочих важных темах, конечно, в русле всё того же языка Go. Книга будет крайне полезной для разработчиков, которые интересуются вопросами информационной безопасности. Если вы являетесь специалистом по инфобезу с опытом разработки, то с «Black Hat Go: программирование для хакеров и пентестеров» обязательно стоит ознакомиться.
Автор: Алекс Эдвардс
Ещё одна книга на английском языке, которую нельзя пропустить. Дело в том, что она идеально подходит для дальнейшего изучения Golang, после того как вы освоили основы. Автор помогает узнать гораздо больше, чем вы знали раньше, знакомит с продвинутыми паттернами для разработки и развёртывания API и веб-приложений.
Автор раскрывает крайне важные темы, включая отправку и получение JSON-данных. Рассказывает он и о практиках современных разработчиков, об управлении фоновыми задачами, а также о том, как создать отчёты по метрикам.
Всё, что изложено в этой книге, пригодится в ежедневной работе, так что не пропустите это издание.