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

Админ: @Daniil_IO
Download Telegram
А вот причина по которой я больше не пользуюсь доской miro - при работе она начинает забирать себе гигабайт оперативы и сильно лагать. Поэтому сейчас я перешел на draw.io - не лагает и есть весь нужный мне функционал
Совсем забыл написать, что мой первый коммент на хабре всё таки прошел модерацию спустя две недели. Но это не значит, что я теперь могу писать сколько захочу комментариев - еще 9 должны пройти модерацию. Но комментировать записи мне хочется редко, поэтому, думаю, добью я эту девятку не скоро
Меня все больше огорчает ситуация с контентом по WordPress для разработчиков, найти что-то стоящее очень сложно. Зато существует куча дублирующего друг друга контента для новичков (как установить wp, как поставить тему, как поменять строчку css). На двух каналах по WordPress на ютубе вышел разбор новой версии 5.5 и оба они настолько поверхностные, что даже сами авторы говорят об этом: "Кому надо глубже, посмотрите сами, большинству зрителей это не интересно"

И эта фраза показывает источник всех проблем. Большинство каналов/курсов/блогов созданы чтобы набрать подписчиков и конечно же потом продавать рекламу, несмотря на то, что основная профессия этих авторов приносит им гораздо больше денег: "Нужно больше золота"

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

P.S. Если у вы знаете достойных ru/en авторов контента по разработке WP или наткнулись на интересную статью/видео, кидайте мне в личку - всё будет опубликовано на канале
WordPress - options.png
172.1 KB
Сегодня мини шпора по основным четырем функциям, которые позволяют работать с опциями в WordPress

Так же хочу указать, что шпоры составлены на основе материалов с сайта 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 ТЫК
* Оптимизация загрузки сайта ТЫК
Пролетела еще одна веселая неделька, а вместе с ней и лето. Обо всем постепенно расскажу, сейчас же краткий обзор

За это время я закончил плагин для бронирования времени под WordPress - самое непонятным для меня оказалась работа со временем, в частности с часовыми поясами. Юзать готовую либу я не стал, но теперь интересно посмотреть на подобные

Прибрался на GitHub'е - удалил/заархивировал старые проекты, собрал список незаконченных и посмотрел интересные проекты, которым ставил звездочку за этот год, чтобы разобрать их поподробнее. Честно - не уверен, что займусь проектам на GH вскоре, потому что много времени уходит на WordPress раскопки

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

Всем удачи и добра этой осенью👍😎
Начнем с мыслей о современном вебе. Сейчас я вижу его как гонку хайпа и логики, а точнее новых технологий с устоявшимися. Многие разработчики или целые команды после получения заказа на очередной веб проект бегут выбирать стек, и, конечно же, он состоит из кучи зависимостей на фронте и бекенда на самом модном фреймворке. "Хорошо ли это?" - Не совсем верный вопрос. "Нужно ли это заказчику?" - вот правильный вопрос

Если заказчику нужен сайт для продаж где-нить в Пензе, то ему не нужен навороченный SPA и REST API, ему нужно как можно быстрее начнет продавать и приносить прибыль. И тут на сцену как раз выходит WordPress и многие другие "устарелые" технологии, у которых все нужное есть под капотом, что позволяет запускать проект в короткие сроки

Конечно если у заказчика много денег и в проекте заказчику нужна гибкость, то уже имеет смысл задуматься о более гибком стеке. Часто к таким задачам относят e-commerce, но многие интернет магазины отлично функционируют на связке WP + Woo, а главное поддержка и доработки стоят недорого

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

А теперь пара статей, которые подкрепляют мои мысли:
Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов
Разработка WordPress: в чем плюсы и минусы?
Небольшой рассказ, о том как я плагин писал 😉

Перед тем, как начать разрабатывать собственный плагин, я искал стартовые шаблоны. У ребят из roots (разработчиков sage) есть такой шаблон - Clover. Ну как есть, он в закрытой альфе, и о нем ничего не слышно. Поэтому я отправился в гугл, где нашел нужные мне вещи, правда не в том количестве и состоянии (об этом позже). Поэтому я, как обычно, полез в исходники небольших, но хорошо работающих плагинов и стал разбираться

Из этих плагинов я узнал основные принципы работы с бекендом на WordPress и самое главное получил информацию о том, что мне нужно гуглить. С помощью codex, wp-kama и phpdoc собрал кодовую базу для написания плагина и на ее основе написал плагин для бронирования времени

