golang
Как один комментарий на Хабре перевернул архитектуру моего мессенджера

История о том, как я перестал добавлять новые функции и начал строить системуПосле моей первой статьи про Pulse я не ожидал, честно говоря, примерно ничего. Но к моему удивлению увидел реакцию: немного поддержки, немного критики, несколько советов по UX.PulseЯ получил около 7 тысяч просмотров, десятки комментариев и, неожиданно для себя, полноценный аудит проекта. Особенно, просто золотой грааль - комментарий от пользователя domix32. Он не обсуждал идеи. Не спорил про дизайн. Не рассуждал о буд…

  • понедельник, 22 июня 2026 г. в 00:00:04
javascript
Знакомимся с Cruzo. Часть 1. RxBucket – контейнер состояний и конфигураций компонентов на фронте

Не так давно, я наконец выложил на github свой фреймворк cruzo – https://github.com/MaratBektemirov/cruzo. Сам фреймворк писался где-то с 2020г, в свободное от работы время. Причем большую часть времени я потратил на шаблонизатор с реактивными значениями.Я сам в разработке с 2013 года, начинал с фронта. Еще когда не было angular.js, react - все сидели на jQuery, большая часть сайтов была не как single-page-application, а прям генерировалась на сервере. Первый мой фреймворк angularjs, поэтому он…

  • понедельник, 22 июня 2026 г. в 00:00:02
xaker
Уязвимость в наушниках Apple Beats Studio позволяла подслушивать разговоры

Компания Apple выпустила патч для беспроводных наушников Beats Studio Buds. Исправление устранило опасную уязвимость, которая позволяла атакующим подслушивать разговоры пользователей, находясь в зоне действия Bluetooth.

  • воскресенье, 21 июня 2026 г. в 00:00:08
xaker
Открыты предзаказы на третий номер ежеквартального «Хакера»

Мы уже работаем над третьим ежеквартальным выпуском «Хакера» 2026 года, а значит, пришло время открывать предварительные заказы! В новый печатный номер войдут лучшие статьи, опубликованные на сайте за прошедший квартал. Тебя ждут три нестандартных материала, посвященных роутерам и сетям, и многое другое.

  • воскресенье, 21 июня 2026 г. в 00:00:08
golang
Все тесты зелёные, а байты разные: как я проверяю порты бинарных форматов

В свободное время пишу на чистом Go порты CRDT-движков. CRDT - это структуры, на которых держится совместное редактирование в реальном времени, вроде гугл-доков: несколько человек правят один документ, и копии сходятся к одному состоянию без центрального арбитра. Эталонные реализации живут на других языках: Yjs на JavaScript, Loro и data model протокола Willow на Rust. Я переписываю их на Go, потому что FFI и CGO плохо ложатся на мобилку и WASM, а pure-Go порт собирается куда угодно. И смысл та…

  • воскресенье, 21 июня 2026 г. в 00:00:06
golang
Тёмная сторона Go: разбор живых уязвимостей с продакшена и инструменты против них

Статья написана по мотивам доклада Георгия Фатеева (Application Security инженер, МТС Web Services) на конференции GolangConf. Представьте обычный HTTP-обработчик. Пользователь передаёт имя файла через query-параметр, код подставляет это имя в shell-команду и зовёт ls -l. Выглядит безобидно. А теперь пользователь присылает вот такое значение:/?filename=.;rm%20-rf%20/ Go аккуратно соберёт и выполнит команду:sh -c "ls -l .;rm -rf /" И снесёт систему по своей оси. Уязвимый Go-обработчик: …

  • воскресенье, 21 июня 2026 г. в 00:00:05
golang
Проектирование веб-краулера. Как решать System Design?

Привет! Продолжаю разбирать классические задачи с System Design интервью на стримах (за анонсами можете следить тут https://t.me/siliconchannel), а это текстовая версия стрима. В прошлый раз была бесконечная лента, сегодня очередная классика жанра - веб-краулер. Условие звучит примерно так:Спроектировать веб-краулер, который обходит интернет, вытаскивает со страниц текст и складывает его в хранилище. На этом тексте потом будут обучать LLM (условный ChatGPT). На весь обход даётся 5 дней - данные…

  • воскресенье, 21 июня 2026 г. в 00:00:04
javascript
Как отладить подключение бота к бирже за час, а не за трое суток

Исходный код, разобранный в статье, опубликован в этом репозитории Хирурга не пускают в операционную, пока он не отработал шов на тренажёре сотню раз. Пилот садится в полноразмерный симулятор кабины - с теми же тумблерами, той же инерцией, тем же отказом двигателя на взлёте - задолго до первого живого рейса. Никому не приходит в голову учить пилота летать, отправив его в настоящий полёт и ожидая, пока что-нибудь сломается.А в алготрейдинге мы делаем именно так.Боль, о которой не пишут в тутори…

  • воскресенье, 21 июня 2026 г. в 00:00:02
xaker
Android-вредонос Rokarolla атакует 217 банковских и криптовалютных приложений

Аналитики компании Zimperium обнаружили новый Android-банкер Rokarolla. Малварь распространяется через сайты, которые маскируются под страницы для загрузки популярных приложений вроде Chrome и TikTok. После заражения вредонос получает практически полный контроль над устройством жертвы.

  • суббота, 20 июня 2026 г. в 00:00:16