TGViewer
Библиотека программиста Библиотека программиста @proglibrary · 78K subscribers
Post #11913 1.75K
⌨️ Опечатка в HTML-шаблоне останавливает сборку

Лукаш Лалинский сделал zt — шаблонизатор, который во время zig build превращает HTML-шаблоны в код Zig. Параметры типизированы: ошибку в имени поля или несовместимый тип компилятор замечает до запуска приложения.

Сгенерированный код пишет результат в std.Io.Writer: можно отправлять HTML в сокет или собирать его в буфере. Динамические значения экранируются по умолчанию, а URL в href и src проверяются на опасные схемы. Для сырого HTML нужно явное исключение.

Автор разбирает устройство библиотеки и границы защиты: безопасные значения по умолчанию не закрывают все варианты XSS. Интересный пример того, как перенести часть ошибок шаблона из запроса пользователя в сборку.

🔗 Разбор автора, найденный на Hacker News

🐸 Библиотека программиста
Lukáš Lalinský Type-safe HTML templating in Zig I’ve done a lot of web development over the years. I started around the year 2000, just after PHP 3.0 was released and started taking over the web world. I’ve used all kinds of approaches for generating HTML: raw PHP, string concatenation in Python, Smarty…
  • 👾 1
More from @proglibrary
  1. Oct 15, 2026🧑‍💻 Какие навыки помогают вам в разработке в 2026 году? Что вы чаще используете в работе…
  2. Oct 15, 2026🔎 Где багхантер начинает искать ошибки Исследователь vaib25vicky выбирает сложную функцию…
  3. Oct 14, 2026💬 Ревьюер сменился. Замечания остались Разработчица в Threads рассказала о неожиданном пр…
  4. Oct 14, 2026Post #11910
  5. Oct 14, 2026Общая папка для работы Claude Code и Codex Луи-Франсуа Бушар собрал заметки, инструкции-ск…
  6. Oct 14, 2026🖥 Песочница есть. Файлы проекта всё ещё можно удалить В Docker Sandboxes агент работает в…
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 →