Таир
19.01.2017
13:57:53
Так как жизнь объекта, созданного вне ангуляра не в курсе о том что внутри
Алишер
19.01.2017
13:58:09
понял. жаль
Таир
19.01.2017
13:58:34
Сервис например может умереть, и объект об этом не узнает
Alexey
19.01.2017
13:58:42
Google
Alexey
19.01.2017
13:58:51
но не хотелось бы так делать
Таир
19.01.2017
13:58:55
Не надо преобразовывать
Держите в списке изначально
После изменения стройте дерево и отдавайте на отрисовку
Любое дерево можно представить в виде списка
Alexey
19.01.2017
14:00:32
ну ок, тут преобразование tree > list только будет, и то при условии что протокол в API список поддерживает
но все равно это лишние преобразования
Таир
19.01.2017
14:00:56
:) лишние в смысле тяжелые?
Alexey
19.01.2017
14:00:58
вопрос бы не возник еслиб я хотел по этому пути пойти
Таир
19.01.2017
14:01:19
Производительность не пострадает, я вас уверяю
Когда вы меняете дерево немутабельно, сложность такого же порядка будет
Алгоритмическая
Я просто с именно таким вопросом сталкивался
Google
Таир
19.01.2017
14:03:47
Не в жаваскрипте правда, но не суть
На Скала
Alexey
19.01.2017
14:04:32
как производительность может не пострадать? на каждый чих надо 1 - пройтись по плоскому списку 2 - построить новое дерево из него 3 - перерендерить дом
1 и 3 у нас полюбому будут
и это уже небыстро при большом дереве
+ добавить 2 пунк
Таир
19.01.2017
14:05:02
А изменение немутабельного дерева вы посчитайте сперва
Перерендер дома одинаковый в обоих случаях
Изменение немутабельного дерева в биг О по сложности равно изменению всего дерева
Alexey
19.01.2017
14:06:56
Таир
19.01.2017
14:06:58
Такова цена немутабельности
Именно дерева
Частные случаи, типа добавление в конец сортированного дерева не в счет
Alexey
19.01.2017
14:09:28
пожалуй все-таки переделаю на плоский список
Таир
19.01.2017
14:09:47
Я бы оптимизацию сделал на другом уровне: trackBy на компоненты отрисовывающие узлы дерева -- вот это реально ускорить рендер
Alexey
19.01.2017
14:10:10
trackBy я всегда использую
спасибо за советы
Таир
19.01.2017
14:13:03
Поэтому не стоит экономить на спичках имхо
Лучше, чтобы код был легко поддерживаемым
Google
Таир
19.01.2017
14:14:11
Даже для относительно больших деревьев
Max
19.01.2017
14:17:39
кто то уже пилил CMS на втором ангуляре?
ну или перепиливал с первого на второй
Таир
19.01.2017
14:20:03
Но он реально будет лучше, если дерево не очень глубокое (переполнение стэка) и если вы знаете куда углубляться (сортированное дерево)
Жаваскрипт к сожалению хвостову рекурсию не оптимизирует (можно через промисы конечно, но это замедлит все, даже если спасет от переполнения)
Для несортированных деревьев, думаю он будет медленней, так как придется обойти все дерево
Gleb
19.01.2017
14:23:47
http://www.brainshave.com/talks/immutable-data-trees
Как тестировать что роутинг работает? это надо компоненту тестировать или роутер модуль? и как выглядят примерно тесты роут?
Алексей
19.01.2017
14:33:54
Gleb
19.01.2017
14:34:58
@Ai_boy Спасибо!
я привык просто за примерами тестов лезть сразу сюда
https://embed.plnkr.co/?show=preview
ой
https://angular.io/resources/live-examples/testing/ts/app-specs.eplnkr.html
@Ai_boy Я хотел еще спросить в докладе вы говорили про ООП reducer'ы , можно ли организовать их с NGRX? и нет ли в закладах ссылки на пример?
Alexey
19.01.2017
14:40:43
Алексей
19.01.2017
14:41:20
Gleb
19.01.2017
14:43:03
Да подход, пример с ngrx если так можно
Алексей
19.01.2017
14:43:44
Gleb
19.01.2017
14:44:56
@Ai_boy Круто! Спасибо)
Google
Gleb
19.01.2017
14:45:35
Ну и тест =)
к редусеру
Таир
19.01.2017
14:48:50
Тимур
19.01.2017
15:00:37
Max
19.01.2017
15:00:57
А кто ж запретит
Только госдума может, если захочет
Lends
19.01.2017
15:02:29
у меня VPN для ангуляра
Тимур
19.01.2017
15:04:27
я про ценность этого продукта) ну модули типовые я еще понимаю. админка, личный кабинет , уведомлялочки. а ну круто было бы crud генератор. а чтоб систему управлени контентом.. хз)
Roman
19.01.2017
15:05:09
Max
19.01.2017
15:05:15
или брать какой нибудь опенкарт
Lends
19.01.2017
15:05:42
в чём принципиальная разница между CMS и админкой?)
Тимур
19.01.2017
15:06:44
cms это система управления контентом. часный случай админки)
Lends
19.01.2017
15:06:58
ну, то есть админка)
Тимур
19.01.2017
15:08:50
админка есть и в цмс и в других системах. но у цмс есть еще и фронтэнд. у которого кстати есть требования. например seo пока что я б не рескнул фронтенд екомерца делать на а2
Max
19.01.2017
15:09:58
ну можно конечно пехапешный какой то фреймворк взять
Тимур
19.01.2017
15:10:01
и цмс обычно может расширятся. получается чтом ангулярную админку расширить человеку надо знать и бэкэнд технологию и а2
Max
19.01.2017
15:10:03
но это же скучно
Тимур
19.01.2017
15:10:17
порог вхождения задирается не понятно чего ради)
Алексей
19.01.2017
15:10:49
Google
Max
19.01.2017
15:11:07
но там же нода, так?
Алексей
19.01.2017
15:11:21
да
express
Тимур
19.01.2017
16:20:04
фуллстек другое дело)
#складчина курс скачали и выложили. кто не проплатился - шевелите булками))
Алексей
19.01.2017
16:22:41
Талгат
19.01.2017
16:22:45
Вот смотрю я на вас и думаю, в какой стране так мало зарабатывают?) РФ?)
На ангуляре 2 мало платят?(
Тимур
19.01.2017
16:23:05
тег складчина тыкни
Талгат
19.01.2017
16:23:15
20 баксов, КАРЛ!)
Тимур
19.01.2017
16:23:25
дело не в копейках
хотя и в них тоже для кого то)
Vladimir
19.01.2017
16:23:46
@Ai_boy я вот уже задавал вопрос, но теперь сделаю адресно:)
Есть у меня дикая страница с тонной форм, с различными кастомными валидациями и врапперами над select2, wysiwyg.
И вот все-бы хорошо, но меня смущает то, что все эти формы по сути представляют собой один большой стейт
И чувствую, что это может начать пахнуть рано или поздно
Талгат
19.01.2017
16:24:41
Vladimir
19.01.2017
16:24:58
Ну 20 баксов, серьезно
Тимур
19.01.2017
16:25:09
в принципе))
заечм платить 20 когда можно платит 1,5 бакса?
Вертихвост
19.01.2017
16:25:37
А в чём?
если можно дешевле, то почему нет?)
Алексей
19.01.2017
16:25:57
Талгат
19.01.2017
16:26:03
Эта группа больше не существует