Коничива, уважаемый!

За время вашего отсутствия мы тут вон чего понаписали:

    13 Июня

    Оптимизируй это

    Периодически ковыряюсь в коде этого сайта и достаточно давно зрела идея заменить jQuery на Vue.js. С последним я пока ещё на вы, но опыт всё же есть. Но начинать это надо не с интеграции Vue.js, а с отказа от jQuery. Этим я и занимался последние пару дней: заменял весь jQuery на ванильный JS. В итоге, обработав около 65-70% своего кода, плюнул и забил на эту идею. Код существенно подрос в размерах, а его читаемость сильно ухудшилась. В плане поддержки браузеров отказ от jQuery тоже, своего рода, шаг в неизвестность. Ну и был ещё такой момент, как замена сторонних скриптов, использующих jQuery, на "чистые" аналоги. Замену замечательному FancyBox 3 я, например, так и не нашёл. Короче, в рамках этого сайта jQuery жив и будет жить!

    Тем не менее, несколько шагов по оптимизации я тоже сделал. Сущие мелочи, но приятно. Что же до Vue.js, то конкретно в двух местах на этом сайте она может быть использована, а это мало. Так что, если прикручу, то не скоро.

    Размышлял: Lentyay
    9 Мая

    Куда уходит время...

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

    Ещё один интересный источник, который я для себя открыл - раздел новостей на сайте нашего Департамента водных путей сообщения. Например, узнал оттуда, что сейчас у нас идёт замена освещения маяков на секторное (небольшие LED-люстры, закреплённые на каждом из окон лантерны). Главная причина - повышение экономичности при улучшении световых характеристик. В прошлом году 4 маяка "переобули", в том числе и Виирелайд, причём после того, как я фоткал маяк.

    Секторное LED-освещение маяка Виирелайд

    Второй момент, я решил добавить некоторый технический ликбез к маячным статьям. Давно думал, как это реализовать максимально удобно и остановился на идее появляющихся подсказок. Теперь в статьях некоторые технические термины и модели фонарей сделаны ссылками, при наведении мышки на которые, появляется табличка с пояснение. Как сноска в книге. На все эти вещи я потратил несколько десятков часов. Вот, куда уходит время.

    Размышлял: Lentyay
    26 Марта

    Отчёт о проделанной работе

    Подобные отчёты я писал тут не раз и всегда они касались программирования. В этот раз не совсем так. Начну с того, что я закончил штудировать книгу Яана Вали. Я дополнил информацией из неё все, без исключения, свои заметки по маякам. Также добавил ещё больше старых фотографий и изображений (теперь их 84). Совершенно точно могу сказать, что мой сайт на сегодняшний момент является самым полным справочником по эстонским маякам.

    Теперь программирование. Появилась простая и гениальная идея - автоматически добавить таблички с краткими данными маяка в публикацию с его историей. Технически оказалось несложно. Сделал, начал проверять и.., оказывается, я совсем забыл, что у меня есть посты, в которых рассказывается сразу про 3-4 объекта. Дальше я пробовал разные варианты, но ситуация только усугублялась. Пробовал делать одну большую табличку со всеми нужными маяками, но при наличии широких картинок вёрстка неконтролируемо ползла. Пробовал по-разному комбинировать несколько одиночных табличек, но тоже ничего хорошего не получалось. Дополнительной проблемой стал порядок, в котором выводились маяки и который никогда не совпадал с тем порядком, который был в тексте. В конечном итоге, остановился на логике шаблонизаторов: в текст публикаций в нужных местах вставил код, который при рендеринге заменялся на табличку с данными. Это убило автоматизацию, но дало хороший результат. К сожалению, на практике вылез ещё один нюанс: даже если есть полный контроль над тем, куда будут вставляться таблички, есть публикации с большим количеством маяков и малым количеством текста, где вёрстка один хер ползёт. Принял решение в таких редких случаях не ставить некоторые таблички. Пока на этом варианте и остановился.

    Альтернативный вариант - делать таблички на всю ширину страницы, тогда вёрстка никогда ползти не будет, но тогда из ненавязчивого виджета они превратятся в полноценный информационный блок, занимающий много места.

    Ну а на следующей неделе уже будут новые маяки. Не один.

    Размышлял: Lentyay
    22 Ноября

    Рефакторю опять и снова. На этот раз больше частью в бэкенде, хотя и вёрстке досталось. Обновился PageSpeed Insights и жизнь пошла прахом. Много чего пробовал, много чего менял, останавливался на каком-то варианте, через два дня понимал, что это "не то пальто", снова переделывал. Что по итогу? "Попугаев" стало не намного больше, но зато обновил PHP до версии 7,2 (была 5,2) и попутно несколько скриптов. Сегодня вообще добавил убер-фичу - сжатие картинок при добавлении постов или фоток в галерею (для галереи сжимается только превьюшка). Сделано это через TinyPNG PHP API.

    Много времени ушло и на белые иероглифы сверху. На прошлой неделе заменил картинку на шрифт, а на этой неделе убрал параллакс (подустал от него).

    Размышлял: Lentyay
    6 Ноября

    ... И ещё один момент на сайте не давал мне покоя. Я более-менее регулярно добавляю свои фото-проступки в галерею, но для рядового посетителя это остаётся незамеченным. Задумался о том, что надо бы сделать какую-то возможность экспорта обновлений галереи в ленту публикаций. Автоматическая публикация каждой новой фотки точно не пойдёт, надо это сделать как-то сгруппировано и контролируемо. Отметил фотографии в админпанели, нажал кнопку и вжух! Чтобы не было повторений, надо по-разному маркировать уже опубликованные и неопубликованные фото. Так и сделал.

    Второй момент - в каком именно виде сохранять эти обновления. Идею некого отдельного типа постов, привязанного к галерее и хранящегося в отдельной таблице я быстро отверг, хотя плюсы у неё тоже есть. В итоге, у меня генерируется текст обычного поста и добавляется как обычный пост. Удобно, мать его! Как это работает, видно ниже.

    Размышлял: Lentyay