Сейчас он на препродакшене, тестируется контент-менеджером. Так как ТЗ у было в одну строчку "Нужно добавить бронирование времени", не удивлюсь, что какие-то фичи добавлены зря, а какие-то еще предстоит дописать. Но уже готовый код достаточно гибкий, и его можно спокойно править. Так что не думаю, что это займет больше пары дней

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

В конце дня я просто пролистываю чаты и запоминаю/выписываю интересные для себя темы, приемы, аргументы из дискуссий. И это, оправдывающий затраченное время, опыт, потому что, хотя и часто всплывают банальные темы, встречаются достаточно интересные факты из разряда "Я бы такое не загуглил"

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

Если у вас есть интересный чат на примете, скидывайте мне его в личку, а я поделюсь своиим набором👍
Как я уже упоминал, я прибрался на своем аккаунте на GitHub'е. Есть у меня несколько проектов, которые я не завершил, но вскоре думаю это исправить:

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

DSR practice - моя провальная практика в DSR. Провалилась она потому, что у меня не хватило знаний по стеку react + express и я хотел сделать все идеально - в итоге перегорел. Полностью переделаю этот проект, когда вернусь к стеку react + express.

Tic tac toe - на крестики нолики я забил, потому что нашел проект, который полностью реализует весь функционал, который я хотел добавить. Поэтому пока нолики лежат крестиком на моей совести.

Canvas chaining method - небольшая либа, упрощающая работу с canvas. В принципе она закончена, но не хватает документации и пары полезных функций.

В свободное время займусь машиной Тьюринга, потому что это самый интересный мне проект. Остальное стоит в сторонке
Давно не пополнял коллекцию курсов на складе и сегодня это исправляю. Скинул туда два курса по C++ для начинающих и продолжающих разработчиков. Информации достаточно для успешного старта в разработке на плюсах
Последние пару дней занимаюсь разработкой на плюсах. Не серьезными проектам конечно, а решением универовских лабораторных😥.

Словарь на основе однонаправленного списка - ООП

Рекурсивная генерация последовательностей - ААС (Алгоритмы и анализ сложности)

Работа с однонаправленным списком - ЯМП

Попутно попробовал написать свой стартовый шаблон для написания лаб. Основная фича, которую я все еще хочу добавить - это unit тестирование. Но я так и не разобрался как работать с зависимостями на плюсах и cmake, поэтому подключить либу для тестирования не вышло.

Но, несмотря на небольшие загвоздки в изучении, плюсы мне нравятся все больше и больше. Сейчас продолжаю получать знания из курса, который скинул на склад. Посмотрим насколько можно прокачаться в Cpp за пару месяцев.
Уже говорю о лабах, но совсем забыл написать, что я успешно перешел на второй курс, чему очень рад. Учеба на моем факультете (ПММ) начинается с гор математики и плавно, к третьему курсу, переходит в изучение программирования

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

С программированием все уже становится лучше. Вместо одной "Информатики и программирования" у меня теперь ЯМП, ООП и ААС. Полноценные предметы с лекцией, практикой и лабами - возможно я начну полноценно изучать программирование уже со второго курса, а не с третьего, как думал раньше, но надо еще месяц другой присмотреться к преподавателям и правильно совместить пары с самостоятельным изучением

Так что не жалею сейчас, что поступил на вышку и потерпел первый курс, и надеюсь не пожалею потом
"C++ и учеба это конечно хорошо, а как дела на работе?"

На работе всё хорошо, закончил и отправил в прод два своих плагина для бронирования времени и подписки на новости. Возможно мне нужно будет написать еще один плагин для работы с instagram'ом, но клиент пока не решил, надо ли оно ему. И осталось выполнить несколько тикетов с мелкими правками - в общем этот проект можно считать законченным

Дальше я перейду, а точнее вернусь, к разработке интернет магазина на WP+Woo. Верстка там уже готова, а вот с логикой еще надо хорошенько поработать

Чтобы работалось лучше, попутно читаю статьи, общаюсь в чатах, повышая свой уровень знаний. На выходных будет достаточно времени, чтобы доработать отложенные проекты и собрать демку на canvas с необычными эффектами и функционалом, а то уже не применял свои знания для нестандартных проектов
Засел немного поиграться с canvas'ом. Написал демку для релакса после тяжелого рабочего дня

https://daniel217d.github.io/relax-dots/

Скрипт еще в процессе разработки, но завтра планирую закончить несколько фич и получится неплохой проект выходного дня

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

shadertoy.com - лучший сайт по WebGL с кучей примеров шейдеров. Здесь же можно написать и опубликовать свои примеры

Вот, например, 200 строчек и реалистичная вода готова или облака на 150 строчек + примеры интерактивны, можно пошевелить камерой (открывать лучше с компьютера)

