B4 - инструмент обхода разноуровневых DPI на Go с удобной веб-мордой. Работает на уровне ядра Linux через NFQUEUE - перехватывает сетевые пакеты и применяет к ним техники обхода.Написан с нуля на Go - хех, это не очередной форк/обертка zapret или других существующих решений. Zapret - мощный CLI-инструмент с тонкой ручной настройкой. B4 - другой подход: веб-интерфейс, полная интеграция v2ray geodat-файлов и автоматический подбор стратегий и применение изменений на лету без перезапуска.Мне хотело…
Здесь пойдет речь именно о простых примерах реализации паттернов, годных для начального понимания и использования на собеседованиях. Это будут не полноценные production-шаблоны, а схематичные примеры с подробным описанием - что и зачем.Worker poolВероятно, самый популярный паттерн на собеседованиях. Задача: Написать код, параллельно обрабатывающий некий массив входных данных фиксированным количеством "воркеров" и складывающий результаты в выходной массив.Часто можно встретить в статьях …
У меня небольшая продуктовая команда, 12 человек, пилим B2B-логистику. Go, React, PostgreSQL, всё на кубере. Предметка скучная снаружи, но внутри — ад: у каждого перевозчика свой API, и каждый API как будто писали в пятницу вечером. У СДЭК поле tariff_code в одном эндпоинте строка, а в другом число, я до сих пор не понимаю почему, и никто там не понимает, я спрашивал.Ну и вот, осенью 2025-го у нас ушёл мидл. Типичная история — нашёл +80к в каком-то финтехе, ему там обещали «плоскую структуру и …
Привет, Хабр!Если вы работаете с GitLab и у вас больше одного окружения — вы наверняка знаете этот ритуал: открываешь Settings → CI/CD → Variables, начинаешь вбивать переменные вручную, на пятой ошибаешься, на двадцатой теряешь счёт, на пятидесятой начинаешь сочувствовать тем, кто хранит секреты прямо в коде.Я написал glenv — CLI-инструмент на Go, который синхронизирует .env файлы с GitLab CI/CD переменными через API. Под катом — история о том, почему существующих решений не хватило, как это ус…
Notte — платформа для автоматизации браузера. Недавно мы выпустили CLI, который позволяет управлять браузерными сессиями, запускать AI-агентов, извлекать структурированные данные и развёртывать функции автоматизации, всё это прямо из терминала.В этой статье разберём, что он умеет и как устроен.Какую проблему мы решалиБольшинство рабочих процессов автоматизации браузера начинаются локально. Вы пишете скрипт на Playwright или Puppeteer, он работает на вашей машине, а затем вы тратите время на его…
TLDR: Для Mikrotik'ов на базе Arm, Arm64 и Amd64 создана рабочая реализация AmneziaWG для подключения к AmneziaWG и AmneziaVPN серверам. Для воспроизводимой настройки создан небольшой конфигуратор, который по входному amneziawg.conf формирует набор команд для RouterOS Terminal (и скрипт очистки): https://amneziawg-mikrotik.github.io/awg-proxy/configurator.html. Итоговый контейнер весит очень мало, почти не потребляет ЦПУ (1-2%), использует 7-10 МБ Ram на ARM64.Github: https://github.com/…
Технология eBPF у всех на слуху, но написать свой инструмент и получить все выгоды от eBPF не так просто из-за недостатка информации. Привет, Хабр! Я — Дмитрий Самохвалов, архитектор в компании К2Тех. Помимо этого пишу на GO и на Rust, и стараюсь делать жизнь наших инженеров и разработчиков интереснее и проще. В этой статье по мотивам доклада с Golang Conf я расскажу, как мы пришли к работе с eBPF и покажу на примере написания своего XDP-фильтра, как начать работу с eBPF, используя Go. Также мы…
Когда мы говорим о сборщике мусора (GC), большинство представлений об этой технологии вызывает что-то вроде «он автоматически удаляет объекты, когда они не нужны». Но на практике GC — это не магия, а сложнейшая система, тесно связанная со структурой памяти, которую использует программа. Чтобы понять, как именно GC работает, почему он влияет на производительность и почему одни алгоритмы лучше других, нам нужно пройти по всем уровням памяти — от регистров процессора до большого heap’а, и только з…
Выйдя на пенсию и имея много свободного времени, я решил посвятить себя любимому занятию - разработке высоконагруженных финансовых архитектур, ядер и протоколов межбанковского клиринга (проект Orda). Я создал Qazna - проект, который называю «финансовым Linux», полностью переведенный на строгую открытую лицензию GNU AGPLv3.Ежедневно ковыряясь в архитектуре систем, отлавливая уязвимости на пайплайнах (вроде недавних багов в crypto/tls в стандартной библиотеке Go) и выстраивая отказоустойчивые сет…