Обновить
512K+

JavaScript *

Прототипно-ориентированный язык программирования

241,31
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Пять причин выбрать JavaScript для IoT-проекта

Время на прочтение5 мин
Охват и читатели4.6K

В мире, где цифровая трансформация правит бал, Интернет вещей (IoT) играет ключевую роль в переосмыслении нашего образа жизни и бизнеса. Интернет вещей экономит наше время и повышает производительность — мы можем пользоваться устройствами умного дома, работать в едином виртуальном пространстве и взаимодействовать с коллегами, которые далеко от нас.

Согласно исследованию тенденций в области IoT, проведенному по инициативе корпорации Майкрософт, 85% респондентов в настоящее время активно внедряют IoT-технологии и три четверти планируют их внедрение. Примерно 88% респондентов считают, что Интернет вещей критически важен для развития их бизнеса.

Для тех, кто занимается разработкой IoT-технологий, выбрать язык программирования так же сложно, как выбрать тип датчиков или других устройств.

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

И здесь нам не обойтись без JavaScript!

Читать далее

Создание приложений на Angular с использованием продвинутых возможностей DI

Время на прочтение8 мин
Охват и читатели8.5K

Меня зовут Андрей, и я занимаюсь разработкой фронтенда на Angular для внутренних продуктов компании. Фреймворк обладает обширными возможностями, одни и те же задачи можно решить огромным количеством способов. Чтобы облегчить свою работу и повысить продуктивность, я задался целью найти универсальный и не сложный подход, который бы упростил проектирование и позволил уменьшить объем кода при сохранении его читаемости. Методом проб и ошибок я пришел к архитектуре, которой хочу поделиться в этой статье.

Читать далее

Видеоконференции — как бороться с высокой загрузкой ЦПУ?

Время на прочтение4 мин
Охват и читатели4.6K

Меня зовут Алексей Доильницын, я архитектор в DINS. Наша компания участвует в разработке высоконагруженной UCaaS-платформы (Unified Communication as a Service). 

Видеоконференции с большим количеством участников в галерее часто бывают неподъемными для устаревших лэптопов. Мы решили эту проблему с помощью теории систем автоматического управления (САУ).

Читать далее

EasyUI: действительно easy?

Время на прочтение11 мин
Охват и читатели6.3K

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

Дизайн сегодня один из необходимых компонентов любого продукта, а для сайтов и веб-приложений — это самая важная часть. Всё, что находится под капотом, скрыто от глаз клиента. Пользователя не интересует гениальность исполнения движка или уникальность архитектуры: подразумевается само собой, что программа должна работать надежно и безопасно. Современному пользователю необходим стильный графический интерфейс.

Раньше создание такого интерфейса вызывало серьёзную головную боль у программистов, но теперь для избавления от неё выпущено большое количество различных фреймворков и библиотек. Казалось бы — ура, проблема решена! Однако, теперь перед нами встаёт другой вопрос: какой препарат выбрать — пенталгин или панадол? 

Вопрос нелёгкий, и решать, в итоге, вам. Я же расскажу о своём лекарстве: библиотеке EasyIU, предназначенной для создания полноценных одностраничных веб-приложений (SPA) и основанной на jQuery, Angular, Vue и React.

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

Читать дальше

AdBlock: особенности работы и продвинутые методы блокировки

Время на прочтение9 мин
Охват и читатели49K

Привет, Хабр! Часто по работе сталкиваюсь с вопросами вроде: как же работают блокировщики рекламы? 

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

В своей статье расскажу о самых интересных и необычных решениях по блокировке рекламы с помощью JavaScript’a и не только. Также посмотрим на новые направления разработки блокировщиков и куда все движется. 

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №469 (24 — 30 мая 2021)

Время на прочтение3 мин
Охват и читатели7.9K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Решаем вопрос сортировки в JavaScript раз и навсегда

Время на прочтение9 мин
Охват и читатели50K

Многим JavaScript разработчикам доводилось сортировать данные на стороне клиента. К сожалению, существующие библиотеки имеют мелкие недостатки. Но эти недостатки складываются и ограничивают то как программисты думают о сортировке. Чтобы преодолеть эти ограничения, давайте рассмотрим сортировку в разных языках. Вооруженные этими знаниями, мы сможем выбрать наиболее удобный и строгий интерфейс.

