Программирование → Санкции (рестрикции) и программирование оффлайн
Почти год уже нахожусь в Крыму и часто сталкиваюсь с вводимыми ограничениями со стороны разнообразных технологических компаний. Например, не работает сайт документации по Go, да и сами релизы этого ЯП не скачиваются без дополнительных манипуляций. Вместо этого или 403-я ошибка, или 404-я
Кроме этого пока ещё нет толком интернета и мобильной связи на даче в горах, мобильная вышка с другой стороны горы и ею же закрывается 😅 Программирование само по себе без интернета приобретает иной уровень сложности, попробуйте, допустим, без поисковика определить программным методом в каком-нибудь питоне или PHP определить время последней модификации файла и тому подобное. Поэтому пришлось озаботиться оффлайн-документаций.
News → Замеры на будущее, 2-я часть
Ну вот это самое будущее и наступило, даже существенно раньше, чем предполагал :) Показатели на свежевыложенной новой версии. Хоть инструменты для измерений и претерпели изменения и сравнивать напрямую нельзя, но приблизительно оценивать можно. Стало хуже, но впереди будут оптимизации, пока было не до них, нужно было публиковать уже то, что есть, а то, что есть, активно доделывается и обрастает новыми задачами и задумками. Главное, чтобы не отпустило, а то неизвестно на сколько меня ещё хватит, опять заброшу этот блог.
GTmetrix и аудит Lighthouse из гугл-хрома:
слиплись картинки
News → Готово, вроде...
MySQL → emoji, MySQL и кодировка UTF-8
Давно уже, многие годы, знал о проблеме, что комментарии в этом блоге с эмоджами не сохраняются, как и статьи, потому что MySQL ругался чем-то вроде Incorrect string value: '\xF0\x9F\x87\xB2...' for column 'text' at row 1 и записи не сохранял. Но исправить эту штуку было просто недосуг, комментируют здесь не то, чтобы сильно часто, да и то чаще боты со спамом. А вот в новой версии движка блога, которая уже фактически запущена, это было запланировано к исправлению 😁
Когда переносил блог на новый сервер, то установил там восьмую версию мускула и проверил, сохраняет или нет. Вдруг разработчики базы данных давно уже исправили этот incorrect string value, я ведь не один такой на планете с эмоджами, нас десятки и сотни тысяч, уверен, если не миллионы. Но результат не поменялся, та же ошибка. Не прокатило, штош...
News → Рождение в муках
С переменным успехом и крайне редкими набегами, но всё таки движется разработка третьей версии движка этого заброшенного блога. Запись про новую админку была аж в 2016-м 😅 В данный момент нахожусь почти на финишной прямой, заканчиваю с комментариями. Наконец-то реализовал Nested set для двевовидных комментариев и категорий.
Ну и скриншот, типа работа полным ходом 😁
News → Война на Украине. 24.02.2022
Каждое поколение должно поучаствовать в войне.
- Адольф Гитлер
За несколько недель (если не месяцев) до описываемых событий началось массовое нагнетание. И подобные новости я получал от подруги тревожницы, сам же не относился к этому серьёзно, потому что мантра "Путiн приде, Путiн нападе" за много лет уже порядком надоела, считал, что украинские правители имеют крохи разума и инстинкт самосохранения, будут и дальше зарабатывать на войне, на закупках у самих себя для армии топлива, продовольствия по несколько завышенным ценам, военный сбор опять же, который вычитается у каждого украинца из зарплаты, если эти зарплаты не в конверте. Ну и в целом, поддерживать этим запугиванием внешним врагом в тонусе свидомых украинцев. Впервые же заметил, что происходит неладное, когда увидел в TikTok короткие видео с военной техникой, находящейся у украинских границ над Харьковом и этой техники было много. А то, что война будет, осознал 23-го числа вечером, после видео с Путиным, где он говорил, что ЛДНР будут признаны в границах их областей.
Фотография → Для истории
Оставлю это тут на память. Когда интерес немного перевешивает лень или, скорее, безразличие.
News → Замеры на будущее
Работы над новым бложиком идут полным ходом. Позавчера вот первый запрос к БД выполнил, например 😏. Такими темпами до конца семилетнего карантина движок и будет как раз закончен. Ну а пока оставлю тут пару скриншотов пиписькомеров, чтобы было куда равняться, потому как показатели новой версии должны быть, как минимум, не хуже.
GTmetrix раз:
И аудит из Chrome DevTools два:
Всё зелёненькое и хорошо. На этом пока всё.
News → Назад дороги нет
Всё. Даже куплена новая тема на themeforest.net. Периодически происходят набеги к новому движку этого блога, который пишется на Golang (с марта 😅).
А вообще, в разные периоды времени, я переделывал свой блог на Python (Django), Phalcon Framework, Clojure (Luminus), Java (Ninja Framework и Spark),Common Lisp (Hunchentoot), Elixir (Phoenix). Но так ни разу и не довёл дело до конца, максимум добирался до пажинатора страниц. Да и на Golang это уже не первая попытка. Но будет последняя. Или сейчас, или уже никогда 💩 Всё равно не веду эти страницы, только за VPS плачу.
News → Переехал в контейнер :)
Спустя почти год моей моральной подготовки контейнерная революция докатилась и до этого бложика. Хотя в разработке docker использую как раз таки этот самый год, крайне удобная штука, теперь вообще любой новый проект делаю только с ним.
Пришлось немного подумать кроне. Варианта виделось три:
- Залепить крон в тот же контейнер, где крутится веб-приложение. А вебсервер и процесс крона запускать через supervisord, как делают некоторые (раз и два). Но это как-то не docker way, поэтому не захотелось :)
- Отдельный контейнер, где бы жил и крутился крон. Этот вариант делать не стал из-за перерасхода ресурсов, пусть и минимального.
- И третий вариант, который прижился. Просто запускаю docker run из хост-системы её же кроном. Прекрасно работает :)
Вроде такого:
1 | /usr/local/bin/docker-compose -f /path/to/docker-compose.yml run --rm myweb /path/to/cronscript
|