Golang Backend | YeaHub
630 subscribers
181 photos
19 videos
1 file
307 links
Теория, подготовка к интервью и курсы для Golang разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
🛞 RoadRunner — высокопроизводительный application server на Go. Этот проект заменяет связку Nginx+PHP-FPM, позволяя запускать PSR-7-совместимые приложения с поддержкой HTTP/3, WebSockets и даже Temporal workflow.

Конфигурация через .rr.yaml напоминает docker-compose: можно подключать очереди, кеш и метрики как плагины. Рабочие процессы PHP остаются в памяти, что даёт до 10x прирост скорости против традиционного FPM. Особенно радует встроенная система мониторинга и автоматические рестарты упавших воркеров.
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 OneUptime — open-source-платформа для мониторинга всего и сразу. Этот инструмент предлагает готовый комплект: от мониторинга uptime до управления инцидентами. Редкий случай, когда open-source-проект не уступает коммерческим аналогам по функционалу.

Особенность проекта в глубокой интеграция компонентов. Например, при падении сервиса система автоматически создаёт инцидент, уведомляет ответственных через эскалацию и обновляет статус-страницу. Есть даже встроенный APM с трейсами и метриками производительности. Развернуть можно на Kubernetes или через Docker Compose.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #kubernetes
🤔 Что такое Pod в Kubernetes?

Pod - это наименьшая развертываемая единица в Kubernetes, представляющая собой один или несколько контейнеров, работающих вместе. Контейнеры внутри Pod-а разделяют сеть и файловую систему, что позволяет им взаимодействовать друг с другом. Kubernetes управляет Pod-ами, назначая их узлам (nodes) и обеспечивая их работу.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Важные аспекты при использовании пакета time в Go 9/10

При работе со значениями времени в Go одной из самых распространённых операций является сравнение двух временных меток.

Однако эта на первый взгляд простая задача может привести к скрытым ошибкам, если не учитывать разницу между использованием оператора сравнения == и методом Equal()

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Ужасно подробные ошибки в API: пишем на Go инструмент для работы с ними

Меня зовут Александр Лырчиков, я разрабатываю систему хранения данных TATLIN.UNIFIED в YADRO. СХД — сложная система, и, если при работе произошла ошибка, она должна своевременно и понятно сообщать пользователю об этом. В большинстве веб-сервисов для этого используют баннер с надписью «Что-то пошло не так», но такой способ уведомления нам не подходит.

Мы столкнулись с проблемой, когда переданных сообщений и HTTP-кодов уже не хватает. Поэтому разработали собственный инструмент для обработки ошибок Terror (TATLIN + error). В результате работа с кодом стала проще, мы получили красивый API, а пользователи — понятное описание ошибки и локализацию текста на разные языки. В этой статье расскажу, как мы создавали Terror, чтобы вы смогли повторить решение.
Хабр

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21
#статьи
🥺 Централизованная обработка HTTP-ошибок в Go

Статья от Алексиса Буше предлагает простой и эффективный способ централизовать обработку ошибок в HTTP-хендлерах на Go, чтобы избежать повторяющегося кода и улучшить читаемость.

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #kubernetes
🤔 Что такое узел (node) в Kubernetes?

Узел (node) - это сервер в кластере Kubernetes, который выполняет контейнеры. Он может быть физическим или виртуальным. В каждом узле работает агент kubelet , который управляет Pod-ами и взаимодействует с управляющей плоскостью кластера. Узлы объединяются в кластер для совместной работы и балансировки нагрузки.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#полезное
😇 Stoolap — лёгкая и быстрая SQL-база данных на чистом Go без зависимостей

Stoolap — это современный HTAP-движок (Hybrid Transactional/Analytical Processing), сочетающий OLTP и OLAP в одном ядре. Подходит как для транзакционных задач, так и для аналитики.

🚩Возможности:
• Полностью написан на Go — никаких внешних зависимостей
• ACID-транзакции через MVCC
• Колонковое хранение с SIMD-ускорением
• Поддержка SQL: JOIN, агрегаты, оконные функции
• Встроенный тип JSON
• Поддержка database/sql и интеграция с GORM
• CLI-режим и in-memory база

Установка:

go get github.com/stoolap/stoolap


Быстрый старт (CLI):

stoolap -db memory://


Репозиторий: https://github.com/stoolap/stoolap
Сайт: https://stoolap.io


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
👍 Мощный уровень автоматизации, построенный поверх FFmpeg — разработан для того, чтобы сделать перекодирование видео и аудио проще, умнее и удобнее для интеграции.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
📞 Обрабатывайте 8 байт за раз, используя старую технику под названием Simd Within a Register (SWAR), на Go
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #kubernetes
🤔 Что такое кластер Kubernetes?

Кластер Kubernetes - это группа узлов (серверов), на которых запускаются контейнеризированные приложения. В кластере есть управляющий компонент (control plane) и рабочие узлы (worker nodes), которые выполняют контейнеры. Kubernetes управляет кластером, обеспечивая автоматическое развертывание, масштабирование и балансировку нагрузки.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
👋 godump — удобный Go-инструмент для дампа объектов в читаемом виде

godump — это мощная альтернатива fmt.Printf("%#v") и spew.Dump для Go-разработчиков.

Инструмент помогает красиво и наглядно выводить внутреннее содержимое структур, карт, срезов и других объектов.

Что умеет godump:
• Красиво форматирует вложенные структуры и срезы
• Поддерживает карты, интерфейсы, указатели, циклы
• Вывод в цвете (ANSI) и с отступами
• Умеет обходить циклические ссылки
• Простой API: godump.Dump(anyObject)

Отлично подходит для:
🟠 Отладки и логирования сложных структур
🟠 Инспекции JSON-данных после анмаршалинга
🟠 Быстрой визуальной проверки содержимого без IDE

Пример использования:

import "github.com/goforj/godump"

type User struct {
Name string
Tags []string
}

func main() {
user := User{"Alice", []string{"dev", "golang"}}
godump.Dump(user)
}


Установка:

go get github.com/goforj/godump

Гитхаб

Если fmt.Println уже не справляется — попробуй godump. Красиво. Быстро. Глубоко.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1
#полезное
🫡 Пошаговое прохождение полного TLS-рукопожатия в Go: от перехвата ClientHello до настройки сертификата и зашифрованных сессий в одном понятном руководстве
Тык сюда

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🏠 Библиотека на Go, предоставляющая контекстно-зависимые семафоры, в которых ограничения параллелизма применяются для каждого уникального произвольного ключа, что позволяет реализовать тонкую блокировку ресурсов
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #kubernetes
🤔 Каковы преимущества использования Kubernetes?

Kubernetes автоматизирует управление контейнерами, облегчая развертывание, масштабирование и балансировку нагрузки. Он делает приложения отказоустойчивыми и позволяет равномерно распределять ресурсы. Благодаря этому можно легко управлять сложными системами с сотнями контейнеров.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 jsonlex — это библиотека для работы с JSON в Go!

Она предоставляет функции для быстрого и удобного парсинга JSON-строк и их анализа без нагрузки на сборщик мусора (По заявлениям автора, библиотека работает в 5 раз быстрее, чем стандартный инструмент в Go).
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#полезное
🤯 MCP для умного дома

Тысячи бессонных ночей сотен ресёрчеров и ML-инженеров дали миру сначала большие языковые модели, а потом MCP-протокол - открытый стандарт, который связал эти модели и дал возможность подключаться к приложениям, системам и API.

Они мечтали о будущем, где ИИ будет решать климатические кризисы, расшифровывать геном, найдет решение глобальных проблем или, в крайнем случае, будет писать вам стихи и поэмы.

Как это используют люди? Пилят действительно важные и нужные интеграции.

Проект поддерживает Ollama, подключение к экосистеме управления умным домом HomeAssistant MCP и написан на Go.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😱 apimocker — простой мокер REST API без бэкенда

apimocker — это легкий TUI-инструмент на Go, который поднимает фейковый API из YAML/JSON за секунды. Идеален для фронтенда, тестов и прототипов.

Что умеет:
• Динамичные JSON-ответы с шаблонами ("id": "uuid", "email": "email")
• Задержки, ошибки с вероятностью
• Отдача файлов (изображений и др.)
• Логирование (plain/json)
• TUI-интерфейс с активными маршрутами

Подходит для:
🟠 Быстрого мокинга
🟠 Демонстраций и тестов
🟠 Изоляции от реального API

Установка:

yay -S apimocker # Arch
# или:
git clone https://github.com/Hanashiko/apimocker.git
cd apimocker && go build -o apimocker main.go
sudo mv apimocker /usr/bin/

Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1