Читать далее

Настраиваем нагрузочное тестирование с Artillery.io

Время на прочтение2 мин
Охват и читатели9.5K

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

Читать далее

Как создавать предметы генеративного искусства с помощью L-систем на языке Python

Время на прочтение103 мин
Охват и читатели8.5K

Мы уже писали о поле течений, при помощи которого можно генеративно рисовать невероятно красивые, завораживающие линии. Сегодня, к старту курса о Fullstack-разработке на Python, мы решили продолжить тему. Представляем перевод статьи, автор которой рассказывает, как генерировать рисунки деревьев при помощи L-систем, которые состоят из алфавита и могут применяться для создания порождающих правил подстановки.

Читать далее

Функции: эта ошибка дороже, чем «null»

Время на прочтение6 мин
Охват и читатели9.2K
Каждый день мы используем шаблон программирования, из-за которого без всякой необходимости повышается стоимость создания и поддержки ПО. Он приводит к бесчисленным багам и уязвимостям в безопасности. Он требует постоянного рефакторинга. Его сложно тестировать, утомительно документировать, а его гибкость превращает каждую реализацию в уникальную снежинку, что приводит к бесконечному дублированию кода.

Имя этому шаблону — функция.

Если конкретнее, то это интерфейс, который обычно является набором функций.


Какие из языков вы узнали?

Одним из первых при изучении программирования мы узнаём принцип многократного использования логики. Это неизменно приводит нас к функции — строительному блоку каждого программного проекта. Сами по себе функции не так уж плохи, но именно из-за использования их в качестве многократно применяемого компонента написание, поддержка и масштабирование ПО становятся такими затратными.

Почему?
Читать дальше →

7 лучших библиотек для создания молниеносно быстрых приложений ReactJS

Время на прочтение6 мин
Охват и читатели22K

ReactJS по умолчанию обладает высокой производительностью. Но время от времени у вас появляется шанс сделать его еще лучше. И замечательное сообщество React придумало для этого несколько фантастических библиотек.

Сегодня мы поговорим о семи таких библиотеках, которые могут улучшить качество вашего кода и при этом повысить производительность.

Давайте начнем.   

.     .     .

Читать далее

Google документы станут полновесными с 1 июня. Пишем скрипт для обхода этого ограничения

Время на прочтение7 мин
Охват и читатели11K

Google изменяет политику хранения данных с 1 июня 2021 года. Вкратце: документы и фото теперь станут полновесными и будут учитываться в общей квоте 15Гб. К тому же, при неактивности аккаунта более двух лет, Google может удалить ваши данные.

Я часто работаю с Google документами, и при активном использовании дисковая квота закончится довольно быстро. Но есть и хорошая новость: документы, созданные до 1 июня 2021 года так и останутся невесомыми, поэтому вы не получите превышение квоты в одночасье.

У меня сразу возникла мысль сделать документов "в запас". Ниже я расскажу, как это можно осуществить, не тратя много времени и сил.

Хочу невидимых для квоты файлов

Наиболее полное руководство по практическому использованию Web Speech API

Время на прочтение17 мин
Охват и читатели33K

В этой статье я хочу поделиться с вами результатами изучения основных возможностей Web Speech API (далее — WSA).


Введение


WSA — это экспериментальная технология, состоящая из двух интерфейсов: SpeechSynthesis (интерфейс для перевода текста в речь) и SpeechRecognition (интерфейс для распознавания речи).


О том, что из себя представляют названные интерфейсы и что в себя включают можно почитать на MDN или в рабочем черновике (данный черновик, в отличие от большинства спецификаций, написан более-менее человеческим языком).


Что касается поддержки, то вот что об этом говорит Can I use:



Ближайшие события

RESTful backend приложение. Базовый шаблон

Время на прочтение17 мин
Охват и читатели15K

Необходимо собрать базовый шаблон RESTful backend приложения на NodeJS + Express, который:

легко документируется

просто наполняется функционалом

позволяет легко настраивать защиту маршрутов

имеет простую встроенную автоматическую валидацию

Гайд достаточно обширный, поэтому сначала мы разберем и реализуем различные части, а затем соберем приложение воедино. Готовый репозиторий можно посмотреть на Github.

