Скриншот с запуском Behat

ВсячинаАвтотестам быть!

Собственно, тема в заголовке, к проекту (этому блогу) снова прикручиваются автотесты. Как и 13 лет назад, применён Behat (behat.org), BDD-тестовый фреймворк для PHP, умеющий в Gerkin, которым описываются человеко-понятные тестовые сценарии.

Винтажный робот от Lexica.art

ВсячинаПодготовка к автотестам

Очередная запись из серии "блог о блоге" 😄 На этот раз идут работы в связи с тем, что хочу снова покрыть блог и его админку автотестами. Раньше они существовали когда-то, но были заброшены. А тут ещё решил актуализировать код и вендорские библиотеки. Естественно в процессе происходили внезапные поломки, которые не были сразу замечены, в общем, автотесты сам доктор прописал.

Что был проделано, речь про админку блога:

  • Обновился до Symfony 6.4 LTS, актуальной на данный момент ✅ А начиналось с версии 2.1 в 2013-м году
  • Исправил больше 500 замечаний от статического анализатора PHPStan ✅ Думал этот процесс не закончится, но нужно чтобы всё было зелёненькое.
  • Удалил пару вендорских пакетов composer-а, отмеченных как abandoned ✅ Вроде doctrine/annotations, с последующим переходом на атрибуты PHP
  • Исправил замечания из deprecations логов ✅ Заготавливается основа на будущие обновления
  • Восстановил фикстуры данных ✅

ВсячинаБесконечный проект, блог о блоге

Вчера хотел здесь в админке добавить счётчик статей в категориях, а попутно проверить почему не генерируются картинки в формате avif и обнаружил, что вылезли фатальные ошибки после обновления симфони (5.4 на данный момент времени), хотя в TODO пометил их на исправление из-за предупреждений об устаревании. Но не исправлял 🙂

Вот и сейчас не могу сохранить пост с картинкой. 500-я... Ладно, запушу исправление и добавлю позже. Вообще, выход из этой ситуации только один — это автотесты. И они были в моём бложике. Не помню, почему я перестал их поддерживать, скорее всего сменилась версия API CircleCI, вручную же я их не запускал, а прогон автотестов после пуша в репозиторий был удобновй штукой. Надо будет это всё восстановить, главным сдерживающим фактором по автотестам была устаревшая версия симфони, но это уже было ликвидировано.

Из-за ошибки этой при сохранении записей и забыл уже, что собирался писать 😅 Планы анонсировать не хотел, они висят перманентно и никуда не деваются обычно, могут откладываться. Захотелось перенести сюда некоторые записи из жеже, но потребуется разработка, хотя бы потому, что нужно перенос автоматизировать, а не копировать текст руками (хотя вручную это сделать невообразимо быстрее), но цель уже не в самом переносе из жежешки, а в том, чтобы этот перенос запрограммировать.

Grafana dashboard

NewsCDN минус, Prometheus плюс

Отключил тут CDN, вернее перевёл раздачу статических файлов на свой же nginx на сервере. Не такая уж и большая потеря для сайта с 2-10 посетителями в день, не считая роботов 😁 Санкции лишили возможности оплачивать услуги и оставили прекрасный сервис BunnyCDN без моего доллара в месяц. Ну да ладно, поигрался с content delivery и хватит.

А из нового прикрутил метрики Prometheus и Grafana, не ради самих метрик и графиков, а скорее в рамках изучения нового инструментария. Нужно же где-то тренироваться (на кошках), помимо рабочих проектов, где чаще делаешь не то, что хочется, а то, что нужно

Опять на работу

РаботаВнедрился в VK

Неожиданно для самого себя попал на новую работу с первой же попытки, хотя думал, что искать её буду и 3, и 4 месяца. Ужасно не люблю собеседования, так что повезло, что их было существенно меньше, чем могло бы быть 😊

Была у меня теория, что работа всегда найдёт меня сама и раньше так и выходило. Но не в этот раз, пришлось предпринимать какие-то шаги со своей стороны, потому что после смены своей локации в LinkedIn поток сообщений/предложений пропал.

NewsРебрендинг

Был morontt.info, стал xelbot.com 😁 Разницы особой нет, потому что и нет тут никого, кроме меня. Произвожу оптимизацию, чтобы не платить просто так за разные домены. А xelbot получился много лет назад, как напечатал "чудище" в английской раскладке.

NewsНовая старая админка

Решил, раз уж активно работаю и с админкой этого блога, освежить и её. Внешне не должно ничего поменяться, а вот под капотом изменения предстоят. Как уже писал тут в 2016-м, сделана она на Ember.js с Symfony. Вот с JS-частью и затеял обновление. Изначально и довольно давно задумал удалить SPA (single page application), переделать на обычный серверный рендеринг и избавиться от геморроя, связанного с быстрым устареванием фронтендовой инфраструктуры.

Но прошло уже 7 лет, а админка продолжает работать, bower не исчез, а всё так же скачивает пакеты, хоть и предупреждает уже несколько лет, что пора мигрировать на Yarn и Vite (что это, кстати?), крутится в докере 8-я версия Node.js, а выше не поднимешь, так как собираться код уже не будет...

NewsГотово, вроде...

Переключил на новую гошную версию движка на ночь глядя. Утром посмотрю, не завалилось ли приложение и сколько навалило 500-х и прочих ошибок в логи 😁
Разработка этого блога

ФотографияДля истории

Оставлю это тут на память. Когда интерес немного перевешивает лень или, скорее, безразличие.

NewsНазад дороги нет

Всё. Даже куплена новая тема на themeforest.net. Периодически происходят набеги к новому движку этого блога, который пишется на Golang (с марта 😅).

А вообще, в разные периоды времени, я переделывал свой блог на Python (Django), Phalcon Framework, Clojure (Luminus), Java (Ninja Framework и Spark),Common Lisp (Hunchentoot), Elixir (Phoenix). Но так ни разу и не довёл дело до конца, максимум добирался до пажинатора страниц. Да и на Golang это уже не первая попытка. Но будет последняя. Или сейчас, или уже никогда 💩 Всё равно не веду эти страницы, только за VPS плачу.