#статьи
😐 Разбор DNS: от основ до создания DNS-сервера на Go
Статья объясняет основы DNS, процесс разрешения доменных имен и создание собственного DNS-сервера на Go.
Автор рассматривает работу DNS-запросов и делится проектом DNS-сервера с веб-интерфейсом на GitHub.
Читать
👉 Новости 👉 База вопросов
Статья объясняет основы DNS, процесс разрешения доменных имен и создание собственного DNS-сервера на Go.
Автор рассматривает работу DNS-запросов и делится проектом DNS-сервера с веб-интерфейсом на GitHub.
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Насколько увеличивается слайс при append?
При добавлении элементов с помощью
👉 Новости 👉 База вопросов
При добавлении элементов с помощью
append
слайс увеличивается по мере необходимости. Если текущей емкости недостаточно, выделяется новый массив, обычно с увеличением емкости в 2 раза. Это делает операцию добавления эффективной в большинстве случаев, но может привести к перерасходу памяти.Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🥺 tenv — универсальный менеджер версий для OpenTofu, Terraform, Terragrunt и Atmos
В проектах с разными версиями Terraform, OpenTofu, Terragrunt или Atmos важно быстро и надёжно переключаться между ними.
tenv автоматизирует этот процесс и делает его максимально удобным.
Возможности
🟠 Гибкое управление версиями — легко переключайтесь между версиями OpenTofu, Terraform, Terragrunt и Atmos
🟠 Автоматическое определение версии — анализирует все релевантные конфигурационные файлы и точно подбирает нужную версию
🟠 Проверка подписи — поддержка PGP (через gopenpgp) и cosign
🟠 Быстрее и стабильнее, чем tfenv и аналоги — написан на Go, без Shell-магии
🟠 Кроссплатформенный — работает на Linux, macOS, Windows и других ОС
🟠 Простая установка — доступен через Homebrew, APT, Chocolatey и другие пакетные менеджеры
🟠 Использование как Go-модуля — предоставляет стабильный API через tenvlib для интеграции в собственные решения
tenv совместим с синтаксисом
Гитхаб
👉 Новости 👉 База вопросов
В проектах с разными версиями Terraform, OpenTofu, Terragrunt или Atmos важно быстро и надёжно переключаться между ними.
tenv автоматизирует этот процесс и делает его максимально удобным.
Возможности
tenv совместим с синтаксисом
tfenv / tofuenv,
но предлагает более надёжную архитектуру и современный подход к управлению версиями в DevOps- и SRE-процессах.Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Автоматическое TDT
Table-Driven Testing — это когда ты не пишешь 10 одинаковых t.Errorf, а делаешь одну таблицу кейсов и запускаешь их в цикле.
В GoLand это можно сделать с помощью команды Ctrl+Shift+T → Create New Test → Table Test:
Остаётся добавить тест-кейсы и тест готов.
👉 Новости 👉 База вопросов
Table-Driven Testing — это когда ты не пишешь 10 одинаковых t.Errorf, а делаешь одну таблицу кейсов и запускаешь их в цикле.
В GoLand это можно сделать с помощью команды Ctrl+Shift+T → Create New Test → Table Test:
func TestMyFunction(t *testing.T) {
tests := []struct {
name string
args args
want string
}{
// TODO: Add test cases.
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := MyFunction(tt.args); got != tt.want {
t.Errorf("MyFunction() = %v, want %v", got, tt.want)
}
})
}
}
Остаётся добавить тест-кейсы и тест готов.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Goto: зло или добро
С одной стороны, его ненавидят. За то, что он ломает структуру, разрушает читаемость, делает отладку похожей на побег из лабиринта без карты. В любом учебнике по хорошему коду скажут: «никогда не используй goto».
Но с другой стороны — низкоуровневый код, драйвера, критические участки, где goto не только оправдан, но и единственный способ не утонуть в if-else-аду и ручной очистке ресурсов. Там он превращается из анархиста в спасателя.
👉 Новости 👉 База вопросов
С одной стороны, его ненавидят. За то, что он ломает структуру, разрушает читаемость, делает отладку похожей на побег из лабиринта без карты. В любом учебнике по хорошему коду скажут: «никогда не используй goto».
Но с другой стороны — низкоуровневый код, драйвера, критические участки, где goto не только оправдан, но и единственный способ не утонуть в if-else-аду и ручной очистке ресурсов. Там он превращается из анархиста в спасателя.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Какие основные структуры данных есть в Go?
Основные структуры данных в Go включают массивы, слайсы, карты (maps), строки и структуры (structs). Они покрывают широкий спектр задач, от работы с последовательностями данных до создания сложных пользовательских типов.
👉 Новости 👉 База вопросов
Основные структуры данных в Go включают массивы, слайсы, карты (maps), строки и структуры (structs). Они покрывают широкий спектр задач, от работы с последовательностями данных до создания сложных пользовательских типов.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🤓 Простой в использовании reverse proxy с интеграцией в Docker, написанный на Go
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😎 CKAD 2025. Самый свежий гайд по сдаче сертификации Certified Kubernetes Application Developer
CKAD стал более строгим к деталям — без системной подготовки можно завалить даже на банальных заданиях. Если хочется разобраться, что важно для получения сертификации — эта статья сэкономит часы.
Читать статью
👉 Новости 👉 База вопросов
CKAD стал более строгим к деталям — без системной подготовки можно завалить даже на банальных заданиях. Если хочется разобраться, что важно для получения сертификации — эта статья сэкономит часы.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫠 Connect-four – это реализация классической игры «Четыре в ряд» для командной строки, написанная на Go.
В этой игре вы бросаете фишки, стремясь составить линию из четырёх подряд по горизонтали, вертикали или диагонали.
Главная фишка проекта – AI противник, который оказывается неожиданно умным и сложным, заставляя вас применять стратегическое мышление и тактику.
ного интеллекта в играх.
Гитхаб
👉 Новости 👉 База вопросов
В этой игре вы бросаете фишки, стремясь составить линию из четырёх подряд по горизонтали, вертикали или диагонали.
Главная фишка проекта – AI противник, который оказывается неожиданно умным и сложным, заставляя вас применять стратегическое мышление и тактику.
ного интеллекта в играх.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое утиная типизация?
Утиная типизация в Go означает, что объект соответствует интерфейсу, если он реализует все методы этого интерфейса, независимо от явного объявления. Это упрощает использование полиморфизма и делает код более гибким.
👉 Новости 👉 База вопросов
Утиная типизация в Go означает, что объект соответствует интерфейсу, если он реализует все методы этого интерфейса, независимо от явного объявления. Это упрощает использование полиморфизма и делает код более гибким.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👍 GGH — это инструмент для управления SSH-сессиями, который позволяет быстро повторно подключаться к серверам и искать записи в конфигурационном файле ~/.ssh/config!
Он действует как оболочка поверх SSH, улучшая удобство работы без замены стандартного клиента.
Гитхаб
👉 Новости 👉 База вопросов
Он действует как оболочка поверх SSH, улучшая удобство работы без замены стандартного клиента.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 gosec — это инструмент статического анализа кода для Go, который выявляет уязвимости, сканируя AST и SSA-представление программы.
Вместо поверхностного поиска шаблонов он анализирует структуру кода, что позволяет находить сложные уязвимости, такие как SQL-инъекции, проблемы с криптографией или неправильные настройки TLS.
Инструмент можно легко настраивать: включать только нужные проверки, исключать определенные файлы и выводить отчеты в разных форматах.
Гитхаб
👉 Новости 👉 База вопросов
Вместо поверхностного поиска шаблонов он анализирует структуру кода, что позволяет находить сложные уязвимости, такие как SQL-инъекции, проблемы с криптографией или неправильные настройки TLS.
Инструмент можно легко настраивать: включать только нужные проверки, исключать определенные файлы и выводить отчеты в разных форматах.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Notify — интрумент, представляющий способ получать мгновенные оповещения о критических событиях прямо в любимые мессенджеры и почту.
Проект подходит для любых сценариев уведомлений: от оповещений о завершении CI/CD-сборок до сигналов от домашних скриптов.
С недавних пор добавили поддержку
Гитхаб
👉 Новости 👉 База вопросов
Проект подходит для любых сценариев уведомлений: от оповещений о завершении CI/CD-сборок до сигналов от домашних скриптов.
С недавних пор добавили поддержку
Telegram, Slack, Discord
и других платформ через единый интерфейс. Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #redis
🤔 Какие существуют типы данных в Redis и их сценарии использования?
Redis поддерживает следующие типы данных:
- Strings: Хранение текста или бинарных данных (например, кэши, счетчики).
- Lists: Списки элементов в порядке добавления (например, очереди задач).
- Sets: Неупорядоченные коллекции уникальных строк (например, теги, списки пользователей).
- Sorted Sets: Похожи на множества, но каждый элемент имеет оценку (например, рейтинги, лидерборды).
- Hashes: Хранение объектов с полями и значениями (например, данные пользователя).
- Bitmaps и HyperLogLogs: Для работы с битами и оценкой количества уникальных элементов.
👉 Новости 👉 База вопросов
Redis поддерживает следующие типы данных:
- Strings: Хранение текста или бинарных данных (например, кэши, счетчики).
- Lists: Списки элементов в порядке добавления (например, очереди задач).
- Sets: Неупорядоченные коллекции уникальных строк (например, теги, списки пользователей).
- Sorted Sets: Похожи на множества, но каждый элемент имеет оценку (например, рейтинги, лидерборды).
- Hashes: Хранение объектов с полями и значениями (например, данные пользователя).
- Bitmaps и HyperLogLogs: Для работы с битами и оценкой количества уникальных элементов.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 dbc4go
Это AI-генератор кода, который берет Go-код с контрактами (правилами), написанными прямо в комментариях, и создает новую версию кода.
🟠 Как работает?
Он "инструментирует" ваш код, добавляя в начало функций/методов блоки проверки, которые следят за выполнением контрактов во время работы программы.
🟠 Зачем нужно?
Чтобы автоматически проверять соблюдение условий (например, что функция получает правильные входные данные или возвращает ожидаемый результат) во время выполнения. Если контракт нарушен — программа упадет (panic), явно указывая на проблему.
🟠 Преимущество:
Контракты находятся в комментариях, поэтому исходный код остается валидным Go-кодом. Инструментированную версию можно использовать для тестирования (например, запустить go generate, а потом go test), чтобы повысить шансы на обнаружение багов, комбинируя тесты и контракты.
По сути, dbc4go помогает писать более надежный код на Go, внедряя проверки контрактов непосредственно во время выполнения.
Гитхаб
👉 Новости 👉 База вопросов
Это AI-генератор кода, который берет Go-код с контрактами (правилами), написанными прямо в комментариях, и создает новую версию кода.
Он "инструментирует" ваш код, добавляя в начало функций/методов блоки проверки, которые следят за выполнением контрактов во время работы программы.
Чтобы автоматически проверять соблюдение условий (например, что функция получает правильные входные данные или возвращает ожидаемый результат) во время выполнения. Если контракт нарушен — программа упадет (panic), явно указывая на проблему.
Контракты находятся в комментариях, поэтому исходный код остается валидным Go-кодом. Инструментированную версию можно использовать для тестирования (например, запустить go generate, а потом go test), чтобы повысить шансы на обнаружение багов, комбинируя тесты и контракты.
По сути, dbc4go помогает писать более надежный код на Go, внедряя проверки контрактов непосредственно во время выполнения.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😴 GoDoxy — лёгкий и быстрый reverse proxy с Web UI.
Особенности:
— простая настройка;
— многоузловая конфигурация с агентами;
— понятные сообщения об ошибках;
— авто SSL через Let's Encrypt (DNS-01);
— горячая перезагрузка при изменениях;
— маршруты из Docker-контейнеров;
— idlesleeper: спящий режим при простое;
— резервный HTTP-прокси и перенаправление TCP/UDP;
— поддержка OpenID Connect;
— middleware и кастомные страницы ошибок;
— Web UI: управление, редактор, мониторинг, логи;
— работает на Linux/AMD64, Linux/ARM64.
Гитхаб
👉 Новости 👉 База вопросов
Особенности:
— простая настройка;
— многоузловая конфигурация с агентами;
— понятные сообщения об ошибках;
— авто SSL через Let's Encrypt (DNS-01);
— горячая перезагрузка при изменениях;
— маршруты из Docker-контейнеров;
— idlesleeper: спящий режим при простое;
— резервный HTTP-прокси и перенаправление TCP/UDP;
— поддержка OpenID Connect;
— middleware и кастомные страницы ошибок;
— Web UI: управление, редактор, мониторинг, логи;
— работает на Linux/AMD64, Linux/ARM64.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Библиотека обработки ошибок на Go с читаемыми трассировками стека и гибкой поддержкой форматирования
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #redis
🤔 Как масштабировать Redis?
Redis можно масштабировать несколькими Способами: - Репликация: Создание реплик для распределения нагрузки чтения.
- Sentinel: Обеспечение отказоустойчивости и автоматического переключения при сбоях.
- Кластеризация: Использование Redis Cluster для горизонтального распределения данных между узлами.
👉 Новости 👉 База вопросов
Redis можно масштабировать несколькими Способами: - Репликация: Создание реплик для распределения нагрузки чтения.
- Sentinel: Обеспечение отказоустойчивости и автоматического переключения при сбоях.
- Кластеризация: Использование Redis Cluster для горизонтального распределения данных между узлами.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
📞 Goshs — это удобная и функциональная система передачи файлов на Go, альтернатива Python библиотеки SimpleHTTPServer.
Позволяет загружать и скачивать файлы через HTTP/S с поддержкой самоподписанных или пользовательских сертификатов и базовой аутентификацией.
Ключевые возможности: загрузка/скачивание в .zip, поддержка
Дополнительно: аутентификация, работа с буфером обмена, WebDAV (чтение), настройка тем и выполнение команд на хосте.
Гитхаб
👉 Новости 👉 База вопросов
Позволяет загружать и скачивать файлы через HTTP/S с поддержкой самоподписанных или пользовательских сертификатов и базовой аутентификацией.
Ключевые возможности: загрузка/скачивание в .zip, поддержка
POST/PUT-
запросов, доступ через Drag & Drop, удаление файлов (по одному или массово). Дополнительно: аутентификация, работа с буфером обмена, WebDAV (чтение), настройка тем и выполнение команд на хосте.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM