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

Админ: @Daniil_IO
Download Telegram
​​27 февраля пройдет серия докладов и воркшопов от яндекса "Я ❤️ Фронтенд". Звучит интересно, правда всё сразу не посмотреть, так как будет два параллельных потока и надо выбирать то, что больше по душе. Но описание часто не раскрывает сути выступления, поэтому я скорее всего буду прыгать с докладов на воркшопы и обратно, когда будет становится скучно

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

Списки выступлений для тех, кому лень открывать сайт:
Доклады:
1) Автоматизируем сервис-воркер с Workbox 6
2) Архитектура менеджера состояния
3) JSON: push the limits
4) Пользовательский опыт незрячего человека
5) ES6-коллекции на примере V8: у ней внутре неонка
6) Расширяем реальность
Воркшопы:
1) Палка, палка, огуречик. Рисуем персонажную анимацию на CSS
2) Теория и практика dependency inversion
3) Создание приложений для голосовых ассистентов: тренды, возможности, разработка
​​Пам-пам, за плечами еще две недели. Продолжаю прокачивать навыки в связке WordPress + Woocommerce, добавляя разный удобный функционал, которого либо нет из коробки, либо лучше б его не было. Полноценной документации для Woo всё также не хватает, поэтому чтение исходников практикую всё чаще и чаще

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

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

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

Поэтому я тупо стал записывать, всё с чем хотелось бы поработать поподробнее на стикосы. Появилось время/желание на изучение нового, беру стопку, вытаскиваю случайный стикер и приступаю к разбору. Это удобно тем, что не надо решать "что же мне изучить?", ведь темы на бумажках точно актуальны
​​Надеюсь, у всех сегодня праздничный выходной, поэтому просто поделюсь любопытным сайтом dwitter.net - здесь представлены демки на js в не более чем 140 символов

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

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

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

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

В будущем эта станция будет управлять
умным домом, осталось только закупить умные предметы. Умный чайник уже есть, но
для него нужен шлюз, который будет общаться со станцией, и тогда буду кипятить воду силой голоса😎
Новая статья уже день как вышла - Разбор стартовой темы Sage 9 под WordPress. Sage 9 очень удобен для разработки тем под WP поэтому и решил его затронуть. Так же упомянул экосистему Roots, которая неплохо дополняет WP разработку

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

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

Блог оживает как и моя любовь к программированию, а связано это с тем, что я перехожу на новую работу (и заодно первый раз в жизни увольняюсь). Я остаюсь WP разработчиком, но теперь не каким-нибудь, а целым мидлом (хотя и не люблю все эти "лычки"). Работаю на удаленке, с неполным рабочим днём (пока полставки) и гибким графиком - всё как я люблю

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

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

Сходства WP и Laravel: PHP под капотом
Различия: Всё остальное

"Лара" включает в себя много чего интересного: MVC, ОПП, CLI, Blade, ORM, Unit тесты, роутинг. На мой взгляд идеально подходит под описание того, что я искал. Плюс на работе есть проекты на Laravel, к которым я получу доступ, когда смогу подтвердить свои навыки. Чтобы эти навыки появились, скачал пару курсов и книжку — понемногу изучаю в свободное время, лучшие материалы залью на склад

А где Laravel там и Vue.js, до которой тоже надо будет добраться. В общем изучать есть что, осталось только найти время
​​Открыл для себя Хекслет - сайт с курсами по программированию. Есть полноценные курсы по профессиям на кучу месяцев, но мне это не интересно, зато курсы по отдельным темам очень даже понравились, ну как курсы, заголовки и страницы содержания

А почему не контент? А потому что он по подписке 3900 рублей в месяц, в принципе деньги за знания небольшие, но конечно же я пройду 1-2 из желаемых 10-20 и утону во всевозможных делах. Интересуют блоки с js, php и, возможно, sql - нужно подтянуть фундаментальные знания, а то до сих пор могу найти для себя что-то новенькое в обыденных задачах

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

P.S. Как открыл, так и закрыл😅
​​Docker, Docker, Docker - последнее время слишком часто я слышу про эту технологию и тоже решил ее закинуть в свой список "изучаю WP, не изучая WP"

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

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

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

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

Одной из итоговых точек для себя отметил создание стартового шаблона под WP тему или плагин на основе докера. А дальше уже мне точно будет хватать знаний, чтобы использовать готовые решения, которые создавало больше чем один человек, например Visible Wordpress Starter (655 звёзд), плюс туда можно будет залить Sage и будет вообще красота
​​Первый купленный лицензионный софт:

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

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

Это конечно не реклама, просто решил поделиться интересным моментом в прогерском пусти
P.S. Не реклама, но рекомендую
P.S. Осознал, что плохо знаком с гитом, еще один пункт в изучение WP, не изучая WP (об этом пути чуть позже)
Пора возрождать канал спустя год молчания. Вернулось время и желание писать, да и рассказать есть про что. Живые тут еще остались?

