Думаю, что одного этого скриншота реально существующего замера производительности хватит, чтобы донести смысл статьи, но, если читателю интересны мои мысли на этот счет, то добро пожаловать.Читать полностью »
Рубрика «javascript» - 140
Почему я не верю микробенчмаркам
2018-12-14 в 4:00, admin, рубрики: javascript, TypeScript, Блог компании Wrike, высокая производительность, здравый смысл, Программирование, производительностьКарманный OLAP на Javascript и производительность IndexedDB
2018-12-13 в 15:01, admin, рубрики: indexeddb, javascript, pwa, Алгоритмы, ПрограммированиеЗдравствуй!
Недавно я решил протестировать производительность Javascript на примере создания несложного WEB-приложения, умеющего строить сводные таблицы, вычислять агрегаты и подтягивать атрибуты из справочников, используя слабо-структурированные данные в качестве источника. Повторить весь функционал Excel или взрослых OLAP-систем не предполагалось, но хотелось протестировать производительность Javascript вообще и IndexedDB в частности на различных десктопных и мобильных браузерах. Забегая вперед, скажу, что выполнив первый этап работы — построение сводной таблицы однопроходным алготитмом по хранилищу фактов (индексирование часто-используемых разрезов и кэширование вычисленных агрегатов отложено на будущее) — я был разочарован производительностью чтения из IndexedDB, удивлен тем, что мобильные браузеры практически не отстают от десктопных, и озадачен эпическим провалом моего любимого Firefox в одном из тестов. Всего было 2 теста с различными вариациями:
- формирование сводной таблицы, где основа алгоритма — единственный цикл по курсору IndexedDB, работа с объектами Object, Array, Set, Map (извлечение по ключу, вставка, итерация), конкатенация строк и простая арифметика;
- расшифровка (drillthrough) строки сводной таблицы с выводом результата в DOM, где основа алгоритма — многократное (в цикле) извлечение одной записи из IndexedDB по ключу, и последующий вывод результатов в таблицу html группами по 100 строк методом insertAdjacentHTML('beforeEnd', html)).
Тестирование проводилось на файле JSON, содержащем 20 тыс. фактов, из которых 9 записей представляли собой справочник продуктов, остальные изображали операции купли/продажи. Табличка с результатами тестирования на нетбуке и телефоне (время в секундах), а также подробности реализации и выводы — под катом.
Читать полностью »
Прямой эфир: производительность фронтенда
2018-12-13 в 15:01, admin, рубрики: javascript, performance, высокая производительность, интерфейсы, Разработка веб-сайтовХороший UX, продуманный дизайн и интуитивный интерфейс — отличные штуки. Но если это всё лагает, пользователи от вас уходят. Иногда разработчики забывают об этом. Темой производительности фронтенда мы с коллегами продолжим серию онлайнов, в которых обсуждаем актуальные вопросы разработки клиентской части.
Прямой эфир, посвящённый перфомансу, пройдёт 18 декабря на ютуб-канале AvitoTech. В дискуссии будут участвовать эксперты из Яндекса, Tinkoff, Mail.Ru и Авито. Под катом — примерные вопросы, которые планируем обсуждать, и ссылка на предстоящую трансляцию. После встречи обновим пост, выложим видео, добавляйте его в закладки, если интересуетесь темой.
Есть идея: система разрешений для npm-пакетов
2018-12-13 в 9:06, admin, рубрики: javascript, node.js, npm, безопасность, Блог компании RUVDS.com, информационная безопасность, разработка, Разработка веб-сайтовНесколько дней назад я впервые запустил калькулятор на новом телефоне и увидел такое сообщение: «Калькулятор хотел бы получить доступ к вашим контактам».
Сначала мне это сообщение показалось немного грустным (похоже, калькулятору было одиноко), но этот случай заставил меня задуматься…
Читать полностью »
IntelliCode теперь и в TypeScript-JavaScript
2018-12-13 в 7:00, admin, рубрики: intellicode, javascript, microsoft, TypeScript, Блог компании Microsoft, ПрограммированиеНа Build 2018 мы анонсировали Visual Studio IntelliCode: набор AI-инструментов, которые способствуют более качественной разработке. В сотрудничестве с командой IntelliCode мы рады сообщить, что теперь IntelliCode доступен пользователям TypeScript/JavaScript через расширение IntelliCode для VS Code.
Машинное обучение с Node.js при помощи библиотеки Tensorflow.js
2018-12-12 в 19:56, admin, рубрики: deep learning, javascript, node.js, nodejs, TensorFlow, Блог компании Издательский дом «Питер», машинное обучение, Профессиональная литература, распознавание образовПривет всем, коллеги!
Возможно, поклонники библиотеки Tensorflow, уже заметившие у нас в предзаказе эту книгу, также присматривались к возможностям машинного и глубокого обучения в браузере, тем более, что тему не обошел вниманием и сам Франсуа Шолле. Интересующихся приглашаем под кат, где рассказано, как при помощи библиотеки Tensorflow.js распознаются изображения.
Читать полностью »
Введение в реактивное программирование
2018-12-12 в 9:26, admin, рубрики: .net, akka, akka.net, javascript, rx, rxjs, акторы, Блог компании Аркадия, реактивное программированиеЗдравствуйте. В этой статье я пробегусь галопом по Европам, а именно — расскажу, что понимают под реактивным программированием, познакомлю с акторами, реактивными потоками, и наконец, при помощи реактивных потоков мы сделаем распознавание мышиных жестов, как в старой Opera и её духовном наследнике — Vivaldi.
Цель — познакомить с основными концепциями реактивного программирования и показать, что не всё так сложно и страшно, как может показаться на первый взгляд.
Явные возможности JavaScript
2018-12-12 в 7:52, admin, рубрики: best practices, good parts, javascript, production, ненормальное программирование, Промышленное программирование
Начитывая очередную статью про малоизвестные фичи языка JavaScript и втихую пописывая какие-то невменяемые решения в консоли браузера, я часто проговариваю в голове мол ну на проде то конечно все не так!? Ведь язык давно обзавелся огромнейшим комьюнити и имеет удивительно широкий охват промышленной разработки. Раз так, то почему же мы часто забываем про его возможность быть понятным для каждого и буквально пропагандируем все эти специфичные и "запоминаемые" конструкции? Just make it Obvious!
Иерархическое внедрение зависимостей в React и MobX State Tree в качестве доменной модели
2018-12-12 в 7:15, admin, рубрики: angular, DDD, dependency injection, di, inversion of control, ioc, javascript, mobx, mobx-state-tree, React, react-ioc, ReactJS, TypeScript, Проектирование и рефакторингДовелось мне как-то после нескольких проектов на React поработать над приложением под Angular 2. Прямо скажем, не впечатлило. Но один момент запомнился — управление логикой и состоянием приложения с помощью Dependency Injection. И я задался вопросом, удобно ли управлять состоянием в React используя DDD, многослойную архитектуру, и внедрение зависимостей?
Если интересно, как это сделать, а главное, зачем — добро пожаловать под кат!
Frontend DevDay. Запись докладов
2018-12-12 в 4:18, admin, рубрики: 2GIS, devday, javascript, management, meetup, SSL, TLS, Блог компании 2ГИС, браузеры, конференции, Программирование, технологии
7 декабря мы провели Frontend DevDay — смешали техническую презентацию нового 2ГИС с полноценным митапом. Разговаривали про карты на WebGL, трансформацию команды и запросы браузера. По словам участников, получилось празднично и увлекательно.
Сегодня делимся записями всех трёх докладов. Спикеры на связи, если у вас возникнут вопросы — смело задавайте в комментариях к посту.