en
Feedback
@davidobryakov

@davidobryakov

Open in Telegram

Немного преподаю, немного управляю. Автор — @kantegory Github — https://github.com/kantegory ВК — https://vk.com/davidobryakov Дзен — https://dzen.ru/dobryakov YouTube — https://youtube.com/@dobryakov Блог — https://blog.kantegory.me

Show more
775
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Как лучше поступить
Anonymous voting

Продолжение курса "Своя фриланс-биржа": быть или не быть? Некоторые из вас знают, что у меня на Youtube-канале есть курс "Своя фриланс-биржа" последний урок в нём выходил около года назад, а первый и вовсе — в мае 2020. Понятно, что с мая 2020, когда это всё начиналось — я успел выучить довольно много всего нового и хотел бы полностью переработать курс. Всвязи с этим, у меня есть вопрос. Как лучше поступить — выпустить серию роликов по исправлению ошибок и рефакторингу, или сделать полностью новый курс? (голосуйте в опросе ниже, либо в посте на вкладке "сообщество") UPD: курс по стеку django + vue

Кастомизация тега select #фронтенд #браузеры #нововведение Уверен, многие фронтендеры сталкивались с задачей кастомизации тега select, потому что дизайнеры постоянно придумывают что-то новое. А что, если эту кастомизацию добавят в браузеры? В своём ролике "Попап вместо селекта", Вадим Макеев показывает новый экспериментальный элемент selectmenu, призванный решить проблему кастомизации селекта. Смотреть: https://www.youtube.com/watch?v=mG0VFWCTnZI Как вы думаете, решит ли новый элемент старую проблему? Делитесь своим мнением в комментариях, давайте пообщаемся :)

Какие инструменты для проверки сайта нужны, кроме Lighthouse? #фронтенд #браузеры #оптимизация Очень часто мы ограничиваемся метриками Lighthouse и забываем, что не только скорость загрузки страницы влияет на поисковую выдачу и пользовательский опыт. Наткнулся на статью, в которой собрано несколько сервисов для дополнительных проверок вашего сайта. Безусловно, среди них есть и довольно странные (во времена SPA-фреймворков HTML Checker и CSS Validator — не то что бы очень полезны в разработке, поскольку тулинг фреймворка позволяет вам не думать об этом и очень часто сам говорит о возможных ошибках), но и они имеют место быть. В основном же, сервисы действительно полезные и, как минимум, про половину из них я и сам не слышал, но думаю — теперь буду пользоваться. А вы какими сервисами пользуетесь для проверки ваших сайтов? Поделитесь в комментариях (можно и не только для проверки, но и в целом интересные инструменты), возможно, соберу подборку из комментов и запощу здесь :) Читать статью: https://habr.com/ru/company/vdsina/blog/522932/

Свой браузер на основе движка Chromium это сложно? #chromium #браузеры #electron Короткий ответ: нет. Длинный ответ: Ещё в начале лета 2021го, меня звали работать в команду браузера на основе Chromium и я даже прошёл два собеседования (и даже неплохо прошёл), но меня не взяли, потому что был кандидат с более релевантным опытом, чем я (UI писался на svelte, с которым я никогда не работал). Но сейчас не об этом. Беседуя с CTO, я много нового узнал про то, каково это делать свой браузер и по сути они немного схитрили, потому что весь их основной функционал достигался собственным плагином (который не был обычным браузерным плагином, конечно, но тем не менее). После этого опыта я неоднократно возвращался к теме и ресёрчил по этому поводу, искал и статьи/гайды по Electron (думаю, некоторые люди знают моё отношение к этой платформе и оно, мягко говоря, неоднозначное). Сегодня листая хабр в перерывах между попытками поработать и поучиться, я наткнулся на интересную статью, где пошагово меняют исходный код Chromium, а затем подключают этот изменённый код в Electron, подменяя тот Chromium, что был изначально. Таким образом, достигается возможность вносить некоторые важные изменения в платформу, избавляя её от ненужных частей, что делает саму платформу более легковесной да и вообще — кастомизируемой. Думаю, немногие из вас хотя бы раз пытались поменять что-то в исходном коде браузера, но теперь можете пошагово пройтись по статье и попробовать. Не знаю, сможете ли вы сделать свой браузер на основе Chromium, но общий уровень знаний и навыков — точно поднимите. Ссылка на статью: https://habr.com/ru/post/599679/