Благодаря этой технологии можно реализовать эффекты, которые невыполнимы на привычном стеке технологий, потому что либо сложны, либо будут дико лагать. А вот WebGL выполняет код на видеокарте, которая заточена под такие эффекты и fps падать не будет

Но пока на работе у меня появилась (а скорее вернулась) задача, для решения которой нужно время и побольше, связанная с WP и Woo, так что скоро будет пара постов на эту тему
О какой вернувшейся задаче я говорил? О ней я еще весной писал на канале (если не раньше), это задача реализации вариативных товаров на Woo. То есть товар, в котором можно выбрать цвет, форму, размер

Под капотом Woo (Woocommerce) поддерживает работу с такими товарами, но на фронте выводятся не стилизованные чекбоксы, как обычно это делается в интернет магазинах, а выводится выпадающий список, который и выглядит не очень, и по уровню удобства ниже некуда

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

И именно с исправлением этого "почти" связана текущая задача. Сейчас я заново разбираю логику вариативных товаров, конспектируя все необходимые строчки кода, заодно лучше познавая WP и Woo. Моя главная цель на данный момент - это написание логичного кода и обеспечение его пригодности к переносу на будущие проекты.

Конспектирую при помощи draw.io, рисуя схемы и указывая логические связи. Несмотря на мою любовь к тетрадям и блокнотам, я отказался от них, если мой конспект займет больше страница, потому что потом в нем будет невозможно ориентироваться
Если делить людей на гуманитариев и технарей, то я отношусь ко второму лагерю. Я люблю разные формы математики, хотя и не готов решать, например, математический анализ 24/7. Да и вообще я спорю с тем, что программисту необходима математика, всё чаще я прихожу к тому, что она может быть полезна программисту в зависимости от его направления

Например, во фронтенд анимации может быть трудно без математики, если хочется создавать что-то поистине захватывающее. К анимациям я отношу много разных техник: анимация DOM, SVG, рисование на canvas, работа с шейдерами на WebGL.

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

Математика верстальщику не нужна, или Временные функции и траектории для покадровых 2D анимаций на сайтах
Математика верстальщику не нужна 2: Матрицы, базовые трансформации, построение 3D и фильтры для картинок

Когда выйдут еще статьи на эту тему, обязательно ими поделюсь
Сейчас я в активном изучении двух "технологий" - это WordPress и C++. По WP я перешел на стадию когда читать исходники и документацию лучший вариант, а годных курсов для уже опытных разработчиков нет. А вот по плюсам я еще в начале пути и даже курсы для начинающих дают мне новые знания

Поэтому я продолжаю изучать различные материалы по C++ и лучшими из них делюсь на складе. Сегодня выложил туда небольшой разбор создания приложения-игры, где рассматривается много важных принципов разработки. Материал не охватывает всё, что хотелось бы банально из-за продолжительности (4:39), но точно дает базу, которую уже можно расширять самостоятельно при помощи гугла и официальной документации

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

P.S. Если у вас есть материалы, которые достойны, чтобы их выложили (а возможно это ваши материалы), кидайте их мне в личку и они появятся на складе, или в подборке статей, или даже будут достойны отдельного поста на канале
Небольшой пятничный оффтоп

Мне часто приходится взаимодействовать с контентом на английском. Чтение статей и документаций, общение в чатах, видеоролики и курсы. Поэтому есть потребность в поддержании уровня английского, но целенаправленно изучать языка пока не хватает времени, поэтому отдыхая, я смотрю сериалы на английском

Сейчас добрался до сериала Lucifer - комедия, драма, детектив и фэнтези в одном флаконе. История об отпуске одноименного персонажа в Лос-Анджелесе. Английский приятный, речевые обороты интересные, и позволяют прокачать восприятие английского на слух

Также посмотрел первый сезон сериала Westworld, но дальше навряд ли отправлюсь, сюжет для меня оказался спорным. До этого я набрёл на Brave New World и Dark, их посмотрел полностью, не устав от сюжета или визуала

Пожалуй это всё, что успел глянуть за лето и могу порекомендовать для просмотра. Смотрю я с периодическим включением/отключением английских сабов и выписываю неизвестные мне слова и фразы, поэтому просмотр сериалов для меня не сплошной отдых, а тоже часть саморазвития. И подобный метод изучения английского также могу порекомендовать

P.S. Думаю, первые подписчики помнят пост о том, что я затарил подписку для просмотра английского контента на ororo. Ни разу не пожалел тем более, что брал со скидкой в 50%. Сейчас акция снова в силе и в дополнение можете воспользоваться моей рефералкой. Если перейдете по ней, то получите +10% ко времени первой подписки