Mari
Спасибо, но интересует работа с предварительно не обученной нейронной сетью)
Andrei
ааа такое самому интересно )
Aleksandr
Ребят, после пулла с девелопа, xcode перестал собирать проекты, вообще. Пишет вот что: Build operation failed without specifying any errors. Individual build tasks may have failed for unknown reasons. One possible cause is if there are too many (possibly zombie) processes; in this case, rebooting may fix the problem. Some individual build task failures (up to 12) may be listed below.
Aleksandr
кто нибудь сталкивался?
Aleksandr
ребутинг не помогает
Antontsue
может дерривед дату почистить?
Aleksandr
тоже не помогает
Aleksandr
не собирает ни на девайс ни на симулятор
Aleksandr
у меня знакомый решил эту же проблему переустановкой оси, (переустановка xcode не помогла)
norlin
^ winOS Ыierra
Paks
А кто-то сталкивался с шифрованием сообщений?
Paks
есть либа, шифрует/дешифрует NSString Есть база зашифрованных сообщений. Как ее расшифровать? построчно?? или как верно в таких случаях поступать?
Paks
если построчно, то она 1000 сообщений будет расшифровывать с лагом же и не моментально, как от этого избавляться и что делать?
Vladislavs
делать это в background-треде
Stanislav
dispatch_async и вперед
Max
Let myQueue = DispatchQueue.global(qos: .userInitiated) или qos: .background myQueue.async{ расшифровка }
Paks
а как с чатом быть? там же будет пусто
Paks
пока оно дешефрует
Stanislav
Блин, ты формулируй задачу свою понятнее. Будет пусто, да. Крутилку можно показать
Paks
ты на чанки бей
кусками подгружать?
Paks
А есть возможность массив из 1000 сообщений асинхронно расшифровывать паралельно? и потом собрать это все в той же последовательности, в которой все было в массиве? Типа не в цикле: 1 сообщение -> дешифвровать -> дешифровано -> возврат в начало а как-то так: 1 сообщение -> дешифровать > возврат в начало дешифровано -> 1 сообщение ...
Paks
есть механизмы, позволяющие результаты CallBackов собрать в той последовательности, в которой были запущены методы?
Anonymous
почему коллбэки? У тебя есть массив зашифрованных сообщений, ты знаешь в какой они последовательности. Ты можешь закинуть это в дикшенари, где ключами будут индексы массива. По мере дешифрации сообщений, ты будешь устанавливать элемент дикшинари с нужным индексом значение - расшифрованное сообщений. После того как в дидСет-обозревателе дикшинари количество эелементов сравняется с количеством в массиве зашифрованных, ты тоже сможешь дикшенари выгурзить в массив дешифрованных в нужном порядке
Anonymous
но 1000 расшифровывающаяся паралельно - очень плохая идея, вот честно.
Anonymous
Anonymous
но запуская асинхронно, у него не будет гарантии что первое большое расшифруется первым же. Поэтому и беспокоится про какой-то механизм коллбэков
Anonymous
вот и подсказываю с приемом про дикшинари, где ключем будет индекс в массиве.
Stanislav
Вообще можно прикольно сделать. Во-первых, естественно, делать все асинхронно в фоне, во-вторых с помощью Grand Central Dispatch загрузить все ядра
Anonymous
Да это без словаря делается просто
ну так рассказывай как. Он не хочет помещать в группу.
Anonymous
и семафор использовать тоже не хочет, как я понял
Stanislav
ну так рассказывай как. Он не хочет помещать в группу.
Хм, походу я не понял, что он вообще хочет
Paks
ну смотрите, есть методо
Anonymous
ок. давай на примере загрузки картинок. Мы загрузили например откуда-то массив из 50 элементов. Вывели в ТэйблВью, теперь хотим асинхронно закачать и 50 картинок, которыее соотвествуют этим эементам массивов
Paks
- (void)decodeString:(nsstring *) и есть делегад - (void)didDecodedString:(nsstring *)
Paks
и у меня база данных с сообщениями
Paks
одной пачкой я расшифровать не смогу? Мне надо сделать 100 итераций, верно?
Paks
тобишь, 100 вызовов метода, и 100 колбеков я получу
Stanislav
Делегад
Stanislav
Вот кто они
Stanislav
Теперь я знаю
Paks
😆
Anonymous
да, продолжай
Anonymous
блин, я почему-то еще думал что Свифт, ну ладно
Anonymous
окей, и что?
Paks
вот я так понимаю, если буду расшифровывать по очереди: 1 расшифровал -> вызвал второе 2 расшифровал -> выдзвал третье .... это будет довоьлно долго
Anonymous
и поэтому ты хочешь запустить все 100 паралельно, но чтобы они вернулись в нужном порядке
Anonymous
мы все это поняли
Stanislav
Какая длина строк?
Paks
а есть способ какой-то, что бы расшифровал так: 1 бросил на расшифровку 2 бросил на расшифровку 3 бросил на расшифровку .... расшифровано 1 расшифровано 2 расшифровано 3 ....
Paks
Какая длина строк?
ну ограничений на длину нет
Paks
может быть 1 символ
Paks
может быть сотня
Stanislav
dispatch_apply(count, dispatch_get_global_queue(0, 0), ^(size_t i){ results[i] = do_work(data, i); }); total = summarize(results, count);
Paks
а как это с делегатом сдружить?
Max
а есть способ какой-то, что бы расшифровал так: 1 бросил на расшифровку 2 бросил на расшифровку 3 бросил на расшифровку .... расшифровано 1 расшифровано 2 расшифровано 3 ....
нээ, запускаешь в отдельной queue с высоким приоритетом конкуррентли, но даешь ограничение на последовательность исполнения - и пока юзер смотрит на живописную крутилку, телефон трудиццо и херачит 1000 сообщений в бэкграунде, выплевывая результаты кусками
Anonymous
ладно, я в обжси пасс
Stanislav
может быть сотня
Ну так ты попробуй сначала расшифровать последовательно. Одно дело если б ты написал, что вот, 5 минут база декодится последовательно. Надо бы запускать параллельно, будет 2,5 минуты
Stanislav
Какая-то преждевременная оптимизация хз ради чего
Paks
ну там по 50-100 долесекунд уходит
Paks
но есл сотня итераций - то это уже будет 5-10 секунд
Stanislav
Ну, ок. Будет 2,5-5 секунд. Тебе это надо? Или тебе каждое сообщение надо показывать по мере расшифрования? (визуально именно это будет быстрее всего по ощущениям юзера)
Paks
ну вот я не знаю как делать правильно)
Stanislav
Хм, а что за либа расшифровки? Нафиг там вообще делегат? Может она сама по себе асинхронно все делает?
Paks
написал как я это вижу) и мб кто посоветует) потому-что с подобными задачами не сталкивался) и не уверен, что то, что сразу в глову приходит - является оптимальным вариантом)
Vladislavs
ты на чанки бей
вот как правильно
Paks
OTRKit
Paks
https://github.com/ChatSecure/OTRKit
Anonymous
сорри, потерял интерес уже. пусть будет так
Paks
ну картинки то такое) там мона и с задержкой отображать)
Paks
а тут представь чат)
Paks
ты открываешь чат и у тебя стабильные висяки)