Да, жду контекта - 31
👍👍👍👍👍👍👍👍 79%
Я просто забыл отписаться - 3
👍👍 8%
Почему я подписан на этот канал? - 5
👍👍 13%
👥 39 человек уже проголосовало.
"Контекту" быть) Перечитал на днях devник и это уже 4 или 5 возвращение к каналу.

В моей прогерской жизни за прошедший год произошло мало существенных изменений.

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

Всё еще только планирую переход на PHP фреймворки, хотя успел изучить множество технологий, на которых они построены. ООП, MVC, routing, тесты. Напишу об этом подробнее позже

В универе уже на 4 курсе (канал был создан, когда я был в 11 классе), всё так же не вижу смысла в вышке для программиста, но надеюсь когда-нибудь узнать. С темой диплома определюсь за пару ночей до сдачи. Из полезных предметов на этом курсе есть "Функциональное программирование". Изучаем Haskell, я не знаю где применить этот язык, но для изучения "функциональщины" подходит идеально. Правда быстрее изучить его по книге, а не на парах. Об этом расскажу в следующем посте
​​Пошел по классике программистской литературы. Возможно, у меня какая-то своя классика, но первой книгой в моем списке стоит "Паттерны проектирования" от Head First. В прошлом семестре именно по ней преподавались паттерны в вузе. Но если можно прочитать за неделю, зачем учиться семестр?

Книга рассказывает о всех основных паттернах в доступной форме: синглтон, фабрики, наблюдатель, декоратор и многие другие описаны в этой книге. Форма подачи материала стандартная для Head First. Простыми словами с кучей "смешнявок" и картинок можно узнать о важных вещях для современного ООП

Главное не перебарщивать с паттернами на проектах, всё таки они усложняют понимание кода, упрощая жизнь в будущем
​​...166 дней спустя

Взялся за изучение Vue.js. Так совпало, что я захотел изучить что-нибудь новенькое для фронт-енд разработки, а vue понадобился для работы и учебы. В этот раз решил начал с чтения официальной документации. Она шикарна, содержит кучу информации и примеров (обычных и интерактивных).

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

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

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

2) Использование линтеров - специальных программ для "причесывания" кода. Они автоматически приводят код в порядок и сообщают о тех местах где нужно поправить ручками. Конфиг лежит вместе с проектом, а скрипты линтера подтягиваются вместе с зависимостями. Удобно и автоматизированно.

К чему я это всё. Я уже давно знаком с линтерами для css и js, и только сейчас познакомился с линтером для php (phpcs) и в частности WordPress (wpcs). У WP есть официальный набор правил для кода и почти все из них мне нравятся, а те что не нравятся, я переопределил, но таких всего парочка. phpcs умеет самостоятельно править форматирование кода и указывать на проблемные места. В моем случае чаще всего это нехватка комментариев к методам и параметрам

Дефолтный скрипт phpcs требует много параметров для полного и красивого вывода, поэтому поверх дефолтного phpcs я написал bash скрипт на 20 строчек, который улучшает работу с линтером.

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

У меня на работе нет ретро по проектам, потому что проекты маленькие и часто команда состоит из двух человек, которым проще все обсудить в процессе. Зато есть ретро по отделам, где обсуждается общее видение развития направления (в моем случае backend направления) и оно должно проходить каждый месяц, но первое с начало года было несколько дней назад и так сложилось, что провел его я.

"Инициатива что-то делает с инициатором" - я очень хотел поучаствовать в ретро нашего отдела и несколько раз писал тимлиду "А когда?", на что в какой-то момент мне поступило предложение провести его самому, а я и не отказался.

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

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

На рабочем проекте мне понадобилось автоматизировать три момента: проверку качества кода (wpcs рассказывал раньше), запуск тестов (phpunit расскажу позже) и сборку проекта.

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

За время экспериментов с gh actions создал пару репозиториев у себя на гитхабе с запуском WordPress и с авторелизами. А все итоговые результаты в этом проекте Reepay - платежный шлюз для WooCommerce. Активно работаю над этим проектом, привожу его в порядок, пока не всё закончено

Последний аккорд с gh actions - это настройка кеширования. Сейчас проверки занимают несколько секунд, зато запуск окружения пару минут, а всё автоматическое должно запускаться быстро, чтобы было желание запускать. В actions есть возможность создавать кеш между запусками задач и это потенциально ускорит все проверки в десятки раз. Расскажу об этом в другой раз
Сейчас в процессе изучения Unit тестирования. Его еще редко называют модульным или блочным. С его помощью можно проверить минимальные блоки кода. В идеале эти блоки кода должны представлять отдельные функции/методы

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

Круто(а) помогла книжка "Принципы юнит-тестирования" от Владимира Хорикова. Правда я ее прочитал за два вечера, много чего не успел усвоить и теперь использую книгу как справочник. Еще рассчитывал покопаться в тестах ядра WP, их там дофига, но ничего для себя интересного не нашел. Скорее всего, как и с книгой, сделаю второй заход