golang
Пишем TCP-сканер портов на Go: goroutine, timeout и CSV-отчёт

Недавно знакомый попросил помочь с небольшой задачей по проверке внешнего периметра сети компании. Сразу уточню: речь шла об инфраструктуре, на проверку которой было разрешение.Под внешним периметром обычно понимают всё, что доступно из интернета: публичные IP-адреса, домены, поддомены, облачные или VPS-серверы, а также сервисы, которые слушают внешние порты.Задача была простой по формулировке, но интересной технически: нужно понять, какие адреса доступны извне и к каким портам можно подключить…

  • пятница, 12 июня 2026 г. в 00:00:24
golang
Как я веб-приложение на Go для архитектуры MIPS кросс-компилировал

ВведениеПривет, Хабр! Являюсь давним пользователем маршрутизаторов Keenetic/Netcraze. В свое время подкупили надежность устройств, широкие возможности программного обеспечения, оперативная техническая поддержка, большое сообщество пользователей возможность установки дополнительных пакетов через среду Entware. В относительно недавнем прошлом производитель строил свои устройства на базе mips/mipsel чипов, таким образом, несколько таких устройств оказались у меня в руках.Дополнительные пакеты в ре…

  • пятница, 12 июня 2026 г. в 00:00:22
golang
Натягиваем сову на глобус или оценка применимости TSI на другие языки

Привет, Хабр! В прошлых статьях я описала, как через нововведенный параметр TSI теоретически можно определить грейд разработчика. Для тех, кто пропустил первую часть: TSI (Topological Seniority Index) — это метрика, которая нивелирует мусор в вакансиях и позволяет отразить качественный скачок при переходе между грейдами. Она считается исходя из суммы взвешенной мощности стека, уровня ответственности и архитектурного признака в списке требований. Но до этого мы говорили только про один язык – C#…

  • пятница, 12 июня 2026 г. в 00:00:20
javascript
free AI girlfriend. Почему мужчины уходят из экономики отношений и как устроен пространственный 3D-…

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

  • пятница, 12 июня 2026 г. в 00:00:18
javascript
Путь к ошибке: зачем нужны «Breadcrumbs» во frontend-мониторинге

Всем привет. В статье разберём, как с помощью open-source трекера ошибок Хоук восстанавливать цепочку событий перед ошибкой и быстрее понимать, что именно привело к сбою в приложении.Представим обычную ситуацию: пользователь пишет в поддержку, что нажимает «Оплатить», но ничего не происходит. В мониторинге при этом есть ошибка. Видно, где она произошла в коде, виден URL страницы, браузер, устройство и окружение. Но открытым остается вопрос: что именно пользователь делал перед ошибкой?Он сразу н…

  • пятница, 12 июня 2026 г. в 00:00:17
javascript
Schema-driven ORM для TypeScript: @cleverbrush/knex-schema и @cleverbrush/orm

Статья о том, как превратить TypeScript-схему в единый источник истины для работы с базой данных: из одного определения получить типы строк, имена таблиц и колонок, типизированные запросы, связи, миграции и unit-of-work поверх Knex.Все примеры ниже взяты из xpenser — open-source приложения для учёта личных доходов и расходов. Это одновременно полезное приложение, которым я сам пользуюсь, и референсная реализация Cleverbrush Framework: контракты, сервер, клиент, формы, auth, observability, Postg…

  • пятница, 12 июня 2026 г. в 00:00:15
javascript
Делаем базу знаний и Телеграм бота психотерапевта, с использованием LLM Wiki и CF Workers вот такой…

В предыдущей статье разбирали, как собрать структурированную wiki из markdown-файлов на Astro/Starlight — на примере личного карьерного менеджера. В комментариях появились закономерные вопросы: «почему именно так?», «что за странный выбор стека?», «а для чего ещё это можно использовать, кроме как для себя?».Хороший вопрос. Эта статья отвечает на него делом.Та же механика — wiki из markdown — но теперь с Telegram-ботом поверх. Бот умеет искать по базе знаний и отвечать с цитатами и ссылками на и…

  • пятница, 12 июня 2026 г. в 00:00:13
javascript
Назад в будущее UI-kit: как мы перевели живую библиотеку на дизайн-токены и ничего не сломали

UI-kit, которым пользуются несколько продуктовых команд, нельзя просто отправить в будущее и переписать под новый дизайн. За ним тянется прошлое: старые CSS-переменные, публичный API, кастомизации у потребителей и независимые релизные циклы. При этом бренд уже меняется, дизайнеры приносят новую палитру, типографику, motion, скругления и тёмную тему, и всё это нужно аккуратно посадить на компоненты, которые продолжают работать в продакшене.Привет, Хабр! Меня зовут Амир, я Senior Vue.js Frontend …

  • пятница, 12 июня 2026 г. в 00:00:12
github
mattermost / mattermost

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle.. Mattermost is an open core, self-hosted collaboration platform that offers chat, workflow automation, voice calling, screen sharing, and AI integration. This repo is the primary source for core development on the Mattermost platform; it's written in Go and React, runs as a single Linux binary, and relies on PostgreSQL. A new compiled version is released under an MIT license ever…

  • пятница, 12 июня 2026 г. в 00:00:10