» Материалы за Декабрь 2018 года » Страница 8

 

Производительность Excel на чистом Javascript — достижима

Автор: admin от 26-12-2018, 10:50, посмотрело: 23

Привет Хабр!



Продолжаем битву за производительность javascript на примере построения сводных таблиц. В прошлый раз камнем преткновения стал асинхронный интерфейс IndexedDB, который, используя межпоточный вызов для каждой записи курсора, работает чудовищно медленно. Решив эту проблему путем организации крупноблочного хранения, а также применив все известные оптимизации, мне удалось поднять производительность приложения в 20 раз, и в настоящее время расчет по хранилищу в 1 миллион фактов занимает 21 секунду, что потенциально дает надежду догнать Америку Excel, который обрабатывает тот же миллион строк за 5..7 секунд.



Однопроходный алгоритм, не использующий индексы и вложенные запросы, отлично ложится на блочную схему хранения данных, и, самое обнадеживающее — позволяет распараллелить расчет по разным потокам (воркерам), по сути повторяя алгоритмы «взрослых» СУБД. Таким образом — возможности по оптимизации далеко не исчерпаны. В настоящее время расчет производится лишь одним воркером, WASM не используется, результаты «милионного» теста на различных браузерах следующие:






















БраузерВремя
Chomium Linux21 сек
Firefox Linux51 сек
Chrome Android29 сек
Firefox Android62 сек
В приложении доступен генератор тестовых данных, также можно загрузить собственный JSON и проверить цифры. Приложение в глубокой бетте, так что ошибки должным образом не обрабатываются, простите. Под катом — несколько кейсов по ускорению WEB-приложений, которые, конечно, все являются банальностями и очевидностями, просто я, как любитель учиться на собственных ошибках — их проверил, зафиксировал, и теперь стараюсь соблюдать.

Категория: Веб-разработка

 

Оценка и планирование в программных проектах — без купюр

Автор: admin от 26-12-2018, 10:50, посмотрело: 19

Друзья, добрый день!



Мы продолжаем серию публикаций «без купюр» о проектах, связанных с разработкой, часто с приставкой «веб». Сегодня поговорим о том, как наиболее правильно и быстро проводить оценки работ и планировать релизы программной системы. Скорее всего, начинающие менеджеры и энергичные и ищущие себя разработчики будут шокированы рекомендациями, но, поверьте — цель стоит одна и только одна: помочь и сделать из вас настоящего джедая, который и пользу компании приносит, и проекты двигает, да и людей развивает одновременно. Такого джедая, который искренне не заслуживает быть обнаруженным в виде мумии в темной серверной между стойками с веб-серверами и базами данных веб-проекта, летящего в будущее без душевно документированного кода, ТЗ — лишь на энергии чистого «ХЗ». Итак, поехали!

Категория: Веб-разработка

 

Как перестать писать прошивки для микроконтроллеров. Пример

Автор: admin от 26-12-2018, 10:50, посмотрело: 36

Как перестать писать прошивки для микроконтроллеров. Пример

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

Категория: Веб-разработка

 

Принципы функционального программирования в JavaScript

Автор: admin от 26-12-2018, 10:50, посмотрело: 23

Автор материала, перевод которого мы публикуем сегодня, говорит, что он, после того, как долго занимался объектно-ориентированным программированием, задумался о сложности систем. По словам Джона Оустерхаута, сложность (complexity) — это всё, что делает тяжелее понимание или модификацию программного обеспечения. Автор этой статьи, выполнив некоторые изыскания, обнаружил концепции функционального программирования наподобие иммутабельности и чистых функций. Применение таких концепций позволяет создавать функции, не имеющие побочных эффектов. Использование этих функций упрощает поддержку систем и даёт программисту некоторые другие преимущества.



Принципы функционального программирования в JavaScript




Здесь мы поговорим о функциональном программировании и о некоторых его важных принципах. Всё это будет проиллюстрировано множеством примеров кода на javascript.

Категория: Веб-разработка

 

Собираем, ремонтируем и носим винтажные цифровые часы

Автор: admin от 26-12-2018, 09:55, посмотрело: 18

Собираем, ремонтируем и носим винтажные цифровые часы


Любители электроники имеют возможность попасть на передний край новой моды – там сейчас находятся винтажные цифровые часы (ВЦЧ). Это часы, выпущенные с конца 70-х до конца 80-х. Они не похожи ни на одни сегодняшние часы, и каждый, кто присутствовал при их первоначальном появлении, испытает здоровое чувство ностальгии.



С точки зрения стоимости будет неразумно платить часовщику за ремонт цифровых часов, но люди с базовыми навыками работы с электроникой могут потратить время и силы на то, чтобы снова запустить их и быть среди тех немногих избранных, кто может похвастаться наличием работающих ВЦЧ. Это и заявление, и признак наличия у вас определённых способностей.



Мы в журнале Hackaday уже писали об истории цифровых часов [да и переводчик грешен / прим. перев.]. А сегодня мы углубимся в мир ремонта ВЦЧ.

Категория: Android

 

Обзор droidcon SF

Автор: admin от 26-12-2018, 09:55, посмотрело: 12

Обзор droidcon SF


Привет, Хабр! Меня зовут Александр Колобанов, я Android-тимлид в компании FunCorp. В ноябре я был на droidcon в Сан-Франциско. Под катом небольшой обзор конференции, путевые заметки и немного фоточек.

Категория: Android

 

Проект Malta: хранение энергии при помощи расплавленной соли выходит на новый уровень

Автор: admin от 26-12-2018, 07:55, посмотрело: 17

Проект Malta: хранение энергии при помощи расплавленной соли выходит на новый уровень


Солнечные термоэлектростанции используют расплавленную соль в качестве теплоносителя. Работает система относительно просто: сфокусированные солнечные лучи направляются при помощи зеркал на башню с солью, поль плавится под воздействием температуры, переносит тепло. Его используют для превращения воды в перегретый пар, который вращает турбины, вырабатывающие электричество.



Как оказалось, при помощи расплавленной соли энергию можно не только вырабатывать, но и запасать. Именно этим занимается стартап Malta, который ранее являлся частью подразделения Х корпорации Alphabet. И этот стартап, уйдя из Alphabet, уже успел получить $26 млн от группы инвесторов Breakthrough Energy Ventures. Членами группы являются Джефф Безос, Билл Гейтс, Майкл Блумберг.

Категория: Google

 

Разработка навыков для Алисы. Опыт работы с голосовыми интерфейсами, советы начинающим

Автор: admin от 26-12-2018, 05:00, посмотрело: 24

Всего месяц назад мы захотели попробовать себя в создании расширения для функционала Алисы — навыков. По опыту общения в чате поддержки Яндекс.Диалогов сложилось впечатление что уже есть, чем поделиться с начинающими особенностями работы над голосовыми интерфейсами.

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



Разработка навыков для Алисы. Опыт работы с голосовыми интерфейсами, советы начинающим


Для профессионала в VUI в заметке не будет ничего нового, но дельные советы и комментарии от опытных приветствуются. Пишу впервые, прошу не судить строго.



Почему стоит обратить внимание на Алису?

Зачем все это: голос, навыки?

Как создать навык?

Общий подход и типичные ошибки.

Текущие недостатки платформы.

Категория: Яндекс

 

И еще раз про КИБ SearchInform: разбираемся с новинками

Автор: admin от 25-12-2018, 21:15, посмотрело: 30

Анна Попова, руководитель Блока DLP ГК Инфосекьюрити, продолжает делиться своими впечатлениями от использования разных DLP-систем. В этой статье пойдет речь о КИБ SearchInform.



И еще раз про КИБ SearchInform: разбираемся с новинками

Категория: Информационная безопасность

 

Машинное обучение для поиска ошибок в коде: как я стажировался в JetBrains Research

Автор: admin от 25-12-2018, 21:05, посмотрело: 23

Недавно мы рассказывали о том, как попасть на стажировку в Google. Помимо Google наши студенты пробуют свои силы в JetBrains, Яндекс, Acronis и других компаниях.



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



Машинное обучение для поиска ошибок в коде: как я стажировался в JetBrains Research

Категория: Яндекс