История о том, как я перестал добавлять новые функции и начал строить системуПосле моей первой статьи про Pulse я не ожидал, честно говоря, примерно ничего. Но к моему удивлению увидел реакцию: немного поддержки, немного критики, несколько советов по UX.PulseЯ получил около 7 тысяч просмотров, десятки комментариев и, неожиданно для себя, полноценный аудит проекта. Особенно, просто золотой грааль - комментарий от пользователя domix32. Он не обсуждал идеи. Не спорил про дизайн. Не рассуждал о буд…
Не так давно, я наконец выложил на github свой фреймворк cruzo – https://github.com/MaratBektemirov/cruzo. Сам фреймворк писался где-то с 2020г, в свободное от работы время. Причем большую часть времени я потратил на шаблонизатор с реактивными значениями.Я сам в разработке с 2013 года, начинал с фронта. Еще когда не было angular.js, react - все сидели на jQuery, большая часть сайтов была не как single-page-application, а прям генерировалась на сервере. Первый мой фреймворк angularjs, поэтому он…
Компания Apple выпустила патч для беспроводных наушников Beats Studio Buds. Исправление устранило опасную уязвимость, которая позволяла атакующим подслушивать разговоры пользователей, находясь в зоне действия Bluetooth.
Мы уже работаем над третьим ежеквартальным выпуском «Хакера» 2026 года, а значит, пришло время открывать предварительные заказы! В новый печатный номер войдут лучшие статьи, опубликованные на сайте за прошедший квартал. Тебя ждут три нестандартных материала, посвященных роутерам и сетям, и многое другое.
В свободное время пишу на чистом Go порты CRDT-движков. CRDT - это структуры, на которых держится совместное редактирование в реальном времени, вроде гугл-доков: несколько человек правят один документ, и копии сходятся к одному состоянию без центрального арбитра. Эталонные реализации живут на других языках: Yjs на JavaScript, Loro и data model протокола Willow на Rust. Я переписываю их на Go, потому что FFI и CGO плохо ложатся на мобилку и WASM, а pure-Go порт собирается куда угодно. И смысл та…
Статья написана по мотивам доклада Георгия Фатеева (Application Security инженер, МТС Web Services) на конференции GolangConf. Представьте обычный HTTP-обработчик. Пользователь передаёт имя файла через query-параметр, код подставляет это имя в shell-команду и зовёт ls -l. Выглядит безобидно. А теперь пользователь присылает вот такое значение:/?filename=.;rm%20-rf%20/ Go аккуратно соберёт и выполнит команду:sh -c "ls -l .;rm -rf /" И снесёт систему по своей оси. Уязвимый Go-обработчик: …
Привет! Продолжаю разбирать классические задачи с System Design интервью на стримах (за анонсами можете следить тут https://t.me/siliconchannel), а это текстовая версия стрима. В прошлый раз была бесконечная лента, сегодня очередная классика жанра - веб-краулер. Условие звучит примерно так:Спроектировать веб-краулер, который обходит интернет, вытаскивает со страниц текст и складывает его в хранилище. На этом тексте потом будут обучать LLM (условный ChatGPT). На весь обход даётся 5 дней - данные…
Исходный код, разобранный в статье, опубликован в этом репозитории Хирурга не пускают в операционную, пока он не отработал шов на тренажёре сотню раз. Пилот садится в полноразмерный симулятор кабины - с теми же тумблерами, той же инерцией, тем же отказом двигателя на взлёте - задолго до первого живого рейса. Никому не приходит в голову учить пилота летать, отправив его в настоящий полёт и ожидая, пока что-нибудь сломается.А в алготрейдинге мы делаем именно так.Боль, о которой не пишут в тутори…
Аналитики компании Zimperium обнаружили новый Android-банкер Rokarolla. Малварь распространяется через сайты, которые маскируются под страницы для загрузки популярных приложений вроде Chrome и TikTok. После заражения вредонос получает практически полный контроль над устройством жертвы.