1)По последнему видео от разработчиков www.youtube.com/watch?v=wWfpAY4c3dg&list=PL0M0zPgJ3HSftTAAHttA3JQU4vOjXFquF&index=0 примерно после 36 минуты говорится, что большинство рутинных операций для сборки frontend будут доступно без gulp. Можете прокомментировать?
2)Тут хотелось бы еще услышать про компиляцию TypeScript. Как её лучше делать — через gulp, .tsproject или будут встроенные средства в VS. Есть ли примеры на эту тему?
Увы, но целый ряд советов уже неактуален в современных условиях. Например, совет «Никогда не пользуйтесь автоматическим выравниванием кода.» за одно нажатие исправляется автоформаттерами кода. В современных условиях видится необходимость в новых и креативных методах обфускации кода!
Тут вся соль оптимизирующего компилятора! Он в начале загнал сравниваемые числа в регистры esi и edx, сравнивает и двумя последними mov меняет их местами
01322E26 cmp esi,edx
01322E28 jle 01322E32
01322E2A mov dword ptr [edi+ebx*4+8],esi
items[i] = tmp;
01322E2E mov dword ptr [edi+ecx*4+8],edx
По-хорошему это даже не сравнение языков C# vs C++, а сравнение оптимизирующих компиляторов. А если быть точным то сравнение традиционного и JIT компилятора. Посему непонятно, где указаны конкретные версии компиляторов и их настройки?
У вас по Tab активность переходит к результатам поиска, однако если перейти на следующую страницу с помощью Ctrl+->, то снова становиться активной строка поиска. Неужели вы думаете, что пользователь переходит на следующую страницу результатов поиска, чтобы изменить текст запроса?
Пока не до конца, но думаю это дело времени. На клиенте minimongo это не Mongo. Вы можете писать запросы как в sql, а то, что в качестве нижележащего хранилища используется minimongo — это уже детали реализации.
количество выделенных элементов (а следовательно QPersistentIndex-ов) у меня может быть очень значительно — сотня-другая элементов запросто, а то и под тысячу. Я нас конструкторская программа и пользователь может на 3d модели выделять для редактирования значительное количество элементов и выделенные элементы должны быть выделенными и в дереве
нужно, но сколько бы ни было изменений сравнение пройдет лишь раз по дереву. В моем случае, при количестве узлов в пределах 20-30 тысяч это происходит очень быстро. А изменение данных происходит через emit dataChanged(QModelIndex(), QModelIndex()); по окончанию синхронизации
если в дереве мало изменений, то синхронизация отработает быстро даже для сравнительно большого дерева, ну а если изменений много, то тут уж ничего не поделаешь
Согласен, но иногда эти изменения могут иметь значения, если обновлений достаточно много, т.к. rowsInserted/RowsDeleted каждый раз обновляют весь список QPersistenIndex-ов на модель. И если у меня будет десяток тысяч обновлений внутри скрытого узла, то это добавит лишнюю, хоть и незначительную задержку (у меня так происходит во время работы пользовательских скриптов). В моем же случае если все эти изменения происходят внутри скрытого узла — то модель не получит ни единого обновления.
2)Тут хотелось бы еще услышать про компиляцию TypeScript. Как её лучше делать — через gulp, .tsproject или будут встроенные средства в VS. Есть ли примеры на эту тему?
01322E26 cmp esi,edx
01322E28 jle 01322E32
01322E2A mov dword ptr [edi+ebx*4+8],esi
items[i] = tmp;
01322E2E mov dword ptr [edi+ecx*4+8],edx
for (int i = 0; i < items.Length; i++)
01322DFE xor ecx,ecx
for (int i = 0; i < items.Length; i++)
01322E00 mov eax,dword ptr [edi+4]
01322E03 mov dword ptr [ebp-10h],eax
01322E06 test eax,eax
01322E08 jle 01322E3E
for (int j = i; j < items.Length; j++)
01322E0A mov ebx,ecx
01322E0C cmp dword ptr [ebp-10h],ecx
01322E0F jle 01322E38
01322E11 mov eax,dword ptr [edi+4]
01322E14 mov dword ptr [ebp-14h],eax
{
if (items[i] > items[j])
01322E17 mov esi,dword ptr [edi+ecx*4+8]
01322E1B mov eax,dword ptr [ebp-14h]
01322E1E cmp ebx,eax
01322E20 jae 01322E46
01322E22 mov edx,dword ptr [edi+ebx*4+8]
01322E26 cmp esi,edx
01322E28 jle 01322E32
01322E2A mov dword ptr [edi+ebx*4+8],esi
items[i] = tmp;
01322E2E mov dword ptr [edi+ecx*4+8],edx
for (int j = i; j < items.Length; j++)
01322E32 inc ebx
01322E33 cmp dword ptr [ebp-10h],ebx
01322E36 jg 01322E17
for (int i = 0; i < items.Length; i++)
01322E38 inc ecx
01322E39 cmp dword ptr [ebp-10h],ecx
01322E3C jg 01322E0A