Предлагаем вашему вниманию последнюю в этом году подборку с ссылками на новые материалы из области фронтенда и около него.
Рубрика «javascript» - 139
Дайджест свежих материалов из мира фронтенда за последнюю неделю №345 (24 — 30 декабря 2018)
2018-12-30 в 23:09, admin, рубрики: angular, css, ES6, html, html5, javascript, JS, React, vue, браузеры, дайджест, подкасты, Разработка веб-сайтов, ссылки, фронтендКонечные React Компоненты
2018-12-30 в 1:53, admin, рубрики: enzyme, javascript, React, ReactJS, testing, Тестирование веб-сервисовЧем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс.
Через некоторые время ИДЕЯ немного меняется, и все начинается с начала.
А начало этой истории — разделение компонент на Контейнеры и неКонтейнеры (в народе — Тупые Компоненты, простите за мой франзуский).
JS итоги 2018 и прогнозы на будущее
2018-12-29 в 11:19, admin, рубрики: 2018, 2019, javascript, будущееВсем привет!
В конце года я решил подумать, что ждет JS разработчика в Новом 2019 году и подвести итоги этого года.
Добро пожаловать под кат!
Читать полностью »
Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования
2018-12-29 в 10:03, admin, рубрики: javascript, python, Блог компании «Hexlet», задачи для программистов, повышение квалификации, Программирование, Учебный процесс в ITПривет! Недавно сделали подборку бесплатных сервисов для изучения программирования с нуля. В комментариях получили много заинтересовавших нас платформ. Из них составили отдельный список таких, которые подойдут профессиональным программистам.
CheckiO
Проект из Украины «Чекио» сфокусирован на Python и JavaScript. Это сборник игровых задач по программированию для тех, кто уже не новичок. Большой упор на геймификацию, симпатичную графику и общение в сообществе. В самом решении задач игрового процесса нет, но есть общий сценарий для прохождения платформы. Полезная фича — смотреть другие решения и подсказывать студентам как их можно улучшить.
leetcode
Сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.
Очередное незавоевание теней в Phaser, или польза велосипедов
2018-12-27 в 20:36, admin, рубрики: javascript, lighting, phaser.js, shaders, shadows, WebGL, ненормальное программирование, разработка игрДва года назад я уже экспериментировал с веществами тенями в Phaser 2D. На последнем Ludum Dare мы внезапно решили сделать хоррор, а какой же хоррор без теней и света! Хрустнул я костяшками пальцев…
… и ни черта не успел за LD. В игре конечно есть немного света и теней, но это жалкое подобие того, что должно было быть на самом деле.
Вернувшись домой уже после отправки игры на конкурс, я решил все-таки “закрыть гештальт” и доделать эти несчастные тени. Что получилось — можно пощупать в игре, поиграться в демке, посмотреть на картинке, и почитать в статье.

