Golang Backend | YeaHub – Telegram
Golang Backend | YeaHub
858 subscribers
260 photos
21 videos
1 file
401 links
Теория, подготовка к интервью и курсы для Golang разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
❤️‍🔥 GoTTH — стек для быстрого создания полнофункционального веб-приложения на Go!

Он включает современные технологии, такие как HTMX для улучшения взаимодействия с пользователем, TailwindCSS для стилизации, Turso LibSQL (производственный вариант SQLite) для работы с базой данных, и Templ в качестве шаблонизатора.

GoTTH ориентирован на простоту развертывания, предлагая поддержку Docker и встроенные инструменты, такие как live-reload с помощью air. Проект отлично подходит для быстрой разработки серверной и клиентской частей приложения, включая поддержку маршрутизации, баз данных и UI-компонентов, интегрированных с минимальными усилиями.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 Avo — это библиотека и CLI-инструменты, которые позволяют писать ассемблерный код прямо на Go-коде и автоматически генерировать `.s`-файлы + Go-стабы* для вызова этих функций.

Этот необычный инструмент превращает написание высокопроизводительного ассемблера x86 в процесс, похожий на обычную Go-разработку.

Вместо управления регистрами вручную, вы описываете логику на Go-подобном синтаксисе а Avo генерирует оптимизированный ассемблерный код с правильными префиксами.

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

asm.go:


package main
import . "github.com/mmcloughlin/avo/build"

func main() {
TEXT("Add", NOSPLIT, "func(x, y uint64) uint64")
x := Load(Param("x"), GP64())
y := Load(Param("y"), GP64())
ADDQ(x, y)
Store(y, ReturnIndex(0))
RET()
Generate()
}


*Go-стабы: это Go-файл, который объявляет функцию без реализации, но с правильной сигнатурой, чтобы компилятор понимал, как с ней работать.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Outpost — это open-source инструмент, позволяющий принимать вебхуки локально и безопасно проксировать их к вашему приложению.

По сути, это альтернатива таким сервисам, как ngrok, но с упором на работу с вебхуками.

Что делает:
🟠 Принимает вебхуки из внешних сервисов (например, Stripe, GitHub, Twilio и др.).
🟠 Проксирует их к локальному серверу через защищённое соединение.
🟠 Поддерживает надёжную доставку и ретрансляцию, если ваш локальный сервер временно недоступен.
🟠 Работает через Hookdeck Cloud, но может использоваться и в self-hosted сценариях.

Особенности:
🟡 Полностью open-source и легко кастомизируется.
🟡 CLI-утилита для быстрой настройки и мониторинга.
🟡 Удобный лог событий и перехватчики вебхуков для отладки.
🟡 Локальный сервер остаётся закрытым для интернета — только безопасный туннель.

Примеры применения
- Тестирование интеграции с платёжными шлюзами.
- Отладка CI/CD хуков с GitHub или GitLab.
- Разработка приложений, реагирующих на события (реальное время).

Подходит для разработчиков, которые хотят настроить и тестировать вебхуки локально без хлопот с настройкой публичного доступа к своему серверу.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
🥳 В YeaHub теперь 2040 пользователей!

На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:

- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.

А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.

И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪

👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
#Собес #kubernetes
🤔 Что такое сервис (Service) в Kubernetes?

Service - это абстракция в Kubernetes, обеспечивающая сетевой доступ к группе Pod-ов. Он распределяет трафик между Pod-ами, поддерживает балансировку нагрузки и позволяет сервисам взаимодействовать внутри и вне кластера.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
#полезное
😊 Дженерики в Go: Ваш дружелюбный гид по повторно используемому коду

В этом гайде рассказывается, что такое дженерики, как их использовать и зачем они нужны
Читать

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
#полезное
😎 Линтер для Go, который обеспечивает единообразие стиля кода при использовании log/slog
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😎 Планировщик Go — самый подробный гайд простым языком

Давайте спроектируем с нуля планировщик Go — начнём с самой простой и понятной наивной реализации, а затем шаг за шагом будем разбираться, какие изъяны в ней есть, и придумывать как их решать, постепенно усложняя общую модель.

Это один из лучших способов понять сложную систему или концепцию — пройти путь её поэтапного проектирования. Система сложна, осознать её очень непросто, но мы разобьём её на простые шаги, понять которые очень легко. После этого пазл сам собой сложится в голове, и общая картина системы будет для вас такой же простой и очевидной.
Хабр

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

Планировщик (Scheduler) Kubernetes отвечает за назначение Pod-ов на доступные узлы в кластере. Он анализирует ресурсы узлов и выбирает наиболее подходящий вариант.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🤓 Go-Package-Manager — легкий менеджер пакетов для Go-проектов без go.mod

Что это такое?
Go-Package-Manager (GPM) — это минималистичный менеджер пакетов для Go, который:
🟠 копирует зависимости напрямую в папку pkg/
🟠 поддерживает установку с GitHub, Gist, Bitbucket и GitLab
🟠 позволяет собирать и запускать проект без конфликта с go.mod

Основные команды:

🟣 gpm get [repo] — загрузка зависимости
🟣 gpm run [main.go] — сборка и запуск проекта
🟣 gpm install — установка всех зависимостей из packages.yaml
🟣 gpm clean — очистка всех пакетов

Пример packages.yaml:

packages:
- github.com/some/package
- gitlab.com/another/dep


Кому будет полезно?
• Новичкам, которые не хотят сразу погружаться в go mod
• Тем, кто работает над однострочными утилитами или экспериментальными скриптами
• Для старых проектов без модулей или в нестандартных окружениях
Репозиторий

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
👍 Сигнал SIGHUP для перезагрузки конфигурации

SIGHUP — это сигнал, находящийся на стыке двух миров. Он возник из-за физического «обрыва» соединения с терминалом, и его изначальное значение — потеря управляющего терминала — актуально до сих пор.

Многие приложения, включая приложения на Go (по умолчанию), обрабатывают три сигнала для завершения работы: SIGTERM, SIGINT и SIGHUP. Среди них SIGHUP несет дополнительные нюансы и сегодня может иметь меньшее значение.

По определению:
SIGHUP («signal hang up») — это сигнал, отправляемый процессу при закрытии его управляющего терминала. — Википедия


Но что именно представляет собой «управляющий терминал»?
Читать далее

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
👨‍💻 Вышел Pion WebRTC v4.1.0 — стабильная поддержка полного AV1, передача больших сообщений через DataChannels и RTP-пейлоадер для H.265
Гитхаб

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

etcd - это распределённое, надёжное хранилище ключ-значение, в котором Kubernetes хранит всю информацию о кластере. Оно гарантирует консистентность данных и обеспечивает отказоустойчивость.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Boulder — реализация ACME-совместимого центра сертификации, автоматически проверяющего владение доменом и выпускающего TLS-сертификаты. Именно на нём работает Let’s Encrypt, бесплатно обеспечивая шифрование для миллионов сайтов.

Проект разделён на компоненты: Web Frontend, Registration Authority, Certificate Authority и другие, что позволяет изолировать критичные части системы. Внутри — строгая логика на основе объектов ACME: аккаунтов, авторизаций и сертификатов. Для связи между модулями используется gRPC, а для разработки — Docker-окружение с полным набором зависимостей.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫠 Jessy — ультрабыстрая JSON-библиотека для Go

Поддержка новых map на базе Swiss Table
Тег omitzero для пропуска нулевых значений
Интерфейсы TextAppender и JsonAppender
Ускоренный Unmarshal через jessy.UnmarshalTrusted
Кастомные энкодеры: AddValueEncoder, AddUnsafeEncoder

Как это работает:
При первом проходе Jessy анализирует тип, и запоминает стек вызовов для каждого поля и всех возможных ветвлений.
Дальнейшая работа — просто прямой маршаллинг из памяти, без лишней логики.

Подходит для high-load систем, realtime-сервисов и микросервисной архитектуры.
Jessy — не просто быстрее. Быстрее всех.

Главное отличие от конкурентов
Поддержка новых версий Go, минимальный overhead, никакой автогенерации и никакого ассемблера.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#полезное
🥺 brewkit — инструмент для контейнеризации сборки приложений.

Инструмент основан на движке BuildKit и дополняет его полезными фишками:
🟠 "Агрессивное" кеширование всех этапов сборки;
🟠 Простой формат конфигурации в JSONNET.

Главное преимущество brewkit в том, что сборка полностью независима от платформы и не требует дополнительно устанавливать на хосте все необходимые компиляторы, кодогенераторы, линтеры и т.д., ведь всё подтягивается из Docker-образов.

Проект — open-source разработка компании iSpring, в которой он повсеместно используется для сборки приложений на Go, как локально, так и в CI/CD.

go install github.com/ispringtech/brewkit/cmd/brewkit@latest
GitHub

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

API Server - это центральный компонент Kubernetes, который обрабатывает команды пользователей и взаимодействует с другими компонентами кластера. Он принимает запросы от kubectl , контроллеров и сервисов, а затем изменяет состояние кластера.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
👍 Golang sync.Pool — не серебряная пуля

Когда речь заходит об оптимизации производительности в Go, sync.Pool часто выглядит как заманчивое решение. Он обещает сократить количество аллокаций памяти и снизить нагрузку на сборщик мусора за счёт повторного использования объектов. Но всегда ли это правильный выбор? Давайте углубимся в эту интересную тему.
Читать

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 NATS.go — клиент для облачного обмена сообщениями на Go. Официальный Go-клиент от команды NATS.io предоставляет простой интерфейс для работы — от базовой pub/sub до персистентных JetStream-сообщений.

Достаточно трёх строк кода, чтобы подписаться на топик и обрабатывать сообщения асинхронно. Клиент поддерживает все фишки NATS: wildcard-подписки, TLS-аутентификацию и даже сервисный API для создания микросервисов.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️‍🔥 Stateless Postgres Query Router — это система шардирования для PostgreSQL-кластера, доступная с открытым исходным кодом. Её основной компонент, роутер, анализирует запросы и определяет, на каком конкретном PostgreSQL-кластере следует выполнить транзакцию или запрос.

Ключи шардирования могут передаваться в запросе как явно, так и неявно, в виде комментариев.
В SPQR реализованы функции транзакционного и сессионного пулинга, автобалансировки шардированных таблиц, а также поддержка всех возможных методов аутентификации, сбора статистики и динамической перезагрузки конфигурации.

SPQR поддерживает как запросы к определённому шарду, так и запросы ко всем шардам. В ближайших планах — добавить поддержку двухфазных транзакций и референсных таблиц.

Исходный код SPQR распространяется под лицензией PostgreSQL Global Development Group

Ссылки:
🟠https://github.com/pg-sharding/spqr
🟠https://pg-sharding.tech/

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #kubernetes
🤔 Что такое управляющая плоскость (Control Plane Kubernetes?

Control Plane - это набор компонентов, которые управляют кластером Kubernetes. В него входят API Server, etcd, Scheduler и Controller Manager. Эти компоненты отвечают за обработку запросов, хранение данных о состоянии кластера, распределение нагрузок и контроль за работой узлов.

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