#полезное
🛞 Outpost — это open-source инструмент, позволяющий принимать вебхуки локально и безопасно проксировать их к вашему приложению.
По сути, это альтернатива таким сервисам, как ngrok, но с упором на работу с вебхуками.
Что делает:
🟠 Принимает вебхуки из внешних сервисов (например, Stripe, GitHub, Twilio и др.).
🟠 Проксирует их к локальному серверу через защищённое соединение.
🟠 Поддерживает надёжную доставку и ретрансляцию, если ваш локальный сервер временно недоступен.
🟠 Работает через Hookdeck Cloud, но может использоваться и в self-hosted сценариях.
Особенности:
🟡 Полностью open-source и легко кастомизируется.
🟡 CLI-утилита для быстрой настройки и мониторинга.
🟡 Удобный лог событий и перехватчики вебхуков для отладки.
🟡 Локальный сервер остаётся закрытым для интернета — только безопасный туннель.
Примеры применения
- Тестирование интеграции с платёжными шлюзами.
- Отладка CI/CD хуков с GitHub или GitLab.
- Разработка приложений, реагирующих на события (реальное время).
Подходит для разработчиков, которые хотят настроить и тестировать вебхуки локально без хлопот с настройкой публичного доступа к своему серверу.
Гитхаб
👉 Новости 👉 База вопросов
По сути, это альтернатива таким сервисам, как ngrok, но с упором на работу с вебхуками.
Что делает:
Особенности:
Примеры применения
- Тестирование интеграции с платёжными шлюзами.
- Отладка CI/CD хуков с GitHub или GitLab.
- Разработка приложений, реагирующих на события (реальное время).
Подходит для разработчиков, которые хотят настроить и тестировать вебхуки локально без хлопот с настройкой публичного доступа к своему серверу.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:
- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.
А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.
И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
#Собес #kubernetes
🤔 Что такое сервис (Service) в Kubernetes?
Service - это абстракция в Kubernetes, обеспечивающая сетевой доступ к группе Pod-ов. Он распределяет трафик между Pod-ами, поддерживает балансировку нагрузки и позволяет сервисам взаимодействовать внутри и вне кластера.
👉 Новости 👉 База вопросов
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
GitHub
GitHub - go-simpler/sloglint: 🪵 Ensure consistent code style when using log/slog
🪵 Ensure consistent code style when using log/slog - go-simpler/sloglint
#статьи
😎 Планировщик Go — самый подробный гайд простым языком
Давайте спроектируем с нуля планировщик Go — начнём с самой простой и понятной наивной реализации, а затем шаг за шагом будем разбираться, какие изъяны в ней есть, и придумывать как их решать, постепенно усложняя общую модель.
Это один из лучших способов понять сложную систему или концепцию — пройти путь её поэтапного проектирования. Система сложна, осознать её очень непросто, но мы разобьём её на простые шаги, понять которые очень легко. После этого пазл сам собой сложится в голове, и общая картина системы будет для вас такой же простой и очевидной.
Хабр
👉 Новости 👉 База вопросов
Давайте спроектируем с нуля планировщик Go — начнём с самой простой и понятной наивной реализации, а затем шаг за шагом будем разбираться, какие изъяны в ней есть, и придумывать как их решать, постепенно усложняя общую модель.
Это один из лучших способов понять сложную систему или концепцию — пройти путь её поэтапного проектирования. Система сложна, осознать её очень непросто, но мы разобьём её на простые шаги, понять которые очень легко. После этого пазл сам собой сложится в голове, и общая картина системы будет для вас такой же простой и очевидной.
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #kubernetes
🤔 Что такое планировщик (Scheduler) в Kubernetes?
Планировщик (Scheduler) Kubernetes отвечает за назначение Pod-ов на доступные узлы в кластере. Он анализирует ресурсы узлов и выбирает наиболее подходящий вариант.
👉 Новости 👉 База вопросов
Планировщик (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, который:
🟠 копирует зависимости напрямую в папку
🟠 поддерживает установку с GitHub, Gist, Bitbucket и GitLab
🟠 позволяет собирать и запускать проект без конфликта с
Основные команды:
🟣
🟣
🟣
🟣
Пример
Кому будет полезно?
• Новичкам, которые не хотят сразу погружаться в
• Тем, кто работает над однострочными утилитами или экспериментальными скриптами
• Для старых проектов без модулей или в нестандартных окружениях
Репозиторий
👉 Новости 👉 База вопросов
Что это такое?
Go-Package-Manager (GPM) — это минималистичный менеджер пакетов для Go, который:
pkg/
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 — это сигнал, находящийся на стыке двух миров. Он возник из-за физического «обрыва» соединения с терминалом, и его изначальное значение — потеря управляющего терминала — актуально до сих пор.
Многие приложения, включая приложения на 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
GitHub
Release v4.1.0 · pion/webrtc
Pion v4.1.0
New release schedule – a fresh minor version will ship on the last weekend of every month.
AV1 support is complete and stable.
Data Channels now handle payloads larger than 65 535 byte...
New release schedule – a fresh minor version will ship on the last weekend of every month.
AV1 support is complete and stable.
Data Channels now handle payloads larger than 65 535 byte...
#Собес #kubernetes
🤔 Что такое etcd в 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-окружение с полным набором зависимостей.
Гитхаб
👉 Новости 👉 База вопросов
Проект разделён на компоненты: 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, никакой автогенерации и никакого ассемблера.
Гитхаб
👉 Новости 👉 База вопросов
Как это работает:
При первом проходе 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.
GitHub
👉 Новости 👉 База вопросов
Инструмент основан на движке BuildKit и дополняет его полезными фишками:
Главное преимущество 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, который обрабатывает команды пользователей и взаимодействует с другими компонентами кластера. Он принимает запросы от
👉 Новости 👉 База вопросов
API Server - это центральный компонент Kubernetes, который обрабатывает команды пользователей и взаимодействует с другими компонентами кластера. Он принимает запросы от
kubectl
, контроллеров и сервисов, а затем изменяет состояние кластера.Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
👍 Golang sync.Pool — не серебряная пуля
Когда речь заходит об оптимизации производительности в Go, 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 для создания микросервисов.
Гитхаб
👉 Новости 👉 База вопросов
Достаточно трёх строк кода, чтобы подписаться на топик и обрабатывать сообщения асинхронно. Клиент поддерживает все фишки 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/
👉 Новости 👉 База вопросов
Ключи шардирования могут передаваться в запросе как явно, так и неявно, в виде комментариев.
В SPQR реализованы функции транзакционного и сессионного пулинга, автобалансировки шардированных таблиц, а также поддержка всех возможных методов аутентификации, сбора статистики и динамической перезагрузки конфигурации.
SPQR поддерживает как запросы к определённому шарду, так и запросы ко всем шардам. В ближайших планах — добавить поддержку двухфазных транзакций и референсных таблиц.
Исходный код SPQR распространяется под лицензией PostgreSQL Global Development Group
Ссылки:
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #kubernetes
🤔 Что такое управляющая плоскость (Control Plane Kubernetes?
Control Plane - это набор компонентов, которые управляют кластером Kubernetes. В него входят API Server, etcd, Scheduler и Controller Manager. Эти компоненты отвечают за обработку запросов, хранение данных о состоянии кластера, распределение нагрузок и контроль за работой узлов.
👉 Новости 👉 База вопросов
Control Plane - это набор компонентов, которые управляют кластером Kubernetes. В него входят API Server, etcd, Scheduler и Controller Manager. Эти компоненты отвечают за обработку запросов, хранение данных о состоянии кластера, распределение нагрузок и контроль за работой узлов.
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 645. Set Mismatch
У вас есть набор целых чисел s, который изначально содержит все числа от 1 до n. К сожалению, из-за какой-то ошибки одно из чисел в s продублировалось в другое число в наборе, что привело к повторению одного числа и потере другого. Вам дан целочисленный массив nums, представляющий состояние данных в этом наборе после ошибки. Найдите число, которое встречается дважды, и число, которое отсутствует, и верните их в виде массива.
Пример:
👨💻 Алгоритм:
1⃣ Пройдите по массиву, используя набор для отслеживания чисел, чтобы определить дублированное число.
2⃣ Определите отсутствующее число, используя сумму чисел от 1 до n и текущую сумму массива.
3⃣ Верните дублированное и отсутствующее числа в виде массива.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 645. Set Mismatch
У вас есть набор целых чисел s, который изначально содержит все числа от 1 до n. К сожалению, из-за какой-то ошибки одно из чисел в s продублировалось в другое число в наборе, что привело к повторению одного числа и потере другого. Вам дан целочисленный массив nums, представляющий состояние данных в этом наборе после ошибки. Найдите число, которое встречается дважды, и число, которое отсутствует, и верните их в виде массива.
Пример:
Input: nums = [1,2,2,4]
Output: [2,3]
func findErrorNums(nums []int) []int {
numSet := make(map[int]bool)
duplicate := -1
n := len(nums)
for _, num := range nums {
if numSet[num] {
duplicate = num
}
numSet[num] = true
}
sum := 0
for num := range numSet {
sum += num
}
missing := (n * (n + 1)) / 2 - sum
return []int{duplicate, missing}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode
Set Mismatch - LeetCode
Can you solve this real interview question? Set Mismatch - You have a set of integers s, which originally contains all the numbers from 1 to n. Unfortunately, due to some error, one of the numbers in s got duplicated to another number in the set, which results…
#полезное
🛞 RoadRunner — высокопроизводительный application server на Go. Этот проект заменяет связку Nginx+PHP-FPM, позволяя запускать PSR-7-совместимые приложения с поддержкой HTTP/3, WebSockets и даже Temporal workflow.
Конфигурация через
GitHub
👉 Новости 👉 База вопросов
Конфигурация через
.rr.yaml
напоминает docker-compose: можно подключать очереди, кеш и метрики как плагины. Рабочие процессы PHP остаются в памяти, что даёт до 10x прирост скорости против традиционного FPM. Особенно радует встроенная система мониторинга и автоматические рестарты упавших воркеров. GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM