TGViewer
Инструменты программиста Инструменты программиста @prog_tools · 12.9K subscribers
Post #2987 412
Как показывать лог пересборки сервера в браузере через systemfd

systemfd сохраняет слушающий сокет открытым, пока watchexec следит за исходниками и пересобирает сервер. Во время компиляции запросы некому обрабатывать, поэтому вместо пустой страницы socat передаёт в браузер поток лога сборки.

Bash-функция создаёт минимальный HTTP-ответ, а tee одновременно выводит результат cargo build в терминал и дописывает его в файл. socat читает новые байты из файла через уже открытый сокет. После успешной сборки скрипт завершает socat и запускает новую версию сервера. xterm.js возвращает терминальные цвета, а fetch позволяет корректно обработать закрытие потока и подключиться снова.

В готовом скрипте dev.sh разобрана вся связка. Пример написан для Rust, но подход переносится на другие компилируемые бэкенды, если они поддерживают наследование слушающего сокета.
More from @prog_tools
  1. Sep 26, 2026Как найти коммит с регрессией через git bisect git bisect ищет коммит, который внёс регрес…
  2. Sep 25, 2026Как быстрее освоить tcpdump и dig по man-страницам В официальных руководствах tcpdump и di…
  3. Sep 25, 2026shot-scraper 1.10 научился записывать видеодемонстрации веб-приложений Инструмент shot-scr…
  4. Sep 24, 2026KernelLens: трассировка системных вызовов Linux с нагрузкой менее 1% KernelLens — eBPF-тра…
  5. Sep 24, 2026Как разбирать пути к файлам модификаторами Zsh Zsh умеет выделять части пути без отдельных…
  6. Sep 23, 2026Dust показывает, что занимает место на диске Dust — написанная на Rust альтернатива du, ко…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →