Блог DIMV

•••

Что я — поклонник творчества БГ, ни для кого не секрет. Я даже иной раз читаю в глазах людей, хорошо меня знающих, что, может быть, я — даже больше поклонник его творчества, чем прилично здравомыслящему и уравновешенному человеку (мне, впрочем, можно: я ни тот, ни другой). Вслух мне этого пока не говорили, но думали очень громко. Я, бывает, даже задумываюсь: не чересчур ли я, правда…

А потом выходит вот новый мини-альбом из четырёх песен. И начинается он с куплета:

•••

Работая с S3-совместимыми хранилищами, я то и дело вспоминаю, что сайт-то у меня статический, и хостить его из бакета S3, возможно — хорошая идея…

А потом вспоминаю, что хочется корректно отдавать HTTP 410, и начинаю печалиться…

А потом смотрю на количество Redirect, Rewrite и Header add в .htaccess, успокаиваюсь и перестаю желать странного.

Pagefind

Поиск на сайте — это хорошо и удобно. На Known у меня был, потом, с переходом на статику, пару месяцев не было, но после перехода на LoveIt появился снова — в LoveIt встроенные шаблоны для работы с Algolia и Lunr.js, и второй из опций я воспользовался. Некоторое время это работало, но потом на сайт добавились посты из архивов Google+ и ЖЖ, и страниц стало слишком много.

Фактически, для Lunr.js генерировался отдельный файл со всем текстовым содержимым сайта, и этот файл должен был быть загружен браузером, чтобы скрипт мог в нём что-то искать. Файл стал слишком большим, и стало проще открыть Google и поискать по сайту там, чем дожидаться загрузки «встроенного» поиска. Кончилось тем, что в мае этого года я поиск отключил вовсе — им всё равно было невозможно пользоваться.

Пишите письма!

С тех пор, как этот блог переехал на отдельный сайт, в качестве системы для комментариев тут использовались вебменшены. Это вполне работало — в первую очередь потому, что я дублировал посты в социальные сети: Google+ (кто-то ещё её помнит?), Facebook, Twitter — и комментарии оттуда автоматически загружались сюда. Со временем, соцсети стали сильнее огораживаться, и я, в общем-то, перестал там бывать (не только по этой причине).

Вебменшены вообще — довольно нишевая штука; не у всякого есть свой сайт1, а даже если он есть, он не обязательно умеет в вебменшены2. Они по-прежнему годятся для общения с владельцами сайтов, на которых эта поддержка есть, и с населением Федивёрса, но большинство окружающих меня людей в эти категории не попадают. Можно было бы воспользоваться Телеграмом; он есть, считай, у всех. Дублировать посты в канал, подтягивать оттуда комменты — в принципе, ничего невозможного. Но, откровенно говоря, не хочется заморачиваться и тратить силы на очередную проприетарную платформу, которая тоже огородится и медленно помрёт вслед за остальными. Особенно учитывая, что есть альтернатива, которая должна неплохо сработать…

О модных языках программирования

Долгое время меня ставила в тупик популярность Python в бекенд-разработке: понятно, что прототипировать и прикидывать на этом языке удобно, но выполняется-то код медленно! Кому — думал я — в здравом уме придёт в голову писать «боевой» код с заведомо плохой производительностью (а следовательно, повышенными затратами на инфраструктуру)?! Потом я узнал, что многие распространённые библиотеки для Python (особенно такие, где производительность критична) «под капотом» написаны на C++, а то и на C, и всё стало понятно.

Памятка гоферу про Яндекс.Контест (и похожие платформы)

Go — очень хороший язык для командной разработки высоконагруженных приложений, и не только для них. Для многих это основной язык разработки. А ещё он, пожалуй, наиболее удобный в освоении из современных языков бэкенда, поэтому для ненулевого количества начинающих Go — «родной» язык, самый близкий и комфортный. Видимо, поэтому изрядное количество программистов выбирают Go для решения алгоритмических задач.

В этом посте — несколько ценных советов тому, кто решил пойти этим путём. Мне бы такой пост очень помог год назад, но он мне тогда не попался (собственно, до сих пор не попался, поэтому пишу сам).

•••

Когда не до конца понимаешь тонкости, отладка может превратиться в интересный процесс…

Вчитался. Исправил. Скомпилировал код, собрал образ. Забросил в облачный реестр. Раскатил на тестовый кластер. Не работает. Подключился к поду, читаешь логи…

Прочитал. Полез в код. Вчитался. Исправил. Скомпилировал, собрал образ. Забросил в реестр. Раскатил на кластер. Не работает. Подключился к поду, читаешь логи.

Прочитал, не должно такого быть. Полез в код, вчитался…

И ещё один цикл. И ещё, и ещё… На третий день Зоркий Сокол сравнил sha256-отпечатки контейнеров и заметил, что у сарая нет одной стены пять часов отлаживал одну и ту же сборку.

•••

На центральном вокзале Калуги есть очень нарядная тематически оформленная клумба.

клумба в виде паровоза
Чух-чух!

Видите машиниста? В РЖД явно очень обеспокоены текучкой кадров, и приняли меры, чтобы машинист не покинул рабочее место…

кукла-«машинист» прибита гвоздём прямо поверх формы
Машинист РЖД не должен отлучаться с рабочего места!

Надеюсь, живых машинистов они просто привязывают…