Начни работу с Docker на практике
Вот подборка годных практических заданий:
👉 @GolangPortal
Вот подборка годных практических заданий:
Установи Docker Engine на Linux: https://labs.iximiuz.com/challenges/docker-install-on-ubuntu
Запусти свои первые контейнеры: https://labs.iximiuz.com/challenges/docker-101-container-run
Собери и опубликуй свои первые образы: https://labs.iximiuz.com/challenges/build-and-publish-container-image-with-docker
Перемещай образы между репозиториями: https://labs.iximiuz.com/challenges/copy-container-image-from-one-repository-to-another-with-docker
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
Forwarded from IT Portal
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня отмечается День программиста!
256-й день года выбран не случайно:
С праздником, коллеги!☺️
@IT_Portal
256-й день года выбран не случайно:
Дата праздника объясняется расчетом: 2 (двоичная система исчисления) в степени 8 (количество битов в байте). То есть 2^8= 256. Поэтому в обычный год день программиста 13 сентября, а в високосный — 12 сентября
С праздником, коллеги!
@IT_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤10
В Go-тестах помечайте хелпер-функции вроде
Это заставляет тулчейн Go указывать на строку, где была вызвана функция, а не на строку внутри самой хелпера, что упрощает отладку упавших тестов
👉 @GolangPortal
assertEquals и doRequest с помощью t.Helper()Это заставляет тулчейн Go указывать на строку, где была вызвана функция, а не на строку внутри самой хелпера, что упрощает отладку упавших тестов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤6
Как собрать продакшн-готовый образ контейнера для Go-приложения
Достаточно ли тебе
👉 @GolangPortal
Достаточно ли тебе
FROM scratch? Посмотри эти практические задания, чтобы разобраться с типичными проблемами контейнеризации Go:- Cтатическая линковка: https://labs.iximiuz.com/challenges/dockerize-golang-application-static-linking
- Динамическая линковка https://labs.iximiuz.com/challenges/dockerize-golang-application-dynamic-linking
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6
Создание простой виртуальной машины на Go
В этой статье процесс реализации VM на Go, которая работает с компилированным байткодом и обрабатывает базовые арифметические операции
🔹 Читать
👉 @GolangPortal
В этой статье процесс реализации VM на Go, которая работает с компилированным байткодом и обрабатывает базовые арифметические операции
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🔥2🤔1
CLI-утилита на Go, которая привносит в Postgres декларативный workflow миграций схемы в стиле terraform
GitHub: pgschema
👉 @GolangPortal
GitHub: pgschema
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥3🤔1🤯1
Docker 101: Передача переменных окружения в контейнеры
Приложения часто используют переменные окружения для настройки конфигурации. Однако контейнеризированные приложения работают в изолированной среде выполнения (в этом и суть контейнеров). Поэтому переменные окружения хост-системы по умолчанию им недоступны — это сделано намеренно.
Попрактикуйтесь в передаче переменных окружения в контейнеризированные приложения в рамках этого задания Docker 101: здесь
👉 @GolangPortal
Приложения часто используют переменные окружения для настройки конфигурации. Однако контейнеризированные приложения работают в изолированной среде выполнения (в этом и суть контейнеров). Поэтому переменные окружения хост-системы по умолчанию им недоступны — это сделано намеренно.
Попрактикуйтесь в передаче переменных окружения в контейнеризированные приложения в рамках этого задания Docker 101: здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤1
Хорошая статья: «Memory Allocation in Go»
В этой статье подробно разберём аллокатор памяти в Go. Посмотрим на его основные компоненты, на то, как они взаимодействуют при обслуживании аллокаций разного размера, а также как вместе с объектами в куче управляются стеки
👉 @GolangPortal
В этой статье подробно разберём аллокатор памяти в Go. Посмотрим на его основные компоненты, на то, как они взаимодействуют при обслуживании аллокаций разного размера, а также как вместе с объектами в куче управляются стеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6
Знали ли вы, что пакет Go
Это один из дефолтов, предложенных к изменению в новом пакете
👉 @GolangPortal
encoding/json не чувствителен к регистру при парсинге ключей JSON?Это один из дефолтов, предложенных к изменению в новом пакете
json/v2.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🤯6❤3👎1
В Go функции формата
✅ Тесты проверяют работу кода, сравнивая вывод.
📖 godocs встраивают исполняемые примеры, упрощая разработчикам старт.
👉 @GolangPortal
ExampleXxx одновременно служат и документацией, и тестами.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4
Библиотека для создания отказоустойчивых и надежных Go-приложений. Она работает за счёт обёртки функций одним или несколькими политикам устойчивости, которые можно комбинировать и компоновать по мере необходимости.
GitHub: failsafe-go
👉 @GolangPortal
GitHub: failsafe-go
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1
Есть два способа создавать пути в Go, в зависимости от ваших задач
- Собираете путь к файлу в Go?
Используйте
- Собираете путь, разделённый слешами, например URL?
Используйте
На Unix-подобной ОС они могут выглядеть одинаково, но в среде Windows будут вести себя по-разному
👉 @GolangPortal
- Собираете путь к файлу в Go?
Используйте
filepath.Join из пакета path/filepath, чтобы получить разделители, зависящие от ОС.- Собираете путь, разделённый слешами, например URL?
Используйте
path.Join из пакета path, чтобы получить одинаковый результат вне зависимости от ОС.На Unix-подобной ОС они могут выглядеть одинаково, но в среде Windows будут вести себя по-разному
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤7
Wireshark на Go для ваших Docker-контейнеров. Позволяет разработчикам видеть все входящие и исходящие запросы на их бэкенд-сервере, чтобы быстрее решать проблемы в продакшене
GitHub: subtrace
👉 @GolangPortal
GitHub: subtrace
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤5
Graceful Shutdown в HTTP-серверах на Go: как обеспечить нулевой простой для живого трафик
Читать здесь
👉 @GolangPortal
Читать здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Прокачай базовые навыки работы с Kubernetes
Вот практическое задание, которое проведёт тебя через весь жизненный цикл Pod’а — от его создания до инспектирования, выполнения команд внутри, просмотра логов и удаления.
Это отличный способ потренироваться, если ты только начинаешь работать с Kubernetes или хочешь увереннее чувствовать себя при работе с
Попробуй здесь:
https://labs.iximiuz.com/challenges/kubernetes-pod-fundamentals-ad0b10b3
👉 @GolangPortal
Вот практическое задание, которое проведёт тебя через весь жизненный цикл Pod’а — от его создания до инспектирования, выполнения команд внутри, просмотра логов и удаления.
Это отличный способ потренироваться, если ты только начинаешь работать с Kubernetes или хочешь увереннее чувствовать себя при работе с
kubectl.Попробуй здесь:
https://labs.iximiuz.com/challenges/kubernetes-pod-fundamentals-ad0b10b3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍5
SSH-туннели без лишней боли: поднимай и мониторь SSH-туннели из одного YAML-конфига, используя текущую настройку OpenSSH
GitHub: tunn
👉 @GolangPortal
GitHub: tunn
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤4
Тип 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
GitHub: tablewriter
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤7