Devник – Telegram
Devник
136 subscribers
97 photos
6 files
189 links
Веб разработка и около it'шечка

Админ: @Daniil_IO
Download Telegram
​​Давно задаюсь вопросом "gulp или webpack", и хотя второй полностью занял место в моих проектах, начинал я с первого.

Решил посмотреть какие мнения в интернете на этот вопрос, а в интернете ничего и не изменилось за пару лет. "Галп - таскраннер, вебпак - бандлер", что является полной правдой. И хотя из этого определения все должно быть понятно, но конкретных примеров, где gulp полностью занимает место webpack (или наоборот), я не нашел (ну почти), по моему текущему мнению они почти полностью взаимозаменяемы, да и вообще могут использоваться в связке ( такое встречал только в статьях ). Поэтому я решил поглубже разобраться в этих двух "библиотеках" и ответить на свой вопрос.

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

Если все пойдет, как я рассчитываю, то на эту тему напишу свою первую статью и, возможно, опубликую в песочнице хабра ( мечтать же не вредно )

Если у вас есть любые мысли на этот вопрос, годные статьи или что-то ещё, пишите в личку, буду рад пообщаться

#мысли_в_текст
Закончил работу над версткой последнего шаблона🚀 и понимаю, что за день не делал коммитов. Со страхом смотрю на список затронутых файлов, а их 22. Разбил на 12 коммитов, но делать так не надо👎

Не забывайте коммитить код по ходу разработки😅👍
Вот написал про идею изучения темы "gulp vs webpack" и ушел с головой в работу. Сейчас у меня два дня выходных, часть свободного времени потрачу на курсы по gulp и webpack. Самые интересные для меня уже скачал, завтра начинаю просмотр/изучения, если курсы окажутся реально хорошими, скину на склад

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

Вчера вернулся к работе - оптимизировал старый сайт, убрал лишние зависимости (jQuery, bootstrap.js, неиспользуемые bootstrap классы и еще парочку). Одновременно сложная и нудная работа. Сложная, потому что надо решать стоит ли вообще убирать зависимость и если стоит, то как ее убрать и не сделать хуже. А нудная, потому что меняешь кучу кода, но визуальных изменений нет, всё "под капотом".

Сейчас занимаюсь парой скучных фич (но уже не версткой) и перейду к разработке email подписки. Эта задача мне интересна тем, что придется поработать с бекендом в виде WordPress, а этим я занимаюсь нечасто

Ну и чуть позже выйдет пост о gulp'е (пока что без сравнений с webpack)
Лучшей CMS лучшие комментарии😁
Между "парой скучных фич" и подпиской понадобилось на практике разобраться с работой дат (Date) в JS. В итоге написал календарь, который пока прост по функционалу, но скоро станет полноценным компонентом для выбора даты в форме бронирования времени

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

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

P.S. комменты были критичными, так что неудивительно
Полгода думаю о запуске ютуб канала, сегодня решил перейти в активную фазу и записал короткое видео об интересных мне API в браузере. Так что попрошу всех неравнодушных перейти, посмотреть, оставить коммент, вотнкуть лайк/дизлайк

Дальше будет интереснее, дальше будет больше 🔥🔥🔥

https://www.youtube.com/watch?v=n764hiGbhAs
Вот так форма бронирования времени выглядит в собранном виде, получилось неплохо

Затестить календарь можно здесь, а потрогать код здесь
Посмотрел пару курсов по gulp - один годный закинул на склад. Я с галпом уже работал, так что немного освежил знания и узнал об особенностях четвертой версии. Но мне хочется скорее "deep dive", а для этого придется уже самому собирать информацию по частям.
Вчера засел разбираться, как работает WP API (WordPress REST API) по капотом. Решил составить небольшой конспект, но размер конспекта вышел из под контроля. Но при это я разобрал только ту часть, которая нужна для регистрации своих конечных точек в API. Собственно мне это и нужно было, чтобы грамотно написать свои end-point'ы для WP темы. Но останавливаться на половине не планирую

Так что сегодня-завтра разберу основные моменты запуска API сервера, чтобы, если понадобится, можно было бы внести некоторые модификации в процесс старта. Разобрать все по строчкам не получится, так как файл rest-api.php - вмешает в себя 1140 строчек чистого кода (2260 с нормальными отступа и всеми комментариями), поэтому посмотрю основные функции и разберу работу класса WPRESTServer (+ 640 / 1455 строчек кода)

И наконец думаю неплохо бы рассказать / показать на примерах работу WP API, потому что, на мой взгляд, того материала, что есть в ру секторе, недостаточно.

А пока посмотреть конспект в виде схемы можно здесь
Узнать больше о REST API в WordPress можно здесь
Еще из интересного - пока копался в файлах REST API, нашел небольшой баг. В одном из классов свойства, которые должны быть объявлены как protected, объявлены как public, хотя для них написаны геттеры и сеттеры. Решил создать issue на сайте вордпресса и создал.

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

Жалко конечно, но чувство причастности к разработке ядра WP появилось 😎
Пока копался в баг трекере WP, нашел гайд на тему того, как стать контрибьютором ядра, что звучит очень интересно и привлекательно, хотя пока нереально. Если начну продвигаться по этой теме, то расскажу об этом подробнее. А пока пара интересных ссылок:

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/
Уже ровно неделю я разбираюсь в ядре WordPress, точнее в той его части, которая относится к разработке плагинов. Мне нужно решить три задачи:

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 строк)
А вот причина по которой я больше не пользуюсь доской miro - при работе она начинает забирать себе гигабайт оперативы и сильно лагать. Поэтому сейчас я перешел на draw.io - не лагает и есть весь нужный мне функционал
Совсем забыл написать, что мой первый коммент на хабре всё таки прошел модерацию спустя две недели. Но это не значит, что я теперь могу писать сколько захочу комментариев - еще 9 должны пройти модерацию. Но комментировать записи мне хочется редко, поэтому, думаю, добью я эту девятку не скоро