Блог

Оплатил домены ru и com. Com оплатил аж на 5 лет вперёд. Хотя и хотел на 10, но 20к отдавать за это не то чтоб хочется... К тому же с зоной com это можно сделать в любой момент, чего не сказать про зону ru — обновление на этой зоне законодательно разрешено только сроком на 1 год, что довольно ужасно как по мне.

Изображение: Домены мои доменыДомены мои домены

Параллельно настраиваю свою почту на принятие писем с домена com. Почему изначально алиас не настроил, я не знаю.

Я сделал новую страницу «Календарь жизни»! Можете посмотреть на свой прогресс в жизни и порефлексировать (:

Также можно подвести небольшой праздный результат. На моем расширении для изменения громкости на вкладке уже 1'000 активных пользователей! Очень круто!

Изображение:

Что ж. Я выполнил ещё одну очень серьезную хотелку, связанную с этим сайтом, это сделать бэк на Python (Django) и GraphQL, и это было наконец-то сделано.

Изображение: Используемые языки в проектеИспользуемые языки в проекте

Привет из админки! (:

Что ж... Я оживил мейтейн сайта. Смотрите на это чудо:

        wokalek/nuxt on main took 2s
🍙  p outdated

...тут пусто!

      

Тут нихрена нет. Это просто прекрасно.

А проблема была в том, что в какой-то момент сломался nuxt/content, а конкретно связка его с nuxt/mdc и плагинами для генерации LaTeX. Случилось это очень давно, но... Я пробовал постоянно обновлять версии зависимостей, комбинировать их и выискивать совпадающие, но всё тщетно, они просто не стакались. И сейчас я тоже думал так. Но я просто на пофиг обновил сразу всё, и оно срослось. Просто магия vue, ибо я не знаю, как так получилось. Но я очень рад этому, что теперь можно будет поддерживать сайт на всём актуальном.

Вместе с этим сайт подвергся очень серьёзной переписки на tailwind. В своей статье я критиковал tailwind, но в итоге он мне очень зашёл, я его и в работе использую время от времени. Очень удобный. Дальше поддержка сайта или разработка новых каких-то страниц будет намного легче и быстрее ^_^

Получается выполнил ещё одну цель из своего списка из страницы «О сайте»:

  • ✓ Переписать фронт на tailwind

Кроме этого, разобрался с громоздким хламом в виде кастомных костылей отложенной загрузки изображений на основе скопированных исходников nuxt/image версии 1.0.0-rc. У модуля случился нормальный релиз и можно было бы в принципе отказаться от кастомных компонентов, но дошёл до этого только вот сейчас.

Дальше планирую делать бэк и вместе с этим очень много всего интересного.

Хочется заняться моим репозиторием wokalek/nginx-brotli, ведь он довольно популярен даже! 400 закачек через пакеты гитхаба и 376 через Docker hub. Это круто. Я хочу автоматизировать это, чтобы если новая версия nginx выходила, сразу же создавались два реквеста на мерж с обновленным Dockerfile и билд происходил сам по себе, и затем распространялся на пакетные репозитории. Одной кнопкой. Можно будет поддерживать это бесконечно.

Также я созвал свой Nuxt3 Starter, который уже даже применил на одном из рабочих проектов!

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

Апгрейднул сервер, на котором крутится сайт.

2cpu → 4cpu
4gb → 8gb
30gb → 80gb

Теперь билд фронта не должен занимать 300 секунд (:

Правда и плата х2, но думаю в новом году я сайту гораздо больше внимания буду уделять.

Приветик! Давно не было ни одного постика 🙃

Из крупного — реализовал расширение для браузера Tab Volume и также опубликовал его в магазине chrome web store.

Расширение позволяет менять громкость на конкретной вкладки, работая с потоком аудио, а не конкретными источниками звука элемента. Очень простое и куча интуитивных фишек, которых не встретится в аналогах. Я сам им пользуюсь просто постоянно.

Расширение полностью опенсорсное, лицензированное по CC BY-NC 4.0. Хотя лицензия якобы не подходит для софта, но я не нашёл в нём противоречий и решил, что эта лицензия меня устраивает больше всего для свободного ПО.

На самом деле я реализовал его ещё где-то месяц назад, но пост делаю вот только сейчас 😩

Тем самым выполнил пункт из секции «Будущее» на странице «О сайте»!:

  • ✓ Сделать опенсорсное расширение для браузера.

Что ждёт дальше?

Надо делать бэкич. Писать статьи очень неуобно, когда это требует пересборки фронта.

Это же открывает дорогу к RSS и комментам на сайте!

Но в ближайших планах накатать новую около айтишную (пока что) статью.

Наконец заселфхостил twiMonBot — бот для алерта стримов на самых разных площадах: Twitch, YouTube, Goodgame и недавно автор добавил поддержку WASD.

Круто! Можно юзать тут: twitchmonitorbot 👾

А также я по факту выполнил 2 пункта из обозначенной ранее секции «Будущее» на странице «О сайте»:

  • ✓ Настроить автодеплой на прод.
  • ✓ Заселфхостить twitch bot.

Запилил небольшой проектик по билду сервера Nginx'а и хочу про него рассказать. Данный сайт работает на нём.

github.com/wokalek/nginx-brotli ✌️

Изначально всё, что я хотел, это подрубить поддержку HTTP3/QUIC для своего сайтика, потому что концепция работы HTTP3 реально крутая:

Изображение: как работает протокол QUICкак работает протокол QUIC

Но я недооценил кривость этой технологии в её текущем состоянии — «я ограничен технологиями своего времни».

Я использовал другие изображения Docker'а для HTTP3, спустя полтора дня безвылозного вдупления в сборку nginx — сбилдил свой собственный nginx с nginx-brotli и http3, и результат был неутешительный, потому что всё лагало, тормозило, некоторые запросы просто вешались.

Вообщем, пока рано миру видеть HTTP3.

Тем не менее я решил запилить собственную сборку nginx и вырожить её в свою репу.

Плюсы у неё тоже есть. Например то, что самый популярный образ fholzer/nginx-brotli с 1 миллионом пулов — 13,96 МБ, а wokalek/nginx-brotli9,36 МБ (при сжатии gzip, сравнивая теги 1.25.1 обоих образов).

И, например, такой немаловажный момент, как, например, читаемость Dockerfile'а, чего просто отсутствует у всех других образов.

А также отсутствие кучи другой фигни типа поддержки перла, луа, прочей никому ненужных настроек, но присутствие реально важных настроек.

Будущее

Я постараюсь когда-нибудь сделать автобилд по расписанию новых образов при выходе новых версий nginx и его зависимых библиотек.

Ну и будет интересно посмотреть, как и когда допилят нормальную поддержку HTTP3/QUIC. Билд версии с использованием OpenSSL, с поддержкой QUIC, уже доступен в ветке http3. Но если это реально кто-то читает, то спешупредупредить, это супер эксперементальная штука и не надо ей пока пользоваться.

Хочу для потомков запечатлеть крутые показатели Lighthouse'а этого сайта. Я постарался и применил абсолютно все знания для обеспечения всех крутых вещей и даже изучил кое-что новое, такое как доступность, например.

Изображение: Главная страницаГлавная страница

Изображение: Страница фотографий это самое тяжелое, что тут естьСтраница фотографий это самое тяжелое, что тут есть

Всем привет!

Ну вот наконец-то и настал тот момент, когда я публикую свой сайт. Не сказал бы, что он свёрстан на коленке, я старался и применил, думаю, самые лучшие практики, которые я только знаю в рамках тех тулсов, что я юзал. За время разработки я изучил кучу всего, поучаствовал в контибутерстве библиотек для Nuxt.js и в принципе, много нового узнал.

Это не тот сайт, который я хотел получить. Но я решил, что хватит уже с этим тянуть и быть сапожником без сапог и всё-таки начал его делать. В будущем, когда я доучу своё 3D (давно пора...), буду перевёрстывать. А может быть и не буду, а модифицирую. Увидим.

Дальше я хочу открыть свой инстанс tg бота для отслеживания стримов на своём сервере, а также сделать расширение для браузера для регулировки звука на вкладках. Уже есть такое расширение, которым я активно пользуюсь, но я хочу своё + есть идеи для улучшения. А у чела оно не опенсорсное, а я своё опенсорснью (← 🤣).

Также хочу опубликовать свои настройки для vscode, потому что за горы годы разработки я их накопил очень много и довольно важных, может кому-то пригодятся. Я сам искал много настроек в своё время и это будет полезно многим.

Ну и посмотрим, что ещё тут будет. В любом случае это важная для меня вещь и я не буду относиться к своему проекту легкомысленно.