Библиотека 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
Go in Action
Go in Action знакомит с языком Go, который ведет вас от любознательного разработчика к гуру Go. Книга начинается с введения уникальных особенностей и концепций игры в Go. Затем вы получите практический опыт написания реальных приложений, включая веб-сайты и сетевые серверы, а также методы манипулирования и преобразования данных на скоростях, которые заставят ваших друзей ревновать.

Эта аудиокнига содержит информацию о:
1) спецификации и реализации языка,
2) системе типов Go,
3) внутренних структурах данных Go,
4) тестировании и бенчмаркинге,

В этой книге предполагается, что вы работающий разработчик, владеющий другим языком, таким как Java, Ruby, Python, C # или C ++.
Go-фреймворки
Мы собрали несколько востребованных фреймворков, которые позволят познакомиться с фуллстек-разработкой на примерах.

gin-gonic
Gin — это веб-фреймворк HTTP, написанный на Go (Golang). Он имеет API, похожий на Martini, с гораздо лучшей производительностью — до 40 раз быстрее. Если вам нужна потрясающая производительность, принесите себе немного Gin.

buffalo
Экосистема веб-разработки Go, которая разработана, чтобы сделать вашу жизнь проще.

rest-go-mux-pq
Пример REST API в Go с использованием PostgreSQL и gorilla / mux из учебника по SemaphoreCI.

microservice
Эта библиотека предоставляет простую структуру микросервиса, которая включает в себя конфигуратор, регистратор, метрики и, конечно, обработчик.
Публикация Go модулей
Узнайте, как создавать версии и публиковать модули в блоге Go.
Всем известно, что Golang исполняется 10. Некоторые его празднуют весь месяц, юбилей всё-таки! А вы уже празднуете?
Вот это правильно! Просьба разработчиков оставлять комментарии, только если они несут в себе определенный контекст. Если же проблема уже была обозначена ранее, то стоит просто поставить лайк лучшему ответу или же конструктивно описать ее:
 issue also affects me on Windows 10 when running all.bat at revision c0ff33.
Pkger -- встраивание статических файлов в Go
"Прежде чем подумать о написании строки кода, я рассмотрел проблемы, возникшие у меня с Packr, и способы их решения. Решения этих проблем станут требованиями, от которых мне нужно будет работать в обратном направлении", — статья Марка Бейтса, в которой он не только в текстовой форме объявил о проекте, но и представил видеопрезентацию для "нелюбителей читать". :)
1
Онлайн-платформа goods открывает несколько вакансий на должности:

Frontend-разработчик
Backend-разработчик
Middle Android Developer
Golang Developer
Senior Golang Developer

Что мы предлагаем своим разработчикам маркетплейса? Комфортный офис в центре города, официальное оформление, высокую зарплату, премии и бонусы, бесплатные курсы, ДМС и годовые абонементы в фитнес-клубы.

Не упусти свой шанс! Пиши на почту: irina.andriyanova@goods.ru

Если не нашли себе подходящую вакансию - посетите нашу страницу с рассказом о компании, фотками из офиса и множеством других вакансий - https://prglb.ru/3ejj
animation.gif
14.9 KB
Создание и тестирование интеграции Stripe может потребовать частого переключения между терминалом, вашим редактором кода и панелью мониторинга.
👇👇👇
Интерфейс командной строки Stripe (CLI), который позволяет вам взаимодействовать со Stripe прямо из терминала и упрощает сборку, тестирование и управление интеграцией.
Наследие Go
Эта презентация была разработана для GoLab во Флоренции, Италия. Она была представлена в качестве заключительного выступления на конференции. Презентация рассказывает о наследии Go, глядя в прошлое и в будущее. Присутствующие назвали эту презентацию красивой, вдохновляющей и удивительной. Как вам?
Learning Functional Programming in Go (2017)
Автор: Sheehan L.

#go #book #en

Язык: English.

Целевая аудитория: для go-разработчиков, знакомых с ООП и заинтересованных в изучении применения функциональной парадигмы.

Эта книга является учебным пособием для программистов, которые хотят изучать FP и применять его для написания лучшего кода. Автор ведет читателя от базовых приемов к продвинутым темам в логической, лаконичной и понятной последовательности.

