Golang Portal
7.9K subscribers
404 photos
26 videos
7 files
438 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Golang-разработчика

Связь: @devmangx
Download Telegram
Как собрать продакшн-готовый образ контейнера для Go-приложения

Достаточно ли тебе FROM scratch? Посмотри эти практические задания, чтобы разобраться с типичными проблемами контейнеризации Go:

- Cтатическая линковка: https://labs.iximiuz.com/challenges/dockerize-golang-application-static-linking

- Динамическая линковка https://labs.iximiuz.com/challenges/dockerize-golang-application-dynamic-linking


👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6
Создание простой виртуальной машины на Go

В этой статье процесс реализации VM на Go, которая работает с компилированным байткодом и обрабатывает базовые арифметические операции

🔹Читать

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥2🤔1
CLI-утилита на Go, которая привносит в Postgres декларативный workflow миграций схемы в стиле terraform

GitHub: pgschema

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥3🤔1🤯1
Docker 101: Передача переменных окружения в контейнеры

Приложения часто используют переменные окружения для настройки конфигурации. Однако контейнеризированные приложения работают в изолированной среде выполнения (в этом и суть контейнеров). Поэтому переменные окружения хост-системы по умолчанию им недоступны — это сделано намеренно.

Попрактикуйтесь в передаче переменных окружения в контейнеризированные приложения в рамках этого задания Docker 101: здесь

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥61
Хорошая статья: «Memory Allocation in Go»

В этой статье подробно разберём аллокатор памяти в Go. Посмотрим на его основные компоненты, на то, как они взаимодействуют при обслуживании аллокаций разного размера, а также как вместе с объектами в куче управляются стеки

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6
Знали ли вы, что пакет Go encoding/json не чувствителен к регистру при парсинге ключей JSON?

Это один из дефолтов, предложенных к изменению в новом пакете json/v2.

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🤯63👎1
В Go функции формата ExampleXxx одновременно служат и документацией, и тестами.

Тесты проверяют работу кода, сравнивая вывод.
📖 godocs встраивают исполняемые примеры, упрощая разработчикам старт.

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144
Библиотека для создания отказоустойчивых и надежных Go-приложений. Она работает за счёт обёртки функций одним или несколькими политикам устойчивости, которые можно комбинировать и компоновать по мере необходимости.

GitHub: failsafe-go

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
Есть два способа создавать пути в Go, в зависимости от ваших задач

- Собираете путь к файлу в Go?
Используйте filepath.Join из пакета path/filepath, чтобы получить разделители, зависящие от ОС.

- Собираете путь, разделённый слешами, например URL?
Используйте path.Join из пакета path, чтобы получить одинаковый результат вне зависимости от ОС.

На Unix-подобной ОС они могут выглядеть одинаково, но в среде Windows будут вести себя по-разному

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍118
Wireshark на Go для ваших Docker-контейнеров. Позволяет разработчикам видеть все входящие и исходящие запросы на их бэкенд-сервере, чтобы быстрее решать проблемы в продакшене

GitHub: subtrace

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥115
Graceful Shutdown в HTTP-серверах на Go: как обеспечить нулевой простой для живого трафик

Читать здесь

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
This media is not supported in your browser
VIEW IN TELEGRAM
Прокачай базовые навыки работы с Kubernetes

Вот практическое задание, которое проведёт тебя через весь жизненный цикл Pod’а — от его создания до инспектирования, выполнения команд внутри, просмотра логов и удаления.

Это отличный способ потренироваться, если ты только начинаешь работать с Kubernetes или хочешь увереннее чувствовать себя при работе с kubectl.

Попробуй здесь:
https://labs.iximiuz.com/challenges/kubernetes-pod-fundamentals-ad0b10b3

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5
SSH-туннели без лишней боли: поднимай и мониторь SSH-туннели из одного YAML-конфига, используя текущую настройку OpenSSH

GitHub: tunn

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥104
Тип Context в Go можно использовать для создания таймаутов. Это удобно, когда нужно задать лимит времени для любой функции, принимающей контекст

Пример: мы можем отменить веб-запрос, если он выполняется слишком долго, чтобы код не ждал дольше, чем нам нужно

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🌚1
Библиотека Go для создания таблиц с форматированным текстом в ASCII, Unicode, Markdown, HTML и раскрашенных терминалах. Отлично подходит для CLI-утилит, логов и веб-приложений.

GitHub: tablewriter

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍147
This media is not supported in your browser
VIEW IN TELEGRAM
Освойте деплойменты в Kubernetes

Нашел практическое задание, которое поможет разобраться, как работают Deployment'ы: от их создания до масштабирования, обновления образов, проверки состояния Pod'ов и отката изменений.

Отлично подходит для практики реальных операций, стоящих за kubectl apply/create и kubectl rollout.

Попробуйте здесь

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
This media is not supported in your browser
VIEW IN TELEGRAM
На GitHub есть репозиторий free-programming-books, где собрано более 4000 бесплатных книг, 2000 курсов и других полезных ресурсов по программированию

Для удобства поиска можно использовать этот инструмент

Этот проект - яркий пример силы опенсорс сообщества, который из клона списка со StackOverflow стал одним из самых популярных на GitHub ✌️

🔹 Русскоязычная версия ресурсов

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2🔥2
Серия обучающих статей по программированию на Go для сисадминов, девопсов и безопасников

https://www.gomonk.net/

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👎1