Итак, я моргнул и незаметно ушел в отпуск.
Вчера вернулся к работе - оптимизировал старый сайт, убрал лишние зависимости (jQuery, bootstrap.js, неиспользуемые bootstrap классы и еще парочку). Одновременно сложная и нудная работа. Сложная, потому что надо решать стоит ли вообще убирать зависимость и если стоит, то как ее убрать и не сделать хуже. А нудная, потому что меняешь кучу кода, но визуальных изменений нет, всё "под капотом".
Сейчас занимаюсь парой скучных фич (но уже не версткой) и перейду к разработке email подписки. Эта задача мне интересна тем, что придется поработать с бекендом в виде WordPress, а этим я занимаюсь нечасто
Ну и чуть позже выйдет пост о gulp'е (пока что без сравнений с webpack)
Вчера вернулся к работе - оптимизировал старый сайт, убрал лишние зависимости (jQuery, bootstrap.js, неиспользуемые bootstrap классы и еще парочку). Одновременно сложная и нудная работа. Сложная, потому что надо решать стоит ли вообще убирать зависимость и если стоит, то как ее убрать и не сделать хуже. А нудная, потому что меняешь кучу кода, но визуальных изменений нет, всё "под капотом".
Сейчас занимаюсь парой скучных фич (но уже не версткой) и перейду к разработке email подписки. Эта задача мне интересна тем, что придется поработать с бекендом в виде WordPress, а этим я занимаюсь нечасто
Ну и чуть позже выйдет пост о gulp'е (пока что без сравнений с webpack)
Как можно было понять из постов о хабре, я тепло отношусь к этому ресурсу, несмотря на различные негативные отзывы о нем. Одной из главных проблем хабра называют модерацию, и в том, что это реальная проблема я убедился на своём опыте.
Я раньше не был зареган на сайте, но недавно это исправил и написал комментарии к нескольким статьям. Но все что я написал лежит на модерации уже больше двух недель - печалька😢
P.S. комменты были критичными, так что неудивительно
Я раньше не был зареган на сайте, но недавно это исправил и написал комментарии к нескольким статьям. Но все что я написал лежит на модерации уже больше двух недель - печалька😢
P.S. комменты были критичными, так что неудивительно
Полгода думаю о запуске ютуб канала, сегодня решил перейти в активную фазу и записал короткое видео об интересных мне API в браузере. Так что попрошу всех неравнодушных перейти, посмотреть, оставить коммент, вотнкуть лайк/дизлайк
Дальше будет интереснее, дальше будет больше 🔥🔥🔥
https://www.youtube.com/watch?v=n764hiGbhAs
Дальше будет интереснее, дальше будет больше 🔥🔥🔥
https://www.youtube.com/watch?v=n764hiGbhAs
YouTube
Браузерные API, о которых вы могли не знать | Devник
Канал в телеграмме https://news.1rj.ru/str/dev_ary - Подписывайся!
\/ Ссылки из видео \/
Battery Status API - https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API
Device Motion - https://developer.mozilla.org/en-US/docs/Web/API/Window/devicemotion_event…
\/ Ссылки из видео \/
Battery Status API - https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API
Device Motion - https://developer.mozilla.org/en-US/docs/Web/API/Window/devicemotion_event…
Вчера засел разбираться, как работает WP API (WordPress REST API) по капотом. Решил составить небольшой конспект, но размер конспекта вышел из под контроля. Но при это я разобрал только ту часть, которая нужна для регистрации своих конечных точек в API. Собственно мне это и нужно было, чтобы грамотно написать свои end-point'ы для WP темы. Но останавливаться на половине не планирую
Так что сегодня-завтра разберу основные моменты запуска API сервера, чтобы, если понадобится, можно было бы внести некоторые модификации в процесс старта. Разобрать все по строчкам не получится, так как файл rest-api.php - вмешает в себя 1140 строчек чистого кода (2260 с нормальными отступа и всеми комментариями), поэтому посмотрю основные функции и разберу работу класса WPRESTServer (+ 640 / 1455 строчек кода)
И наконец думаю неплохо бы рассказать / показать на примерах работу WP API, потому что, на мой взгляд, того материала, что есть в ру секторе, недостаточно.
А пока посмотреть конспект в виде схемы можно здесь
Узнать больше о REST API в WordPress можно здесь
Так что сегодня-завтра разберу основные моменты запуска API сервера, чтобы, если понадобится, можно было бы внести некоторые модификации в процесс старта. Разобрать все по строчкам не получится, так как файл rest-api.php - вмешает в себя 1140 строчек чистого кода (2260 с нормальными отступа и всеми комментариями), поэтому посмотрю основные функции и разберу работу класса WPRESTServer (+ 640 / 1455 строчек кода)
И наконец думаю неплохо бы рассказать / показать на примерах работу WP API, потому что, на мой взгляд, того материала, что есть в ру секторе, недостаточно.
А пока посмотреть конспект в виде схемы можно здесь
Узнать больше о REST API в WordPress можно здесь
miro.com
WP API logic
Еще из интересного - пока копался в файлах REST API, нашел небольшой баг. В одном из классов свойства, которые должны быть объявлены как protected, объявлены как public, хотя для них написаны геттеры и сеттеры. Решил создать issue на сайте вордпресса и создал.
Ответили мне быстро, но, как я и думал, исправлять это будут с малой вероятностью, потому что это сломает обратную совместимость - многие плагины используют эти свойства напрямую, а WP дорожит обратной совместимостью.
Жалко конечно, но чувство причастности к разработке ядра WP появилось 😎
Ответили мне быстро, но, как я и думал, исправлять это будут с малой вероятностью, потому что это сломает обратную совместимость - многие плагины используют эти свойства напрямую, а WP дорожит обратной совместимостью.
Жалко конечно, но чувство причастности к разработке ядра WP появилось 😎
Пока копался в баг трекере WP, нашел гайд на тему того, как стать контрибьютором ядра, что звучит очень интересно и привлекательно, хотя пока нереально. Если начну продвигаться по этой теме, то расскажу об этом подробнее. А пока пара интересных ссылок:
About "Make WordPress Core" - тык
FAQ for New Contributors - тык
About "Make WordPress Core" - тык
FAQ for New Contributors - тык
Завтра будет интересный пост о моих раскопках в ядре WordPress, а на утро предлагаю вам интересную статью о неуловимом баге в svelte
https://css-tricks.com/what-i-learned-by-fixing-one-line-of-css-in-an-open-source-project/
https://css-tricks.com/what-i-learned-by-fixing-one-line-of-css-in-an-open-source-project/
CSS-Tricks
What I Learned by Fixing One Line of CSS in an Open Source Project
I was browsing the Svelte docs on my iPhone and came across a blaring UI bug. The notch in the REPL knob was totally out of whack. I’m always looking to
Уже ровно неделю я разбираюсь в ядре WordPress, точнее в той его части, которая относится к разработке плагинов. Мне нужно решить три задачи:
0) На каких событиях (хуках) завязана разработка плагинов
1) Как создавать свои страницы в админке
2) Как выводить/редактировать контент на этих страницах
3) Как работать с бд через WordPress
И хотя я уже проходил все эти этапы примерно полтора года назад, я решил разобраться во всём заново и актуализировать свои знания
На данный момент я решил 0-1 вопросы, так как они оказались самыми простыми. Почти всё что нужно описано в документации, кроме юзкейсов. Для того чтобы узнать какие методы применяют опытные разработчики расширений, я начал читать исходники пары плагинов, которые по функционалу примерно мне подходят. Разбор кода прошел успешно, я нашел много примеров использования функций и хуков ядра и перенес их к себе
Сейчас я на втором этапе и продолжаю совмещать чтение доков с чтением исходников. Разбираюсь с классом
А третий этап наступит для меня уже завтра, нужно будет разобраться с классом
Всеми полезными материалами поделюсь к концу своих "раскопок", чтобы точно знать какая ссылка полезная, а какую лучше не открывать
0) На каких событиях (хуках) завязана разработка плагинов
1) Как создавать свои страницы в админке
2) Как выводить/редактировать контент на этих страницах
3) Как работать с бд через WordPress
И хотя я уже проходил все эти этапы примерно полтора года назад, я решил разобраться во всём заново и актуализировать свои знания
На данный момент я решил 0-1 вопросы, так как они оказались самыми простыми. Почти всё что нужно описано в документации, кроме юзкейсов. Для того чтобы узнать какие методы применяют опытные разработчики расширений, я начал читать исходники пары плагинов, которые по функционалу примерно мне подходят. Разбор кода прошел успешно, я нашел много примеров использования функций и хуков ядра и перенес их к себе
Сейчас я на втором этапе и продолжаю совмещать чтение доков с чтением исходников. Разбираюсь с классом
WP_List_Table, который позволяет создавать таблицы с контентом, которые, каждый кто работал с WP, видел на странице со всеми постами и страницами. Этот класс включает в себя большое количество методов, поэтому я завел для него отдельную диаграмму, но она еще в процессе написания, поделюсь как буду уверен в её готовностиА третий этап наступит для меня уже завтра, нужно будет разобраться с классом
wpdb и вспомнить основные команды (My)SQLВсеми полезными материалами поделюсь к концу своих "раскопок", чтобы точно знать какая ссылка полезная, а какую лучше не открывать
Подключение css и js в WordPress.png
231.1 KB
Небольшая шпаргалка по подключению/отключению js и css файлов в WordPress
Wordpress - wpdb.png
175.2 KB
Еще одна небольшая шпора, на этот раз по wpdb - встроенному в WordPress классу, отвечающему за работу с базой данных. Здесь самые нужные методы API, остальные функции думаю разобрать как-нибудь потом, потому, что класс wpdb слишком обширный (3666 строк)
Совсем забыл написать, что мой первый коммент на хабре всё таки прошел модерацию спустя две недели. Но это не значит, что я теперь могу писать сколько захочу комментариев - еще 9 должны пройти модерацию. Но комментировать записи мне хочется редко, поэтому, думаю, добью я эту девятку не скоро
Меня все больше огорчает ситуация с контентом по WordPress для разработчиков, найти что-то стоящее очень сложно. Зато существует куча дублирующего друг друга контента для новичков (как установить wp, как поставить тему, как поменять строчку css). На двух каналах по WordPress на ютубе вышел разбор новой версии 5.5 и оба они настолько поверхностные, что даже сами авторы говорят об этом: "Кому надо глубже, посмотрите сами, большинству зрителей это не интересно"
И эта фраза показывает источник всех проблем. Большинство каналов/курсов/блогов созданы чтобы набрать подписчиков и конечно же потом продавать рекламу, несмотря на то, что основная профессия этих авторов приносит им гораздо больше денег: "Нужно больше золота"
Что же до меня, я считаю WordPress конкурентоспособным инструментом для разработки сайтов различного уровня. Поэтому заткнуть эту дыру в материалах по WordPress я попробую самостоятельно, выпуская статьи и видео и делясь с вами достойными, по моему мнению, авторами
P.S. Если у вы знаете достойных ru/en авторов контента по разработке WP или наткнулись на интересную статью/видео, кидайте мне в личку - всё будет опубликовано на канале
И эта фраза показывает источник всех проблем. Большинство каналов/курсов/блогов созданы чтобы набрать подписчиков и конечно же потом продавать рекламу, несмотря на то, что основная профессия этих авторов приносит им гораздо больше денег: "Нужно больше золота"
Что же до меня, я считаю WordPress конкурентоспособным инструментом для разработки сайтов различного уровня. Поэтому заткнуть эту дыру в материалах по WordPress я попробую самостоятельно, выпуская статьи и видео и делясь с вами достойными, по моему мнению, авторами
P.S. Если у вы знаете достойных ru/en авторов контента по разработке WP или наткнулись на интересную статью/видео, кидайте мне в личку - всё будет опубликовано на канале
Вот такой контент я люблю, быстрый разбор небольшого плагина под WordPress
YouTube
Обзор и разбор кода плагина Display Active Plugins First от Сергея Бирюкова - сортировка плагинов
Бывало ли у вас желание, заходя в раздел плагинов, сразу видеть активные плагины на первых местах, а неактивные плагины ниже активных? Если Да, то встречайте плагин Display Active Plugins First от Сергея Бирюкова. Поговорим не только о функционале плагина…
WordPress - options.png
172.1 KB
Сегодня мини шпора по основным четырем функциям, которые позволяют работать с опциями в WordPress
Так же хочу указать, что шпоры составлены на основе материалов с сайта wp-kama.ru и чтения phpdoc в коде ядра
Так же хочу указать, что шпоры составлены на основе материалов с сайта wp-kama.ru и чтения phpdoc в коде ядра
Пока я продолжаю разбираться в создании WordPress плагинов и собираю материал для будущих постов, поделюсь с вами самыми интересными закладками из моего браузера:
JS
* Немного про написание JQuery плагинов ТЫК и ТЫК
* Unit тесты без фреймворков ТЫК
* Создание веб-компонентов на вальном js ТЫК
WebGL
* Краткий гайд по WebGL в 75-ти строчках кода ТЫК
* Серия гайдов по WebGL ТЫК
CSS
* Супер объяснения css свойства flex (flex-grow, flex-shrink и flex-basis) ТЫК
* Как создать магнитные кнопки с hover-анимацией ТЫК
* Немного про фильтр css фильтр drop-shadow ТЫК
* И хотя я уже три года сижу на игле scss, интересно посмотреть, как там дела в нативе - Статья о конфликтах scss и новых возможностей css ТЫК
* Супергеройская CSS сетка на современных технологиях ТЫК
Анимации
* Правильное использование анимаций в UX ТЫК
* Таймлайн css анимаций ТЫК
* Анимированный фавикон ТЫК
C++
* Серия уроков о создании своего блокнота на C++ ТЫК
* Немного о работе ОСей ТЫК
Разное
* Краткий гайд и визуализация работы CORS ТЫК
* Создание правильного кастомного тега select ТЫК
* Доклад из яндекса про использование noscript ТЫК
* Как использовать Web Share API ТЫК
* Оптимизация загрузки сайта ТЫК
JS
* Немного про написание JQuery плагинов ТЫК и ТЫК
* Unit тесты без фреймворков ТЫК
* Создание веб-компонентов на вальном js ТЫК
WebGL
* Краткий гайд по WebGL в 75-ти строчках кода ТЫК
* Серия гайдов по WebGL ТЫК
CSS
* Супер объяснения css свойства flex (flex-grow, flex-shrink и flex-basis) ТЫК
* Как создать магнитные кнопки с hover-анимацией ТЫК
* Немного про фильтр css фильтр drop-shadow ТЫК
* И хотя я уже три года сижу на игле scss, интересно посмотреть, как там дела в нативе - Статья о конфликтах scss и новых возможностей css ТЫК
* Супергеройская CSS сетка на современных технологиях ТЫК
Анимации
* Правильное использование анимаций в UX ТЫК
* Таймлайн css анимаций ТЫК
* Анимированный фавикон ТЫК
C++
* Серия уроков о создании своего блокнота на C++ ТЫК
* Немного о работе ОСей ТЫК
Разное
* Краткий гайд и визуализация работы CORS ТЫК
* Создание правильного кастомного тега select ТЫК
* Доклад из яндекса про использование noscript ТЫК
* Как использовать Web Share API ТЫК
* Оптимизация загрузки сайта ТЫК