Библиотека Go-разработчика | Golang
23.3K subscribers
2.08K photos
42 videos
87 files
4.45K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Даже такие гиганты, как American Express выбирают Go для разработки своих внутренних сервисов. Причины этого с примерами кода вы увидите в статье: https://americanexpress.io/choosing-go/
get_programming_with_go.pdf
9.1 MB
Get Programming with Go (2018)

Авторы: Nathan Youngman и Roger Peppe

Книга является отличным примером введения в язык Go с примерами кода, которые можно воспроизвести прямо в Go Playground.
Практическое руководство: советы по написанию реальных программ на Go

Из видео вы узнаете лучшие практические рекомендации в следующих направлениях: идиоматический код, разработка пакетов и API, обработка ошибок, параллелизм и тестирование: https://youtu.be/eB0ypsFTG20
Ребята проводят код-ревью проектов на языке Go, рассказывая о том, как эти проекты сделаны, почему они так сделаны и как можно лучше. Обязательно к просмотру!
В преддверии официального релиза Go версии 1.14 (заметки о выпуске, накопившиеся в процессе работы, уже готовы), давайте ознакомимся с изменениями, коснувшимися языка и всего, что с ним связано, с версии 1.12: https://youtu.be/0c-1KJwSMCw
На канале уже упоминался волшебный проект Buffalo, который представляет из себя экосистему для веб-разработки на Go. Напомним, что Buffalo позволяет создать веб-проект, в котором уже есть все, начиная с внешнего интерфейса (JavaScript, SCSS и т. д.) и заканчивая бекендом (база данных, маршрутизация и т. д.), уже подключенными и готовыми к запуску. Оттуда он предоставляет простые API для быстрого создания веб-приложения на Go.

Всю информацию можно найти на официальном сайте или в репозитории. Просто нам хотелось еще раз показать всю прелесть и простоту работы с данным инструментом на примере преобразования статического сайте в проект Buffalo: https://www.gopherguides.com/articles/converting-a-static-website-to-golang-buffalo/
Десять рекомендаций-постулатов для написания простого, читаемого и поддерживаемого кода на Go, представленных на недавней GopherCon Israel 2020: https://the-zen-of-go.netlify.com
Довольно смелый пост о том, что Go – это новый Ruby: https://00f.net/2019/10/28/go-is-the-new-ruby/
Возможно уже заезженная, но одна из важнейших тем – работа с модулями в Go, точнее, все преимущества работы с версии 1.13.

Общие сведения
Проекты, зависимости и языковой сервер Gopls (анализирует написанный код и отвечает за автозаполнение)
Выбор минимальной версии
Зеркала, контрольные суммы и модуль Athens (предоставляет хранилище данных и прокси)
A_Short_Cyclopedia_of_Go.pdf
1.3 MB
A Short Cyclopedia of Go (2019)

Автор: John Tullis

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

Энциклопедией она называется в связи с тем, что содержание разделено на отдельные главы, расположенные в алфавитном порядке.
Непрерывная интеграция и доставка (СI/CD) c Go GitHub Actions

Go предоставляет несколько новых решений проблем программных зависимостей. В этой статье автор продемонстрировал один из способов – кроссплатформенные Go GitHub Actions, которые вы можете использовать в своих рабочих процессах и делиться ими с другими.

https://blog.myitcv.io/2020/02/04/portable-ci-cd-with-pure-go-github-actions.html
Доклад специалиста из Cloudflare о WebAssembly с Go на митапе WebAssembly SF, в котором затронуты основы WASM, компиляция Go в WASM и преимущества запуска Go в браузере и движках JS, таких как V8: https://youtu.be/TzeEgdee3fc
Пополняем коллекцию стилей оформления кода

Помимо комментариев от разработчиков языка (Go Code Review Comments and Effective Go), стоит обращать внимание на подобные вещи: стиль оформления кода на Go, применяемый компанией Sourcegraph.
Agile-методы — семейство гибких подходов к управлению проектами. Они помогают командам во всём мире эффективно работать в условиях постоянно меняющихся требований, учитывать все изменения и встраивать новые факторы в рабочий процесс.

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

В ходе интенсива вы не только познакомитесь с «гибкими» подходами, но научитесь выбирать подходящие для решения любой задачи. На практике вы разберёте реальные кейсы и научитесь внедрять и применять Agile-методы в своих проектах.

Успейте подать заявку и повысьте свою эффективность - https://prglb.ru/3jzez
Подкаст Generic Talks о Go и не только – Ваши бенчмарки (скорее всего) ничего не значат

10:00:00 – Посчитать размер объекта в Go. Что может быть проще? Зачем вообще это делать?
20:12:22 – Как ограничивают память другие известные проекты на Go. Разбираем подходы.
30:17:00 – Как понять что мы достигли предела по оптимизациям и пора внедрять другие подходы. Шипилев и его график)
40:20:22 – В бар заходит Искандер. Unsafe.Sizeof и отдельный пропозал.
50:29:40 – Рекурсивный обход структур в хипе для расчета размера, потенциальные использования рантайма и сборщика мусора.
60:33:46 – Как возможность расчета размеров в рантайме может открыть возможность для других оптимизаций.
70:47:11 – Pluggable GC в Go стоит ли форкать стандартный компилятор и рантайм?
80:50:11 – Говяжий язык. Beef - шаг вперед или очередной велосипед?
91:02:30 – Actix-web - open source, восприятие критики и мнения которые ничего не значат.
101:13:03 – Spinlock vs Mutex почему все так получилось? Почему так сложно правильно бенчмаркать?
111:24:00 – Erlang vs Go vs Java vs NodeJS бенчмарк серверов который не смог. Как сделать adaptive capacity limiter вручную для того чтобы выровнять latency. Говорим о том как анализировать результаты бенчмарков, делать выводы и проверять гипотезы.
121:37:25 – Затравочка будущих выпусков

Источники:
Soundcloud
Apple Podcast
Google Podcast
Practical Cryptography With Go.pdf
8.5 MB
Practical Cryptography With Go (2015)

Автор: Kyle Isom

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

Репозиторий с примерами кода: https://github.com/kisom/gocrypto/