@react_js

Страница 1242 из 5115
Stanislav
03.05.2017
19:04:25
И это все за 40 рабочих часов.

Sergey
03.05.2017
19:04:47
в день )

Denis
03.05.2017
19:26:34
Все уже заценили? :) https://github.com/facebook/prepack

Vladimir
03.05.2017
19:27:03
Странная штуковина

Google
Nikolay
03.05.2017
19:28:52
по мне так это ахуенная штука

Vladimir
03.05.2017
19:31:18
Он охуенная как и всякая интересная игрушка

Вопрос только когда и как ее использовать, и какой профит будет

Felix
03.05.2017
19:32:21
когда - когда будет готова как - в виде лоадера для вебпака или что ты там юзаешь профит - модно & заебись

Vladimir
03.05.2017
19:32:36
> @guattari профит - модно & заебись классика

Ilya
03.05.2017
19:34:31
"Computations that can be done at compile-time instead of run-time get eliminated" ?? я был уверен, что этим занимается компилятор ??

Vladimir
03.05.2017
19:35:10
Занимается, но он делает это в меньше степени и не ahead of time

Идея то понятна

Вопрос соотношения профита и стоимости

Felix
03.05.2017
19:35:51
не похуй сколько билд идет?

ну прибавит 200-500-1000 мс

Vladimir
03.05.2017
19:36:30
Речь не об этом

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

Google
Vladimir
03.05.2017
19:37:24
А еще он явно увеличивает размер бандла

Felix
03.05.2017
19:37:38
что за увеличивает?

Дмитрий
03.05.2017
19:37:39
Ого, крутая штука

Felix
03.05.2017
19:37:40
он уменьшает

своя порция геморроя - ну пока да, будет стабильным - будет норм, если что-то сломается - можно отключить просто

зато через год тебя будут считать лохом, если не подключил еще prepack

Дмитрий
03.05.2017
19:39:44
Засекаем время

Felix
03.05.2017
19:39:53
а главное в джаваскрипт разработке собственно - это чтобы лохом не назвали

Vladimir
03.05.2017
19:40:03


Оптимизирует скорость в ущерб в том числе размеру

Felix
03.05.2017
19:40:21
а, ну такое да

Дмитрий
03.05.2017
19:40:41
Ого!!

Felix
03.05.2017
19:40:42
ну думаю там будет какой-то компромисс, вообще они его вроде для нейтива в основном делают

Дмитрий
03.05.2017
19:40:48
Я джва года такое ждал

Хотел уже сам плагин для бабеля пилить

Ilya
03.05.2017
19:41:06
зато через год тебя будут считать лохом, если не подключил еще prepack
Предыдущая идея на миллион с оптимизацией скобками ещё жива?

Vladimir
03.05.2017
19:41:08
Я джва года такое ждал
Выглядит впечетляюще, да

Felix
03.05.2017
19:41:33
Предыдущая идея на миллион с оптимизацией скобками ещё жива?
с оптимизацией комментом даже жива еще наверное

Дмитрий
03.05.2017
19:43:47
Выглядит впечетляюще, да
Ну я серьезно, реально в самых критичных местах есть мотивация писать с нормальными человеческими .map, а в результате получать всё в развёрнутом виде, особенно если цикл на порядок покороче)

Google
Дмитрий
03.05.2017
19:59:29
Попробовал разуплотнить либу для big integer

Побочный эффект — с этой штукой у меня получился платформо-зависимый js



var bpe=0; //bits stored per array element var mask=0; //AND this with an array element to chop it down to bpe bits var radix=mask+1; //equals 2^bpe. A single 1 bit to the left of the last bit of mask. //initialize the global variables for (bpe=0; (1<<(bpe+1)) > (1<<bpe); bpe++); //bpe=number of bits in the mantissa on this platform bpe>>=1; //bpe=number of bits in one element of the array representing the bigInt mask=(1<<bpe)-1; //AND the mask with an integer to get its bpe least significant bits radix=mask+1; //2^bpe. a single 1 bit to the left of the first bit of mask Соответственно, на этапе вычислений это всё чётко разворачивается)

Pavel
03.05.2017
20:05:26
еще плюс - обфускация кода?:)

Дмитрий
03.05.2017
20:05:40
Не, код наоборот понятный, только длинный, офк

Даже понятнее чем в цикле, прямо последовательно видишь что происходит с переменной

Короче вывод — через такую штуку можно прогонять только код проекта, а не бандл целиком, потому что неизвестно, у кого какие побочные эффекты в циклах в node_modules

Nikolay
03.05.2017
20:14:06
я бы узкие места прогонял

на которых самый большой дроп

Vladimir
03.05.2017
20:15:07
Реально узкие места это не спасет

Дмитрий
03.05.2017
20:15:11
Ну вот я прогнал)) Он мне развернул цикл в котором вычилсяется длина мантиссы для платформы ?

Дмитрий
03.05.2017
20:15:34
У .map большой оверхед

