Category : golang

golang
Anthropic и Open AI поддержали мой open source проект Databasus в рамках поддержки OSS проектов

За прошедшие две недели я узнал, что сначала Anthropic, а потом Open AI запустили программы поддержки open source проектов: Claude for Open Source и Codex for Open Source. Я подал заявку в обе программы со своим open source проектом и мои заявки одобрили.Какие были требования, что это даёт и как я буду применять новые инструменты — ниже.Содержание:Что за проект?Что за программы поддержки open source проектов и как я на них подавался?Дисклеймер про использование AI в разработкеКак я буду применя…

  • пятница, 13 марта 2026 г. в 00:00:17
golang
Цифровая капсула времени на чистом Go: почему для вечности не нужны базы данных и фреймворки

А что, если современные технологии для большинства вещей избыточны? В проекте «ЭХО» я решил проверить это на практике, создав цифровую капсулу времени для потомков. Цель — позволить людям оставить память о себе (фото и мысли) в максимально простом и «вечном» формате.Технически это эксперимент по созданию системы на 250 млн анкет без баз данных, фреймворков и лишних слоев — только чистый Go и минималистичный Linux. В этой статье я поделюсь опытом, как заставить обычный ПК работать с такой нагруз…

  • четверг, 12 марта 2026 г. в 00:00:06
golang
Миграция с Polling на Debezium

ВступлениеПривет, Хабр! Меня зовут Ибрагим и я бэкенд-разработчик в команде, которая разрабатывает C2C-площадку в Wildberries — раздел, где пользователи могут продавать друг другу товары через объявления. За каждым объявлением и заказом стоит набор данных, который аналитики используют для отслеживания метрик платформы: жизненный цикл объявлений, конверсии, статусы заказов.Чтобы эти данные попадали в ClickHouse к аналитикам, нам нужна была надёжная синхронизация из PostgreSQL. Долгое время она р…

  • четверг, 12 марта 2026 г. в 00:00:06
golang
Как защититься от удаления в S3 с помощью Object Lock / WORM

Хранение данных в S3 часто воспринимается как нечто простое: загрузили объект, при необходимости обновили или удалили. Но на практике это хранилище обычно используется в сценариях, в которых цена ошибки слишком высока. Вы же хотите случайно удалить или перезаписать бэкапы, логи, артефакты сборки или данные, подпадающие под регуляторные требования. Чтобы защититься от подобных ситуаций, в S3 есть механизм Object Lock.Всем привет! Меня зовут Клюев Алексей, я старший разработчик S3-совместимого об…

  • среда, 11 марта 2026 г. в 00:00:08
golang
Решение задачи с собеседования используя технику Sliding Window на Go

P.SДа, в интернете существует множество решений подобных задач, но, по моим ощущениям, они написаны сложным языком для начинающего программиста. Особенно мало материалов с примерами на Go. Когда я обучался алгоритмам, мне казалось, что данные темы можно объяснить куда проще существующих.В этой статье я пошагово разберу технику "Sliding Window" ("Скользящее окно") и покажу, как с её помощью решить задачу Longest Substring Without Repeating Characters на Go.Задача на Longest Subst…

  • понедельник, 9 марта 2026 г. в 00:00:10
golang
Sing-Box Launcher: как собрать VPN + WireGuard + split-tunneling без JSON-конфигов

Рассказываю про развитие своего проекта — мультиплатформенного десктопного клиента Sing-Box Launcher.GitHub проекта: https://github.com/Leadaxe/singbox-launcherДумаю многие хотели сделать конфигурацию, где:рабочие сайты открываются через корпоративную сетьгосуслуги работают даже из аэропорта Стамбулалокальная домашняя сеть доступнаYouTube тоже не ломаетсяИ желательно всё это настроить без танцев с JSON-конфигами, стабильно и прозрачно. Покажу по шагам, как это можно собрать и как именно это реа…

  • воскресенье, 8 марта 2026 г. в 00:00:13
golang
Микросервисная трансформация в Купере. Часть II: Как выносить функциональность

Всем привет! С вами Федор Засечкин, и это моя вторая статья из цикла о том, как мы в Купере распиливали монолит. Если хотите максимально погрузиться в контекст, перед чтением этого текста загляните по ссылке:Микросервисная трансформация в Купере — как это было. Часть I: Начинаем распил монолитовА в продолжение темы я хочу поговорить о том, с чего начинается вынос функциональности в сервисы. Будут и вопросы чисто технического характера, и организационные — потому что в нашем случае вынос состоял…

  • пятница, 6 марта 2026 г. в 00:00:08
golang
Выделение памяти в Go

Эта статья посвящена языку программирования Go 1.24, работающему на Linux на архитектуре ARM. Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали.В этой статье подробно рассматриваются следующие вопросы:Отображение виртуальной памяти Арена и страницаКлассы Span и SizeКласс спанаМножество спановБиты кучи и заголовок mallocУправление кучей Выделение спана: mheap.allocЦентрализованный менеджер спанов: mcentralРаспределитель памяти процессора: …

  • четверг, 5 марта 2026 г. в 00:00:09
golang
Пишем свой TCP-чат на Go: пошаговый гайд на пальцах

Привет, Хабр! Начинаю серию статей, которые позволят погрузиться начинающим разработчикам в сетевое программирование на Go. В этой статье мы напишем простой консольный чат, используя только стандартную библиотеку. Никаких фреймворков и лишних зависимостей — только чистый код и понимание того, как данные передаются по сети. Понимание сокетов — это фундамент для написания высоконагруженных сервисов, микросервисов и понимания того, как работает интернет «под капотом».Порог для понимания статьи: си…

  • четверг, 5 марта 2026 г. в 00:00:09