Ozon научит Go бесплатно! Важная новость для всех, кто связывает своё будущее с написанием кода: самый быстрорастущий российский e-commerce запускает бесплатную школу Go. Это возможность за два месяца стать middle-специалистом с опытом решения реальных задач и проектом в портфолио — а лучшие выпускники получат предложение о работе в Ozon. Что нужно, чтобы поступить? Опыт в написании кода, сделанное тестовое задание и, конечно, заявка. Подробности тут: http://ozon.dev/goschool
«Цифровой прорыв» 2020 открывает прием заявок на масштабный IT-марафон с призовым фондом 5.000.000 руб.! ⚡️
В режиме онлайн ты сможешь реализовать свою идею, создать действительно классный продукт, который будет менять жизни людей. 🚀
💥 Регистрируйся по ссылке: https://proglib.io/w/dba68b8c
Тебя ждут два онлайн-хакатона, которые пройдут 5-7 июня и 19-21 июня. 👨🏻💻👩🏼💻
- 36 часов кодинга/400 команд;
- Крутые кейсовые задания от Росатома, Сбербанка, Глобального русскоговорящего технологического сообщества Rutech;
- Образовательная программа;
- Трекеры и эксперты , которые будут помогать тебе на каждом этапе.
🌏 25 июня - 25 июля состоится онлайн-чемпионат на технологической платформе Mail.ru:
- Индивидуальное участие;
- Задачи по Machine Learning и Data Science;
- Возможность попасть на финал Цифрового Прорыва!
🎯 Проверь свои силы и разработай крутой проект для решения реальных бизнес-задач, регистрируйся по ссылке: https://proglib.io/w/dba68b8c
В режиме онлайн ты сможешь реализовать свою идею, создать действительно классный продукт, который будет менять жизни людей. 🚀
💥 Регистрируйся по ссылке: https://proglib.io/w/dba68b8c
Тебя ждут два онлайн-хакатона, которые пройдут 5-7 июня и 19-21 июня. 👨🏻💻👩🏼💻
- 36 часов кодинга/400 команд;
- Крутые кейсовые задания от Росатома, Сбербанка, Глобального русскоговорящего технологического сообщества Rutech;
- Образовательная программа;
- Трекеры и эксперты , которые будут помогать тебе на каждом этапе.
🌏 25 июня - 25 июля состоится онлайн-чемпионат на технологической платформе Mail.ru:
- Индивидуальное участие;
- Задачи по Machine Learning и Data Science;
- Возможность попасть на финал Цифрового Прорыва!
🎯 Проверь свои силы и разработай крутой проект для решения реальных бизнес-задач, регистрируйся по ссылке: https://proglib.io/w/dba68b8c
Кто такой Deno и заменит ли он Node.js?
Несколько дней назад произошел долгожданный релиз Deno.
Разбираемся, чем Райану Дал недоволен в Node и какие перспективы у нового проекта.
Читать: https://blog.bitsrc.io/what-is-deno-and-will-it-replace-nodejs-a13aa1734a74
#node #deno
Несколько дней назад произошел долгожданный релиз Deno.
Разбираемся, чем Райану Дал недоволен в Node и какие перспективы у нового проекта.
Читать: https://blog.bitsrc.io/what-is-deno-and-will-it-replace-nodejs-a13aa1734a74
#node #deno
Логические операции с CSS-переменными
Статья Аны Тюдор рассказывает, как использовать всю мощь булевой логики в CSS, а главное - зачем это может понадобиться.
Читать: https://css-tricks.com/logical-operations-with-css-variables/
#css #advanced
Статья Аны Тюдор рассказывает, как использовать всю мощь булевой логики в CSS, а главное - зачем это может понадобиться.
Читать: https://css-tricks.com/logical-operations-with-css-variables/
#css #advanced
Разыскивается Node.js разработчик
От 2200 до 2900 USD, Полная занятость, Санкт-Петербург
CS.MONEY - площадка, которая позволяет быстро и безопасно обменять, купить или продать свои игровые предметы. Проект существует больше 3-х лет и занимает лидирующую позицию в своей сфере. Сейчас нас более 50 человек, и мы продолжаем расти.
📌 Что тебя ждет:
- Разработка сервисов для core-функционала продукта
- Развитие и поддержка архитектуры микросервисов
- Возможность опробовать новые технологии
👨🎓 Обязательные знания:
- Понимание асинхронности в Node.js
- Знание HTTP-сервера Koa
- Redis и MongoDB
- ES6 и соблюдение кодстайла (eslint)
- Docker
➡️ Подробности - https://proglib.io/vacancies/node-js-razrabotchik-cs-money-2020-05-16
От 2200 до 2900 USD, Полная занятость, Санкт-Петербург
CS.MONEY - площадка, которая позволяет быстро и безопасно обменять, купить или продать свои игровые предметы. Проект существует больше 3-х лет и занимает лидирующую позицию в своей сфере. Сейчас нас более 50 человек, и мы продолжаем расти.
📌 Что тебя ждет:
- Разработка сервисов для core-функционала продукта
- Развитие и поддержка архитектуры микросервисов
- Возможность опробовать новые технологии
👨🎓 Обязательные знания:
- Понимание асинхронности в Node.js
- Знание HTTP-сервера Koa
- Redis и MongoDB
- ES6 и соблюдение кодстайла (eslint)
- Docker
➡️ Подробности - https://proglib.io/vacancies/node-js-razrabotchik-cs-money-2020-05-16
Сокращаем в два раза время генерации билда Nuxt.js с помощью context.payload
Подробнее: https://markus.oberlehner.net/blog/cut-your-nuxt-generate-build-time-in-half-with-context-payload/
#tools
Подробнее: https://markus.oberlehner.net/blog/cut-your-nuxt-generate-build-time-in-half-with-context-payload/
#tools
Декораторы в JavaScript
Декораторы — это объекты, которые используются для динамического добавления дополнительной функциональности к другому объекту без изменения реализации этого объекта.
Подробнее: https://nuancesprog.ru/p/7110/
#javascript #bestpractices
Декораторы — это объекты, которые используются для динамического добавления дополнительной функциональности к другому объекту без изменения реализации этого объекта.
Подробнее: https://nuancesprog.ru/p/7110/
#javascript #bestpractices
26 мая HTML Academy запускает онлайн-курс «JavaScript. Профессиональная разработка веб-интерфейсов». Специально для тех, кто хочет сменить профессию и стать высокооплачиваемым фронтендером. Будет супер:
💡 Живые лекции: вт и пт, с 19:00 до 21:00 (запись лекции доступна на следующий день).
👨💻 Практика: домашние задания и собственный проект.
👓 Ревью кода: опытный наставник проверит качество работы и расскажет, как можно сделать лучше.
Для успешного прохождения нужны базовые знания HTML, CSS и JS, а также 15−20 свободных часов в неделю. Да, потребуются усилия, но после завершения курса вы сможете начать карьеру фронтенд-разработчика. Полная программа, отзывы компаний и выпускников здесь: https://proglib.io/w/b0f75d7d
💡 Живые лекции: вт и пт, с 19:00 до 21:00 (запись лекции доступна на следующий день).
👨💻 Практика: домашние задания и собственный проект.
👓 Ревью кода: опытный наставник проверит качество работы и расскажет, как можно сделать лучше.
Для успешного прохождения нужны базовые знания HTML, CSS и JS, а также 15−20 свободных часов в неделю. Да, потребуются усилия, но после завершения курса вы сможете начать карьеру фронтенд-разработчика. Полная программа, отзывы компаний и выпускников здесь: https://proglib.io/w/b0f75d7d
HTML Academy
Онлайн-курс «JavaScript. Профессиональная разработка веб-интерфейсов»
Курс разработан для тех, кто хочет сменить профессию и стать высокооплачиваемым профессионалом. Он подойдёт для работающих людей, у которых мало времени.
Создание full stack serverless приложения на React + Amplify
Облачные технологии позволяют быстро создавать полноценные масштабируемые веб-приложения. Разбираемся в ключевых понятиях и настройке AWS Amplify и создаем собственное приложение на React.
Подробнее: https://blog.soshace.com/how-to-build-a-full-stack-serverless-application-with-react-and-amplify/
#react #cloud
Облачные технологии позволяют быстро создавать полноценные масштабируемые веб-приложения. Разбираемся в ключевых понятиях и настройке AWS Amplify и создаем собственное приложение на React.
Подробнее: https://blog.soshace.com/how-to-build-a-full-stack-serverless-application-with-react-and-amplify/
#react #cloud
Практическое руководство по TypeScript
Создайте собственный покедекс на HTML, CSS и TypeScript!
Подробнее: https://www.freecodecamp.org/news/a-practical-guide-to-typescript-how-to-build-a-pokedex-app-using-html-css-and-typescript/
#typescript #beginners
Создайте собственный покедекс на HTML, CSS и TypeScript!
Подробнее: https://www.freecodecamp.org/news/a-practical-guide-to-typescript-how-to-build-a-pokedex-app-using-html-css-and-typescript/
#typescript #beginners
Лучшие практики управления кэшем
Кэширование данных на сайте позволяет уменьшить время его загрузки и снизить количество запросов к серверу. Но его еще нужно правильно настроить.
В статье подробно разбираются самые важные HTTP-заголовки, определяющие, как браузер будет работать с данными.
Etag (Entity tag)
Сервер вычисляет хеш-сумму для каждого файла, которая сохраняется в браузере. Если при следующем запросе сумма не изменилась, файл не отправляется целиком, а берется из кэша.
Last Modified
Очень похожая политика, только вместо хеш-суммы используется время последнего изменения файла. Кроме того, браузеры применяют различные эвристики, чтобы решить, следует ли обновлять файл.
Cache-Control max-age
Указывает браузеру, как долго нужно хранить файл в кеше после загрузки. При этом совсем нет запросов к серверу, но есть риск использования устаревшей версии файла. Чтобы решить эту проблему используются хеши в именах файлах.
Cache-Control no-cache
Если использовать директиву max-age к HTML-файлам, браузер просто не получит ссылки на обновленные скрипты и файлы стилей. Поэтому для них следует использовать политику no-cache, которая отлично сочетается с Etag.
Подробнее: https://medium.com/pixelpoint/best-practices-for-cache-control-settings-for-your-website-ff262b38c5a2
#cache #browser #performance
Кэширование данных на сайте позволяет уменьшить время его загрузки и снизить количество запросов к серверу. Но его еще нужно правильно настроить.
В статье подробно разбираются самые важные HTTP-заголовки, определяющие, как браузер будет работать с данными.
Etag (Entity tag)
Сервер вычисляет хеш-сумму для каждого файла, которая сохраняется в браузере. Если при следующем запросе сумма не изменилась, файл не отправляется целиком, а берется из кэша.
Last Modified
Очень похожая политика, только вместо хеш-суммы используется время последнего изменения файла. Кроме того, браузеры применяют различные эвристики, чтобы решить, следует ли обновлять файл.
Cache-Control max-age
Указывает браузеру, как долго нужно хранить файл в кеше после загрузки. При этом совсем нет запросов к серверу, но есть риск использования устаревшей версии файла. Чтобы решить эту проблему используются хеши в именах файлах.
Cache-Control no-cache
Если использовать директиву max-age к HTML-файлам, браузер просто не получит ссылки на обновленные скрипты и файлы стилей. Поэтому для них следует использовать политику no-cache, которая отлично сочетается с Etag.
Подробнее: https://medium.com/pixelpoint/best-practices-for-cache-control-settings-for-your-website-ff262b38c5a2
#cache #browser #performance
Чейнинг стилей а-ля jQuery с помощью Proxy
Библиотека jQuery предоставляет очень удобную возможность чейнинга методов для одного элемента:
Статья рассказывает, как работает Proxy - перехватывает обращения к методам и свойствам объекта - и как, используя эту функциональность, оптимизировать работу со стилями элемента.
Проксируем доступ к объекту
Подробнее: https://tobiasahlin.com/blog/chaining-styles-with-proxy/
#javascript #proxy #advanced
Библиотека jQuery предоставляет очень удобную возможность чейнинга методов для одного элемента:
$(selector)Ванильный DOM API по сравнению с этим выглядит очень громоздко, но мы можем прокачать его с помощью JavaScript Proxy.
.css('color', '#fff')
.data('mode', 'light')
.fadeIn()
Статья рассказывает, как работает Proxy - перехватывает обращения к методам и свойствам объекта - и как, используя эту функциональность, оптимизировать работу со стилями элемента.
style(selector)Вкратце
.color('#fff')
.backgroundColor('#000')
.opacity(1)
Проксируем доступ к объекту
element.style
, перехватываем все обращения к css-свойствам, делаем нужные операции со стилями и возвращаем новый Proxy.Подробнее: https://tobiasahlin.com/blog/chaining-styles-with-proxy/
#javascript #proxy #advanced
Tobiasahlin
Chaining styles with a JavaScript Proxy
If you miss method chaining from Ruby or jQuery when working with styles in JavaScript, you can recreate the pattern with a few lines of code
‼️ Уточнение к условию задачи:
Блоки вложены друг в друга. Red2 вложен в Red1, Blue3 в Blue2, Blue2 в Blue1, Green2 - в Green1.
Блоки вложены друг в друга. Red2 вложен в Red1, Blue3 в Blue2, Blue2 в Blue1, Green2 - в Green1.
Какой блок в верстке окажется выше других по оси z (ближе к пользователю)?
Anonymous Quiz
18%
red2
6%
blue2
39%
blue3
14%
green1
23%
green2
Ближе всего к пользователю окажется блок green2
Свойство z-index применяется только к элементам с позиционированием, отличным от static, поэтому green1 сразу выбывает из гонки - это обычный блок в потоке.
Z-index работает в текущем контексте наложения. red1, blue1 и green2 находятся в одном контексте - корневом, так что green2 с индексом 2 оказывается выше всех.
Блок red2 находится в контексте блока red1, а блок blue2 - в контексте блока blue1, которые по z-оси ниже, чем green2.
Подробнее о свойстве z-index: https://www.cat-in-web.ru/z-index-v-css-sozdanie-sloev-i-osobennosti-raboty/
#css
Свойство z-index применяется только к элементам с позиционированием, отличным от static, поэтому green1 сразу выбывает из гонки - это обычный блок в потоке.
Z-index работает в текущем контексте наложения. red1, blue1 и green2 находятся в одном контексте - корневом, так что green2 с индексом 2 оказывается выше всех.
Блок red2 находится в контексте блока red1, а блок blue2 - в контексте блока blue1, которые по z-оси ниже, чем green2.
Подробнее о свойстве z-index: https://www.cat-in-web.ru/z-index-v-css-sozdanie-sloev-i-osobennosti-raboty/
#css
Методы консоли, о которых вы опять забыли
Метод console.log() - краеугольный камень JS-разработки, это неоспоримо. Но мы прекрасно знаем, что консоль способна на большее. Давайте в очередной раз вспомним, на что именно.
❌ console.error()
Выделенное красным фоном сообщение об ошибке со стеком вызовов, который к ней привел.
⚠️ console.warn()
Выделенное желтым фоном предупреждение со стеком вызовов.
✅ console.assert()
Проверка значения на истинность/ложность. В случае неверного утверждения возвращает Assertion failed и выводит сообщение об ошибке.
💯 console.count(), console.countReset()
Установка, увеличение и очистка счетчика с определенным именем.
📂 console.group(), console.groupEnd()
Группировка сообщений в блоки с заголовками, которые можно свернуть/развернуть.
🗒 console.table()
Красивое и понятное представление объектов и массивов.
⏳ console.time(), console.timeEnd()
Простой способ измерить время выполнения кода.
Источник: https://webdevblog.ru/vyhod-za-predely-console-log-8-console-metodov-kotorye-sleduet-ispolzovat-pri-otladke-javascript-i-node/
#api #javascript #console
Метод console.log() - краеугольный камень JS-разработки, это неоспоримо. Но мы прекрасно знаем, что консоль способна на большее. Давайте в очередной раз вспомним, на что именно.
❌ console.error()
Выделенное красным фоном сообщение об ошибке со стеком вызовов, который к ней привел.
⚠️ console.warn()
Выделенное желтым фоном предупреждение со стеком вызовов.
✅ console.assert()
Проверка значения на истинность/ложность. В случае неверного утверждения возвращает Assertion failed и выводит сообщение об ошибке.
💯 console.count(), console.countReset()
Установка, увеличение и очистка счетчика с определенным именем.
📂 console.group(), console.groupEnd()
Группировка сообщений в блоки с заголовками, которые можно свернуть/развернуть.
🗒 console.table()
Красивое и понятное представление объектов и массивов.
⏳ console.time(), console.timeEnd()
Простой способ измерить время выполнения кода.
Источник: https://webdevblog.ru/vyhod-za-predely-console-log-8-console-metodov-kotorye-sleduet-ispolzovat-pri-otladke-javascript-i-node/
#api #javascript #console
Еще один блог веб-разработчика
Выход за пределы console.log() - 8 console методов, которые следует использовать при отладке JavaScript и Node - Еще один блог…
В статье описаны 8 наиболее интересных консольных метода (console) с соответствующими примерами применяемых для отладки JavaScript приложений.
Как работает JavaScript
Чтобы компьютер смог выполнить написанную разработчиком программу, ее нужно перевести на язык, понятный машине. Для этого предназначены специальные программы - движки.
Статья рассказывает о принципиальной схеме самого популярного движка JavaScript - V8, а также немного о сути интерпретации и компиляции кода и о JIT-компиляции.
Вкратце:
1. Парсер разбирает код на значимые части.
2. Строится абстрактное синтаксическое дерево (AST).
3. Интерпретатор создает байт-код, который сразу же начинает выполняться в браузере, чтобы пользователь не ждал.
4. Одновременно профайлер и компилятор работают над оптимизацией кода.
5. Как только готова оптимизированная версия, она заменяет временный байт-код.
Подробнее: https://nuancesprog.ru/p/4553/
#javascript #v8 #engine #browser
Чтобы компьютер смог выполнить написанную разработчиком программу, ее нужно перевести на язык, понятный машине. Для этого предназначены специальные программы - движки.
Статья рассказывает о принципиальной схеме самого популярного движка JavaScript - V8, а также немного о сути интерпретации и компиляции кода и о JIT-компиляции.
Вкратце:
1. Парсер разбирает код на значимые части.
2. Строится абстрактное синтаксическое дерево (AST).
3. Интерпретатор создает байт-код, который сразу же начинает выполняться в браузере, чтобы пользователь не ждал.
4. Одновременно профайлер и компилятор работают над оптимизацией кода.
5. Как только готова оптимизированная версия, она заменяет временный байт-код.
Подробнее: https://nuancesprog.ru/p/4553/
#javascript #v8 #engine #browser
Переполнение и потери данных в CSS и как этого избежать
В веб-дизайне никогда точно не знаешь, сколько контента попадет в твой макет. Если он не уместится в контейнер, то испортит весь вид или пользователь может не увидеть важных вещей.
Рейчел Эндрю рассказывает, как сложно было решить проблему переполнения раньше и как это просто теперь - с современными техниками верстки:
- flexbox-моделью
- grid-функциями вроде minmax()
- значением min-content
- ключевыми словами safe и unsafe
Читать: https://www.smashingmagazine.com/2019/09/overflow-data-loss-css/
#css
В веб-дизайне никогда точно не знаешь, сколько контента попадет в твой макет. Если он не уместится в контейнер, то испортит весь вид или пользователь может не увидеть важных вещей.
Рейчел Эндрю рассказывает, как сложно было решить проблему переполнения раньше и как это просто теперь - с современными техниками верстки:
- flexbox-моделью
- grid-функциями вроде minmax()
- значением min-content
- ключевыми словами safe и unsafe
Читать: https://www.smashingmagazine.com/2019/09/overflow-data-loss-css/
#css
Оптимизация вашего SPA для Google Search
Небольшой интерактивный практикум, который укажет на частые ошибки в разработке SPA, влияющие на индексацию, и подскажет, как их решить.
Ссылка: https://codelabs.developers.google.com/codelabs/making-a-single-page-app-search-friendly/#0
#seo
Небольшой интерактивный практикум, который укажет на частые ошибки в разработке SPA, влияющие на индексацию, и подскажет, как их решить.
Ссылка: https://codelabs.developers.google.com/codelabs/making-a-single-page-app-search-friendly/#0
#seo
Google for Developers
Understand JavaScript SEO Basics | Google Search Central | Documentation | Google for Developers
Discover how Google Search processes JavaScript and explore best practices for improving JavaScript web apps for Google Search.
JavaScript Canvas
Плейлист из 9 уроков, посвященный основам работы с HTML5 Canvas. Синтаксис старый, но концепции и методы все те же :)
Смотреть: https://www.youtube.com/playlist?list=PLM7wFzahDYnFnw7aZfmhlpmflYa_Z98sF
#video #canvas
Плейлист из 9 уроков, посвященный основам работы с HTML5 Canvas. Синтаксис старый, но концепции и методы все те же :)
Смотреть: https://www.youtube.com/playlist?list=PLM7wFzahDYnFnw7aZfmhlpmflYa_Z98sF
#video #canvas
YouTube
JavaScript Canvas
Share your videos with friends, family, and the world