Pull to refresh
3
0
Send message

React медленный, React быстрый: оптимизация React-приложения на практике

Reading time14 min
Views65K

Всем привет! Хочу поделиться своим переводом статьи React is Slow, React is Fast: Optimizing React Apps in Practice автора François Zaninotto. Надеюсь, это кому-то будет полезным.


Краткое содержание:


  1. Измерение производительности React
  2. Почему ты обновился?
  3. Оптимизация через разбиение на компоненты
  4. shouldComponentUpdate
  5. Recompose
  6. Redux
  7. Reselect
  8. Остерегайтесь объектных литералов в JSX
  9. Заключение

React может быть медленным. Я хочу сказать, что любое React приложение среднего размера может оказаться медленным. Но прежде, чем искать ему замену, вы должны знать, что и любое среднее приложение на Angular или Ember может также оказаться медленным.


Хорошая новость в том, что если вы действительно заботитесь о производительности, то сделать React приложение очень быстрым довольно легко. Об этом — далее в статье.

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments59

N причин, чтобы использовать Create React App

Reading time10 min
Views77K


Create React App — отличный инструмент для быстрого старта React-приложений. Вы не тратите время на настройку Webpack, Babel и других привычных инструментов. Они заранее настроены и спрятаны, так что разработчики могут сфокусироваться на коде и бизнес-логике приложения.
Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments33

Введение в React и Redux для бекенд-разработчиков

Reading time9 min
Views59K


Если вы как я долгое время считали, что JavaScript – это такой «игрушечный» язык на котором пишут анимашки для менюшек и падающие снежинки на форумах под новый год, а потом очнулись в 2016 году с мыслями WTF: react, flux redux, webpack, babel,… не отчаивайтесь. Вы не одиноки. Материалов по современному фронтенду в сети много, даже слишком много. Под катом еще одно альтернативное мнение о том, каково это учить JavaScript в 2016 году.
Стань модным
Total votes 45: ↑33 and ↓12+21
Comments182

Эволюция на React+Redux

Reading time13 min
Views21K
КДПВ

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

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments30

Взрыв стартапа

Reading time6 min
Views52K


В 44-ю годовщину последнего шага человека по Луне, в московской промзоне прогремел взрыв, который ознаменовал выход на новый уровень частного ракетостроения в России. Частная компания и сколковский стартап "Лин индастриал" перешла к огневым испытаниям своего первого жидкостного ракетного двигателя. Испытания закончились взрывом, от которого пострадал непричастный человек.
Total votes 96: ↑90 and ↓6+84
Comments240

Offline-first приложение с Hoodie & React. Часть вторая: авторизация

Reading time5 min
Views7.2K

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

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments8

Как создать простую Tower Defense игру на Unity3D, часть первая

Reading time16 min
Views127K
Здравствуйте! Давно уже хотел опубликовать эту статью, да не успевал выделить время. Заранее хотел бы предупредить, что статья рассчитана на не шибко знающего Unity3D пользователя, потому в тексте будет обилие пояснений.

Часть вторая

Всем заинтересовавшимся — добро пожаловать под кат!
Читать дальше →
Total votes 81: ↑73 and ↓8+65
Comments45

Tower Defence на движке Unity — Часть 2

Reading time4 min
Views17K
Всем привет! Это вторая часть урока для новичков о том, как создать маленькую игру жанра Tower Defence на движке Unity. Мы остановились на создании скрипта для спауна крипов. Если интересно, прошу под кат.

Total votes 25: ↑21 and ↓4+17
Comments11

«Больше чем Аудиомания»: Как научиться играть на барабанах?

Reading time12 min
Views56K


Фото rskspyder man / CC

Бывают в жизни такие моменты, когда одна навязчивая идея прочно врезается в голову, не отпуская ни на минуту. Иногда это следствие осознанного и планомерного движения к цели, иногда – импульсивное желание осуществить детскую мечту.

Наш сегодняшний материал для тех, чья цель (или мечта) – научиться играть на барабанах. Мы в Аудиомании собрали интересные и полезные советы начинающим барабанщикам и узнали у Дмитрия Полтинина – менеджера по международной логистике Аудиомании и барабанщика и бэк-вокалиста группы †B†C†B† – о его опыте игры на ударных.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments31

Подборка полезного для любителей Twitter Bootstrap

Reading time1 min
Views83K
В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

Инструменты




Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
Читать дальше →
Total votes 109: ↑96 and ↓13+83
Comments21

50+ лучших дополнений к Bootstrap

Reading time5 min
Views202K


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

Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
Читать дальше →
Total votes 123: ↑111 and ↓12+99
Comments25

Мультиплеер в быстрых играх (Часть IV: Хэдшот! Путешествуем во времени)

Reading time3 min
Views58K

  1. Части I, II (синглплеер с авторитарным сервером)
  2. Часть III (Появление врага)
  3. Часть IV (Хэдшот!)

Как повесить идеальный хэдшот если у тебя пинг 2 секунды? Вы узнаете в этой статье.

Текущий алгоритм работы мультиплеера


  • Сервер получает команды с клиентов и времена их отправления
  • Сервер обновляет состояние мира
  • Сервер с некоторой частотой отправляет свое состояние всем клиентам
  • Клиент отправляет команды и локально воспроизводит их результат
  • Клиент получает обновленные состояния мира и:
    • Применяет состояние от сервера
    • Заново применяет все свои команды, которые сервер не успел применить.
    • Интерполирует предыдущие состояния других игроков
  • С точки зрения игрока, есть два серьезных последствия:
    • Игрок видит себя в настоящем
    • Игрок видит других в прошлом.

Обычно это отлично работает, но это становится большой проблемой для событий, которым нужна высокая пространственно-временная точность. Например если хочется разнести врагу башку!
Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments77

Мультиплеер в быстрых играх (части I, II)

Reading time7 min
Views143K


  1. Части I, II (синглплеер с авторитарным сервером)
  2. Часть III (Появление врага)
  3. Часть IV (Хэдшот!)


Предлагаю вашему вниманию перевод статьи Fast-Paced Multiplayer (Part I): Introduction.

Разработка игры — само по себе непростое занятие. Но мультиплеерные игры создают совершенно новые проблемы, требующие разрешения. Забавно, что у наших проблем всего две причины: человеческая натура и законы физики. Законы физики привнесут проблемы из области теории относительности, а человеческая натура не даст нам доверять сообщениям с клиента.
Читать дальше →
Total votes 136: ↑132 and ↓4+128
Comments109

Intel Skull Canyon NUC — игровой, хардкорный

Reading time1 min
Views20K

Первые Intel NUC, полноценные и достаточно мощные компьютеры размером 10х10 см, появились в продаже в начале 2014 года. С тех пор они широко распространились как платформа для торговых терминалов, систем видео демонстрации, рабочих мест и иногда даже домашних ПК, что не удивительно, очень уж удобными и производительными они получились. Кстати говоря, последнее поколение NUC на базе процессоров Intel Core 6-го поколения появились совсем недавно — рекомендую ознакомиться. Но сегодня речь не о них. Среди типовых представителей семейства Intel NUC появился монстро-NUC, монстр как по внешнему виду, так и по характеристикам. Какое железо удалось запихать в это микрочудище, читайте под катом.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments117

Обработка «видео 360», очистка изображения: алгоритм и его реализация на C#

Reading time5 min
Views22K
В последнее время, в связи с растущим трендом виртуальной реальности, все более актуальными становятся съемка/монтаж/обработка видео в формате «видео 360».

В данной статье я хочу рассказать об одном эксперименте по обработке «видео 360», который хорошо иллюстрирует некоторые особенности такого формата. Забегая вперед скажу, что эксперимент потребовал реализации несложного алгоритма и, конечно, без написания программы не обошлось.

image
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments10

AlphaGo против Ли Седоля: итоги и оценки профессиональных игроков в го

