Работать с часовыми поясами в JavaScript трудно. Реализовать что-то сложнее простого форматирования отображения времени и вычисления даты с помощью комплексных операций (функции календаря) – непростая задача.
Поэтому обязательно прочитай статью-ликбез на тему часовых поясов в принципе и конкретно про работу с ними на JavaScript
#usefull
Поэтому обязательно прочитай статью-ликбез на тему часовых поясов в принципе и конкретно про работу с ними на JavaScript
#usefull
Разработчики-сеньоры создают решения для сложных и неоднозначных проблем. При этом у них нет никаких руководств, как это сделать.
Они собирают требования, проектируют решения, определяют задачи, пишут код, занимаются деплойментом и поддержкой системы. Они продумывают вопросы производительности, безопасности, тестирования, расширяемости, масштабирования, инструментария и поддерживаемости.
От сеньоров ожидается, что они могут сами разобраться, как решить задачу, в то время как джуниорам нужно указывать направление. Это не значит, что сеньоры все знают.
Но они точно знают, когда и как задавать вопросы, а чтобы этому научиться, нужен опыт. Сеньоры берутся за задачи, которыми никто другой не хочет заниматься и которые нельзя решить простым поиском в Google.
При этом следует учитывать, что мудрость, приходящая с опытом, не находится в прямой зависимости от стажа. Есть люди, у которых десять лет опыта, а есть те, у кого год опыта, повторенный десять раз. Чтобы расти и развиваться, нужно не останавливаться на достигнутом и постоянно выходить из зоны привычного.
В этой статье дается список советов, которые автор сформулировал в свой первый год бытности разработчиком, наблюдая за тимлидами и старшими инженерами.
#usefull
Они собирают требования, проектируют решения, определяют задачи, пишут код, занимаются деплойментом и поддержкой системы. Они продумывают вопросы производительности, безопасности, тестирования, расширяемости, масштабирования, инструментария и поддерживаемости.
От сеньоров ожидается, что они могут сами разобраться, как решить задачу, в то время как джуниорам нужно указывать направление. Это не значит, что сеньоры все знают.
Но они точно знают, когда и как задавать вопросы, а чтобы этому научиться, нужен опыт. Сеньоры берутся за задачи, которыми никто другой не хочет заниматься и которые нельзя решить простым поиском в Google.
При этом следует учитывать, что мудрость, приходящая с опытом, не находится в прямой зависимости от стажа. Есть люди, у которых десять лет опыта, а есть те, у кого год опыта, повторенный десять раз. Чтобы расти и развиваться, нужно не останавливаться на достигнутом и постоянно выходить из зоны привычного.
В этой статье дается список советов, которые автор сформулировал в свой первый год бытности разработчиком, наблюдая за тимлидами и старшими инженерами.
#usefull
techrocks.ru
Что отличает сеньора от джуниора? 15 вещей, которые я хотел бы узнать раньше | techrocks.ru
Сперва я думал, что для продвижения к позиции сеньора нужно сфокусироваться на навыках кодинга. Со временем я понял, чем на самом деле отличается сеньор от джуниора.
Node.js - это однопоточная среда для выполнения JavaScript на стороне сервера. Если весь код выполняется в одном потоке, то как тогда Node.js справляется с нагрузкой и поддерживает производительность?
Решением является неблокирующий асинхронный ввод-вывод. Но не все так просто.
Как запускать асинхронные запросы в NodeJS параллельно, с примерами
#usefull
Решением является неблокирующий асинхронный ввод-вывод. Но не все так просто.
Как запускать асинхронные запросы в NodeJS параллельно, с примерами
#usefull
В этом видео используя JavaScript создадим простую анимацию движения окружностей по Canvas, а так же найдём точки пересечения этих окружностей используя формулу из теоремы косинусов
#usefull
#usefull
YouTube
Canvas & JavaScript | Находим точки пересечения окружностей
Привет! В видео создадим простую анимацию движения окружностей по Canvas и найдём точки пересечения контуров этих окружностей.
Молния на js: https://youtu.be/d88M_XuB4jA
Перемещение частиц по шестигранной сетке: https://youtu.be/r6l75hWKpac
Плейлист с другими…
Молния на js: https://youtu.be/d88M_XuB4jA
Перемещение частиц по шестигранной сетке: https://youtu.be/r6l75hWKpac
Плейлист с другими…
Все операторы в JavaScript можно условно поделить на три группы: это базовые или математические операторы, операторы сравнения и логические операторы.
В зависимости от применения оператор может быть унарным или бинарным. Отличаются они по количеству операндов, к которым применяются.
В свою очередь операнд – это то, к чему применяется оператор. Их еще называют аргументами. Простыми словами это числа, строки, переменные, константы и прочие объекты которые участвуют в выражении.
#usefull
В зависимости от применения оператор может быть унарным или бинарным. Отличаются они по количеству операндов, к которым применяются.
В свою очередь операнд – это то, к чему применяется оператор. Их еще называют аргументами. Простыми словами это числа, строки, переменные, константы и прочие объекты которые участвуют в выражении.
#usefull
YouTube
Операторы JAVASCRIPT. "2"+2=22. Уроки JAVASCRIPT с нуля 2020
Все операторы в JavaScript можно условно поделить на три группы: это базовые или математические операторы, операторы сравнения и логические операторы. В зависимости от применения оператор может быть унарным или бинарным. Отличаются они по кол-ву операндов…
Когда ты разработчик, каждый день у тебя есть скомпилированный билд, выполненная задача, новая фича на проде, — и в этом есть определенное удовольствие.
Тимлиду же редко есть чем поделиться на стендапе: потому что вчера ты “занимался планированием, был на созвонах, читал почту и добавлял задачи в бэклог”.
Интересная статья про тимлидов – роль, которая может стать ловушкой для разработчика, а может дать огромные возможности для создания ПО!
#usefull
Тимлиду же редко есть чем поделиться на стендапе: потому что вчера ты “занимался планированием, был на созвонах, читал почту и добавлял задачи в бэклог”.
Интересная статья про тимлидов – роль, которая может стать ловушкой для разработчика, а может дать огромные возможности для создания ПО!
#usefull
Хабр
Тимлидство — роль, которая может стать ловушкой для разработчика, а может дать огромные возможности для создания ПО
Вернёмся года на два назад, когда я был разработчиком. Что я думал? «Хочу стать тимлидом. Это круто, он решает все вопросы, получает больше денег, им становятся после сеньора». Тогда не было...
📰 Вышел Chrome 86. Пит Лепаж и Джеселин Ин рассказали про новинки релиза
▪️ File System Access API доступен по умолчанию. С помощью него можно получить доступ к файловой системе пользователя для упрощения работы с локальными файлами.
▪️ В рамках origin trials стал доступен Web HID, благодаря которому web-приложения могут взаимодействовать с оборудованием пользователя. Также в рамках origin trials стал доступен Multi-screen Window Placement API. Благодаря этому API возможно получить информацию о всех экранах пользователя и программно управлять размещением окон.
▪️ В CSS появилась поддержка псевдокласса :focus-visible, которое позволяет применять для фокуса эвристики, которые использует браузер. Добавлена поддержка псевдоэлемента ::marker для стилизации маркера списка.
▪️ Начался процесс удаления поддержки ftp (будет отключён в Chrome 88). Удалена поддержка API WebComponents v0 во WebView.
▪️ Много изменений в Chrome DevTools. Добавлена новая панель "Media" для упрощения дебага видеоплейеров. Теперь, как и в Firefox, можно сделать скриншот любого узла DOM-дерева с помощью контекстного меню на панели "Elements". Проблемы с third-party cookie на вкладке "Issues" скрываются по умолчанию. Теперь возможно эмулировать недоступность локально установленных шрифтов. Добавлена эмуляции неактивности пользователей (Idle Detection API) и эмуляция опции экономии траффика (медиа-запрос prefers-reduced-data ). Lighthouse обновлён до версии 6.2.
Источники:
Раз, два
#news
▪️ File System Access API доступен по умолчанию. С помощью него можно получить доступ к файловой системе пользователя для упрощения работы с локальными файлами.
▪️ В рамках origin trials стал доступен Web HID, благодаря которому web-приложения могут взаимодействовать с оборудованием пользователя. Также в рамках origin trials стал доступен Multi-screen Window Placement API. Благодаря этому API возможно получить информацию о всех экранах пользователя и программно управлять размещением окон.
▪️ В CSS появилась поддержка псевдокласса :focus-visible, которое позволяет применять для фокуса эвристики, которые использует браузер. Добавлена поддержка псевдоэлемента ::marker для стилизации маркера списка.
▪️ Начался процесс удаления поддержки ftp (будет отключён в Chrome 88). Удалена поддержка API WebComponents v0 во WebView.
▪️ Много изменений в Chrome DevTools. Добавлена новая панель "Media" для упрощения дебага видеоплейеров. Теперь, как и в Firefox, можно сделать скриншот любого узла DOM-дерева с помощью контекстного меню на панели "Elements". Проблемы с third-party cookie на вкладке "Issues" скрываются по умолчанию. Теперь возможно эмулировать недоступность локально установленных шрифтов. Добавлена эмуляции неактивности пользователей (Idle Detection API) и эмуляция опции экономии траффика (медиа-запрос prefers-reduced-data ). Lighthouse обновлён до версии 6.2.
Источники:
Раз, два
#news
Chrome Developers
New in Chrome 86 - Chrome Developers
Chrome 86 is rolling out now! The file system access API is now available in stable. There are new origin trials for Web HID and the Multi-Screen Window placement API. There's some new stuff in CSS, and plenty more. Let's dive in and see what's new for developers…
В Chrome 86 HTTP-кэш становится изолированным. Что это означает рассказал Еиджи Китамура в статье "Gaining security and privacy by partitioning the cache".
Ранее, если происходила загрузка ресурса, и он оказывался закэшированным другим сайтом, браузер доставал этот ресурс из кэша. Такое поведение браузера влечёт за собой проблемы с приватностью. Например, можно засечь время получения ресурса с какого-либо сайта и по скорости определить, посещал ли пользователь этот сайт. Таким же методом можно проверить, искал ли пользователь определённую фразу в поисковике.
Chrome 86 начал использовать для имени ключа кэша "Network Isolation Key", который состоит из имени сайта и сайта текущего фрейма (если фрейма нет, то будет использоваться имя сайта второй раз). У изолированного кэша есть небольшой недостаток — он может повлиять на метрики производительности сайта.
На данный момент изоляция кэша включена в Chrome и Safari. В Firefox она тоже поддерживается, но выключена по умолчанию (её можно включить с помощью флага privacy.firstparty.isolate в about:config ).
Источник
#usefull
Ранее, если происходила загрузка ресурса, и он оказывался закэшированным другим сайтом, браузер доставал этот ресурс из кэша. Такое поведение браузера влечёт за собой проблемы с приватностью. Например, можно засечь время получения ресурса с какого-либо сайта и по скорости определить, посещал ли пользователь этот сайт. Таким же методом можно проверить, искал ли пользователь определённую фразу в поисковике.
Chrome 86 начал использовать для имени ключа кэша "Network Isolation Key", который состоит из имени сайта и сайта текущего фрейма (если фрейма нет, то будет использоваться имя сайта второй раз). У изолированного кэша есть небольшой недостаток — он может повлиять на метрики производительности сайта.
На данный момент изоляция кэша включена в Chrome и Safari. В Firefox она тоже поддерживается, но выключена по умолчанию (её можно включить с помощью флага privacy.firstparty.isolate в about:config ).
Источник
#usefull
Chrome for Developers
Gaining security and privacy by partitioning the cache | Blog | Chrome for Developers
Chrome's HTTP cache partitioning helps with better security and privacy.
Когда ты пишешь код, важно учитывать ситуации, приводящие к ошибкам. Обработка ошибок — это неотъемлемая часть работы над веб-приложением. Вот некоторые рекомендации по обработке ошибок в JavaScript
#usefull
#usefull
Хабр
Лучшая практика обработки ошибок в современном JavaScript
Когда вы пишете код, важно учитывать ситуации, приводящие к ошибкам. Обработка ошибок — это неотъемлемая часть работы над веб-приложением. Мы посмотрим на некоторые рекомендации по обработке ошибок в...
Мэт Перри — автор библиотеки Framer Motion — рассказал о том, в каких случаях браузеры могут троттлить requestAnimationFrame — "Browsers may throttle requestAnimationFrame".
Метод requestAnimationFrame (rAF) — самый главный инструмент для создания плавных анимаций, контролируемых js-кодом. Мэт столкнулся с тем, что в Safari на iOS на двух одинаковых смартфонах, одна и та же анимация в одном случае работала в 30fps, а в другом 60fps. Проблема оказалась в том, что Safari включает троттлинг rAF в режиме сохранения энергии. Также Safari троттлит rAF в iframe'ах с контентом сторонних доменов.
Троттлинг rAF есть и в Firefox, но в нём он ограничивается из-за вопросов безопасности. Для отключения троттлинга сайт должен отправлять HTTP-заголовки: Cross-Origin-Opener-Policy: same-origin и Cross-Origin-Embedder-Policy: require-corp.
#usefull
Метод requestAnimationFrame (rAF) — самый главный инструмент для создания плавных анимаций, контролируемых js-кодом. Мэт столкнулся с тем, что в Safari на iOS на двух одинаковых смартфонах, одна и та же анимация в одном случае работала в 30fps, а в другом 60fps. Проблема оказалась в том, что Safari включает троттлинг rAF в режиме сохранения энергии. Также Safari троттлит rAF в iframe'ах с контентом сторонних доменов.
Троттлинг rAF есть и в Firefox, но в нём он ограничивается из-за вопросов безопасности. Для отключения троттлинга сайт должен отправлять HTTP-заголовки: Cross-Origin-Opener-Policy: same-origin и Cross-Origin-Embedder-Policy: require-corp.
#usefull