Библиотека Go-разработчика | Golang
23.3K subscribers
2.07K 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 используется библиотека golang-migrate. В статье показано на примерах, как ее использовать. Далее автор приводит примеры работы различных библиотек на примере выполнения операций CRUD (создание, чтение, модификация, удаление) над базой данных.
❇️ Команда Библиотеки программиста ищет редактора-копирайтера для подготовки публикаций

Что делать:
— Подготовка нативных материалов по IT-тематике согласно контент-плану. Темы: программирование, информационная безопасность, Data Science и другие. Форматы материалов: лонгриды, обзоры, интервью, тесты, викторины и переводы англоязычных публикаций.
— Редакторская работа со структурой материала под ключ.
— Коммуникация с командой по внесению правок.
— Факт-чекинг, корректура написанных материалов.

Требования:
— Опыт написания материалов для IT-медиа, продукта или компании.
— Понимание целевой аудитории и SEO-оптимизации.
— Умение написания материалов, полезных как для читателя, так и заказчика.
— Знание английского языка для чтения и перевода иностранных источников.
— Приветствуется знание основ программирования и других направлений в IT-сфере.
— Готовность к выполнению тестового задания (оплачиваемое).
— Работа в команде с главным редактором.

Условия:
— Удаленная работа с соблюдением дедлайнов.
— Оплата 40-50 тыс.руб. в зависимости от опыта работы, выплаты два раза в месяц.

С кем связаться:
Откликнуться на вакансию: artem@proglib.io. Присылайте несколько предложений о себе и опыте работы, ссылки на примеры публикаций. Резюме присылать не нужно. В случае взаимного интереса, мы пришлем вам тестовое задание.
Автор статьи выделяет три общих проблемы программирования и не очень очевидные решения с помощью Golang.

https://proglib.io/w/3c213a9c
Полный список видеозаписей докладов с GolangConf 2019: https://proglib.io/w/fa57af9a
Project-layout — репозиторий, в котором собран базовый набор общих исторических и появляющихся макетов проектов в экосистеме Go.

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

https://proglib.io/w/baa7d5aa
​​Мы снова проводим конкурс (с увеличенным призовым фондом) во ВКонтакте для самых креативных из вас на лучший мем для статьи с нашего сайта. Правила простые:

1. Вы берете произвольную статью с сайта, не утратившую свою актуальность
2. Делаете для нее мем
3. Отправляете в предложенные новости ссылку и вашу картинку
4. Мы оформляем и публикуем.

Автор картинки с публикацией с наибольшим охватом среди всех нам отправленных получит 15 тысяч рублей. Поехали: https://vk.com/proglib

Срок окончания конкурса — 18 августа 2020 года.
Разбираем причины неожиданного наследования переменной среды PATH и практические приемы работы с ней: https://proglib.io/w/73e441b5
Луковая Архитектура помогает разработчикам моделировать свою бизнес-логику в базовой коллекции без привязки к внешним проблемам, таким как выбор базы данных или работа пользовательского интерфейса. Разбираемся с тем, как выглядит луковая архитектура с примерами на Go.

https://proglib.io/w/f503fbb3
#вопросы_для_самопроверки

Объясните назначение оператора выбора (select) для каналов в Go.
Оператор select в Go похож на switch без аргументов, но он может использоваться только для операций с каналами. Оператор select используется для выполнения операции только с одним из множества каналов, условно выбранного блоком case.

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

Иными словами, select блокируется до тех пор, пока один из его блоков case не будет готов к запуску, а затем выполняет этот блок. Если сразу несколько блоков могут быть запущены, то выбирается произвольный.
В статье подробно описан процесс создания и защиты Go API с помощью JSON Web Tokens (JWT), а также использования JWT с современным пользовательским интерфейсом React. При этом пользователи аутентифицируются на стороне React с помощью Auth0, а затем отправляют запрос в Go API, указывая свой маркер доступа в запросе.

https://proglib.io/w/c80b6178
distributed-services-with-go.pdf
2.5 MB
Distributed Services with Go
Your Guide to Reliable, Scalable, and Maintainable Systems (2020)

Автор(ы): Travis Jeffery

Бета-версия книги, которая поможет поднять навыки Go на новый уровень, узнав, как проектировать, разрабатывать и развертывать распределенные сервисы.

Вы начнете с самых простых основ обработки хранилищ, изучите сеть клиента и сервера и, наконец, рассмотрите экземпляры серверов, развертывание и тестирование.

С помощью книги вы научитесь размещать свои приложения и библиотеки так, чтобы они были модульными и простыми в обслуживании; создавать сетевые, защищенные клиенты и серверы с помощью gRPC; контролировать приложения с помощью метрик, журналов и трассировок; тестировать и сравнивать приложения; развертывать приложения в облаке с помощью Kubernetes и управлять ими с помощью собственного оператора Kubernetes.
Многие слышали про отличный курс факультета веб-разработки GeekBrains. Но не всем по душе корпеть над базами данных и разбираться в бэкенде. Хочется сразу видеть результат 👀

Для интересующихся фронтендом открылась возможность поступить на факультет Frontend-разработки. Практикующие специалисты со стажем учат всему, что нужно: адаптивно верстать, кроить веб-приложения, понимать Vue и React, использовать концепции Flux и Redux, работать с Node.js и Git. 5 проектов в портфолио.

Самое классное, что это не просто обучение «для галочки» , а университет с гарантированным трудоустройством 💸. Интересно? Смотрите сами: https://proglib.io/w/f0e46b94
​​Иллюстрация истории языка Go. На заметку для тех, кто что-то забыл.