В книге рассматриваются следующие темы:
✔️ создание надежных приложений;
✔️ методы устранения побочных эффектов;
✔️ первоклассные функции для реализации чистых функций;
✔️ реализация лямбда-выражения в Go и многое другое.

Преимущества:
глубокое введение в тему;
все взаимосвязано, просто и продуманно.

Недостатки:
не обнаружено.
Может ли функция Go возвращать несколько значений?
Ответ: да, может. Происходит следующее: функция, которая возвращает одно значение, выделяет один слот в стеке, чтобы удерживать его, а функция, которая возвращает два значения, выделяет два слота в стеке для их хранения и так далее.
Основные операции, необходимые для начала работы с модулями
Go 1.11 и 1.12 включают предварительную поддержку модулей, новую систему управления зависимостями, которая делает информацию о версии зависимостей явной и простой в управлении. Модуль представляет собой набор пакетов Go, хранящихся в файловом дереве с файлом "go.mod" в корне. "go.mod" определяет путь модуля (module path), который также является путем импорта, используемого для корневого каталога. Его требование зависимостей, другие модули, необходимы для успешной сборки. Каждое требование к зависимости записывается в виде пути к модулю и конкретной семантической версии .

Начиная с Go 1.11, команда go позволяет использовать модули, если текущий каталог или любой родительский каталог имеет go.mod, при условии, что каталог находится снаружи $GOPATH/src. Внутри $GOPATH/src, для совместимости, команда go по-прежнему выполняется в старом режиме GOPATH, даже если go.mod найден. Начиная с Go 1.13, режим модуля будет использоваться по умолчанию для всех разработок.

В этих ссылках на четыре части одного большого поста можно найти более подробную информацию об использовани Go Modules:
Часть 1 - Использование Go Modules
Часть 2 - Миграция на Go Modules
Часть 3 - Публикация Go Modules
Часть 4 - Go Modules: v2 и последующие
Небольшой пакет golang для рендеринга разметки удобным для терминала способом
Пакет termd обеспечивает рендеринг разметки терминала с поддержкой подсветки синтаксиса блоков кода.
Особенности:
- подсветка синтаксиса кода,
- перенос слов до указанной ширины столбца,
- терминальный стиль.
Go Flutter для компьютера
Google Flutter — это платформа, которая позволяет вам разрабатывать приложения с единой кодовой базой на гугловском языке Dart. Flutter позволяет создавать красивые нативные приложения на iOS и Android. Этот неофициальный проект выводит Flutter на рабочий стол благодаря возможностям Go и GLFW. Сам механизм не знает, как обращаться с компьютером (например, обрабатывать ввод с клавиатуры / мыши). Вместо этого он предоставляет уровень абстракции для любой платформы для реализации. Целью этого проекта является реализация API встраивания Flutter с использованием единой кодовой базы, работающей в Windows, MacOS и Linux. GLFW подходит для этой задачи, потому что он предоставляет правильные абстракции поверх буфера / мыши / клавиатуры OpenGL для каждой платформы.
Go.dev: новый центр для разработчиков Go
"За последние два года, когда мы общались с пользователями компаний всех размеров, мы неоднократно слышали три вопроса: кто еще использует Go, для чего они его используют и как я могу найти полезные пакеты Go?", — сообщают в блоге Go.

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

golang.org по-прежнему является домом для проекта Go с открытым исходным кодом и дистрибутива Go. Go.dev — это сопутствующий сайт, предоставляющий эти вспомогательные ресурсы.
Статическая проверка в действии: инструмент статического анализа Staticcheck
Слишком часто мы обнаруживаем ошибки только после развертывания деплоя на продакшн. Даже на таком языке, как Go, можно писать неэффективный код и не отлавливать ошибки, пока не станет слишком поздно. Staticcheck — это инструмент статического анализа, который может решить эту проблему. Он специализируется на поиске ошибок, простоте кода, производительности и интеграции редактора. Staticcheck с открытым исходным кодом и предлагается бесплатно. Он постоянно дополняется новыми и улучшенными проверками.

Он имеет различные проверки:
- на неиспользуемые переменные,
- на откладывание метода Lock для мьютекса сразу после блокировки (пользователь, вероятно, намеревался вместо этого отложить Unlock),
- на недоступность кода и многое другое.