SVG-спрайт (+ кроссбраузерные картинки) — Фронтенд-разработка #фронтенд #svg #кроссбраузерность Привет, это 11й урок из моего курса по фронтенд-разработке в университете ИТМО и сегодня мы с вами поговорим про SVG-спрайт, разберёмся что это, как использовать и почему он лучше иконочных шрифтов. Так же, бонусом рассмотрим тег picture и создание кроссбраузерных картинок с его помощью. Смотреть: https://youtu.be/2cNj9kcbIC8 Прошлый урок: https://youtu.be/HYc0xGTDFzI Плейлист: https://www.youtube.com/playlist?list=PLAhg4XYCffEm0H8SQPtRTG38rbA6LIVzG Полезные ссылки: Репозиторий с примерами из этого курса: https://github.com/kantegory/mentoring/ Репозиторий этого курса: https://github.com/kantegory/ITMO-ICT-Frontend-2021/ Простой гайд по составлению svg-спрайта: https://www.sitepoint.com/use-svg-image-sprites/ Видео-гайд по svg-спрайту: https://www.youtube.com/watch?v=dPoRsolsCjA Статья на CSS-tricks по svg-спрайту: https://css-tricks.com/svg-sprites-use-better-icon-fonts/ Статья на Доке про тег picture: https://doka.guide/html/picture/ Статья на MDN про тег picture: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture Видео Вадима Макеева про тег picture: https://www.youtube.com/watch?v=gHLPBlzGRT8 Squoosh (приложение для удобного сжатия изображений): https://squoosh.app

Где лучше рендерить? На клиенте или на сервере? #подборка #ssr #vue Простого ответа на этот вопрос нет, потому что нужно рассматривать каждую частную ситуацию отдельно. У меня был опыт настройки пререндера для поисковиков, чтобы повысить позиции сайта в поисковиках и улучшить SEO. Это не всегда работает так хорошо, как хотелось бы, потому что довольно часто, если у вас небольшой проект — нет достаточного количества данных, по которым можно было бы определить нужен ли SSR и где конкретно. Чтобы лучше самому разобраться в теме, я прочитал несколько статей и сделал небольшую подборку по теме: - Как мы ускоряли комментарии Хабра (https://habr.com/ru/company/habr/blog/590111/) - SSR: когда, зачем и для чего. На примере Vue (https://habr.com/ru/company/umbrellaitcom/blog/425053/) - Серверный или клиентский рендеринг на вебе: что лучше использовать у себя в проекте и почему (https://tproger.ru/translations/rendering-on-the-web/) - Руководство по серверному рендерингу Vue.js (https://ssr.vuejs.org/ru/)

Удалёнка — это новая реальность? Увидел интересный перевод на хабре, в котором приводится статистика по результатам опросов различных IT-специалистов о предпочтительном формате работы: "53% технарей считают, что одним из главных преимуществ работы из дома является увеличение продуктивности. 59% сочли серьёзным преимуществом возможность работать в более расслабленном режиме. 80% указали главным преимуществом экономию денег на дорогу. 47% согласны с Цукербергом в улучшении баланса жизни и работы." Я и сам стал за собой замечать, что у меня не получается работать в офисе даже на 10% столь же эффективно, как из дома. Но у меня есть травматичный опыт неприятной работы в офисе на протяжении полугода и возможно, это он так сказывается, но думаю, что дело не только в нём, но и в том, что удалённый формат работы уже крепко вошёл в привычку и офисный гул просто не позволяет сосредоточиться на своих задачах и только мешает естественной концентрации. Что самое странное — работа в кофейнях воспринимается просто отлично, хотя по сути своей это ведь тот же офис/коворкинг (коворкинги я, кстати, тоже терпеть не могу), разве нет? А вам легко возвращаться в офис, после 1.5 лет ремоута? Пишите в комментарии, рад буду пообщаться :) Перевод на хабре: https://habr.com/ru/post/598669/

CSS-переменные, темизация сайта — Фронтенд-разработка Привет, это 10й урок из моего курса по фронтенд-разработке в университете ИТМО. Сегодня поговорим про CSS-переменные и темизацию сайта с их помощью. Смотреть: https://youtu.be/aKeJuUKTWPI Прошлый урок: https://youtu.be/HYc0xGTDFzI Плейлист: https://www.youtube.com/playlist?list=PLAhg4XYCffEm0H8SQPtRTG38rbA6LIVzG Полезные ссылки: 1) Репозиторий с примерами из этого курса: https://github.com/kantegory/mentoring/ 2) Репозиторий этого курса: https://github.com/kantegory/ITMO-ICT-Frontend-2021/ 3) Отличные ролики от Вадима Макеева по этой теме: - https://www.youtube.com/watch?v=Qwuyeo7iuNY - https://www.youtube.com/watch?v=8LFbS78a4Rw P. S. Потихоньку налаживаю выход постов и роликов, надеюсь, в этом году их будет гораздо больше, чем в прошлом

