Для миграции схем баз данных в Go используется библиотека golang-migrate. В статье показано на примерах, как ее использовать. Далее автор приводит примеры работы различных библиотек на примере выполнения операций CRUD (создание, чтение, модификация, удаление) над базой данных.
DEV Community
How to write & run database migration in Golang
When working with database, schema migration is one important task that we often have to do throughou...
❇️ Команда Библиотеки программиста ищет редактора-копирайтера для подготовки публикаций
Что делать:
— Подготовка нативных материалов по IT-тематике согласно контент-плану. Темы: программирование, информационная безопасность, Data Science и другие. Форматы материалов: лонгриды, обзоры, интервью, тесты, викторины и переводы англоязычных публикаций.
— Редакторская работа со структурой материала под ключ.
— Коммуникация с командой по внесению правок.
— Факт-чекинг, корректура написанных материалов.
Требования:
— Опыт написания материалов для IT-медиа, продукта или компании.
— Понимание целевой аудитории и SEO-оптимизации.
— Умение написания материалов, полезных как для читателя, так и заказчика.
— Знание английского языка для чтения и перевода иностранных источников.
— Приветствуется знание основ программирования и других направлений в IT-сфере.
— Готовность к выполнению тестового задания (оплачиваемое).
— Работа в команде с главным редактором.
Условия:
— Удаленная работа с соблюдением дедлайнов.
— Оплата 40-50 тыс.руб. в зависимости от опыта работы, выплаты два раза в месяц.
С кем связаться:
Откликнуться на вакансию: artem@proglib.io. Присылайте несколько предложений о себе и опыте работы, ссылки на примеры публикаций. Резюме присылать не нужно. В случае взаимного интереса, мы пришлем вам тестовое задание.
Что делать:
— Подготовка нативных материалов по IT-тематике согласно контент-плану. Темы: программирование, информационная безопасность, Data Science и другие. Форматы материалов: лонгриды, обзоры, интервью, тесты, викторины и переводы англоязычных публикаций.
— Редакторская работа со структурой материала под ключ.
— Коммуникация с командой по внесению правок.
— Факт-чекинг, корректура написанных материалов.
Требования:
— Опыт написания материалов для IT-медиа, продукта или компании.
— Понимание целевой аудитории и SEO-оптимизации.
— Умение написания материалов, полезных как для читателя, так и заказчика.
— Знание английского языка для чтения и перевода иностранных источников.
— Приветствуется знание основ программирования и других направлений в IT-сфере.
— Готовность к выполнению тестового задания (оплачиваемое).
— Работа в команде с главным редактором.
Условия:
— Удаленная работа с соблюдением дедлайнов.
— Оплата 40-50 тыс.руб. в зависимости от опыта работы, выплаты два раза в месяц.
С кем связаться:
Откликнуться на вакансию: artem@proglib.io. Присылайте несколько предложений о себе и опыте работы, ссылки на примеры публикаций. Резюме присылать не нужно. В случае взаимного интереса, мы пришлем вам тестовое задание.
Автор статьи выделяет три общих проблемы программирования и не очень очевидные решения с помощью Golang.
https://proglib.io/w/3c213a9c
https://proglib.io/w/3c213a9c
Medium
Golang: Three common programming Problems
And three not very very obvious Golang solutions
Полный список видеозаписей докладов с GolangConf 2019: https://proglib.io/w/fa57af9a
Реализация классической игры в понг на Go и WebAssembly: https://proglib.io/w/74eecb16
Making Pong with Go and WebAssembly
Making Pong with Go and WebAssembly :: dstoiko personal blog —
TL;DR For those of you in a hurry: I made a version of the classic Pong game using Go and WebAssembly. I then embedded that game on my website. Warning: it works only on desktop now (no handling of touch). Here is the game, enjoy:
Why WebAssembly WebAssembly…
Why WebAssembly WebAssembly…
Project-layout — репозиторий, в котором собран базовый набор общих исторических и появляющихся макетов проектов в экосистеме Go.
По мере роста вашего проекта, имейте в виду, что будет важно убедиться, что ваш код хорошо структурирован, иначе вы получите грязный код с множеством скрытых зависимостей. Когда над проектом будет работать больше людей, вам понадобится еще больше структур. Именно тогда важно ввести общий способ управления пакетами / библиотеками.
https://proglib.io/w/baa7d5aa
По мере роста вашего проекта, имейте в виду, что будет важно убедиться, что ваш код хорошо структурирован, иначе вы получите грязный код с множеством скрытых зависимостей. Когда над проектом будет работать больше людей, вам понадобится еще больше структур. Именно тогда важно ввести общий способ управления пакетами / библиотеками.
https://proglib.io/w/baa7d5aa
GitHub
GitHub - golang-standards/project-layout: Standard Go Project Layout
Standard Go Project Layout. Contribute to golang-standards/project-layout development by creating an account on GitHub.
Мы снова проводим конкурс (с увеличенным призовым фондом) во ВКонтакте для самых креативных из вас на лучший мем для статьи с нашего сайта. Правила простые:
1. Вы берете произвольную статью с сайта, не утратившую свою актуальность
2. Делаете для нее мем
3. Отправляете в предложенные новости ссылку и вашу картинку
4. Мы оформляем и публикуем.
Автор картинки с публикацией с наибольшим охватом среди всех нам отправленных получит 15 тысяч рублей. Поехали: https://vk.com/proglib
Срок окончания конкурса — 18 августа 2020 года.
1. Вы берете произвольную статью с сайта, не утратившую свою актуальность
2. Делаете для нее мем
3. Отправляете в предложенные новости ссылку и вашу картинку
4. Мы оформляем и публикуем.
Автор картинки с публикацией с наибольшим охватом среди всех нам отправленных получит 15 тысяч рублей. Поехали: https://vk.com/proglib
Срок окончания конкурса — 18 августа 2020 года.
Разбираем продвинутые техники отладки кода: https://proglib.io/w/ae45c3c7
Medium
Debug Go Like a Pro
From profiling to debugging and everything in between
Разбираем причины неожиданного наследования переменной среды PATH и практические приемы работы с ней: https://proglib.io/w/73e441b5
haroldadmin
Finding the correct PATH
Fixing the PATH environment variable inherited by child processes from their parents
Луковая Архитектура помогает разработчикам моделировать свою бизнес-логику в базовой коллекции без привязки к внешним проблемам, таким как выбор базы данных или работа пользовательского интерфейса. Разбираемся с тем, как выглядит луковая архитектура с примерами на Go.
https://proglib.io/w/f503fbb3
https://proglib.io/w/f503fbb3
DEV Community
Onion Architecture 🧅
Onions are a delicious vegetable and are a core ingredient in cuisines around the world. Perhaps then...
Качественная и ёмкая подборка учебных курсов и материалов по Golang от Ardanlabs: https://proglib.io/w/162babbd
GitHub
GitHub - ardanlabs/gotraining: Go Training Class Material :
Go Training Class Material : . Contribute to ardanlabs/gotraining development by creating an account on GitHub.
Оператор
Оператор
Иными словами,
select
в Go похож на switch
без аргументов, но он может использоваться только для операций с каналами. Оператор select
используется для выполнения операции только с одним из множества каналов, условно выбранного блоком case.Оператор
select
выбирает первый готовый канал, и получает сообщение из него, или же передает сообщение через него. Когда готовы несколько каналов, получение сообщения происходит из случайно выбранного готового канала. Если же ни один из каналов не готов, оператор блокирует ход программы до тех пор, пока какой-либо из каналов будет готов к отправке или получению.Иными словами,
select
блокируется до тех пор, пока один из его блоков case не будет готов к запуску, а затем выполняет этот блок. Если сразу несколько блоков могут быть запущены, то выбирается произвольный.Основы и различные варианты форматирования строк в Go: https://proglib.io/w/b96d315c
Medium
String formatting in Go
String formatting or String interpolation is an important concept in any language. Printf would probably be the general implementation of…
В статье подробно описан процесс создания и защиты Go API с помощью JSON Web Tokens (JWT), а также использования JWT с современным пользовательским интерфейсом React. При этом пользователи аутентифицируются на стороне React с помощью Auth0, а затем отправляют запрос в Go API, указывая свой маркер доступа в запросе.
https://proglib.io/w/c80b6178
https://proglib.io/w/c80b6178
Auth0 - Blog
Authentication in Golang and React using JWTs
Practice Go and React by building and authenticating a RESTful API with JSON Web Tokens (JWTs).
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.
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
Для интересующихся фронтендом открылась возможность поступить на факультет Frontend-разработки. Практикующие специалисты со стажем учат всему, что нужно: адаптивно верстать, кроить веб-приложения, понимать Vue и React, использовать концепции Flux и Redux, работать с Node.js и Git. ➕ 5 проектов в портфолио.
Самое классное, что это не просто обучение «для галочки» ✅, а университет с гарантированным трудоустройством 💸. Интересно? Смотрите сами: https://proglib.io/w/f0e46b94
Иллюстрация истории языка Go. На заметку для тех, кто что-то забыл.