Pull to refresh
20
0
Станислав Протасов @sprotasov

программист, преподаватель

Send message
Станислав Станиславович — SVP в компании Acronis. Это не я, а мой тёзка.
Скажем так, сама Java как язык ни чем не плоха. Я могу соврать (было бы здорово, если бы тут были эксперты, готорые меня исправить), но мой пассаж я строил на этих наблюдениях: (1) на момент написания книжки у Java не было оптимизаторов — она компилировалась as is (2) наличие неуправляемой сборки мусора всегда настороживает, если вы дорожите ресурсами (3) думаю, что гуру Java всё это умеют, но при отсутствии возможности работать с памятью напрямую немного сложнее писать cache-friendly код.
Это школьник-олимпиадники, которым я зачем-то рассказывают про связь математики и оригами. На самом деле они сидят и ждут, когда я научу их делать водяные бомбочки.
Сдаётся мне, что даже есть удастся синхронизировать все очки с дисплеем (представьте, кстати, себе кашу на дисплее без очков :) ), пользователи подерутся за управление «крутилочкой».
При всём уважении к платформам, я бы поменял «домохозяек» и «гиков» местами. WP8 пока критически не хватает тех краеугольных приложений, которые есть для Android/iOS (я сейчас не про Angry Birds, а про нормальные карты, например, или Google Drive / Dropbox). А то, что есть магазином ищется довольно странно. Я про яндекс-метро узнал, например, из интернетов, а магазином не нашёл :)
Будь я домохозяйкой, я бы уже умышленно разбил его об кафель :)
Подобное устройство мною куплено в Pleer.ru на 10тыр.
Батарейка за сутки съела 44% заряда при паре звонков и 1 часе музыки, включенном 3G, но без WiFi, GPS, BT.
Вставлю свои пять копеек, ибо ровно это машинка сейчас лежит у меня на столе и уже месяц проходит обкатку.

Претензии можно разделить на «к аппарату» и «к платформе».
«К аппарату» претензий мало, но существенные:
— крышечка, закрывающая MicroSIM/MicroSD разъёмы, после пары смен сим-карт иногда уже подрывается остаться в кармане. Не люфтит, но чуть прижал — и выщёлкивается.
— по моим меркам очень тихий. Это касается и звонка, и голоса в трубке. Даже в не очень шумной обстановке приходится практически засовывать аппарат в ухо, чтобы услышать собеседника. Правда, с другого конца претензий не поступало.
— если сесть завязывать шнурки с телефоном в кармане — скорее всего встанешь с перезагружающимся аппаратом.
А вот батарейка держит действительно хорошо.

Претензии «к платформе» настолько разнообразны, что даже начинать не хочется. Сильно привыкнув к Android-инфраструктуре, я иногда просто опускаю руки.
Во-первых, мало и плохо. В России хоть как-то работающие Яндекс-карты (существенно обрезанные по функциям!) выглядят просто инженерным прорывом по сравнению с родным приложением (которое даже маршрут строить не умеет). Гугл-карт с кэшированием просто нет, ни родных, ни левых. Метро-скайп что на десктопе, что в телефоне, подобен смерти (а у мобильной версии так вообще всего два «статуса» — «в сети» и «невидимый». «Оффлайна» нет) — быстро был заменён на IM+. Все приложения жрут куцую внутреннюю память, Photosynth, кстати, у меня лидер по прожорливости. Уже два раза чистил ему кэш. Ну и т.п. про софт.
Во-вторых, виснет и впадает в непонятные циклы «Восстановления» приложений, из которых выходить не спешит. С нетерпением жду BSOD )

Заявление про синхронизацию с PC без дополнительных утилит — это странное заявление, учитывая www.windowsphone.com/en-us/how-to/wp8/windows-phone-app-for-desktop

Аппарат, с моей точки зрения, для тех гиков, которые верят в коммунизм безоблачное будущее MS и её мобильной инфраструктуры. И вот когда это будущее наступит — они будут на коне. Ну, точнее на одном из трёх коней — iPhone/Android/WP. Ну то есть таких блаженных, как я.
Спасибо за интересную идею, попробую на досуге придумать, как из неё сделать то же, что у меня получилось в итоге. Почти уверен, что выйдет короче.
Если я сделаю Broadcast для IEnumerable, мне кажется, склонируется только ссылка на объект и, фактически, читать все будут из одной кормушки. А это как раз недопустимо.
Если я правильно понял идею, Вы предлагаете использовать ETL-функциональность (что-то похожее я когда-то делал с помощью Rhino.ETL). Идея правильная, согласен. Только она всё равно позволяет мне работать с конкретным очередным экземпляром MyType из коллекции во всех срезах одновременно, а не с представлением IEnumerable<MyType>.
Возможно, я некорректно выразился про «Concurrent вообще». Речь о том, что задач у меня много. Я могу упаковать их пучком и при появлении объекта дёргать на выполнение, а могу задачу семантически выделить как метод Foo(IEnumerable<TSomeType> param). Это не то, чтобы лучше или хуже. Но так я, например, имею возможность ипользовать конструкции типа param.Where().OfType<TA>(). Это по-другому, чем при использовании Task<TSomeType>. Если я упустил возможность сделать так с использованием PLinq, то было бы здорово, если бы Вы подсказали, как именно.
О, с такой стороны я на задачу не смотрел. То есть вы предлагаете, чтобы каждый объект при «рождении» говорил: «чуваки, я пришёл, посчитайте меня»? Звучит вкусно.
Спасибо, уже в читалке
Изначально задача решалась вообще в цикле. Если постараться, её можно запихнуть практически в любую параллельную конструкцию. Однако в таком случае для меня Task-ом станет добавление информации для 100+ срезов. То есть этот Task будет выглядеть как бегемот. А разделение коллекции на клонов позволяет мне работать с клоном как с оригинальной коллекцией. Получилось просто красивее и удобнее при поддержке кода.
AsParallel() и Concurrent вообще — это, если я правильно понимаю, подход к обезапашиванию коллекций от конкуренции при чтении из разных потоков. То есть, условно, гарантировать, что из [1, 2, 3, 4, 5] не будет прочитано [1, 2, 2, 3, 4, 5, 5]. При этом, если читателей 2, то один получит [1, 2, 4], а другой — [3, 5]. Передо мною же, в данном случае стоит задачка другого рода: дать возможность большому числу читателей КАЖДОМУ получить по своей порции [1, 2, 3, 4, 5].
TPL не рассматривал — побежал читать по этого зверя.
Parallel.For, насколько я себе его понимаю, брёт коллекцию, нарезает и выполняет одно и то же одно действие (метод) для всех элементов, просто в нескольких потоках. И ускорение он даёт именно за счёт того, что данные уже есть и можно их резать. В моём же случае данные капают из тоненького крана и нужны не одному методу, а сотне. Собственно, решение относится не только и не столько к вопросам ускорения — допускаю, что использование нативной реализации могло дать ещё больший выигрыш в скорости — мне было интересно сделать удобное с точки зрения архитектуры решение по параллельной синхронной обработке данных.
Прошу прощения, возможно в данном случае я был не прав. Любые шутки и намёки на родство-эквивалентность-заменяемость-… Протасовых последние полгода иначе не воспринимаются. Вы же откуда-то знали о «свежем» СП :)
Один вопрос — один ответ :) Я просто его тёзка, так уж вышло. Станислав Станиславович же — один из сооснователей компании.
PDF, сгенерированный из tex'а представляет собой печальной зрелище:

image.

Похоже на последствие 1251->1252 + асфальтоукладочный каток.
1

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity