
Roman
27.09.2016
10:34:15
rest запрос я имею ввиду
если взять простейший на получение списка без связанных сущностей

Aleh
27.09.2016
10:35:42

Nikita
27.09.2016
10:35:56

Google

Aleh
27.09.2016
10:36:02
ну, доктрину саму по себе ты юзаешь только в репозиториях и конфигах

Nikita
27.09.2016
10:36:06
EntityManager или что-то такое

Aleh
27.09.2016
10:36:33
то, что вы его везде передавали - ваша ошибка, этого делать не нужно)
это самое большое непонимание концепции, очень популярное. Пихать везде entity manager и делать постоянно флуш)

Nikita
27.09.2016
10:37:40
не, я не про внешнее использование
я про внутреннее)
ты посмотри код, о em знает чуть ли не каждый дочерний объект
банально посмотри как коммит делается... flush вроде

Aleh
27.09.2016
10:38:36
наоборот же, em это объект аркестрирования
он про всех знает
флуш это коммит транзакции да
но флуш дергает коммит, а не коммит дергает флуш
я видел как люди привыкшее к active record пихали em в сами сущности и удивлялись, почему так плохо работает в итоге, лол)

Google

Dmitry
27.09.2016
10:44:05
тут уже вопросы кокнурентности. и в доктрине ты можешь управлять этим как хочешь. хочешь, делай лок записи при вызове find-а.
но поскольку пых работает и умирает запариваться на этом приходится ооч редко
это бред, за это время объект мог обновиться)
нуу и про em не понял
модельки наоборот получаются чистые и ничего не знающие про то как они хранятся
persitence ignorane в лучшем его виде
короч я хз что не так)) доктрина крута)
местами она лишняя
но она крута)

Aleh
27.09.2016
10:45:27
когда проектируется сложный домен и база приплетается к нему в самом конце - очень удобно

Dmitry
27.09.2016
10:53:02
бывает еще em по всему проекту инжектится и по 10 раз после каждого чиха, везде где хочется flush дергается)
я видел как люди привыкшее к active record пихали em в сами сущности и удивлялись, почему так плохо работает в итоге, лол)
и потом "доктрина что-то не тащит, она монструозная и медленная"

Aleh
27.09.2016
10:53:22
а вот про пихание в сущности это уникальное явление)

Dmitry
27.09.2016
10:54:09
это надо постараться. да))

Nikita
27.09.2016
11:45:29

Aleh
27.09.2016
11:57:30
но не так уж сильно это печалит, на самом деле)
там тестами это покрыто, видимо им так надо, удобнее. Хз короч

Nikita
27.09.2016
11:59:09
конечно)) неявные зависимости всегда удобнее
еще синглтон удобная штука

Aleh
27.09.2016
12:00:21

Google

Aleh
27.09.2016
12:02:07
для ноды(тс) вообще ж нет UoW и DataMapper

Mike
27.09.2016
12:04:54
Кто может пояснить, почему такая петрушка?
https://www.typescriptlang.org/play/index.html#src=let%20array%20%3D%20new%20Array%3Cstring%3E()%3B%0D%0Afor%20(let%20value%20of%20array)%20%7B%0D%0A%20%20%20%20let%20value%20%3D%2010%3B%20%2F%2F%20why%20there%20is%20no%20error%20on%20redeclaration%20block-scoped%20variable%3F%0D%0A%7D%0D%0Afor%20(let%20key%20in%20array)%20%7B%0D%0A%20%20%20%20let%20key%20%3D%20%7B%7D%3B%20%2F%2F%20why%20there%20is%20no%20error%20on%20redeclaration%20block-scoped%20variable%3F%0D%0A%7D%0D%0A

Nikita
27.09.2016
12:06:59

Aleh
27.09.2016
12:14:06
)

Vladimir
27.09.2016
12:17:41

Mike
27.09.2016
12:18:36
да это и безотносительно es спеки очевидно что лет так делать не должен

Vladimir
27.09.2016
12:19:11
Я имеею ввиду, те же классы неправильно транспилируются, и т д
for of не работает))))

Mike
27.09.2016
12:19:51
у меня таргет es5 и им останется ещё долго, в этом плане мне не критично
а чего это он не работает?

Vladimir
27.09.2016
12:20:25
https://www.typescriptlang.org/play/index.html#src=class%20A%20%7B%20%0D%0A%20%20%20%20f()%20%7B%0D%0A%20%20%20%20%20%20%20%20for%20(const%20x%20of%20new%20Set(%5B1%2C%202%2C%203%5D))%20%7B%20%0D%0A%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%7D

Vladimir
27.09.2016
12:20:54
В общем, что ни говори про бабель, TS транспилирует гораздо хуже

Nikita
27.09.2016
12:21:41
чет складывается впечатление команде flow ваще пофиг на комьюнити)
https://github.com/facebook/flow/pull/2100

Andrey
27.09.2016
12:22:13
самое время перейти обратно на JS

Vladimir
27.09.2016
12:22:16

Nikita
27.09.2016
12:22:41
надо будет еще раз попробовать TS
потому что это жесть, везде приходится подсовывать свои костыли

Vladimir
27.09.2016
12:25:00
да это не проблема

Google

Vladimir
27.09.2016
12:25:14
Я всегда кладу core либы в проект
И меняю по необходимости

Nikita
27.09.2016
12:26:18
ну я не соглашусь
у меня проект раздроблен на кучку маленьких подпроектов
прийдется помимо eslint/babel/postcss пресетов за собой таскать flow дефинишны
и не потому что у меня какая-то кастомная логика, а потому что базовая не доработана

Vladimir
27.09.2016
12:27:27
ну и норм
я так и делаю

Nikita
27.09.2016
12:29:08
а я правильно понимаю, что они разрабатывают внутри FB, а раз в месяц, например, выплевывают новую версию в OSS?

Vladimir
27.09.2016
12:30:11
Нет, коммиты прилетают постоянно, но при этом ревью происходит в их внутреннем фабрикаторе

Admin
ERROR: S client not available

Vladimir
27.09.2016
12:30:25
они импортируют пулл реквесты туда
Кое что делается в гитхабе, не знаю почему
У реакта вроде также было
Если повезет, то James Kyle наведет порядок


Mike
27.09.2016
12:42:44
я тут случайно загуглил ts playground, очень интересное мнение гугла на этот счёт. Сслыки не привожу по морально-этическим соображеням:)
Ещё вопрос, можно ли объявить в классе метод который реализует интерфейс (метод а не класс). Типа такого: https://www.typescriptlang.org/play/index.html#src=interface%20MySuperFunction%20%7B%0D%0A%20%20%20%20(myParam%3Anumber)%3Astring%3B%0D%0A%7D%0D%0A%0D%0Aclass%20MyClass%20%7B%0D%0A%20%20%20%20%2F%2F%20%D1%82%D1%83%D1%82%20%D1%85%D0%BE%D1%87%D1%83%20%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%20%D1%81%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%BC%20MySuperFunction%0D%0A%0D%0A%20%20%20%20%2F%2F%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B9%20%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D0%B5%20%D0%BD%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%81%D1%8F%20%D1%82%D0%B5%D0%BC%2C%20%D1%87%D1%82%D0%BE%20%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BD%D0%B5%20%D0%B2%20%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0%B8%D0%BF%20%D0%B2%20%D0%B8%D1%82%D0%BE%D0%B3%D0%B5%20%D1%83%D1%85%D0%BE%D0%B4%D0%B8%D1%82%0D%0A%20%20%20%20public%20myMethod%3A%20MySuperFunction%20%3D%20function%20(myParam%3A%20number)%3A%20string%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20'qq'%3B%0D%0A%20%20%20%20%7D%0D%0A%7D


Aleh
27.09.2016
12:50:51
а зачем?
ну, можно сделать интерфейс, где есть такой метод и его имплементить…

Mike
27.09.2016
12:52:13
это супер упрощёеннный пример. Мне надо на классе объявить метод типа который приедет шаблонным параметром на самом деле. Реализация метода обобщённая и схавает всё, но внешний интерфейс у такого класса далжен быть строго типизирован

Google

Adam
27.09.2016
12:57:13
тело цикла*

Mike
27.09.2016
13:01:03

Adam
27.09.2016
13:02:55
я не совсем правильно выразился, декларации с let внутри круглых скобок цикла for подчиняются правилам блочной области видимости, по-видимому

Mike
27.09.2016
13:03:27
да, далжны, и я этого жду, но приведённый пример должен вызывать ошибку
а её нет
в этом и вопрос

Adam
27.09.2016
13:03:44
говорю же - скобки == неявный блок

Mike
27.09.2016
13:03:56
а, ещё один типа?

Adam
27.09.2016
13:04:10
не уверен, но по-видимому, да

Mike
27.09.2016
13:04:32
gjyzk
понял
да, похоже
looks like a bug

Adam
27.09.2016
13:04:57
попробуй в chrome, там такое же поведение?

Mike
27.09.2016
13:09:23
аналогично
если в одном блоке, то кидает шибку
а если так в цикле то не кидает
use strict не влияет
грусть - печаль
это уже блин в самой спеке es логическая недоработка

Aleh
27.09.2016
13:13:26
точно в спеке? просто тогда это уже не исправят