home.social

#golang — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #golang, aggregated by home.social.

  1. Secrets slip into logs sideways. A dumped request carries the Authorization header; an error payload brings a password field along. The redact package in nurago scrubs text at the last moment before it is written, in one pass, cheap enough to run on every line. Token-exact matching masks api_key but leaves monkey alone, and re-redacting output is designed not to reveal more.

    tecnick.com/articles/nurago-re

    #golang #infosec

  2. #golang #uuid
    >Go 1.27 から uuid 実装がサポートされる!ので個人的に気になった議論とその着地をまとめてみた
    zenn.dev/layerx/articles/f7124

  3. #golang #uuid
    >Go 1.27 から uuid 実装がサポートされる!ので個人的に気になった議論とその着地をまとめてみた
    zenn.dev/layerx/articles/f7124

  4. #golang #uuid
    >Go 1.27 から uuid 実装がサポートされる!ので個人的に気になった議論とその着地をまとめてみた
    zenn.dev/layerx/articles/f7124

  5. Надёжная асинхронная коммуникация: повторы, дубликаты и dead letter queues

    Представим обычную обработку заказа. Сервис заказов публикует событие order.created . Сервис склада получает его и резервирует товар в PostgreSQL. После успешной транзакции обработчик должен отправить RabbitMQ подтверждение ( Ack ), чтобы broker удалил сообщение из queue. Но процесс может остановиться после записи в PostgreSQL и до отправки Ack . RabbitMQ не знает, успел ли сервис зарезервировать товар. Broker видит только неподтверждённое сообщение, поэтому доставляет его ещё раз. С точки зрения доставки это правильное поведение. С точки зрения бизнеса один заказ теперь может зарезервировать товар дважды. Другой сбой возникает раньше: PostgreSQL временно недоступен, и обработчик не может начать работу. Если сразу вернуть сообщение в queue через отрицательное подтверждение Nack(requeue=true) , RabbitMQ почти немедленно доставит его снова. Пока база не восстановилась, все попытки будут бесполезными. Нужны задержка и ограничение числа повторов. При этом отложенное сообщение может пропустить вперёд более новые события, поэтому отдельно придётся решить вопрос порядка. Так одна операция превращается в несколько независимых участков: запись события, публикация, хранение в broker, обработка и подтверждение. Между соседними участками остаются моменты, когда одна сторона уже выполнила действие, а другая ещё не получила подтверждение. В статье разберём эти моменты по всему пути сообщения. Затем построим практическую схему для RabbitMQ и Go: добавим ограниченные повторы через retry queues, время жизни сообщения ( TTL ) и dead letter exchange, сделаем обработчик идемпотентным и определим, куда отправлять сообщения, которые не удалось обработать автоматически. В конце сравним этот подход с Kafka, NATS JetStream и Amazon SQS.

    habr.com/ru/articles/1062002/

    #rabbitmq #golang #go #kafka #архитектура #асинхронность #микросервисы #broker #queue #resilience

  6. Are 128-bit symmetric keys really secure against quantum computers?

    Maybe the question we should ask ourselves is: Is there any reason to keep 128-bit symmetric keys in 2026 and beyond?

    kerkour.com/128-bit-keys-post-

    #crypto #cryptography #golang #rust #tech

  7. Are 128-bit symmetric keys really secure against quantum computers?

    Maybe the question we should ask ourselves is: Is there any reason to keep 128-bit symmetric keys in 2026 and beyond?

    kerkour.com/128-bit-keys-post-

    #crypto #cryptography #golang #rust #tech

  8. The Go "context deadline exceeded" bug when fuzzing with fuzztime is SUPER frustrating and breaks workflows. Anyone know someone that can move the existing fix CL along?

    Go change: go-review.googlesource.com/c/g

    GH bug tracking and reproducer:
    github.com/golang/go/issues/75

    #Go #Golang #fuzzer

  9. The Go "context deadline exceeded" bug when fuzzing with fuzztime is SUPER frustrating and breaks workflows. Anyone know someone that can move the existing fix CL along?

    Go change: go-review.googlesource.com/c/g

    GH bug tracking and reproducer:
    github.com/golang/go/issues/75

    #Go #Golang #fuzzer

  10. goimports is now aligning go struct tags

    WHAT THE FUCK IS THIS

    #golang

  11. Теперь вы можете защититься от утечки данных при работе с любыми языковыми моделями

    Пару дней назад Cloud.ru

    habr.com/ru/companies/cloud_ru

    #guardrails #маскирование_данных #пдн #152фз #go #golang #утечки_данных #llmмодели

  12. 📚 libgen-mcp — a Go MCP server that lets your AI assistant search & download from Library Genesis: books, papers, comics, magazines & standards.

    ✅ No account, no API key
    ✅ Self-hosted: one binary or Docker (Win/Linux/macOS)
    ✅ Works with Claude, Cursor, VS Code
    ✅ Just ~1.9k context tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  13. 📚 libgen-mcp — a Go MCP server that lets your AI assistant search & download from Library Genesis: books, papers, comics, magazines & standards.

    ✅ No account, no API key
    ✅ Self-hosted: one binary or Docker (Win/Linux/macOS)
    ✅ Works with Claude, Cursor, VS Code
    ✅ Just ~1.9k context tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  14. 📚 libgen-mcp — a Go MCP server that lets your AI assistant search & download from Library Genesis: books, papers, comics, magazines & standards.

    ✅ No account, no API key
    ✅ Self-hosted: one binary or Docker (Win/Linux/macOS)
    ✅ Works with Claude, Cursor, VS Code
    ✅ Just ~1.9k context tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  15. 📚 libgen-mcp — a Go MCP server that lets your AI assistant search & download from Library Genesis: books, papers, comics, magazines & standards.

    ✅ No account, no API key
    ✅ Self-hosted: one binary or Docker (Win/Linux/macOS)
    ✅ Works with Claude, Cursor, VS Code
    ✅ Just ~1.9k context tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  16. 📚 libgen-mcp — a Go MCP server that lets your AI assistant search & download from Library Genesis: books, papers, comics, magazines & standards.

    ✅ No account, no API key
    ✅ Self-hosted: one binary or Docker (Win/Linux/macOS)
    ✅ Works with Claude, Cursor, VS Code
    ✅ Just ~1.9k context tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  17. 📚 libgen-mcp — un servidor MCP en Go que deja a tu asistente de IA buscar y descargar de Library Genesis: libros, papers, cómics, revistas y normas.

    ✅ Sin cuenta ni API key
    ✅ Self-hosted: 1 binario o Docker (Win/Linux/macOS)
    ✅ Con Claude, Cursor, VS Code
    ✅ Solo ~1.9k tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #IA #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  18. 📚 libgen-mcp — un servidor MCP en Go que deja a tu asistente de IA buscar y descargar de Library Genesis: libros, papers, cómics, revistas y normas.

    ✅ Sin cuenta ni API key
    ✅ Self-hosted: 1 binario o Docker (Win/Linux/macOS)
    ✅ Con Claude, Cursor, VS Code
    ✅ Solo ~1.9k tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #IA #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  19. 📚 libgen-mcp — un servidor MCP en Go que deja a tu asistente de IA buscar y descargar de Library Genesis: libros, papers, cómics, revistas y normas.

    ✅ Sin cuenta ni API key
    ✅ Self-hosted: 1 binario o Docker (Win/Linux/macOS)
    ✅ Con Claude, Cursor, VS Code
    ✅ Solo ~1.9k tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #IA #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  20. 📚 libgen-mcp — un servidor MCP en Go que deja a tu asistente de IA buscar y descargar de Library Genesis: libros, papers, cómics, revistas y normas.

    ✅ Sin cuenta ni API key
    ✅ Self-hosted: 1 binario o Docker (Win/Linux/macOS)
    ✅ Con Claude, Cursor, VS Code
    ✅ Solo ~1.9k tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #IA #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  21. 📚 libgen-mcp — un servidor MCP en Go que deja a tu asistente de IA buscar y descargar de Library Genesis: libros, papers, cómics, revistas y normas.

    ✅ Sin cuenta ni API key
    ✅ Self-hosted: 1 binario o Docker (Win/Linux/macOS)
    ✅ Con Claude, Cursor, VS Code
    ✅ Solo ~1.9k tokens · MIT

    👉 github.com/jmrplens/libgen-mcp

    #IA #AI #MCP #ModelContextProtocol #SelfHosted #OpenSource #Golang #LLM #Claude #LibraryGenesis #scihub

  22. 🖥️ NanoKVM-Go: Control hardware bazat pe AI într-un dispozitiv compact USB-C!

    Accesul remote la nivel de BIOS/bootloader și administrarea hardware devin mult mai inteligente. NanoKVM-Go aduce o soluție KVM over IP extrem de compactă, alimentată de un sistem portabil USB-C și îmbunătățită cu capabilități de inteligență artificială pentru administrare pe Linux.

    ✨ Ce oferă NanoKVM-Go:

    🔌 Format ultra-compact USB-C:
    • Se conectează direct la dispozitivul țintă prin USB-C, oferind acces remote complet la nivel hardware (KVM - Keyboard, Video, Mouse) direct de pe orice calculator sau browser.

    🤖 Asistență AI integrată:
    • Include funcții inteligente capabile să analizeze ieșirea video (de la erori de boot până la configurări BIOS) și să ajute administratorii la diagnosticarea rapidă a problemelor.

    🐧 Pachet software în Go (Go-based architecture):
    • Serverul web și logica de control sunt scrise în Go, asigurând un consum minim de resurse, latență foarte mică și o rulare extrem de rapidă pe Linux.

    🛠️ Acces Out-of-Band (OOB) complet:
    • Îți permite să repornești, să configurezi BIOS-ul, să reinstalezi sistemul de operare sau să montezi imagini ISO de la distanță, chiar și atunci când sistemul țintă nu are rețea sau sistemul de operare este picat.

    #NanoKVM #Linux #KVM #Hardware #SysAdmin #GoLang #AI #SelfHosted #TechNews #OpenSource

  23. 🖥️ NanoKVM-Go: Control hardware bazat pe AI într-un dispozitiv compact USB-C!

    Accesul remote la nivel de BIOS/bootloader și administrarea hardware devin mult mai inteligente. NanoKVM-Go aduce o soluție KVM over IP extrem de compactă, alimentată de un sistem portabil USB-C și îmbunătățită cu capabilități de inteligență artificială pentru administrare pe Linux.

    ✨ Ce oferă NanoKVM-Go:

    🔌 Format ultra-compact USB-C:
    • Se conectează direct la dispozitivul țintă prin USB-C, oferind acces remote complet la nivel hardware (KVM - Keyboard, Video, Mouse) direct de pe orice calculator sau browser.

    🤖 Asistență AI integrată:
    • Include funcții inteligente capabile să analizeze ieșirea video (de la erori de boot până la configurări BIOS) și să ajute administratorii la diagnosticarea rapidă a problemelor.

    🐧 Pachet software în Go (Go-based architecture):
    • Serverul web și logica de control sunt scrise în Go, asigurând un consum minim de resurse, latență foarte mică și o rulare extrem de rapidă pe Linux.

    🛠️ Acces Out-of-Band (OOB) complet:
    • Îți permite să repornești, să configurezi BIOS-ul, să reinstalezi sistemul de operare sau să montezi imagini ISO de la distanță, chiar și atunci când sistemul țintă nu are rețea sau sistemul de operare este picat.

    #NanoKVM #Linux #KVM #Hardware #SysAdmin #GoLang #AI #SelfHosted #TechNews #OpenSource

  24. Как мы заменили Teradata RTIM: миграция правил с использованием AST

    Меня зовут Сигида Алексей, я старший архитектор по развитию технологий CVM (Customer Value Management) в компании Мегафон. Много лет решения о том, что показать клиенту, у нас принимал Teradata RTIM (Real-Time Interaction Manager) - движок real-time маркетинга. Если вы когда-нибудь получали смс-сообщение от Мегафона или заходили в личный кабинет в 99% случаев сообщение для вас было подобрано этой системой. Вы заходите на сайт или в приложение, и за миллисекунды решается, какое предложение показать. Логика выбора описывается деревьями принятия решений: запрос проходит по веткам дерева, а условия переходов в узлах - критерии - определяют, к какому сегменту отнести клиента и какое предложение ему подобрать. В какой-то момент перед командой встала задача перейти на собственное решение. Стало ясно, что RTIM превратился из удобного инструмента в тяжелую гирю на наших ногах. Оставаться на больше нельзя, накопилась критическая масса причин: закрытая архитектура приложения без возможности кастомизации, тотальная зависимость от вендора, стоимость лицензии. В моменты инцидентов оказывались связаны руки, ожидая помощи извне. Фундаментом нового движка стал Go. Нужен был инструмент, стабильно работающий под хайлоад, быстрый, достаточно распространённый, чтобы не было проблем ни с экспертизой ни с экосистемой.

    habr.com/ru/companies/megafon/

    #MegaRITM #Teradata #ast #python #golang

  25. Resurrecting an old post from last year just because. I might keep doing this from time to time.

    How I Write HTTP Servers

    blainsmith.com/articles/how-i-

  26. Resurrecting an old post from last year just because. I might keep doing this from time to time.

    How I Write HTTP Servers

    blainsmith.com/articles/how-i-

    #GoLang #HTTP #API

  27. Resurrecting an old post from last year just because. I might keep doing this from time to time.

    How I Write HTTP Servers

    blainsmith.com/articles/how-i-

    #GoLang #HTTP #API

  28. Resurrecting an old post from last year just because. I might keep doing this from time to time.

    How I Write HTTP Servers

    blainsmith.com/articles/how-i-

    #GoLang #HTTP #API

  29. Resurrecting an old post from last year just because. I might keep doing this from time to time.

    How I Write HTTP Servers

    blainsmith.com/articles/how-i-

    #GoLang #HTTP #API