Производительность Excel на чистом Javascript — достижима
2018-12-26 в 9:32, admin, рубрики: javascript, pwa, Алгоритмы, ПрограммированиеПривет!
Продолжаем битву за производительность Javascript на примере построения сводных таблиц. В прошлый раз камнем преткновения стал асинхронный интерфейс IndexedDB, который, используя межпоточный вызов для каждой записи курсора, работает чудовищно медленно. Решив эту проблему путем организации крупноблочного хранения, а также применив все известные оптимизации, мне удалось поднять производительность приложения в 20 раз, и в настоящее время расчет по хранилищу в 1 миллион фактов занимает 21 секунду, что потенциально дает надежду догнать Америку Excel, который обрабатывает тот же миллион строк за 5..7 секунд.
Однопроходный алгоритм, не использующий индексы и вложенные запросы, отлично ложится на блочную схему хранения данных, и, самое обнадеживающее — позволяет распараллелить расчет по разным потокам (воркерам), по сути повторяя алгоритмы «взрослых» СУБД. Таким образом — возможности по оптимизации далеко не исчерпаны. В настоящее время расчет производится лишь одним воркером, WASM не используется, результаты «милионного» теста на различных браузерах следующие:
Браузер | Время |
Chomium Linux | 21 сек |
Firefox Linux | 51 сек |
Chrome Android | 29 сек |
Firefox Android | 62 сек |
В приложении доступен генератор тестовых данных, также можно загрузить собственный JSON и проверить цифры. Приложение в глубокой бетте, так что ошибки должным образом не обрабатываются, простите. Под катом — несколько кейсов по ускорению WEB-приложений, которые, конечно, все являются банальностями и очевидностями, просто я, как любитель учиться на собственных ошибках — их проверил, зафиксировал, и теперь стараюсь соблюдать.
Читать полностью »
Принципы функционального программирования в JavaScript
2018-12-26 в 9:00, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтов, функциональное программированиеАвтор материала, перевод которого мы публикуем сегодня, говорит, что он, после того, как долго занимался объектно-ориентированным программированием, задумался о сложности систем. По словам Джона Оустерхаута, сложность (complexity) — это всё, что делает тяжелее понимание или модификацию программного обеспечения. Автор этой статьи, выполнив некоторые изыскания, обнаружил концепции функционального программирования наподобие иммутабельности и чистых функций. Применение таких концепций позволяет создавать функции, не имеющие побочных эффектов. Использование этих функций упрощает поддержку систем и даёт программисту некоторые другие преимущества.
Здесь мы поговорим о функциональном программировании и о некоторых его важных принципах. Всё это будет проиллюстрировано множеством примеров кода на JavaScript.
Читать полностью »
Разъяснительная беседа об асинхронном программировании в Javascript
2018-12-25 в 16:05, admin, рубрики: async/await, javascript, web-разработка, асинхронное программирование, Блог компании Издательский дом «Питер», Программирование, Профессиональная литератураПривет всем!
Как вы, возможно, помните, еще в октябре у нас переводилась интересная статья о применении таймеров в Javascript. Она вызвала огромную дискуссию, по результатам которой мы давно хотели вернуться к этой теме и предложить вам подробный разбор асинхронного программирования в этом языке. Рады, что нам удалось найти достойный материал и опубликовать его еще до конца года. Приятного чтения!
Читать полностью »
Screenplay — не Page Object’ом единым
2018-12-25 в 15:08, admin, рубрики: javascript, screenplay, selenium, selenium-webdriver, serenityjs, Блог компании Аркадия, Тестирование IT-систем, Тестирование веб-сервисовСо временем вносить изменения в любой продукт становится сложнее, и растёт риск не только зарелизить новые фичи, но и сломать старые. Часто вместо того, чтобы руками проверять весь проект, этот процесс стараются автоматизировать. Если поговорить с людьми, которые занимаются тестированием интерфейсов, походить по конференциями, становится понятно, что в мире веб-тестирования правит Selenium, а в качестве организации кода подавляющее большинство используют Page Object.
Вот только мне, как программисту, этот паттерн и код, который я видел у разных команд, почему-то никогда не нравился — в голове звучали буквы SOLID. Но я уже был готов смириться с тем, что тестировщики пишут код, как им удобно, из-за отсутствия альтернатив, как где-то год назад, на Angular Connect, услышал я доклад, посвящённый тестированию Angular приложений c использованием Screenplay паттерна. Теперь хочу поделиться.
Как писать подкасты, что за железо нужно? Автор статей, текстов и постов сейчас вам всё расскажет
2018-12-25 в 12:26, admin, рубрики: java, javascript, Блог компании JUG.ru Group, конференции, разработка мобильных приложенийНа конференциях люди, насмотревшись на приглашенных спикеров (многие из которых ведут свои проекты в форме каналов на YouTube, подкастов или чего-то такого), частенько подходят ко мне с вопросами:
- «Как написать хабростатью?»
- «Что нужно, чтобы записать подкаст?»
- «Как ты пишешь видосики?» (в том числе те, что из хаба Java)
Этот пост — короткая памятка о том, что я делаю сам. Вся серия постов (если она вообще последует) будет отвечать на все актуальные вопросы современности, связанные с регулярным созданием контента, то есть на все актуальные вопросы современности вообще.
Кроме того, я спросил, какое оборудование используют коллеги из подкастов «Разбор Полётов», «devSchacht», «Podlodka Podcast», «Витая пара», и поделился этой информацией между строк. И это причина, по которой этот пост попал в хабы JavaScript и Разработка мобильных приложений — вероятно, кому-то может быть интересно узнать, чем пользуются их любимые подкастеры.
Совсем недавно Руслан (наш Генерал Маркетинг, ARG89) спросил, есть ли у меня список вещей, которые нужно взять с собой в путешествие на конференцию. Такого списка нет — есть только субъективное ощущение того, чем можно пожертвовать вот из этого:
В прошлый раз я хотел пожертвовать макбуком, например. Какая логика довела до жизни такой — читайте под катом.