Vladimir
03.05.2017
20:16:15
Ну вот я прогнал)) Он мне развернул цикл в котором вычилсяется длина мантиссы для платформы ?
Всмысле в зависимости от платформы? Ты хочешь сказать что на разных платформах будет разный результат?

Nikolay
03.05.2017
20:16:52
имитатор индусского кода )

Vladimir
03.05.2017
20:24:17
Я бы сказал, что это как раз исключено

https://twitter.com/bmeurer/status/859854279573729280

Упс

Ҫѐҏӗѫӑ
03.05.2017
20:31:33
да понятно что это в прод ща нельзя

Google
Vladimir
03.05.2017
20:31:54
Да об этом речь вообще не идет

Вопрос, надо ли это в прод вообще

Ҫѐҏӗѫӑ
03.05.2017
20:32:21
ну флоу некоторые тянут же

Vladimir
03.05.2017
20:32:43
В прод? нет

Ҫѐҏӗѫӑ
03.05.2017
20:34:38
кстати, а в этом году на реакт европ едет кто-то?

Сергей
03.05.2017
21:12:46
Минутка хаков: как в хроме из консоли менять состояния и свойства у компонентов? Т.е. взять уже отрендеренную страницу и в консоли менять их? Это можно сделать через раширение для хрома, наверняка можно так "напрямую"

Admin
ERROR: S client not available

Дмитрий
03.05.2017
21:14:02
react dev tools

Сергей
03.05.2017
21:20:03
Да, он установлен. Но если предположить что его нет, а есть чисто консоль хрома и отрендеренная страница. И сделать что-то типа document.getElementById('blabla').setState({...})

Дмитрий
03.05.2017
21:21:38
Предположим, ты в арктике, а из инструментов есть только штопор и хром без react dev tools... ?

Если тебе нужно изменять стейт из глобальных вызовов, то есть redux, например

Сергей
03.05.2017
21:25:53
Задача с другой стороны: есть отрендеренный сайт на рекате(client side rendering only), нужно его скраулить и вытащить необходимую информацию. Грубо, там есть две страницы: 1) Страница со списком айтемов 2) Страница каждого айтема На странице (1) появляется нужная мне информация при наведении на айтем(она есть также на странице айтема). Это появление реалиовано на js через установку определенного состояния. Вот я и хочу насильно установить это состояние и спарсить всю информацию с этой одной страницы. Иначе придется заходить на каждую страницу (2) и оттуда брать, это намного больше запросов получится

Ярослав
03.05.2017
21:26:05
можно получить доступ через хук и страдать

Сергей
03.05.2017
21:28:46
В robots.txt прописан запрет на url этих апи. Я пока хочу казаться честным роботом

Pavel
03.05.2017
21:29:39
ну запиши полный курс network'a

чтоб выглядело, что ты юзер

в чем проблема то

Сергей
03.05.2017
21:30:58
В принципе да, неплохой вариант и со стороны того сервера будет похоже на честный рендер

Google
Viktor
03.05.2017
21:49:07
На тему prepack-а хотелось бы упомянуть плагин https://github.com/codemix/babel-plugin-macros Конечно поскромнее будет? , и да и не особо развивается Если объявить функцию с label-ом macro: , инлайнит ее тело в место вызова функции. Вполне подходит для развертки map/filter/... в обычные циклы, да и не только

Viktor
03.05.2017
22:32:41
если не развивается, то зачем упоминать?
Кто-то может захотеть его использовать в основных юзкейсах. Кто-то может захотеть продолжить его развитие на проблемных юзкейсах(как я в свое время)

Vladimir
03.05.2017
22:32:56
ну хз

Viktor
03.05.2017
22:33:05
как вы на него тесты бы написали?
sinon? Либо я не понял вопроса

Vladimir
03.05.2017
22:33:53
либо выбрать хайпнутый и ? развиваемый фейсбуком проект, либо либу без поддержки

sinon? Либо я не понял вопроса
как протестить смену значения в контексте

и что оно новое значение пришло вниз по react subtree

Viktor
03.05.2017
22:42:34
Полагаю замокать sinon-ом у класса subtree-компонента метод componentWillReceiveProps(nextProps, nextContext) ?

Vladimir
03.05.2017
22:48:04
это ок

я не понимаю как перерендерить subtree

и не трогать остальное

Viktor
03.05.2017
23:03:27
Честно говоря я еще только разбираюсь с react-ом, поэтому не настолько глубоко в теме. Насколько я понимаю все что внутри(как прямо, так и косвенно) провайдера - subtree Некоторые ветки в subtree подписаны на контекст - они перерендерятся. Их внутренности тоже(если конечно не PureComponent) На промежуточных компонентах от провайдера до подписанных subtree рендеринг не запускается Про какое "остальное" идет речь?

Про промежуточные будет верно, если провайдер возвращает shouldComponentUpdate()=false, во всех случаях, кроме смены this.props.children

Страница 1242 из 5115