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

Админ: @Daniil_IO
Download Telegram
Вчера добрался до записи видео про 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
​​В свободное время готовлю материал к новому видео. Пока не буду наращивать сложность и поговорю о том, что должны знать все WordPress разработчики, но реальность разочаровывает - WP Глоссарий. Расскажу о терминологии WordPress, что с чем пересекается, какие понятия синонимичны, а какие на самом деле разные

Материал готовлю на основе WordPress Glossary - если интересно, вы можете ознакомиться самостоятельно. В видео же будет выжимка из материала, дополненная недостающая, на мой взгляд, моментами

Выход запланирован на следующую неделю, скорее всего, на выходные. А пока вы можете заценить прошлое видео, если еще не добрались
​​🕛Выполнял план, отдыхал, прокрастинировал - и вот еще одной недели нет. Кратко о прошедшем:

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

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

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

Кстати о Wasm, идей куча реализаций ноль. Исправлюсь на выходных, а здесь пока оставлю awesome список проектов на Wasm для вдохновения

Всем высокого кпд и хорошего отдыха😎
​​Текущий магазин я делаю уже больше года, потому что проект постоянно замораживают и меня перекидывают на что-то другое. В этот раз история повторилась - с магазина меня полностью перебросили на проект на angular'е и на мелкие правки на других проектах. Надеюсь, когда-нибудь этот магазин увидит свет😅
​​Наконец-то успехи с Wasm - смог разобраться как работает память и, соответственно, как передать в функцию массив и или вернуть новый. На скрине минимальный рабочий пример

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

И контрольная точка — написать обертку в виде класса для упрощения работы с Wasm

Код и пример под постом
​​Первое время я писал код для Wasm в онлайн песочнице, но вчера толи из-за плохого интернета, толи из-за плохого кода она начала сильно глючить, и я решил полностью переехать на локальную разработку

Использовать webpack для сборки я не захотел, как минимум потому, что мой основной конфиг немного устарел и не умеет в Wasm, поэтому я вспомнил про Parcel. Parcel - сборщик, которому для нормальной работы и конфиг то не нужен: зависимости устанавливает сам, лоадеры есть на все случаи жизни

Но это в идеале, на самом деле Parcel v1 - очень топорный сборщик и даже через конфиг можно настроить далеко не всё. В моём случае была проблема с импортом (es6) wasm файла - мне возвращалась не просто строка с ссылкой на файл, а объект с уже готовыми к запуску функциями

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

Parcel v2 - обещает исправить кучу проблем первой версии. Серьезно, когда читаешь issue в 90% случаев написано: "Будет добавлено в Parcel v2". И, хотя бета доступна уже год, в прод v2 всё никак не уйдет и работать у меня на компе пока не хочет
​​Моя работа в основном связана с WordPress разработкой, потому что быстро и дешево, но WP точно не первопроходец в современном вебе. Поэтому я засматриваюсь на другие технологии:

* Symfony 
* Laravel + Vue
* Node.js + express + React
* Angular
* GraphQL
* TypeScript - да, в 2k20 я не писал на typenoscript
* C++ или Electron под десктоп

Но времени на всё, конечно, не хватает. Поэтому пока я хочу понять не как работать с этими технологиями, а как они устроены под капотом, особенно js фреймворки, попутно не забывая о том, чем занимаюсь сейчас
Здесь собралось уже больше 300 человек, так что мне интересно узнать с чем работают подписчики. Выбирайте всё что вам подходит или оставляйте комментарий
Anonymous Poll
46%
HTML + CSS
46%
JS
12%
Node.js
21%
PHP
19%
WordPress
14%
C++
22%
Дизайнер
10%
Не программист
12%
Другое (пишу в комментах)
​​Пока разбираюсь с WebAssembly, попутно пишу код на плюсах, который планирую в скором визуализировать.

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

Многое из того, что изучаем в универе, я уже видел, изучал или реализовывал. И чаще всего на ум приходит книга "Грокаем алгоритмы", которую я не так давно перечитывал. Сейчас я ее использую как справочник, а скачать ее можно со склада или купить, если есть такая возможность.

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

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

План действий сейчас прост: немного поиграюсь с Wasm и перейду к перейду к более востребованным технологиям, скорее всего, к стеку node.js. А для работы буду прокачивать навыки WordPress разработчика. Плюс у меня уже лежит сценарий для нового видео по wp и тезисы для статьи по wasm. Вокруг слишком много интересных технологий, чтобы не распыляться, но, похоже, пора взять себя в руки

А начинающий разработчик, может найти план действий для себя здесь - roadmap.sh
​​Я не очень хорошо отношусь к новостным it агрегаторам в телеграме, потому что они просто копипастят статьи с популярных сайтов и разбавляют посты рекламой. То есть пользы от них почти никакой

На том же хабре уже давно еженедельно выходят подборки новостей за неделю, и десяток телеграмм каналов не нужен. Вот, например: Дайджест свежих материалов из мира фронтенда за последнюю неделю №441 (9 — 15 ноября 2020) - куча годного материала на одной странице

Авторам каналов, которые не только копируют ссылки, но и сами создают контент, глубочайшее уважение🔥
Самый противный замкнутый круг, в который я иногда попадаю, да и не только я. Чтобы из него выбраться, сначала нужно осознать, что ты в нем и либо сменить "дело", либо через силу "пробуксовать" без прогресса, пока не начнет получаться, и лень не пройдет. Но иногда проблема может быть глубже

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

В любом случае пускать эту ситуацию на самотёк не стоит. Нужно останавливаться, анализировать и исправлять проблемы - простого выхода здесь нет
Смотришь исходники WordPress'а и краем глаза замечаешь папку со странным названием
​​Пока работаю над проектами на WordPress, накидал себе разные вопросы, с которыми надо разобраться. На днях собрал их в кучу и систематизировал, назвав BLP - big learning plan

WP включает в себя много интересных и даже слегка неожиданных функций и библиотек, например react.js для редактора Guttenberg, Filesystem API или Cron (который не все любят)

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

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

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