Читать далее

RxJS Challenge: Неделя 1

Время на прочтение5 мин
Охват и читатели15K

Работая с Angular волей-неволей будешь использовать RxJS, ведь он лежит в основе фреймворка. Это очень мощный инструмент для обработки событий и не только. Однако далеко не каждый проект использует его по полной. Часто это просто запросы на бэк, нехитрые преобразования данных и подписка. Мы с Ромой очень любим RxJS и решили собрать несколько интересных кейсов из нашей практики. Мы сделали из этого что-то вроде челленджа на 20 задачек, которые мы предлагаем решить с помощью RxJS и попрактиковать свои навыки.

Каждая задачка будет иметь некий бойлерплейт, чтобы вам было просто начать. Под спойлером я положу ссылку на свое решение и небольшое пояснение к нему. В целом задачи будут идти от простого к сложному, а полное собрание с ответами и пояснениями на английском доступно на GitHub.

Решить челлендж!

3 способа визуального извлечения данных с помощью JavaScript

Время на прочтение7 мин
Охват и читатели7.8K

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

Читать далее

5 приемов по разделению «бандла» и «ленивой» загрузке компонентов в React

Время на прочтение5 мин
Охват и читатели22K

image


Разделение Javascript-кода на несколько файлов называется разделением «бандла» или сборки (bundle splitting). Это позволяет загружать только тот код, который который используется приложением в данный момент, другие части загружаются по необходимости (по запросу пользователя).


Распространенные случаи разделения сборки и «ленивой» или отложенной загрузки (lazy loading) включают в себя следующее:


  • Загрузка дополнительного кода при переходе пользователя к новому представлению (view — слой, отвечающий за визуальное отображение)


  • Загрузка такого кода может быть связана с определенным действием, таким как прокрутка или нажатие кнопки


  • Также можно реализовать предварительную загрузку определенных ресурсов, которые представляют потенциальный интерес для пользователя


  • Это приводит к тому, что когда пользователь захочет получить доступ к определенной функциональности, она уже будет готова

Читать дальше →

Как Лёня с React на Swift переезжал

Время на прочтение7 мин
Охват и читатели11K
Всем привет! Меня зовут Лёня, я фронтенд-разработчик в компании KOTELOV и выпускник курса «Мидл фронтенд-разработчик» в Яндекс.Практикуме. Общаясь с коллегами, которые занимаются мобильной разработкой, я понял, что у них всё гораздо сложнее, чем в вебе. Я взял свой телефон в руки, посмотрел на известные приложения типа телеги или Яндекс.Музыки с точки зрения человека, который их пишет, и подумал: «Вау, как круто! Я тоже хочу так уметь!»

Тогда я принял твёрдое решение изучить iOS-разработку и написать собственное приложение. На выбор было два языка: Objective-C и Swift. К динозаврам моё отношение подозрительное, поэтому я принял решение набивать шишки обо что-то помягче и посвежее.

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



Готовимся к переходу — изучаем SwiftUI


Два года назад Apple выпустила SwiftUI — новый фреймворк для своего языка. До этого разработчики писали на UI Kit, но это дело прошлого. Думаю, что на нём до сих пор пишут лишь потому, что сложно в один день переписать весь легаси-код на новый лад. Для себя я уже давно вынес правило: никогда не изучай старое, если есть новое. Но на всякий случай я изучил различия между старым UI Kit Storyboard и SwiftUI, а также мнения людей, которые в теме.
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №468 (17 — 23 мая 2021)

Время на прочтение3 мин
Охват и читатели8.5K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Использование ECMAScript-модулей в Node.js

Время на прочтение6 мин
Охват и читатели30K
ECMAScript-модули (кратко их называют ES-модулями) — это модули, формат которых описан в стандарте ECMAScript, при работе с которыми используются инструкции import и export:

// ECMAScript-модуль

// инструкция import
import myFunc from './my-func';

//инструкция export
export myOtherFunc(param) {
  const result = myFunc(param);
  // ....
  return otherResult;
}

В Node.js, начиная с версии 13.2.0, имеется стабильная поддержка ES-модулей.



Этот материал посвящён особенностям работы с ES-модулями в Node.js.
Читать дальше →