Reading time19 min
Views31K
Вчера в Сеуле в гостинице Four Seasons прошла последняя пятая игра матча го. Каждая из них целую неделю плотно освещалась на Geektimes. В серии кто-то победил, но вряд ли подобное заинтересовало бы посетителя русскоязычного сайта о высоких технологиях и науке, если бы не один факт.

Играл Ли Седоль, обладатель девятого профессионального дана, один из лучших мастеров го в мире. Его оппонентом стала система компьютерного го AlphaGo, разработка Google DeepMind. До начала матча считалось, что ни один продукт не способен обыграть мастера высокого уровня. Но ИИ одержал победу со счётом 4:1.

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

Ожидает ли подобное го? Стоит ли бояться силы искусственного интеллекта? Мне удалось получить комментарии и ответы, которые предоставили вице-президент «Российской федерации го» и президент «Спортивной федерации го Санкт-Петербурга» Максим Подоляк, профессиональные игроки в го и многократные чемпионы Европы Илья Шикшин (первый профессиональный дан) и Александр Динерштейн (третий профессиональный дан).
Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments113

Интерстеллар: внутри черной дыры и тессеракта

Reading time12 min
Views53K
Меня зовут Андрей Колокольцев. По роду деятельности меня давно интересуют истории о том, как именитые режиссеры, продюсеры, студии справляются с созданием тех или иных визуальных картин. Для первой моей публикации я выбрал кинофильм, который стал для меня аудиовизуальным откровением и настоящим эмоциональным аттракционом (это при просмотре в кино на экране IMAX, дома на телевизоре теряется 2/3 впечатлений). Вы не подпрыгните от неожиданности, так как в названии уже все прочитали — это фильма Кристофера Нолана «Интерстеллар». Несмотря на то, что интерес к нему давно угас, я хотел бы представить Вашему вниманию вольный перевод оригинальной статьи Майка Сеймура «Interstellar: inside the black art» от 18 ноября, 2014 года. Эта статья рассказывает о том, как создавалась визуализация «Гаргантюа» и других сцен из фильма — думаю, это будет интересно читателям пусть даже спустя 1,5 года.

image
Режиссер Интерстеллара Кристофер Нолан объясняет Мэттью Макконахи основы квантовой физики суть сцены

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments106

Webix + databoom = быстрое прототипирование приложений

Reading time1 min
Views11K
Привет Хабр! В этом скринкасте мы рассказываем, как Webix и databoom могут использоваться для быстрой разработки прототипов приложений. Webix – это набор JavaScript компонентов для создания пользовательского интерфейса. Databoom – это облачный backend основанный на графовой базе данных. Вместе они дают кумулятивный эффект. С помощью Webix вы можете написать frontend в несколько строчек кода, а databoom даёт готовый и очень лёгкий в использовании backend. Как говорится, лучше один раз увидеть:



Спасибо за внимание, готовы ответить на ваши вопросы в комментариях.
Исходный код рассмотренного примера: codepen.io/vladislav2/pen/WvPzqd?editors=001
Total votes 17: ↑15 and ↓2+13
Comments15

Создаем полностью автоматическую ферму (готовая реализация)

Reading time4 min
Views74K
Продолжаем обзор деятельность нашего Хакспейс-клуба.

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

7 экспериментальных образов, т.е. куры обычные (возраст 4 месяца, девочки), были запущены для ПМЖ в клетку оборудованной всем необходимым для жизнеобеспечения. Петуха решили не селить к птичкам, все же курортная зона и его запевы по утрам многим не понравятся.

Курочки 3 недели без человека. Растут и выглядят довольными. Эксперимент проходит нормально.
Вот видео жизни наших птичек в условиях без вмешательства человека, в автономном режиме, т.е. в условиях автоматизированного кормления и поения по расписанию, уборки, отопления и света Самые интересные моменты буду выкладывать в процессе здесь.


Под катом мало слов, много фото и видео.
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments107

Information

Rating
Does not participate
Registered
Activity