Внедрение зависимостей
Внедрение зависимостей — это шаблон программирования, в котором зависимость передается с использованием параметров вместо ее создания в функции или классе. Он позволяет создавать изолированные отдельные компоненты в коде приложения. Это упрощает переключение зависимостей в будущем по мере изменения требований. Данная статья демонстрирует практическое применение шаблона.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Внедрение зависимостей — это шаблон программирования, в котором зависимость передается с использованием параметров вместо ее создания в функции или классе. Он позволяет создавать изолированные отдельные компоненты в коде приложения. Это упрощает переключение зависимостей в будущем по мере изменения требований. Данная статья демонстрирует практическое применение шаблона.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍1
"undefined" против "null"
"
"
"
Дополнительно почитать на тему разницы между этими двумя значениями можно здесь
#массив
"
undefined
" – присутствует у переменной, которая была объявлена, но значение для неё задано не было"
null
" – обозначает пустое или несуществующее значение, которое явно присваивается переменной"
undefined
" и "null
" не равны при строгом сравнивании:Дополнительно почитать на тему разницы между этими двумя значениями можно здесь
#массив
👍4
Подделка API
Тесты и программные компоненты, которые ты хочешь протестировать, в большинстве случаев имеют зависимости. Типичной зависимостью может быть, например, внешний источник данных. Было бы непрактично вызывать настоящий API в тестовой среде или в процессе разработки. В данной статье автор демонстрирует 4 способа подделки API.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Тесты и программные компоненты, которые ты хочешь протестировать, в большинстве случаев имеют зависимости. Типичной зависимостью может быть, например, внешний источник данных. Было бы непрактично вызывать настоящий API в тестовой среде или в процессе разработки. В данной статье автор демонстрирует 4 способа подделки API.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤1👍1
Получение фрагментов url-адреса
Объект "
Одно из свойств, которое мне кажется очень полезным
Для получения параметров запроса, помимо "location.search" можно использовать ещё один полезный API, называемый "URLSearchParams".
#url
Объект "
window.location
" имеет набор полезных методов и свойств. С помощью них мы можем получить данные про протокол, хост, порт, домен и тому подобное из url-адреса браузера.Одно из свойств, которое мне кажется очень полезным
window.location.searchСвойство "
search
" возвращает фрагмент строки url-адреса, находящийся после вопросительного знака: "?project=js
".Для получения параметров запроса, помимо "location.search" можно использовать ещё один полезный API, называемый "URLSearchParams".
let project = new URLSearchParams(location.search).get('project');В результате получаем "
js
"#url
🔥6
Подсчет длины текста
В данной статье автор рассказывает про подсчет длины текста. Ты узнаешь, что такое кодовые точки, графемы, селекторы начертаний. Также рассказано про модификаторы цвета и объединитель нулевой ширины.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В данной статье автор рассказывает про подсчет длины текста. Ты узнаешь, что такое кодовые точки, графемы, селекторы начертаний. Также рассказано про модификаторы цвета и объединитель нулевой ширины.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍1
Переменные let и const
У них блочная область видимости: такие переменные существуют только в пределах участка кода, ограниченного фигурными скобками. Такой подход позволяет избежать конфликта переменных, делая код более предсказуемым.
let используется для переменных, которые нужно переназначить после создания. Переменные, объявленные с помощью const, невозможно переназначить или изменить.
#переменные
У них блочная область видимости: такие переменные существуют только в пределах участка кода, ограниченного фигурными скобками. Такой подход позволяет избежать конфликта переменных, делая код более предсказуемым.
let используется для переменных, которые нужно переназначить после создания. Переменные, объявленные с помощью const, невозможно переназначить или изменить.
#переменные
👍8
AbortController
Интерфейс AbortController представляет собой объект контроллера, который позволяет прерывать один или несколько веб-запросов по мере необходимости. Связь с запросом DOM осуществляется с помощью объекта AbortSignal. Данная статья знакомит с возможностями AbortController.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Интерфейс AbortController представляет собой объект контроллера, который позволяет прерывать один или несколько веб-запросов по мере необходимости. Связь с запросом DOM осуществляется с помощью объекта AbortSignal. Данная статья знакомит с возможностями AbortController.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍4
Фильтр уникальных значений
Тип Set был введен в ES6, и наряду с оператором «spread» ... мы можем использовать его для создания нового массива с уникальными значениями.
Этот трюк работает для массивов, содержащих примитивные типы: undefined, null, boolean, string и number. (Если бы у вас был массив, содержащий объекты, функции или дополнительные массивы, вам понадобился бы другой подход!)
#массив
Тип Set был введен в ES6, и наряду с оператором «spread» ... мы можем использовать его для создания нового массива с уникальными значениями.
Этот трюк работает для массивов, содержащих примитивные типы: undefined, null, boolean, string и number. (Если бы у вас был массив, содержащий объекты, функции или дополнительные массивы, вам понадобился бы другой подход!)
#массив
👍3❤1🔥1
CORS
Совместное использование ресурсов различными источниками (CORS) — это механизм безопасности на основе HTTP, который контролируется и применяется клиентом (веб-браузером). Это позволяет службе (API) указывать любой источник, кроме своего собственного, из которого клиент может запрашивать ресурсы. Делимся статьей, где автор знакомит с CORS.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Совместное использование ресурсов различными источниками (CORS) — это механизм безопасности на основе HTTP, который контролируется и применяется клиентом (веб-браузером). Это позволяет службе (API) указывать любой источник, кроме своего собственного, из которого клиент может запрашивать ресурсы. Делимся статьей, где автор знакомит с CORS.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2👍2
Длина кэш-массива в циклах
Когда вы изучаете for для циклов, то следуете стандартной процедуре:
Иногда это может быть полезно, но в большинстве случаев эффективнее кэшировать длину массива, что потребует одного обращения к нему. Мы можем сделать это путем определения переменной длины, где задать переменную i, например, так:
#циклы
Когда вы изучаете for для циклов, то следуете стандартной процедуре:
for (let i = 0; i < array.length; i++){Тем не менее, при таком синтаксисе цикл for повторно проверяет длину массива при каждой итерации.
console.log(i);
}
Иногда это может быть полезно, но в большинстве случаев эффективнее кэшировать длину массива, что потребует одного обращения к нему. Мы можем сделать это путем определения переменной длины, где задать переменную i, например, так:
for (let i = 0, length = array.length; i < length; i++){В принципе, почти то же самое, что и выше, но при увеличении размера цикла мы получим значительную экономию времени.
console.log(i);
}
#циклы
👍11❤7
Геометрия объектной модели документа
Бесконечная прокрутка, анимация элементов при прокрутке или перетаскивание являются интересными интерфейсными решениями, которые существуют уже некоторое время. В данной статье автор анализирует методы и свойства, которые делают эти интерфейсы достижимыми.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Бесконечная прокрутка, анимация элементов при прокрутке или перетаскивание являются интересными интерфейсными решениями, которые существуют уже некоторое время. В данной статье автор анализирует методы и свойства, которые делают эти интерфейсы достижимыми.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤1👍1
Оценка короткого замыкания (оценка Маккарти)
Тернарный оператор — быстрый и эффективный способ написать простые (а иногда и не очень простые) conditional statements:
#полезно
Тернарный оператор — быстрый и эффективный способ написать простые (а иногда и не очень простые) conditional statements:
х> 100? «больше 100»: «меньше 100»;Но иногда даже тернарный оператор сложнее, чем требуется. Вместо него мы можем использовать
х> 100? (x> 200? «больше 200»: «между 100-200»): «меньше 100»;
‘and’ && и ‘or’ ||
логические операторы для оценки некоторых выражений еще более кратким способом. Его часто называют «коротким замыканием» или «оценкой короткого замыкания».#полезно
❤2
SPA потоки и состояния
SPA (одностраничное приложение) — это реализация веб-приложения. Она загружает только один веб-документ, а затем обновляет содержимое тела этого единственного документа с помощью API-интерфейсов JavaScript, таких как XMLHttpRequest и Fetch. Делимся статьей, где автор рассказывает про SPA потоки и состояния.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
SPA (одностраничное приложение) — это реализация веб-приложения. Она загружает только один веб-документ, а затем обновляет содержимое тела этого единственного документа с помощью API-интерфейсов JavaScript, таких как XMLHttpRequest и Fetch. Делимся статьей, где автор рассказывает про SPA потоки и состояния.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2
Преобразование в Boolean
Кроме обычных логических функций true и false, JavaScript также рассматривает все другие значения как truthy или falsy.
Пока не указано иное, все значения в JavaScript — truthy, за исключением 0, "", null, undefined, NaN и, конечно, false. Последние являются falsy.
Мы можем легко переключаться между теми и другими, используя оператор !, который также преобразует тип в логический.
#типы
Кроме обычных логических функций true и false, JavaScript также рассматривает все другие значения как truthy или falsy.
Пока не указано иное, все значения в JavaScript — truthy, за исключением 0, "", null, undefined, NaN и, конечно, false. Последние являются falsy.
Мы можем легко переключаться между теми и другими, используя оператор !, который также преобразует тип в логический.
#типы
❤2
Замена фона видео
Делимся статьей, где автор рассказывает о 2 инструментах MediaPipe. Selfie Segmentation позволяет выделять людей в кадре. Face Mesh предоставляет сетку лица человека, которая работает в реальном времени даже на мобильных устройствах.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Делимся статьей, где автор рассказывает о 2 инструментах MediaPipe. Selfie Segmentation позволяет выделять людей в кадре. Face Mesh предоставляет сетку лица человека, которая работает в реальном времени даже на мобильных устройствах.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤1👍1
Расширения Chrome
Делимся статьей, где автор рассказывает про полезные расширения для Chrome. Есть как и общие расширения для всех, так и более специфические. Например, для определения фреймворка, шрифтов. Также есть список расширений для GitHub.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Делимся статьей, где автор рассказывает про полезные расширения для Chrome. Есть как и общие расширения для всех, так и более специфические. Например, для определения фреймворка, шрифтов. Также есть список расширений для GitHub.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2
Преобразование в строку
Быстрое преобразование целого числа в строку можно выполнить следующим образом.
#типы
Быстрое преобразование целого числа в строку можно выполнить следующим образом.
#типы
👍3❤1
Web Speech API
Web Speech API позволяет использовать голосовые данные в веб-приложениях. Web Speech API состоит из двух частей: SpeechSynthesis (преобразование текста в речь) и SpeechRecognition (асинхронное распознавание речи). Благодаря этой статье ты познакомишься с Web Speech API.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Web Speech API позволяет использовать голосовые данные в веб-приложениях. Web Speech API состоит из двух частей: SpeechSynthesis (преобразование текста в речь) и SpeechRecognition (асинхронное распознавание речи). Благодаря этой статье ты познакомишься с Web Speech API.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2👍2
Преобразование в целое число
Этот способ может быть использован и для преобразования логического типа данных boolean в обычные числовые значения, как показано ниже:
Этот способ может быть использован и для преобразования логического типа данных boolean в обычные числовые значения, как показано ниже:
console.log(+true); // Return: 1
console.log(+false); // Return: 0
#типы👍6
Задачи на Promise
Объект Promise представляет возможное завершение (или сбой) асинхронной операции и ее результирующее значение. В данной статье продемонстрированы основные задачи на Promsie, которые часто спрашивают на собеседованиях. Присутствует код с подробными комментариями.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Объект Promise представляет возможное завершение (или сбой) асинхронной операции и ее результирующее значение. В данной статье продемонстрированы основные задачи на Promsie, которые часто спрашивают на собеседованиях. Присутствует код с подробными комментариями.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤4