Иногда поддержка сайта ОТСТОЙ Перевод

Yori Yori 19 Апреля 2023

Вы могли бы подумать, что со всеми достижениями в области технологий, тем фактом, что я занимаюсь этим уже более десяти лет, и огромным количеством доступных фреймворков и инструментов, поддержка индивидуально настроенного личного веб-сайта и блога будет легко?

Это не так.

Во-первых, давайте поговорим об управлении DNS. Вы могли бы подумать, что такая простая вещь, как указание доменного имени на IP-адрес, будет простой, но нет. Всегда есть какая-то причудливая задержка распространения или странная проблема с кэшированием, которая заставляет вас усомниться в своем здравомыслии.

О, вы хотите, чтобы все ваши изображения были кэшированы, чтобы они были очень быстрыми для всех, кто посещает вашу страницу, но вы также хотите разбивать свой кеш каждый раз, когда публикуете новую версию своего сайта? Иди на х**! Разберись и сделай сам.

GoDaddy DNS, перенос доменов, учетные записи Cloudflare и настройки кэша, а также поведение с блокировкой уровня, о котором стоит беспокоиться. Выяснение того, на каком устройстве все еще есть эта учетная запись 2FA, чтобы я мог войти в систему и изменить настройки. Просматривая выходные данные devtools, я отлаживаю, почему мои изображения не кэшируются, как ожидалось. Какой проклятый кошмар.

Кроме того, есть обновления версий Node.js и Vue.js, которые напоминают безжалостную, бесконечную битву. Клянусь, каждый раз, когда я сажусь писать сообщение в блоге, в тени скрывается новая версия чего-то абсолютно критического для моего сайта, ожидающего, чтобы наброситься. С каждым обновлением происходят неизбежные критические изменения, за которыми следуют мучительные сеансы отладки, которые отправляют меня в погоню за дикими гусями по самым темным и неясным уголкам Stack Overflow. И как только я думаю, что приручил зверя, появляется еще одно обновление, сопровождаемое новым набором конфликтов зависимостей, устаревших методов и недавно появившихся ошибок, которые заставляют меня сомневаться в самом моем существовании как разработчика. Ручной труд был не так уж плох.

Обновления безопасности — это совсем другой зверь. Как только я думаю, что у меня все под контролем, я загружаю GitHub, чтобы просмотреть и объединить мой последний запрос на включение, но вместо этого меня окружает дюжина новых проблем CVE, которые зависимый робот пытается исправить с помощью своих собственных программных запросов на включение. Вызовите панику, за которой последует безумный рывок, чтобы исправить и протестировать затронутые компоненты. На прошлой неделе я видел, как парень подъехал к дому моего соседа с гигантской моющей установкой и начал сам мыть всю внешнюю часть в течение 4 часов. Я тоже мог бы это сделать.

И давайте даже не будем начинать ад зависимости. Управление совместимостью между моей машиной Ubuntu, библиотеками C и зависимостями, необходимыми для создания сверхпроизводительного препроцессора, который может преобразовывать SASS в необработанный CSS, сайт Vue.js версии 2, который я создал много лет назад, и все более сложной сети взаимосвязанных библиотеки — это как играть в бесконечную игру Дженга. В некоторых случаях я сажусь и бегу, npm run dev ничего не меняя, и оказываюсь в ситуации, когда мои установленные проблемы с зависимостями обработки SASS препятствуют даже запуску локального сервера. Удачи вам в поиске решений, когда вы настолько устарели в своем основном фреймворке!

Конечно, мне пришлось написать свою собственную систему ведения блога. Конечно, это должно было работать в Vue 2, и, конечно же, мне пришлось использовать файл конфигурации nuxt, который на самом деле является отдельной сложной программой Node.js, чтобы сделать большую часть тяжелой работы, чтобы конечный продукт всей этой утомительной работы был хоть как-то разумно оптимизирован под поисковые системы. Конечно, я тоже не задокументировал это, потому что к черту того парня, который будет разбираться с этим следующим.

Я знаю, что могу снять это бремя. У меня есть наставник, который превосходно и трезво использует Squarespace в своей профессиональной сфере — и результаты выглядят великолепно. Я сам читаю его сообщения в блоге и думаю, что они выглядят хорошо! Это не должно быть так.

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

Конечно, сколько раз я сидел с законченным постом в блоге, которым я хотел бы поделиться с миром, только для того, чтобы быть сорванным в последнюю минуту врасплох:

  • Проблемы с DNS
  • Проблемы Node.js, package.json, Vue.js, Nuxt.js или проблемы с библиотекой Ubuntu C
  • CVE, которые вынуждают меня сбросить какую-то непонятную зависимость после последней версии, которая работает в моей текущей настройке.
  • Отладка и настройка готовых фреймворков CSS.

… теперь действительно бросает вызов моему подсчету, потому что поддерживать сайт чертовски отстой!

И именно поэтому я это делаю. Это один из лучших проектов, которые я когда-либо создавал.

https://zackproser.com/blog/maintaining-this-site-fucking-sucks

2 Ответа

  1. OleStep OleStep 19 Апреля 2023

    Лично меня всегда настораживало отсутствие твердой опоры с Node.js, package.json, Vue.js, Nuxt.js. Сами релизы стабильны, но вот ощущение неуверенности в контроле остаётся. Возможно зависимости?

  1. German German 19 Апреля 2023

    Зависимости, особенно в веб-экосистеме, часто обходятся дороже, чем мы думаем. Не надо использовать их, если в этом нет необходимости.

    Статический html и простой CSS — это не просто предпочтения сварливых разработчиков, настроенных по-своему. Их действительно легче обслуживать.