Рубрика «javascript» - 21
V8 в бэкенде С++: от одного JS-скрипта до фреймворка онлайн-вычислений
2021-08-17 в 6:50, admin, рубрики: c++, javascript, V8, Анализ и проектирование систем, Блог компании Яндекс, высокая производительность, команда яндекс.такси, Проектирование и рефакторингГенерация документации с использованием JSDoc
2021-08-14 в 20:49, admin, рубрики: javascript, jsdoc, генерация документации, документация, Подготовка технической документации, Разработка веб-сайтовJSDoc - это язык разметки, используемый для аннотирования исходного кода JavaScript с использованием комментариев. Аннотации обрабатывается различными инструментами для создания документации в доступных форматах, таких как HTML и Rich Text Format.
Начало работы
Создание проекта
Для создания проекта выполните следующие команды:
-
mkdir learn-jsdoc && cd learn-jsdoc
- создание каталога проекта. -
npm init -y
- инициализация проекта. -
touch index.js
- создание файлаindex.js
Установка JSDoc
Выполните установку JSDoc одним из следующих способов:
-
Глобально:
sudo npm install -g jsdoc
Пришло время избавиться от Angular и сэкономить миллиарды долларов
2021-08-03 в 17:00, admin, рубрики: angular, javascript, ruvds_перевод, Блог компании RUVDS.com, разработка, Разработка веб-сайтовЯ занимаюсь программированием более 20 лет, работал в некоторых из самых приличных североамериканских компаний. Вот уже несколько лет я наблюдаю за тем, что происходит в сфере разработки интерфейсов. Ситуация здесь постоянно ухудшается. В частности, я говорю о «модных технологиях», о довольно крупных фрагментах JS- и CSS-кода, претендующих на остроумное исполнение, которые вроде как должны пользоваться неистовой популярностью у толп новичков. Теперь в эти толпы включают даже и опытных разработчиков, которым полагается что-то понимать в том, чем они пользуются.
Количество случаев практического применения фреймворков, выдающих подобный код, наподобие Angular, растёт как снежный ком. В результате разработчиков подхватила лавина, ввергнувшая их в настоящий «ад программного кода». При этом события развиваются по нарастающей. Сейчас нельзя заметить даже признаков того, что всё это безумие хотя бы выходит на какой-то постоянный уровень.
Каждый день мне на почту приходят вакансии. Компании всех размеров и мастей рыщут в поисках ОПЫТНЫХ Angular 4, 5, 6, 7, 8, 10, 12-разработчиков, которые как минимум 5 лет занимались разработкой и поддержкой того дурдома, который все называют «современнейшими пользовательскими интерфейсами».
Это — не нечто «современнейшее». Это — дурдом.
Несколько лет назад я был на собеседовании в EA (Electronic Arts). Там мне сказали, что компания избавляется от всех своих UI-фреймворков и возвращаются к написанию кода на чистом JavaScript (речь идёт о модулях, или о том, что тот, кто работает с jQuery, назвал бы JS-плагинами). Я был удивлён и заинтригован.
Теперь о причинах подобного хода знают не только в EA, но и во всех остальных компаниях.
Читать полностью »
Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса
2021-08-03 в 8:01, admin, рубрики: backend, javascript, web-разработка, Блог компании Яндекс, быстрый код, высокая производительность, практические советы, Программирование, Разработка веб-сайтовНекоторые из приёмов будут полезны и тем, кто пишет на других языках. Все способы разделены на группы по убыванию специфичности: от наиболее общих до конкретных. Почти все примеры кода взяты из реальных проектов, из реального продакшена.
- Организационные
Культура разработки performance-first
Бюджет скорости
Performance mantras - Те, что можно использовать независимо от языка и его реализации
Смена языка или фреймворка
Смена алгоритма
Оптимизация алгоритма
Вынос инвариантов на уровень выше
Boolean short circuit
Досрочный выход из цикла
Предвычисление - Для языков/фреймворков, в которых нет ленивых вычислений и приёма copy-on-write
Shortcut fusion
Ленивое вычисление
Copy-on-write
Оверинжиниринг - Зависящие от железа
Разворачивание мелких циклов
Предсказание ветвлений (Branch prediction)
Доступ к памяти: направление итерации
Доступ к памяти: [i][j] vs [j][i] - Для языков со сборкой мусора
Мутабельность
Zero memory allocation или GC-free - Специфичные для JavaScript
Антипаттерн: накопление строк в массиве
Антипаттерн: Lodash _.defaults
Idle Until Urgent
Даунгрейд кода: ES6 → ES5 - Примеры из код-ревью
Дайджест свежих материалов из мира фронтенда за последнюю неделю №476 (5 — 11 июля 2021)
2021-07-11 в 19:24, admin, рубрики: angular, css, ES6, html, html5, javascript, JS, React, vue, браузеры, дайджест, Разработка веб-сайтов, ссылки, фронтендПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
Знакомство фронтендера с WebGL: почему WebGL? (часть 1)
2021-07-10 в 12:28, admin, рубрики: javascript, WebGL, ванилла, новичок, фронтендМне и моему коллеге дизайнеру была поставлена задача разработать новую версию сайта-визитки компании. Коллега полгода учился работать с 3D-редакторами (в нерабочее время на Maxon Cinema 4D), поэтому он хотел использовать свои новые навыки при создании новой версии сайта. Его идея заключалась в том, что на каждой странице на первом экране будет крутиться какая-нибудь непонятная фигура с каким-нибудь красивым текстом. Выглядеть это должно было примерно так:
Как я писал тестовое задание на Angular и почему некоторым разработчикам не стоит давать тестовое задание
2021-07-10 в 7:41, admin, рубрики: angular, javascript, тестовое заданиеТестовое задание для junior или middle разработчиков обычно показывает их реальный опыт и понимание предметной области, однако для senior'а тестовое это немного другое. Расскажу свою историю написания маленького тестового задания на Angular с использованием лучших практик.
С чего все началось
JavaScript: изучаем регулярные выражения на практике
2021-07-05 в 12:00, admin, рубрики: cheatsheet, javascript, regex, regexp, regular expressions, tutorial, Блог компании Маклауд, памятка, Программирование, Разработка веб-сайтов, регулярка, регулярное выражение, шпаргалка
Регулярное выражение (далее также — регулярка) — это последовательность специальных символов, формирующих паттерн или шаблон (pattern), который сопоставляется со строкой.
Цель такого сопоставления может состоять либо в поиске подстроки в строке, например, для замены подстроки, либо в определении соответствия строки шаблону для валидации строки.
В данной статье мы сосредоточимся на валидации.
Что конкретно мы будем делать? Мы возьмем несколько регулярок из validator.js
(наиболее популярной библиотеки для валидации данных с помощью регулярных выражений) и произведем их подробный разбор. Также мы рассмотрим несколько дополнительных регулярок и один алгоритм.
Как результат, мы реализуем несколько полезных функций, которые вы впоследствии сможете использовать в своих проектах.
React испортил веб-разработку
2021-06-26 в 11:03, admin, рубрики: javascript, React, ReactJS, Блог компании VDSina.ru, Программирование, Разработка веб-сайтов, фреймворкиВ начале июня я посетил конференцию разработчиков .debug, на которой у моей компании был свой стенд. Смысл стенда заключался в том, чтобы создать ситуацию «Измени моё мнение»: мы представляли какую-нибудь радикальную идею, предлагали людям обсудить её с нами, а потом показывали им, что интересного мы делаем.
Мы решили взять такую идею:
Моим первым оппонентом стал этот молодой парень справа, создающий приложения на нативном React.
Если серьёзно, то React — это хорошая библиотека. Она важна для веб-разработки, потому что в ней используются декларативные и реактивные шаблоны, а такой сдвиг парадигмы в момент её создания был нужен всем. В те времена (6-7 лет назад) возникали проблемы с движками рендеринга и реактивностью, но React довольно неплохо их решил.
Читать полностью »
Идеальный инструмент для создания прогрессивных веб-приложений или Всё, что вы хотели знать о Workbox. Часть 1
2021-06-20 в 12:00, admin, рубрики: api, javascript, JS, Workbox, Блог компании Маклауд, Разработка веб-сайтов, разработка приложений
Что такое Workbox
?
Workbox
(далее — WB
) — это библиотека (точнее, набор библиотек), основной целью которой является "предоставление лучших практик и избавление от шаблонного кода при работе с сервис-воркерами" (далее — СВ).
Если вы впервые слышите о СВ, то перед изучением данного руководства настоятельно рекомендуется ознакомиться со следующими материалами:
- Service Worker API — MDN
- Service Workers: an Introduction — Web Fundamentals
- Визуализация работы сервис-воркеров — Хабр
- Рецепты по приготовлению офлайн-приложений — Хабр
WB
предоставляет следующие возможности:
- предварительное кэширование
- кэширование во время выполнения
- стратегии (кэширования)
- обработка (перехват сетевых) запросов
- фоновая синхронизация
- помощь в отладке
На что похож WB API
?
Ниже приведены примеры основных подходов к разработке прогрессивных веб-приложений (приложений, в которых используются возможности, предоставляемые СВ).