3 сентября 2026 г.
птицы
Как в сцену шапки сайта добавились тупики, а потом гораздо больше птиц, чем планировалось, плюс рыбы и крошечный бегун.
3 сентября 2026 г.
Как в сцену шапки сайта добавились тупики, а потом гораздо больше птиц, чем планировалось, плюс рыбы и крошечный бегун.
2 сентября 2026 г.
Рисование Lovundfjellet как пиксель-арт для заголовка, и бой чтобы получить форму и favicon правильно.
1 сентября 2026 г.
Старый дизайн блога был слишком общий, так я начал с нуля с зелёным и ощущением Lovund.
3 июля 2026 г.
Что реально сломалось при первом полном прохождении готового блога, загадка 413-комментариев которая никогда не разрешилась и что меня на самом деле научило строить всё это.
1 июля 2026 г.
Что обратный прокси действительно есть, почему каждый сервис сидит позади одного Caddy экземпляра, автоматический TLS я не протестировал реально ещё, и заставление healthchecks значить что-либо.
29 июня 2026 г.
Что MinIO и S3-совместимое хранилище действительно представляют, как блог проверяет типы загрузок перед сохранением, и баг потолка размера что занял дольше чем должен был найти.
26 июня 2026 г.
Письмо постов в markdown-редакторе с разделённым окном и живым предпросмотром, модерирование комментариев, и почему сервер проверяет разрешения даже когда UI уже спрятал кнопку.
25 июня 2026 г.
Серверный рендеринг, действия формы вместо вызовов fetch на клиенте, прокси который держит токен доступа полностью вне браузера, и санитизированный markdown рендеринг.
23 июня 2026 г.
Как сервис блога моделирует посты, слаги, черновики и запланированную публикацию, вложенное дерево комментариев, лайки и репорты, поверх миграций Postgres.
22 июня 2026 г.
Как учётные записи, хеширование паролей, токены и cookies, ротация refresh, и rate limiting работают за кулисами на странице входа этого блога.