Веб-доступность (a11y) — Фронтенд-разработка Привет, это 9й урок из моего курса по фронтенд-разработке в университете ИТМО. Сегодня поговорим про доступность (accessebility) в вебе: для чего это нужно, как сделать сайт доступным, рассмотрим чек-лист для проверки доступен ли наш сайт или нет. Смотреть: https://youtu.be/HYc0xGTDFzI Прошлый урок: https://youtu.be/_3YLqewhII0 Плейлист: https://www.youtube.com/playlist?list=PLAhg4XYCffEm0H8SQPtRTG38rbA6LIVzG Полезные ссылки: 1) Репозиторий с примерами из этого курса: https://github.com/kantegory/mentoring/ 2) Репозиторий этого курса: https://github.com/kantegory/ITMO-ICT-Frontend-2021/ 3) Статья на developers.google: https://developers.google.com/web/fundamentals/accessibility?hl=ru 4) Большой раздел на MDN: https://developer.mozilla.org/ru/docs/Learn/Accessibility/HTML 5) Примеры того, как делать не надо: https://www.htmhell.dev/

Тестирование фронтенда, иммитация внешнего API, JSON-сервер — Фронтенд-разработка Привет, это 8й урок из моего курса по фронтенд-разработке в Университете ИТМО. Сегодня поговорим о работе с JSON-сервером для решения разных задач: тестирование фронтенда, иммитация внешнего API. Смотреть: https://youtu.be/_3YLqewhII0 Прошлый урок: https://youtu.be/G6C6xMWrjS4 Плейлист: https://www.youtube.com/playlist?list=PLAhg4XYCffEm0H8SQPtRTG38rbA6LIVzG Полезные ссылки: 1) Репозиторий с примерами из этого курса: https://github.com/kantegory/mentoring/ 2) Репозиторий этого курса: https://github.com/kantegory/ITMO-ICT-Frontend-2021/ 3) Репозиторий JSON-сервер: https://github.com/typicode/json-server 4) Установка node.js для linux: https://github.com/nodesource/distributions 5) Установка node.js для windows: https://docs.microsoft.com/ru-ru/windows/dev-environment/javascript/nodejs-on-windows

Взаимодействие с внешним API — Фронтенд-разработка Привет, это 7й урок из моего курса по фронтенд-разработке в Университете ИТМО. Сегодня поговорим о том, как работать с внешним API, вскользь упомянем формат данных JSON, разберём основные HTTP-методы и инструменты для работы с внешним API средствами JavaScript. Смотреть: https://youtu.be/G6C6xMWrjS4 Прошлый урок: https://youtu.be/qo8RUL1_pF8 Плейлист: https://www.youtube.com/playlist?list=PLAhg4XYCffEm0H8SQPtRTG38rbA6LIVzG Полезные ссылки: 1) Репозиторий с примерами из этого курса: https://github.com/kantegory/mentoring/ 2) Репозиторий этого курса: https://github.com/kantegory/ITMO-ICT-Frontend-2021/ 3) Презентация: https://docs.google.com/presentation/d/14YKxXcBNEOTzlg5r4BsX9xg4zW1BWFWW7prudZq9_hg/edit?usp=sharing 4) Подробнее про формат JSON: https://youtu.be/sxdPf3z6Uw8 5) Ролик о работе HTTP-методов: https://youtu.be/59RbVXzJMnw 6) Библиотека axios: https://npmjs.org/axios 7) Fetch API на Learn Javascript: https://learn.javascript.ru/fetch 8) XHR на Learn Javascript: https://learn.javascript.ru/xmlhttprequest 9) Подробнее про сетевые запросы на JS: https://learn.javascript.ru/network

