Shanraq.org Shanraq.org

Архив публикаций

суббота, 5 сентября 2026

суббота

сентябрь 2026
пнвтсрчтптсбвс
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Выделенные дни — те, в которые что-то опубликовано; их можно нажать.

IT

Ошибки и журнал в Go: увидеть, что сломалось

Двадцать пятый урок курса по Go. Паника в обработчике не роняет сервер — она роняет ответ, и читатель не получает вообще ничего. recover одной прослойкой, номер обращения в странице и в журнале, log/slog вместо печати в консоль и почему после уже ушедшего ответа спасать поздно.

IT

Статика в Go: CSS, шрифты и картинки

Двадцать четвёртый урок курса по Go. Сайт начинает выглядеть, а не только работать. http.FileServerFS, почему для файлов с диска нужен StripPrefix, а для встроенных нет, откуда берётся Content-Type, почему папка static видна целиком и почему встроенный файл браузер качает заново.

IT

Формы в Go: принять то, что прислал читатель

Двадцать третий урок курса по Go. Данные впервые идут в обратную сторону — от читателя к серверу. Метод и имена полей, r.FormValue, почему проверка в браузере не защита, и почему обработчик, который что-то изменил, отвечает редиректом, а не страницей: иначе F5 создаст вторую статью.

IT

Шаблоны в Go: html/template и страница вместо строк

Двадцать второй урок курса по Go. HTML переезжает из кода в отдельный файл: точка как имя данных, range по срезу, if и else. Почему html/template сам обезвреживает чужой текст, зачем шаблоны разбирают один раз при старте и почему страницу собирают в буфер, а не сразу в ответ.

IT

Обработчик и middleware: одна обёртка на все маршруты

Двадцать первый урок курса по Go. Обёртка вокруг маршрутизатора делает одно и то же для каждого запроса: журнал, время ответа, проверка. Что такое http.Handler, почему обёртка берёт обработчик и возвращает обработчик, и как узнать код ответа, которого ResponseWriter не хранит.

IT

Маршруты в Go: кто обрабатывает какой адрес

Двадцатый урок курса по Go. ServeMux разводит запросы по обработчикам: метод и путь пишутся одной строкой, {slug} вынимает кусок адреса, {$} не даёт главной странице ловить всё подряд. Ошибки 404 и 405 маршрутизатор берёт на себя, а конфликт двух образцов ловит при запуске.

IT

HTTP по-настоящему: метод, путь, заголовки и код ответа

Девятнадцатый урок курса по Go и начало модуля о вебе. Запрос — это структура, которую можно прочитать: метод, путь, заголовки, параметры. Ответ уходит в одну сторону: заголовки, код, тело — и в этом порядке. Почему 404 и 405 разные и что значит superfluous WriteHeader.