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

Админ: @Daniil_IO
Download Telegram
Продолжением 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% ко времени первой подписки
Продолжаю разбираться с Woocommerce. Основной баг поправил, но теперь есть баг в плагине для Woo (который тоже плагин для WP). А пока разгребаю весь это баго-плагинный ад, делюсь несколькими интересными статьями из своих закладок:

* SVG Path Visualizer - визуализация работы path noscript можно вставить любой код и посмотреть, как он работает или рассмотреть встроенные примеры
* drawio - исходники программы для рисования диаграмм, которую я чаще всего использую
* Работа с непредвиденными данными в JavaScript - заголовок говорит сам за себя
* Создание интерактивного глобуса - основная технология WebGL, интересный и краткий гайд
* Working with JavaScript Media Queries - вот эту бы статью полгода назад, когда я активно работал с медийками в js. Но теперь буду писать код правильнее
Закончил разбираться с вариативными товарами в Woocommerce. Не стал искать баг в своем коде, а просто переписал его с нуля, с учетом новых знаний.

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

Но вместе с Woo на сайте работает плагин PPOM, чтобы для товара можно было выбрать дополнительную комплектацию. В админке он работает хорошо и удобно, но вот на фронтенде у него есть проблемы. В одном из файлов функцию jQuery (моя любимая библиотека💩) вызывается более ста раз, при каждом изменении вариации, на одном и том же элементе, что кладет страницу на неприлично большое время. Пришлось переопределить пару файлов плагина и выкинуть лишнее, оптимизировать оставшееся, и лаги на странице пропали

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

В общем, разработка под WP и Woo становится всё интереснее и об этом на выходных будет пара постов
Сейчас я готовлю небольшой курс по WordPress из нескольких видео на различные интересные темы, выйдет на ютубе и будет полностью бесплатным

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

Так что время теперь немного отнимает обучение простому видеомонтажу и обработке звука, чтобы повысить качество до хорошего уровня. Если всё пойдет по плану, то уже на следующих выходных выложу первое обзорное видео😎
Какой формат подачи информации вам нравится больше всего?
Anonymous Poll
69%
Текст (статья)
5%
Подкаст
27%
Видео
Голосование распределились прямо так, как его распределил бы я🧐. Две текстовых статьи к одному видео и почти никаких подкастов

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

Сейчас разбираются с шаблонами (Template) в C++, чтобы писать более универсальный код. Тема, вроде, простая, но примеры из гугла не покрывают всех моих вопросов, метод "тыка" не работает, а в универе до них еще не дошли. Поэтому вернулся к тем курсам по плюсам, которые кидал на склад и рассматриваю более живые примеры, чтобы перенести их к себе

На самом деле переходить с динамически типизированного языка на статический немного больно, когда дело доходит до работы с более-менее серьезными структурами данных, особенно в таком, не самом дружелюбном языке, как C++. Но еще прикольнее переключаться между ними в течение дня - заставляет мозг больше шевелиться, что мне даже нравится
Еще одна неделька позади. Почти всё время потратил на написание программ (лабораторных) C++, если интересно код можно найти на github'e

Вчера на работе обрадовали возвращением к разработке долгостроя - интернет магазина, который я начал делать еще в 2018. Так что сегодня вспоминаю, что уже написано или предстоит написать. С полученным за два года опытом собрать интернет магазин будет не сложно😎

Попутно читаю форум WordPress, особенно обращаю внимание на разработку ядра и REST API. Самый верный способ узнавать об изменениях в коде раньше любых новостных сайтов

Так же продолжаю собирать годные курсы по различным технологиям. Но пока не выкладываю, потому что еще не успел посмотреть. Но как только так сразу
Курсы по каким технологиям вам интереснее всего?
Anonymous Poll
29%
C++
63%
JS
28%
Node.js
21%
PHP
Возможно кому-то интересны ещё какие-то языки/технологии можете оставить комментарий, и я постараюсь найти что-нибудь интересное🧐
Js первый, так что я уже скинул курсы по нему. За всё время я просмотрел большое количество курсов по js, и лучшие от ребят из htmlacademy.

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

P.S. Я люблю ребят из htmlacademy, поэтому если у вас достаточно денег, то рекомендую записаться на курсы, которые скоро стартуют. Они годные и дешевле чем во многих других "школах"
Вчера добрался до записи видео про WordPress. Половина уже готова, сегодня вечером планирую закончить

Первые несколько роликов будут "подготовительными", поэтому в самом первом расскажу о документации WP. Я считаю, что ей многие не умеют пользоваться. Краткий экскурс:

Есть три документации WP:
1) Codex - который теперь состоит только из ссылок
2) Support - информация для начинающих
3) Developer resources - информация для разработчика

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

Ролик выйдет не на моем канале (пока пустом), а на канале MakeWeb.me, чтобы его увидело больше людей. Так что можете заранее подписаться👍
Опять моргнул, и неделя закончилась, но она была интересной:

По универовским лабам разбирался с сортировками и парочкой подобных алгоритмов. Сейчас думаю над тем, чтобы визуализировать их. Но вот только алгоритмы я пишу на C++, а визуализировать хотелось бы на JS. Поэтому на следующей неделе посмотрю в строну WebAssembly - попробую запустить плюсы в браузере

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

Запись первого ролика и монтаж я закончил. Вышло лучше, чем при моей первой попытке, учел ошибки и больше не записываю с забитым носом в 3 часа ночи. Осталось только дождаться окна на канале MakeWeb, которое, возможно, будет уже сегодня

Из курсов сейчас погружаюсь в C++. Разбираю привычные и не совсем для меня вещи из динамически типизированных языков в новом свете. Скоро доберусь до паттернов, а там и базы данных с многопоточностью не далеко
Начал разбираться с WebAssembly. Материалов много, но качественных опять не так много как хотелось бы. Лучшие, на мой взгляд:

* WebAssembly: что и как - обзорная статья
* Начало работы с WebAssembly - более практичная статья. Код из статьи
* MDN - WebAssembly

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

Программирование было в небольшом застое из которого я сейчас выбираюсь. Краткий план на неделю:

* Закончить бОльшую часть интернет магазина
* Разобраться с WebAssembly
** Подготовить статью на эту тему
* Подготовить материал для нового ролика
* Написать две лабораторные по деревьям и наследованию
* Найти/посмотреть/поделиться интересными курсами по программированию

Каждый пункт заслуживает отдельного поста, поэтому контенту на этой неделе быть🔥
​​WebAssembly оказался не такой уже сложной технологией. Но проблему передачи/возвращения массива данных я пока не решил. Повторяю материал по более низкоуровневому js - буфер данных (ArrayBuffer) и типизированные массивы (да, в js есть и такие🧐)

Небольшой курс по Wasm можно найти на складе. А здесь оставлю пару полезных ссылок

* Js typed arrays
* ArrayBuffer