Язык JS: основы, события, DOM — Фронтенд-разработка Привет, это 6й урок из моего курса по фронтенд-разработке в Университете ИТМО. Сегодня поговорим об основах JS, разберём разницу между let, var и const. Поговорим о функциях, циклах, условиях и даже классах. А так же разберём обработку пользовательских событий и DOM-хранилища. Смотреть: https://youtu.be/qo8RUL1_pF8 Прошлый урок: https://www.youtube.com/watch?v=J1bMExplCAw Плейлист: https://www.youtube.com/playlist?list=PLAhg4XYCffEm0H8SQPtRTG38rbA6LIVzG Полезные ссылки: 1) Репозиторий с примерами из этого курса: https://github.com/kantegory/mentoring/ 2) Репозиторий этого курса: https://github.com/kantegory/ITMO-ICT-Frontend-2021/ 3) Презентация: https://docs.google.com/presentation/d/10ufmbkCdVgwzMUw-zAHfsJdEgE4VFj68W7L3FcP8aMo/edit?usp=sharing 4) Статейка на хабре про историю JS: https://habr.com/ru/company/livetyping/blog/324196/ 5) DOM-дерево: https://learn.javascript.ru/dom-nodes 6) В чём разница между let, var и const: https://medium.com/nuances-of-programming/%D0%B2-%D1%87%D1%91%D0%BC-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-var-let-%D0%B8-const-%D0%B2-javascript-3084bfe9f7a3 7) IIFE: https://learn.javascript.ru/closure#bloki-koda-i-tsikly-iife

День перед дедлайном Думаю, многим знакомо это ужасное ощущение, когда дедлайн буквально завтра, а у вас нет никаких моральных сил, чтобы что-то сделать. Осталась только отрешённость и ничего больше, хотя вы понимаете, что проект практически доделан и осталось всего-ничего, дошлифовать все шероховатые моменты и безбоязненно сдать заказчику. Почему-то я умудрился в нескольких проектах остаться тем человеком, который в одиночку всё доделывает и как будто самолично отвечает за весь проект (больше я так никогда не хочу делать, но из этой ситуации выбираться приходится самому), а когда в дополнении к этому ощущаешь какую-то странную апатичность и полное безразличие к результату твоей работы — хочется только бесконечно лежать и пялиться в ролики на ютубе, ничего не делая. Понимаю, что это что-то остаточное от выгорания и чтобы оно больше не проявлялось нужно только наладить пресловутый work-life balance, но от осознания ситуация не разрешается сама собой. В дни перед дедлайном я готов быть самым ответственным домочадцем: помыть всю посуду и полы, перестирать все вещи, даже протереть пыль с книжек, лишь бы не работа, лишь бы не поймать себя на мысли, что что-то может пойти не так. Желание прокрастинировать и только. В такие моменты действительно помогает только одно: сесть и выписать весь список дел на сегодня, рассортировать по приоритетам и сесть их делать, несмотря ни на что. Через полчаса-час отступают все тревожные мысли и удаётся взять себя в руки и продолжить работать. А как вы справляетесь с подобными ощущениями? Знакомо ли вам такое?

UI-фреймворк Bootstrap (+ верстаем котиков адаптивно) — Фронтенд-разработка Привет, это 5й урок из моего курса по фронтенд-разработке в Университете ИТМО. Сегодня поговорим о UI-фреймворках и попрактикуемся в работе с Bootstrap, попробовав сверстать коттиков адаптивно. Смотреть: https://youtu.be/J1bMExplCAw Прошлый урок: https://youtu.be/xtC6l5-q4yU Плейлист: https://www.youtube.com/playlist?list=PLAhg4XYCffEm0H8SQPtRTG38rbA6LIVzG ___ Полезные ссылки: 1) Мой телеграм-канал: https://t.me/davidobryakov 2) Репозиторий с примерами из этого курса: https://github.com/kantegory/mentoring/ 3) Репозиторий этого курса: https://github.com/kantegory/ITMO-ICT-Frontend-2021/ 4) Документация Bootstrap: https://getbootstrap.com/

Изоляция стилей (веб-компоненты, БЭМ) — Фронтенд-разработка Привет, это 4й урок из моего курса по фронтенд-разработке в Университете ИТМО. Сегодня поговорим об изоляции стилей и разберёмся в том, какие подходы для изоляции стилей существуют. Смотреть: https://youtu.be/xtC6l5-q4yU Прошлый урок: https://youtu.be/EZhU1VidGVY Плейлист: https://www.youtube.com/playlist?list=PLAhg4XYCffEm0H8SQPtRTG38rbA6LIVzG ___ Полезные ссылки: 1) Репозиторий с примерами из этого курса: https://github.com/kantegory/mentoring/ 2) Репозиторий этого курса: https://github.com/kantegory/ITMO-ICT-Frontend-2021/ 3) Методология БЭМ: https://ru.bem.info 4) Видео про веб-компоненты от Вадима Макеева: https://www.youtube.com/watch?v=_FRIRJZYlxU

Небольшой соц. опрос (интересно собрать статистику). Вы работаете в IT?
Anonymous voting

Браузерные анимации с точки зрения перфоманса Тут у Уфокодера (@ufostation) вышел просто замечательный тред про браузерные анимации и то, как они влияют на перфоманс. А главное, — почему анимации правильно делать через transform, а не как-либо иначе. Честно признаюсь, я не разбирался в этом до такой степени, просто всегда лепил transform (при необходимости), просто потому что однажды где-то вычитал, что так правильно. А теперь с уверенностью могу ответить, почему так правильно. Ссылочка на тред: https://mobile.twitter.com/xufocoder/status/1455963090550411270 ___ p. s. если вдруг вы есть в твиттере и вам интересно почитать мои редкие твиты, то присоединяйтесь, всем буду рад: https://twitter.com/kantegory

​CORS Каждый уважающий себя программист, имеющий свой блог обязан написать про CORS. Наверняка, вы хотя бы раз встречали подобную ошибку при разработке фронтенда: Access to fetch at ‘https://example.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy. ну или такую: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. а может и эту видели: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/ Это наш любимый CORS. Можете ли вы объяснить принцип его работы, а главное — зачем он вообще нужен? Он же только всё усложняет, разве нет? Недавно объяснял студентам о том, как работает CORS. Нарисовал схемку в зуме и вроде все всё поняли, но для многих это довольно непонятная тема и объяснения, вроде: «CORS — это такая браузерная штука, которая запрещает вам, по умолчанию, слать запросы с одного домена на другой. Но если у вас на бэкенде есть список разрешённых доменов, то такой запрос пройдёт (конечно, есть ещё заголовки запроса и методы, которые так же могут разрешены только в ограниченном режиме)», будет недостаточно. Поэтому решил найти несколько хороших источников по этой теме и поделиться с вами, чтобы вы всегда смогли разобраться с любой проблемой CORS. 1) Джейк Арчибальд — как победить CORS (https://jakearchibald.com/2021/cors/) 2) CORS для чайников: история возникновения, как устроен и оптимальные методы работы (https://habr.com/en/company/macloud/blog/553826/) 3) Статья на MDN (https://developer.mozilla.org/ru/docs/Web/HTTP/CORS) 4) CORS для простых запросов (https://learn.javascript.ru/fetch-crossorigin) 5) Сценарии атак с использованием технологии CORS (https://www.securitylab.ru/analytics/498754.php)

CORS Каждый уважающий себя программист, имеющий свой блог обязан написать про CORS. Наверняка, вы хотя бы раз встречали подобную ошибку при разработке фронтенда: Access to fetch at ‘https://example.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy. ну или такую: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. а может и эту видели: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/ Это наш любимый CORS. Можете ли вы объяснить принцип его работы, а главное — зачем он вообще нужен? Он же только всё усложняет, разве нет? Недавно объяснял студентам о том, как работает CORS. Нарисовал схемку в зуме и вроде все всё поняли, но для многих это довольно непонятная тема и объяснения, вроде: «CORS — это такая браузерная штука, которая запрещает вам, по умолчанию, сдать запросы с одного домена на другой. Но если у вас на бэкенде есть список разрешённых доменов, то такой запрос пройдёт (конечно, есть ещё заголовки запроса и методы, которые так же могут разрешены только в ограниченном режиме)», будет недостаточно. Поэтому решил найти несколько хороших источников по этой теме и поделиться с вами, чтобы вы всегда смогли разобраться с любой проблемой CORS. 1) Джейк Арчибальд — как победить CORS (https://jakearchibald.com/2021/cors/) 2) CORS для чайников: история возникновения, как устроен и оптимальные методы работы (https://habr.com/en/company/macloud/blog/553826/) 3) Статья на MDN (https://developer.mozilla.org/ru/docs/Web/HTTP/CORS) 4) CORS для простых запросов (https://learn.javascript.ru/fetch-crossorigin) 5) Сценарии атак с использованием технологии CORS (https://www.securitylab.ru/analytics/498754.php)