Чтобы не забывать что я исправил в "своей" версии и заодно описать проблемы текущей решил создать новую ветку. Кроме описания ошибки, хочется указать где она проявляется и возможный путь исправления (как раз большие возможности для обсуждения)
Если путь исправления всех устроит, думается можно внести коррекцию и в текущую версию.
Не забывайте только изменять тему при описании ошибки.
Здравствуйте, AlexNek, Вы писали:
AN> При создании нового сообщения (выбираем форум + кнопка в тоолбаре) AN> происходит вылет по индексу в param2[0] (Index was outside the bounds of the array)
Некоторые сложности в том что вылет происходит в ScintillaWrapper, поэтому пришлось добавить проект в сборку (точнее это я сделал еше раньше) и добавить автоматическое копирование в "Janus\Dependencies\scintilla\"
В редакторе нового сообщения показывается в поле "From" показывается логин пользователя, а не его имя.
К тому же все поля на английском "From", "Forum", "Subject"
До кода пока не добрался
Здравствуйте, AlexNek, Вы писали:
AN> Если отсылка сообщений успешно завершена, то отчего показаны ошибки при отсылке сообщений?
Кстати, для вопроизведении ошибки нужно просто ответить на удаленное сообщение.
Сама ошибка "прячется" в response, но проверить это "наверху" не получается пришлось сделать новое исключение SyncTroubleException и засылать его "наверх".
Осталось еще исключение, но оно простое как валенок, да и содрано с UserCancelledException. Ну и еще надо добавить атрибут сериализации к SyncErrorInfo
Здравствуйте, AlexNek, Вы писали:
AN>К тому же все поля на английском "From", "Forum", "Subject"
Тоже недавно заметил. Строковые ресурсы правятся в пару кликов (ресурсные файлы рядом). Засуну в общий патч по ресурсам.
Есть еще проблемка с отображением для 120dpi.
Я бы мог и это поправить, но тут у меня тоже вопрос. Студия очень старательно перекапывает весь файл при этом! И немного боязно такое отдавать разработчикам, потому что оно под XP 96dpi потом немного иначе выглядит.
AN>До кода пока не добрался
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re[2]: Ошибки/непонятка в редакторе нового сообщения показыв
Здравствуйте, ixor, Вы писали:
i> AN>К тому же все поля на английском "From", "Forum", "Subject"
i> Тоже недавно заметил. Строковые ресурсы правятся в пару кликов (ресурсные файлы рядом). Засуну в общий патч по ресурсам.
Пока не разбирался детально, но используемый подход по сравнению с multilang мне совсем не нравится. Да и есть еще две части не в ресурсах. Одна которую можно затащить в ресурсы как обычно и другая (атрибуты), которую будет непросто затащить. i> Есть еще проблемка с отображением для 120dpi.
А у кого она может появится и как это менять для теста? Еще ни разу не сталкивался.
Здравствуйте, AlexNek, Вы писали:
AN> Добрался и до старой проблемы — пользователи загружаются по 1000 за цикл. Для 70 000 нужно много дней ждать. Пробовал только MakeRequest расширить из AN>
AN> но похоже нужно еще и PrepareRequest менять для изменения lastRowVersion, а это уже на шару не получится. AN> Есть еще предложения?
Сделал вроде повтор забора пользователей по 1000, но оказывает 1000 стоит прежде всего на стороне клиента. В настройках программы можно увеличить (попробовал до 10000) но тест не прошел после всех игр осталось загрузить только 500 человек (таблицу пока не хочется очищать)
Есть ли ограничения на сервере?
Здравствуйте, AndrewVK, Вы писали:
AVK> AN>Есть ли ограничения на сервере?
AVK> Есть.
Известно сколько? И тогда в диалоге настроек должно быть нельзя набирать больше чем разрешено.
Не знаю, может только у меня так.
Но все горячие клавиши для сообщений не работают.
F3 — по описанию должна быть панель фильтра показываться
CtrlN — новое сообщение
и т.д.
Здравствуйте, AlexNek, Вы писали:
AN>Не знаю, может только у меня так. AN>Но все горячие клавиши для сообщений не работают. AN>F3 — по описанию должна быть панель фильтра показываться AN>CtrlN — новое сообщение AN>и т.д.
У меня работают. Но фокус ввода должен быть на списке тем или сообщении.
... << RSDN@Home 1.2.0 alpha 5 rev. 1497>>
Re[2]: Проблема: горячие клавиши для сообщений не работают
Здравствуйте, _Raz_, Вы писали:
R> AN>Не знаю, может только у меня так. R> AN>Но все горячие клавиши для сообщений не работают. R> AN>F3 — по описанию должна быть панель фильтра показываться R> AN>CtrlN — новое сообщение R> AN>и т.д.
R> У меня работают. Но фокус ввода должен быть на списке тем или сообщении.
Про фокус то понятно. Значит я чего то сломал. Ладно, все равно Trace добавлять надо.
Здравствуйте, _Raz_, Вы писали:
R> AN>Не знаю, может только у меня так. R> AN>Но все горячие клавиши для сообщений не работают. R> AN>F3 — по описанию должна быть панель фильтра показываться R> AN>CtrlN — новое сообщение R> AN>и т.д.
R> У меня работают. Но фокус ввода должен быть на списке тем или сообщении.
Пока непонятка какая то, то бишь не должно работать.
Горячие клавиши определены в Rsdn.Janus.ForumDummyForm, а контрол в фокусе Rsdn.Janus.JanusGrid, по парентам тоже нет поиска если все хорошо
Здравствуйте, AlexNek, Вы писали:
AN> R> AN>Не знаю, может только у меня так. AN> R> AN>Но все горячие клавиши для сообщений не работают. AN> R> AN>F3 — по описанию должна быть панель фильтра показываться AN> R> AN>CtrlN — новое сообщение AN> R> AN>и т.д.
AN> R> У меня работают. Но фокус ввода должен быть на списке тем или сообщении.
AN> Пока непонятка какая то, то бишь не должно работать.
AN> Горячие клавиши определены в Rsdn.Janus.ForumDummyForm, а контрол в фокусе AN> Rsdn.Janus.JanusGrid, по парентам тоже нет поиска если все хорошо AN>
Здравствуйте, AndrewVK, Вы писали:
AVK> AN>То есть фиксированного ограничения нет, но в любом случае не больше 1000?
AVK> Верно. То же самое касается и сообщений.
Но получается, если запросить 1000, но на самом деле меньше, то ошибки не происходит. Просто выдает меньше?
А если в цикле отбирать по максимуму пока все не отберется?
Здравствуйте, AlexNek, Вы писали:
AN> AN> R> AN>Не знаю, может только у меня так. AN> AN> R> AN>Но все горячие клавиши для сообщений не работают. AN> AN> R> AN>F3 — по описанию должна быть панель фильтра показываться AN> AN> R> AN>CtrlN — новое сообщение AN> AN> R> AN>и т.д.
Ура! Ctrl-A выделяет все сообщения. Правда еще пришлось IUIShell покурочить.
Выбираем форум с непрочитанными сообщениями.
Из тоолбара нажимаем кнопку "пометить все сообщения как прочитанные".
Сообщения нормально отмечаются в базе но для обновления нужно полностью перегрузить форум.
Если только одно сообщение помечать прочитанным, достаточно просто сменить выделенное сообщение на другое для обновления. Либо просто через ctrl-Tab сменить окна.
Здравствуйте, AlexNek, Вы писали:
AVK>> Верно. То же самое касается и сообщений. AN>Но получается, если запросить 1000, но на самом деле меньше, то ошибки не происходит. Просто выдает меньше?
Конечно. 1000 это лимит.
AN>А если в цикле отбирать по максимуму пока все не отберется?
Лучше все таки увеличить лимит на сервере.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK> AVK>> Верно. То же самое касается и сообщений.
AVK> AN>Но получается, если запросить 1000, но на самом деле меньше, то ошибки не происходит. Просто выдает меньше?
AVK> Конечно. 1000 это лимит.
Тогда можно с настроек лимит просто убрать? Или?
AVK> AN>А если в цикле отбирать по максимуму пока все не отберется?*
AVK> Лучше все таки увеличить лимит на сервере.
Наверное не зря сделали, да и кто будет лимит до 70000 увеличивать?
Вообще то больше интересовало насколько плохо / неприемлимо будет предыдущее (*) решение. Я его то уже сделал, но одно дело когда это один пробует и другое когда все.
Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, ixor, Вы писали:
i>> AN>К тому же все поля на английском "From", "Forum", "Subject"
i>> Тоже недавно заметил. Строковые ресурсы правятся в пару кликов (ресурсные файлы рядом). Засуну в общий патч по ресурсам. AN>Пока не разбирался детально, но используемый подход по сравнению с multilang мне совсем не нравится. Да и есть еще две части не в ресурсах. Одна которую можно затащить в ресурсы как обычно и другая (атрибуты), которую будет непросто затащить.
Речь об атрибутах ?
[JanusDisplayName("")]
[JanusDescription("")]
i>> Есть еще проблемка с отображением для 120dpi. AN>А у кого она может появится и как это менять для теста? Еще ни разу не сталкивался.
Появиться может у тех, кто пользуется большими буквами для больших разрешений, меняется в семерке
"Панель управления\Все элементы панели управления\Экран". Как в XP уже не помню ((
выглядит так http://floomby.ru/content/CLKWEhvyEG/
Жить можно, но осадочек остается))))
Менять "для тестов" не советую! Требует перезагрузки и черевато испугом на малых разрешениях экрана, вплоть до порчи имущества
С уважением, ixor.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re[5]: Проблема: горячие клавиши для сообщений не работают
Здравствуйте, ixor, Вы писали:
i> i>> AN>К тому же все поля на английском "From", "Forum", "Subject"
i> i>> Тоже недавно заметил. Строковые ресурсы правятся в пару кликов (ресурсные файлы рядом). Засуну в общий патч по ресурсам.
i> AN>Пока не разбирался детально, но используемый подход по сравнению с multilang мне совсем не нравится. Да и есть еще две части не в ресурсах. Одна которую можно затащить в ресурсы как обычно и другая (атрибуты), которую будет непросто затащить.
i> Речь об атрибутах ? i> [JanusDisplayName("")] i> [JanusDescription("")]
Да, только я видел немного другие
[MethodShortcut(Shortcut.CtrlShiftO, "Открыть сообщение на RSDN",
"Открыть сообщение на сайте RSDN.")]
private void ShowMessageIntoExtBrowser()
{
ServiceManager.TryExecuteCommand("Janus.Forum.OpenMessageOnRsdn", new Dictionary<string, object>());
}
i> i>> Есть еще проблемка с отображением для 120dpi.
i> AN>А у кого она может появится и как это менять для теста? Еще ни разу не сталкивался.
i> Появиться может у тех, кто пользуется большими буквами для больших разрешений, меняется в семерке i> "Панель управления\Все элементы панели управления\Экран". Как в XP уже не помню (( i> выглядит так i> http://floomby.ru/content/CLKWEhvyEG/
Ааа, что то подобное можно сделать в дизайнере форм. Как я помню, надо формы переделывать "под динамику".
Здравствуйте, ixor, Вы писали:
i> AN>Ура! Ctrl-A выделяет все сообщения. Правда еще пришлось IUIShell покурочить.
i>
Не всё так радужно как казалось, дело в том что хоть сообщения и правильно выделяются в гриде, в янусе происходит не опрос выделенных сообщений, а выбранных "нодах" с сообщениями. Надо грид еще доделывать. Функция "Выбрать все" может только там располагаться.
Здравствуйте, AlexNek, Вы писали:
i>> i>> Есть еще проблемка с отображением для 120dpi.
i>> AN>А у кого она может появится и как это менять для теста? Еще ни разу не сталкивался.
i>> Появиться может у тех, кто пользуется большими буквами для больших разрешений, меняется в семерке i>> "Панель управления\Все элементы панели управления\Экран". Как в XP уже не помню (( i>> выглядит так i>> http://floomby.ru/content/CLKWEhvyEG/
AN>Ааа, что то подобное можно сделать в дизайнере форм. Как я помню, надо формы переделывать "под динамику".
Ммм Лучше формы переделывать под XAML ))) А с этим можно справиться и напильником)))
С уважением, ixor.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re[7]: Проблема: горячие клавиши для сообщений не работают
Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, ixor, Вы писали:
i>> AN>Ура! Ctrl-A выделяет все сообщения. Правда еще пришлось IUIShell покурочить.
i>> AN>Не всё так радужно как казалось, дело в том что хоть сообщения и правильно выделяются в гриде, в янусе происходит не опрос выделенных сообщений, а выбранных "нодах" с сообщениями. Надо грид еще доделывать. Функция "Выбрать все" может только там располагаться.
А какой юзкейс предполагается?
С уважением, ixor.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re[8]: Проблема: горячие клавиши для сообщений не работают
Здравствуйте, ixor, Вы писали:
i> i>> AN>Ура! Ctrl-A выделяет все сообщения. Правда еще пришлось IUIShell покурочить.
i> i>>
i> AN>Не всё так радужно как казалось, дело в том что хоть сообщения и правильно выделяются в гриде, в янусе происходит не опрос выделенных сообщений, а выбранных "нодах" с сообщениями. Надо грид еще доделывать. Функция "Выбрать все" может только там располагаться.
i> А какой юзкейс предполагается?
Возможно в текущей версии не столь актуально, но когда у меня есть список "ответов мне" с десятком непрочитанных, проще всего выделить все и сказать "прочитать". Да и вообще Ctrl-A почти "стандартная" функция в винде, по крайней мере для меня.
Блин, надо еще и стартовать обновление статуса команд . Вот что значит оптимизация: обновляем статус команды только по выбору сообщения.
Здравствуйте, ixor, Вы писали:
i> i>> i>> Есть еще проблемка с отображением для 120dpi.
i> i>> AN>А у кого она может появится и как это менять для теста? Еще ни разу не сталкивался.
i> i>> Появиться может у тех, кто пользуется большими буквами для больших разрешений, меняется в семерке i> i>> "Панель управления\Все элементы панели управления\Экран". Как в XP уже не помню (( i> i>> выглядит так i> i>> http://floomby.ru/content/CLKWEhvyEG/
i> AN>Ааа, что то подобное можно сделать в дизайнере форм. Как я помню, надо формы переделывать "под динамику".
i> Ммм Лучше формы переделывать под XAML ))) А с этим можно справиться и напильником)))
Что то другого метода не припомню
Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, ixor, Вы писали:
i>> i>> AN>Ура! Ctrl-A выделяет все сообщения. Правда еще пришлось IUIShell покурочить.
i>> i>>
i>> AN>Не всё так радужно как казалось, дело в том что хоть сообщения и правильно выделяются в гриде, в янусе происходит не опрос выделенных сообщений, а выбранных "нодах" с сообщениями. Надо грид еще доделывать. Функция "Выбрать все" может только там располагаться.
i>> А какой юзкейс предполагается? AN>Возможно в текущей версии не столь актуально, но когда у меня есть список "ответов мне" с десятком непрочитанных, проще всего выделить все и сказать "прочитать". Да и вообще Ctrl-A почти "стандартная" функция в винде, по крайней мере для меня.
Понял.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re[10]: Проблема: горячие клавиши для сообщений не работают
Здравствуйте, ixor, Вы писали:
I>Здравствуйте, AlexNek, Вы писали:
AN>>Здравствуйте, ixor, Вы писали:
i>>> i>> AN>Ура! Ctrl-A выделяет все сообщения. Правда еще пришлось IUIShell покурочить.
i>>> i>>
i>>> AN>Не всё так радужно как казалось, дело в том что хоть сообщения и правильно выделяются в гриде, в янусе происходит не опрос выделенных сообщений, а выбранных "нодах" с сообщениями. Надо грид еще доделывать. Функция "Выбрать все" может только там располагаться.
i>>> А какой юзкейс предполагается? AN>>Возможно в текущей версии не столь актуально, но когда у меня есть список "ответов мне" с десятком непрочитанных, проще всего выделить все и сказать "прочитать". Да и вообще Ctrl-A почти "стандартная" функция в винде, по крайней мере для меня.
Вроде получилось. Пришлось правда "обмануть" и сказать что сообщения изменились
I>lD� lP� lP� l\� l\� lh� l�k��t
Что то у меня получаются в конце сообщения такие фигни. Может это из-за UT8?
Не попробуешь на свое сообщение ответить? У тебя в редакторе что будет?
... << RSDN@Home 1.2.0 alpha 5-AN rev. 1495>>
Re[10]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AlexNek, Вы писали:
AVK>> Конечно. 1000 это лимит. AN>Тогда можно с настроек лимит просто убрать?
Нельзя. В настройках клиентский лимит, на сервере серверный.
AVK>> Лучше все таки увеличить лимит на сервере. AN>Наверное не зря сделали,
Сделали по аналогии с юзерами. Причем в те времена, когда железо было перегружено. Сейчас такая проблема остро не стоит, особенно учитывая что запрос юзеров примитивный, без джойнов и подзапросов.
AN> да и кто будет лимит до 70000 увеличивать?
Я.
AN> Я его то уже сделал, но одно дело когда это один пробует и другое когда все.
Я, честно говоря, вооще не понял, для чего ты там вообще что то правил.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK> AVK>> Конечно. 1000 это лимит.
AVK> AN>Тогда можно с настроек лимит просто убрать?
AVK> Нельзя. В настройках клиентский лимит, на сервере серверный.
Ну так если все равно больше 1000 нельзя и точный лимит нельзя узнать без опроса сервера. Почему не забить максимум? Вроде на старых модемах уже никого не осталось
AVK> AVK>> Лучше все таки увеличить лимит на сервере.
AVK> AN>Наверное не зря сделали,
AVK> Сделали по аналогии с юзерами. Причем в те времена, когда железо было перегружено. Сейчас такая проблема остро не стоит, особенно учитывая что запрос юзеров примитивный, без джойнов и подзапросов.
AVK> AN> да и кто будет лимит до 70000 увеличивать?
AVK> Я.
ждемс
AVK> AN> Я его то уже сделал, но одно дело когда это один пробует и другое когда все.
AVK> Я, честно говоря, вооще не понял, для чего ты там вообще что то правил.
Ну захотел всех пользователей сразу поиметь, а не кликать сотню раз. Да и всего то одну виртуальную функцию добавил которая определяет нужно ли повторять процесс. Пока только для пользователей, но для сообщений уже не проблема.
Здравствуйте, AlexNek, Вы писали:
AVK>> Нельзя. В настройках клиентский лимит, на сервере серверный. AN>Ну так если все равно больше 1000 нельзя и точный лимит нельзя узнать без опроса сервера. Почему не забить максимум?
Потому что у некоторых трафик очень дорогой, и они не хотят закачивать много за раз. Клиентский лимит это полезный функционал, а не ошибка.
AN> Вроде на старых модемах уже никого не осталось
Зато GPRS живее всех живых.
AVK>> Я, честно говоря, вооще не понял, для чего ты там вообще что то правил. AN>Ну захотел всех пользователей сразу поиметь
Правкой клиента этого не добиться.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK> AVK>> Нельзя. В настройках клиентский лимит, на сервере серверный.
AVK> AN>Ну так если все равно больше 1000 нельзя и точный лимит нельзя узнать без опроса сервера. Почему не забить максимум?
AVK> Потому что у некоторых трафик очень дорогой, и они не хотят закачивать много за раз. Клиентский лимит это полезный функционал, а не ошибка.
Я и не думал про ошибку, просто не приходило в голову что кто то по GPRS-у с форумом может работать.
AVK> AVK>> Я, честно говоря, вооще не понял, для чего ты там вообще что то правил.
AVK> AN>Ну захотел всех пользователей сразу поиметь
AVK> Правкой клиента этого не добиться.
Может быть, но их всех заимел ...
В чем разница, нажимать кнопу пока ничего не будет приходить или заставить это делать прогу?
Здравствуйте, AlexNek, Вы писали:
AN> При выборе режима плоский текст и установках в настройках Unicode- выводится только 0xFEFF
Похоже здесь условие перепутано
и отладчик еще ругался что данные из другого треда забирают (сделал еще InvokeRequired). Так что у меня куча правок, включая переформатирование (именно поэтому и увидел, что по неверному пути пошло). То бишь если сообщение не прочитано оно будет экспортироваться, а если уже прочитано то нет. Ну и еще в качестве символа новой строки был только \n
Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус?
И картинок чего то нет и при экпорте всего форума (Философия программирования) хтмл получается получается слишком "широким" (это дуреет
Здравствуйте, ixor, Вы писали:
I>Здравствуйте, AlexNek, Вы писали:
AN>>Здравствуйте, ixor, Вы писали:
i>>> i>> AN>Ура! Ctrl-A выделяет все сообщения. Правда еще пришлось IUIShell покурочить.
i>>> i>>
i>>> AN>Не всё так радужно как казалось, дело в том что хоть сообщения и правильно выделяются в гриде, в янусе происходит не опрос выделенных сообщений, а выбранных "нодах" с сообщениями. Надо грид еще доделывать. Функция "Выбрать все" может только там располагаться.
i>>> А какой юзкейс предполагается? AN>>Возможно в текущей версии не столь актуально, но когда у меня есть список "ответов мне" с десятком непрочитанных, проще всего выделить все и сказать "прочитать". Да и вообще Ctrl-A почти "стандартная" функция в винде, по крайней мере для меня.
I>Понял.
Все нормально работает.
Посмотри как сообщения заканчивающиеся смайлами цитируются
Где-то ты перемудрил
... << RSDN@Home 1.2.0 alpha 5 rev. 1497>>
Re[13]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AVK>>> Нельзя. В настройках клиентский лимит, на сервере серверный. AN>>Ну так если все равно больше 1000 нельзя и точный лимит нельзя узнать без опроса сервера. Почему не забить максимум?
AVK>Потому что у некоторых трафик очень дорогой, и они не хотят закачивать много за раз. Клиентский лимит это полезный функционал, а не ошибка.
Несомненно клиентский лимит стоит оставить, но дать возможность его увеличить.
С уважением, ixor.
... << RSDN@Home 1.2.0 alpha 5 rev. 1497>>
Re[12]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, AndrewVK, Вы писали:
AVK>> AVK>> Конечно. 1000 это лимит.
AVK>> AN>Тогда можно с настроек лимит просто убрать?
AVK>> Нельзя. В настройках клиентский лимит, на сервере серверный. AN>Ну так если все равно больше 1000 нельзя и точный лимит нельзя узнать без опроса сервера. Почему не забить максимум? Вроде на старых модемах уже никого не осталось
AVK>> AVK>> Лучше все таки увеличить лимит на сервере.
AVK>> AN>Наверное не зря сделали,
AVK>> Сделали по аналогии с юзерами. Причем в те времена, когда железо было перегружено. Сейчас такая проблема остро не стоит, особенно учитывая что запрос юзеров примитивный, без джойнов и подзапросов.
AVK>> AN> да и кто будет лимит до 70000 увеличивать?
AVK>> Я.
На самом деле, если хорошо вдуматься, тебе вовсе не нужны все 70 000 юзеров, а нужны только те, чьи сообщения находятся в локальной БД + модераторы
Закачивая 1000 новых сообщений, обнаружить среди них >1000 новых пользователей возможно, только благодаря оценкам.
Алгоритм подкачки юзеров "на лету" был бы более гибок, но он дороговат и бесполезен на больших локальных БД
Это я так. Мысли в слух)))
С уважением. ixor.
... << RSDN@Home 1.2.0 alpha 5 rev. 1497>>
Re[13]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AlexNek, Вы писали:
I>>lD? lP? lP? l\? l\? lh? l?k??t AN>Что то у меня получаются в конце сообщения такие фигни. Может это из-за UT8? AN>Не попробуешь на свое сообщение ответить? У тебя в редакторе что будет?
Мдя-с. Брэнча сильно не хватает для проверки результатов.
С уважением, ixor.
... << RSDN@Home 1.2.0 alpha 5 rev. 1497>>
Re[14]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, ixor, Вы писали:
I>>Алгоритм подкачки юзеров "на лету" был бы более гибок, но он дороговат и бесполезен на больших локальных БД
AVK>Проблема в том, что непоследовательный забор юзеров ломает алгоритм обновления по фиксируемой rowversion.
Всё совсем плохо.
В сущьности, необходимость непоследовательного забора, только на первых семидесяти-восьмидесяти обновлениях возникает, а потом будет только зря лопать ресурсы.
А какие там порядки трафика должны быть со сжатием и без? Хотя бы грубая оценка.
С уважением, ixor.
... << RSDN@Home 1.2.0 alpha 5 rev. 1497>>
Re[12]: Проблема: горячие клавиши для сообщений не работают
Здравствуйте, ixor, Вы писали:
i> I>>lD? lP? lP? l\? l\? lh? l?k??t
i> AN>Что то у меня получаются в конце сообщения такие фигни. Может это из-за UT8? i> AN>Не попробуешь на свое сообщение ответить? У тебя в редакторе что будет?
i> Мдя-с. Брэнча сильно не хватает для проверки результатов.
Уболтал, попробую куда то залить, все равно следующие две недели почти ничего не буду делать, но пока не работает без проблем
Здравствуйте, ixor, Вы писали:
i> AVK>> AVK>> Конечно. 1000 это лимит.
i> На самом деле, если хорошо вдуматься, тебе вовсе не нужны все 70 000 юзеров, а нужны только те, чьи сообщения находятся в локальной БД + модераторы i> Закачивая 1000 новых сообщений, обнаружить среди них >1000 новых пользователей возможно, только благодаря оценкам. i> Алгоритм подкачки юзеров "на лету" был бы более гибок, но он дороговат и бесполезен на больших локальных БД i> Это я так. Мысли в слух)))
Безусловно, все пользователи ненужный балласт, но пока нет запроса по ид пользователя, другое решение не видно.
Здравствуйте, ixor, Вы писали:
I>Здравствуйте, ixor, Вы писали:
I>>Здравствуйте, AlexNek, Вы писали:
AN>>>Здравствуйте, ixor, Вы писали:
i>>>> i>> AN>Ура! Ctrl-A выделяет все сообщения. Правда еще пришлось IUIShell покурочить.
i>>>> i>>
i>>>> AN>Не всё так радужно как казалось, дело в том что хоть сообщения и правильно выделяются в гриде, в янусе происходит не опрос выделенных сообщений, а выбранных "нодах" с сообщениями. Надо грид еще доделывать. Функция "Выбрать все" может только там располагаться.
i>>>> А какой юзкейс предполагается? AN>>>Возможно в текущей версии не столь актуально, но когда у меня есть список "ответов мне" с десятком непрочитанных, проще всего выделить все и сказать "прочитать". Да и вообще Ctrl-A почти "стандартная" функция в винде, по крайней мере для меня.
I>>Понял.
I>Все нормально работает. I>Посмотри как сообщения заканчивающиеся смайлами цитируются I>Где-то ты перемудрил
Пока не имею понятия. Но раз у тебя работает, то дело весьма вероятно в хреновой поддержке утф8. Но не понимаю почему твоя "подпись" видна только в янусе при просмотре сообщения.
... << RSDN@Home 1.2.0 alpha 5-AN rev. 1495>>
Re[14]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AN>>Безусловно, все пользователи ненужный балласт, но пока нет запроса по ид пользователя, другое решение не видно.
AVK>Запрос то сделать несложно, но проблем это не решает.
А что тогда остается из проблем?
Делаем вначале список "нужных" пользователей, по мере закачки ставим флаг "закачан" и по мере прихода новых сообщений дополняем списк новыми "нужными" пользователями. Так как сообщения приходят до пользователей, то список будет актуальный. Хотя если год не синхронизироваться.....
... << RSDN@Home 1.2.0 alpha 5-AN rev. 1495>>
Re[16]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AlexNek, Вы писали:
AN>А что тогда остается из проблем?
1) Повторно запрашивать все профили каждый раз неправильно. Значит надо проверять, каких нет. Это, при разрастании БД, операция весьма затратная.
2) Уже скачанные профили периодически меняются. Как это отслеживать, учитывая что линейная последовательность при произвольном доступе отсутствует?
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AN>>А что тогда остается из проблем?
AVK>1) Повторно запрашивать все профили каждый раз неправильно. Значит надо проверять, каких нет. Это, при разрастании БД, операция весьма затратная.
Ну вроде идею я описал, только вот не знаю как при больших базах будет происходить отлов дубликата. То есть я сделал список нужных пользователей, хочу их кинуть в базу на запрос передачи, а они уже там есть. AVK>2) Уже скачанные профили периодически меняются. Как это отслеживать, учитывая что линейная последовательность при произвольном доступе отсутствует?
А как это сейчас отслеживается?
... << RSDN@Home 1.2.0 alpha 5-AN rev. 1495>>
Re[18]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AlexNek, Вы писали:
AVK>>1) Повторно запрашивать все профили каждый раз неправильно. Значит надо проверять, каких нет. Это, при разрастании БД, операция весьма затратная. AN>Ну вроде идею я описал
Ну вот в твоей идее будет запрос, в котором, с одной стороны до нескольких миллионов записей в таблице сообщений, а с другой несколько десятков тысяч записей в таблице пользователей. Джойн будет очень недешевым. И это на каждую синхронизацию.
AVK>>2) Уже скачанные профили периодически меняются. Как это отслеживать, учитывая что линейная последовательность при произвольном доступе отсутствует? AN>А как это сейчас отслеживается?
По максимальному rowversion. Но это работает только при последовательном (в плане изменений) считывании профилей. С произвольной выборкой такой режим несовместим.
Единственное, что придумывается — спрашивать пользователей по результатам последнего запроса в параллель с основным алгоритмом скачивания. Но это тоже ощутимо затормозит синхронизацию, так как нужно будет проверять до 1000 профилей на их присутствие в БД. Получается улучшение на первые несколько дней на свежей БД vs постоянные увеличивающиеся тормоза при последовательной эксплуатации. ИМХО, овчинка не стоит выделки. Лучше увеличить до 10К лимит.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AVK>>>1) Повторно запрашивать все профили каждый раз неправильно. Значит надо проверять, каких нет. Это, при разрастании БД, операция весьма затратная. AN>>Ну вроде идею я описал
AVK>Ну вот в твоей идее будет запрос, в котором, с одной стороны до нескольких миллионов записей в таблице сообщений, а с другой несколько десятков тысяч записей в таблице пользователей. Джойн будет очень недешевым. И это на каждую синхронизацию.
А откуда тут возьмется столько новых сообщений за раз (все равно 1000)? Во время приема делаем словарик который потом скидывам в базу, последнего считанного можно также где-то хранить.
AVK>>>2) Уже скачанные профили периодически меняются. Как это отслеживать, учитывая что линейная последовательность при произвольном доступе отсутствует? AN>>А как это сейчас отслеживается?
AVK>По максимальному rowversion. Но это работает только при последовательном (в плане изменений) считывании профилей. С произвольной выборкой такой режим несовместим.
А как вообще работает rowversion? Что то типа временной метки? получается что измененные профили попадают просто как новые? Нельзя ли просто совместить произвольный с паралельным? То бишь В какой то момент говорим что у нас база полная и потом берем только последовательно.
AVK>Единственное, что придумывается — спрашивать пользователей по результатам последнего запроса в параллель с основным алгоритмом скачивания. Но это тоже ощутимо затормозит синхронизацию, так как нужно будет проверять до 1000 профилей на их присутствие в БД. Получается улучшение на первые несколько дней на свежей БД vs постоянные увеличивающиеся тормоза при последовательной эксплуатации. ИМХО, овчинка не стоит выделки. Лучше увеличить до 10К лимит.
Против вроде никого нет, просто рассматриваем другие варианты.
... << RSDN@Home 1.2.0 alpha 5-AN rev. 1495>>
Re[20]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AlexNek, Вы писали:
AN> Во время приема делаем словарик который потом скидывам в базу, последнего считанного можно также где-то хранить.
А если синхронизация сбойнет?
AVK>>По максимальному rowversion. Но это работает только при последовательном (в плане изменений) считывании профилей. С произвольной выборкой такой режим несовместим. AN>А как вообще работает rowversion? Что то типа временной метки?
Да. Для клиента важно лишь знать, что это число непрерывно возрастает по временной оси.
AN>получается что измененные профили попадают просто как новые?
Просто нет такого понятия — измененные/новые.
AN> То бишь В какой то момент говорим что у нас база полная
Кто говорит?
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AN>> Во время приема делаем словарик который потом скидывам в базу, последнего считанного можно также где-то хранить.
AVK>А если синхронизация сбойнет?
То бишь сообщения будут в базе а пользователи нет? А если в одну транзакцию их?
AN>>получается что измененные профили попадают просто как новые?
AVK>Просто нет такого понятия — измененные/новые.
А что есть? Говорит ведь столько то пользователей получено значит среди них либо новые либо измененые.
AN>> То бишь В какой то момент говорим что у нас база полная
AVK>Кто говорит?
Да хоть бы и сетап.
... << RSDN@Home 1.2.0 alpha 5-AN rev. 1495>>
Re[22]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AlexNek, Вы писали:
AVK>>А если синхронизация сбойнет? AN>То бишь сообщения будут в базе а пользователи нет? А если в одну транзакцию их?
Включать в транзакцию обращение по сети — очень плохая идея.
AN>>> То бишь В какой то момент говорим что у нас база полная
AVK>>Кто говорит? AN>Да хоть бы и сетап.
Сетап в какой то момент?
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AVK>>>А если синхронизация сбойнет? AN>>То бишь сообщения будут в базе а пользователи нет? А если в одну транзакцию их?
AVK>Включать в транзакцию обращение по сети — очень плохая идея.
Я не говорил про сеть, только про запись в базу. Если собъется загрузка так не будет и записи.
AN>>>> То бишь В какой то момент говорим что у нас база полная
AVK>>>Кто говорит? AN>>Да хоть бы и сетап.
AVK>Сетап в какой то момент?
Или после первого старта, незнаю. Главное, что получаем пользователей по двум каналам.
... << RSDN@Home 1.2.0 alpha 5-AN rev. 1495>>
Re[24]: Проблема: пользователи загружаются по 1000 за цикл
Здравствуйте, AlexNek, Вы писали:
AN>Я не говорил про сеть, только про запись в базу. Если собъется загрузка так не будет и записи.
Ты не понял. Загрузили сообщения, записали в БД, полезли за пользователями и навернулись? Дальнейшие действия? Будет мержить сбойный словари и новый? Не слишком ли сложная система получается?
AVK>>Сетап в какой то момент? AN>Или после первого старта, незнаю.
Вот и я не знаю.
AN> Главное, что получаем пользователей по двум каналам.
Главное — чтобы количество проблем, привнесенных новой фичей, не было больше положительного эффекта от нее.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK> AN>Я не говорил про сеть, только про запись в базу. Если собъется загрузка так не будет и записи.
AVK> Ты не понял. Загрузили сообщения, записали в БД, полезли за пользователями и навернулись? Дальнейшие действия? Будет мержить сбойный словари и новый? Не слишком ли сложная система получается?
Загрузили сообщения, записали в БД, записали пользователей в запрос БД, полезли за пользователями и навернулись? Ну и фиг с ним у запросов не будет флага прочитано.
AVK> AVK>>Сетап в какой то момент?
AVK> AN>Или после первого старта, незнаю.
AVK> Вот и я не знаю.
Можно монетку кинуть
AVK> AN> Главное, что получаем пользователей по двум каналам.
AVK> Главное — чтобы количество проблем, привнесенных новой фичей, не было больше положительного эффекта от нее.
Согласен, но пока вроде никто не планирует подобного, просто иногда даже с "дурного" обсуждения можно вынести что то полезное.
Эх опасно, в Янусе чего набирать, установил авто синхронизацию, написал ответ и вылетело. Кто то в соседней ветке утверждал что Fast Fail это просто здорово.
database is locked ---> System.Data.SQLite.SQLiteException: The database file is locked
database is locked
at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
at BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
--- End of inner exception stack trace ---
at BLToolkit.Data.DbManager.OnOperationException(OperationType op, DataException ex)
at BLToolkit.Data.DbManager.HandleOperationException(OperationType op, Exception ex)
at BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
at BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
at BLToolkit.Data.DbManager.ExecuteNonQuery()
at BLToolkit.Data.DbManager.BLToolkit.Data.Linq.IDataContext.ExecuteNonQuery(Object query)
at BLToolkit.Data.Linq.Query`1.NonQueryQuery(IDataContextInfo dataContextInfo, Expression expr, Object[] parameters)
at BLToolkit.Data.Linq.Query`1.<SetNonQueryQuery>b__c(QueryContext ctx, IDataContextInfo db, Expression expr, Object[] ps)
at BLToolkit.Data.Linq.Table`1.System.Linq.IQueryProvider.Execute[TResult](Expression expression)
at BLToolkit.Data.Linq.LinqExtensions.Insert[T](IValueInsertable`1 source)
at Rsdn.Janus.OutboxHelper.AddOutboxMessage(IServiceProvider provider, IOutboxMessage message) in Y:\user_alex_new\dot_net\-Janus\Janus-Common\rsdn.ru\OutboxHelper.cs:line 50
at Rsdn.Janus.MessageForm.SaveMessage(Boolean closeOnSave) in Y:\user_alex_new\dot_net\-Janus\Janus\Features\ForumViewer\MessageEditor\MessageForm.cs:line 707
at Rsdn.Janus.MessageForm.SendMessage() in Y:\user_alex_new\dot_net\-Janus\Janus\Features\ForumViewer\MessageEditor\MessageForm.cs:line 825
at Rsdn.Janus.MessageEditorService.SendMessage() in Y:\user_alex_new\dot_net\-Janus\Janus\Features\ForumViewer\MessageEditor\MessageEditorService.cs:line 35
at Rsdn.Janus.MessageEditorCommandTarget.ExecuteSend(ICommandContext context) in Y:\user_alex_new\dot_net\-Janus\Janus\Features\ForumViewer\MessageEditor\Commands\MessageEditorCommandTarget.cs:line 21
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
Здравствуйте, AlexNek, Вы писали:
AN>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус? AN>И картинок чего то нет и при экпорте всего форума (Философия программирования) хтмл получается получается слишком "широким" (это дуреет
из за последней цитаты) Видимо в css лажа. Кто спец и может сразу сказать что править?
Картинки же вроде бы в базу не попадают? Болтаются внешними ссылками.
Или на нах даже ссылки теряются?
Кстати, тут совсем неясная выгода от экспорта сообщений, когда в них есть ссылки на внешние картинки.
Здравствуйте, ixor, Вы писали:
i> AN>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус? i> AN>И картинок чего то нет и при экпорте всего форума (Философия программирования) хтмл получается получается слишком "широким" (это дуреет
из за последней цитаты) Видимо в css лажа. Кто спец и может сразу сказать что править?
i> Картинки же вроде бы в базу не попадают? Болтаются внешними ссылками. i> Или на нах даже ссылки теряются? i> Кстати, тут совсем неясная выгода от экспорта сообщений, когда в них есть ссылки на внешние картинки.
С картинками я вообще не разбирался, но нет даже смайликов.
А с css и "-" похоже прийдется самому разбираться.
Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, ixor, Вы писали:
i>> AN>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус?
i>> Тире
i>>
i>> — (черта длиной в заглавную букву М)
AN>Кому в форуме эти отличия нужны и кто о них знает и помнит? Если бы этот символ еще везде нормально отображался.
Я помню, что — это не просто тире))) Поэтому и ссылку прислал)))) Чисто для информации.
Про глюк у мозилы в инете тишина. Были какие-то глюки, но в древних версиях.
Как тебе вот такой код?
/// <summary>
/// EN DASH
/// </summary>
/// <remarks><c>&ndash</c> in HTML</remarks>public static readonly string EnDash = Convert.ToChar(0x2013).ToString();
Здравствуйте, ixor, Вы писали:
i> AN>Здравствуйте, ixor, Вы писали:
i> i>> AN>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус?
i> i>> Тире
i> i>>
i> i>> — (черта длиной в заглавную букву М)
i> i>>
i> AN>Кому в форуме эти отличия нужны и кто о них знает и помнит? Если бы этот символ еще везде нормально отображался.
i> Я помню, что — это не просто тире))) Поэтому и ссылку прислал)))) Чисто для информации.
Спасибо конечно, но я имел в виду другое. Ведь когда в форуме пишешь, думается: сейчас поставлю малое тире, здесь требуется поширше, а тут нужно обязательно большое. То бишь есть в ответах "нормальный минус/тире" ну так и оставить его как есть. Какие были требования для такой конвертации.
i> Про глюк у мозилы в инете тишина. Были какие-то глюки, но в древних версиях.
А нафиг мне что искать — открываю а тама "квадратик" (3.5 разве уже древняя?)
i> Как тебе вот такой код? i>
i> /// <summary>
i> /// EN DASH
i> /// </summary>
i> /// <remarks><c>&ndash</c> in HTML</remarks>
i> public static readonly string EnDash = Convert.ToChar(0x2013).ToString();
i>
Какие то двойственные чувства.
Если бы был уже готовый набор констант и от них генерить строки, то было бы более положительно. А так мне лично более приятней эта запись
public const string EnDash = "&ndash"; // 0x2013
Но это типа, "тебе больше нравятся брюнетки или блондинки"
Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, ixor, Вы писали:
i>> AN>Здравствуйте, ixor, Вы писали:
i>> i>> AN>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус?
i>> i>> Тире
i>> i>>
i>> i>> — (черта длиной в заглавную букву М)
i>> i>>
i>> AN>Кому в форуме эти отличия нужны и кто о них знает и помнит? Если бы этот символ еще везде нормально отображался.
i>> Я помню, что — это не просто тире))) Поэтому и ссылку прислал)))) Чисто для информации. AN>Спасибо конечно, но я имел в виду другое. Ведь когда в форуме пишешь, думается: сейчас поставлю малое тире, здесь требуется поширше, а тут нужно обязательно большое. То бишь есть в ответах "нормальный минус/тире" ну так и оставить его как есть. Какие были требования для такой конвертации.
А они разве были? 0_о
anw, если проблемно, то можно и "-", но насколько я помню, в html нету минуса — есть —
Скинь в почту пример, где не отображается, 3го числа гляну, если не забуду
i>> Про глюк у мозилы в инете тишина. Были какие-то глюки, но в древних версиях. AN>А нафиг мне что искать — открываю а тама "квадратик" (3.5 разве уже древняя?)
А с кодировками точно всё нормально???
i>> Как тебе вот такой код? i>>
i>> /// <summary>
i>> /// EN DASH
i>> /// </summary>
i>> /// <remarks><c>&ndash</c> in HTML</remarks>
i>> public static readonly string EnDash = Convert.ToChar(0x2013).ToString();
i>>
AN>Какие то двойственные чувства. AN>Если бы был уже готовый набор констант и от них генерить строки, то было бы более положительно. А так мне лично более приятней эта запись AN>
public const string EnDash = "&ndash"; // 0x2013
AN>
AN>Но это типа, "тебе больше нравятся брюнетки или блондинки"
&ndash не отображается в WindowsForms и производных, а Convert.ToChar(0x2013).ToString()
Это был пример из жизни, используется везде где нужен символ "-" в WF 2.0
Здравствуйте, ixor, Вы писали:
i> AN>Здравствуйте, ixor, Вы писали:
i> i>> AN>Здравствуйте, ixor, Вы писали:
i> i>> i>> AN>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус?
i> i>> i>> Тире
i> i>> i>>
i> i>> i>> — (черта длиной в заглавную букву М)
i> i>> i>>
i> i>> AN>Кому в форуме эти отличия нужны и кто о них знает и помнит? Если бы этот символ еще везде нормально отображался.
i> i>> Я помню, что — это не просто тире))) Поэтому и ссылку прислал)))) Чисто для информации.
i> AN>Спасибо конечно, но я имел в виду другое. Ведь когда в форуме пишешь, думается: сейчас поставлю малое тире, здесь требуется поширше, а тут нужно обязательно большое. То бишь есть в ответах "нормальный минус/тире" ну так и оставить его как есть. Какие были требования для такой конвертации.
i> А они разве были? 0_о
А нафига тогда было еще делать? Я всегда набираю "-". Хотя может кто, что другое набирает? i> anw, если проблемно, то можно и "-", но насколько я помню, в html нету минуса — есть — i> Скинь в почту пример, где не отображается, 3го числа гляну, если не забуду
Счас поищу тест.... не нашел, тогда отправлю это сообщение и сделаю ему экспорт, я то точно минус вбил
i> i>> Про глюк у мозилы в инете тишина. Были какие-то глюки, но в древних версиях.
i> AN>А нафиг мне что искать — открываю а тама "квадратик" (3.5 разве уже древняя?)
i> А с кодировками точно всё нормально???
А разве подобные вещи зависят от кодировки?
i> AN>Какие то двойственные чувства. i> AN>Если бы был уже готовый набор констант и от них генерить строки, то было бы более положительно. А так мне лично более приятней эта запись i> AN>
public const string EnDash = "&ndash"; // 0x2013
i> AN>
i> AN>Но это типа, "тебе больше нравятся брюнетки или блондинки"
i> &ndash не отображается в WindowsForms и производных, а Convert.ToChar(0x2013).ToString() i> Это был пример из жизни, используется везде где нужен символ "-" в WF 2.0
Подожди, тире или минус? Ну если "платформно независимое" представление символа, то нормалек. А константу (для 0x2013) отчего не использовать?
Здравствуйте, AlexNek, Вы писали:
AN>Это также исправил. Возможно лучше было иф инвертировать, но так уж с решарпером автоматом получилось. Может позже и поменяю.
AN>
public static string ToHexString(this byte[] array)
AN> {
AN> if (array != null)
AN> {
AN> StringBuilder sb = new StringBuilder(array.Length * 2);
AN> foreach (byte b in array)
AN> {
AN> sb.AppendFormat(CultureInfo.InvariantCulture, "{0:X2}", b);
AN> }
AN> return sb.ToString();
AN> }
AN> return string.Empty;
AN> }
AN>
Здравствуйте, ixor, Вы писали:
I>Здравствуйте, AlexNek, Вы писали:
AN>>Это также исправил. Возможно лучше было иф инвертировать, но так уж с решарпером автоматом получилось. Может позже и поменяю.
AN>>
public static string ToHexString(this byte[] array)
AN>> {
AN>> if (array != null)
AN>> {
AN>> StringBuilder sb = new StringBuilder(array.Length * 2);
AN>> foreach (byte b in array)
AN>> {
AN>> sb.AppendFormat(CultureInfo.InvariantCulture, "{0:X2}", b);
AN>> }
AN>> return sb.ToString();
AN>> }
AN>> return string.Empty;
AN>> }
AN>>
I>Fixed rev 1513
Я уже и забыл о чем речь, но главное что пошло на пользу дела.
Стабильно падает, если попытаться экспортировать сообщения сразу из поиска
Janus\Features\Search\SearchDummyForm.cs
В методе
public IEnumerable<IMsg> SelectedMessages
System.InvalidOperationException was unhandled
Message=Недопустимая операция в нескольких потоках: попытка доступа к элементу управления "_tgMsgs" не из того потока, в котором он был создан.
Source=System.Windows.Forms
StackTrace:
в System.Windows.Forms.Control.get_Handle()
в System.Windows.Forms.Control.SendMessage(Int32 msg, Int32 wparam, Int32 lparam)
в System.Windows.Forms.ListView.SelectedIndexCollection.get_Count()
в Rsdn.TreeGrid.TreeGrid.get_SelectedNodes()
в Rsdn.Janus.SearchDummyForm.get_SelectedMessages() в D:\source\RSDN@HOME.VS2010\Janus\Features\Search\SearchDummyForm.cs:строка 233
в Rsdn.Janus.ObjectModel.SearchFeature.get_ActiveMessages() в D:\source\RSDN@HOME.VS2010\Janus\Features\Search\SearchFeature.cs:строка 65
в Rsdn.Janus.FeatureActiveMessageService.get_ActiveMessages() в D:\source\RSDN@HOME.VS2010\Janus\Features\ForumViewer\FeatureActiveMessageService.cs:строка 29
в Rsdn.Janus.MessageExporter.GetMessages(IServiceProvider provider, ExportMode exportMode, Boolean unreadMessagesOnly) в D:\source\RSDN@HOME.VS2010\Janus\Features\ForumViewer\Export\MessageExporter.cs:строка 126
в Rsdn.Janus.MessageExporter.ExportWorker(IProgressVisualizer progressVisualizer, IServiceProvider provider, ExportMessageDialog exportMessageDialog) в D:\source\RSDN@HOME.VS2010\Janus\Features\ForumViewer\Export\MessageExporter.cs:строка 64
в Rsdn.Janus.MessageExporter.<>c__DisplayClass9.<Export>b__5(IProgressVisualizer progressVisualizer) в D:\source\RSDN@HOME.VS2010\Janus\Features\ForumViewer\Export\MessageExporter.cs:строка 176
в Rsdn.Janus.ProgressWorker.<>c__DisplayClass2.<Run>b__0(AsyncOperation asyncOp) в D:\source\RSDN@HOME.VS2010\Janus-Common\Utils\ProgressWorker.cs:строка 45
в Rsdn.Janus.AsyncHelper.<>c__DisplayClass10.<RunAsync>b__f(Object state) в D:\source\RSDN@HOME.VS2010\Janus-Common\Utils\AsyncHelper.cs:строка 122
в System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
InnerException:
... << RSDN@Home 1.2.0 alpha 5 rev. 1523>>
Re: "Cannot parse '*': '*' or '?' not allowed as first chara
Что бы не плодить новые темы решил прикрепить к этой.
Валится при поиске по -> "*********"
Lucene.Net.QueryParsers.ParseException was unhandled
Message=Cannot parse '*********': '*' or '?' not allowed as first character in WildcardQuery
Source=Lucene.Net
StackTrace:
в Lucene.Net.QueryParsers.QueryParser.Parse(String query)
в Rsdn.Janus.SearchHelper.Search(Int32 forumID, String searchText, Boolean searchInText, Boolean searchInSubject, Boolean searchAuthor, Boolean searchInMyMessages, Boolean searchAnyWords, DateTime from, DateTime to) в D:\source\RSDN@HOME.VS2010\Janus\Features\Search\SearchHelper.cs:строка 203
в Rsdn.Janus.SearchHelper.SearchMessagesByLucene(IServiceProvider provider, Int32 forumId, String searchText, Boolean searchInText, Boolean searchInSubject, Boolean searchAuthor, Boolean searchInMarked, Boolean searchInMyMessages, Boolean searchAnyWords, Boolean searchInQuestions, DateTime from, DateTime to) в D:\source\RSDN@HOME.VS2010\Janus\Features\Search\SearchHelper.cs:строка 288
в Rsdn.Janus.SearchDummyForm.<>c__DisplayClass5.<BtnSearchClick>b__2(IProgressVisualizer pi) в D:\source\RSDN@HOME.VS2010\Janus\Features\Search\SearchDummyForm.cs:строка 383
в Rsdn.Janus.ProgressWorker.<>c__DisplayClass2.<Run>b__0(AsyncOperation asyncOp) в D:\source\RSDN@HOME.VS2010\Janus-Common\Utils\ProgressWorker.cs:строка 45
в Rsdn.Janus.AsyncHelper.<>c__DisplayClass10.<RunAsync>b__f(Object state) в D:\source\RSDN@HOME.VS2010\Janus-Common\Utils\AsyncHelper.cs:строка 122
в System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
InnerException: Lucene.Net.QueryParsers.ParseException
Message='*' or '?' not allowed as first character in WildcardQuery
Source=Lucene.Net
StackTrace:
в Lucene.Net.QueryParsers.QueryParser.GetWildcardQuery(String field, String termStr)
в Lucene.Net.QueryParsers.QueryParser.Term(String field)
в Lucene.Net.QueryParsers.QueryParser.Clause(String field)
в Lucene.Net.QueryParsers.QueryParser.Query(String field)
в Lucene.Net.QueryParsers.QueryParser.TopLevelQuery(String field)
в Lucene.Net.QueryParsers.QueryParser.Parse(String query)
InnerException:
Здравствуйте, AlexNek, Вы писали:
AN>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус? AN>И картинок чего то нет и при экпорте всего форума (Философия программирования) хтмл получается получается слишком "широким" (это дуреет
из за последней цитаты) Видимо в css лажа. Кто спец и может сразу сказать что править?
Хтмл получается слишком широким из-за тегов <pre> при вставке кода например или вот еще хороший пример — сообщения приходившие от тебя, когда ты эксперементировал редактором (там очень много звездочек в одной строке).
Если первый вариант (с кодом) можно хоть как-то "ужать", хотя он и становится от этого плохо читабельным, то со звездочками совсем всё плохо и простого решения под рукой нет. Php-шники рекомендуют использовать встроенную функцию wordwrap с количеством символов для урезания строки Это тоже самое, что при экспорте текста на ширину 80 символов, но если там это оправдано, то при
Извини, или ты уже поправил что-то в MessageExporter.cs (Да, кстати, этот файл я утащил с твоего репо без изменений!) или я не понимаю что там может "дуреть" У меня отлично всё отображается и ресайзится, никаких аномалий я не нашел.
Вот кто действительно "дуреет" от экспорта, так это IE9.
Здравствуйте, ixor, Вы писали:
I>Здравствуйте, AlexNek, Вы писали:
AN>>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус?
I>Проверено & mdash ; прекрасно отображается в Firefox 4.0.1.
Если мои любимые аддоны не будут там работать... (тогда, что бы тебе только на юниксе работать )
Здравствуйте, ixor, Вы писали:
I>Здравствуйте, AlexNek, Вы писали:
I>Стабильно падает, если попытаться экспортировать сообщения сразу из поиска I>[cut=Janus\Features\Search\SearchDummyForm.cs] I>В методе I>
I>public IEnumerable<IMsg> SelectedMessages
I>
I>
I>System.InvalidOperationException was unhandled
I> Message=Недопустимая операция в нескольких потоках: попытка доступа к элементу управления "_tgMsgs" не из того потока, в котором он был создан.
....
I>
Здравствуйте, ixor, Вы писали:
I>Здравствуйте, AlexNek, Вы писали:
AN>>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус? AN>>И картинок чего то нет и при экпорте всего форума (Философия программирования) хтмл получается получается слишком "широким" (это дуреет
из за последней цитаты) Видимо в css лажа. Кто спец и может сразу сказать что править?
I>Хтмл получается слишком широким из-за тегов <pre> при вставке кода например или вот еще хороший пример — сообщения приходившие от тебя, когда ты эксперементировал редактором (там очень много звездочек в одной строке). I>Если первый вариант (с кодом) можно хоть как-то "ужать", хотя он и становится от этого плохо читабельным, то со звездочками совсем всё плохо и простого решения под рукой нет. Php-шники рекомендуют использовать встроенную функцию wordwrap с количеством символов для урезания строки Это тоже самое, что при экспорте текста на ширину 80 символов, но если там это оправдано, то при
I>
I>Извини, или ты уже поправил что-то в MessageExporter.cs
А фиг его знает, вроде после правки туда больше не лазил. I>(Да, кстати, этот файл я утащил с твоего репо без изменений!)
Хоть раз стало приятно из за того, что что то стащили I>или я не понимаю что там может "дуреть" У меня отлично всё отображается и ресайзится, никаких аномалий я не нашел.
вот из-за этого "Хтмл получается слишком широким из-за тегов <pre>". Я правда пробовал только в моей версии лисы (3.5).
I>Вот кто действительно "дуреет" от экспорта, так это IE9.
Я только в 8-му успел привыкнуть , а тут уже и 9-й
Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, ixor, Вы писали:
I>>Здравствуйте, AlexNek, Вы писали:
AN>>>Еще почему то & mdash ; мозилла не воспринимает. Ошибка в мозилле? И почему не оставить просто минус?
I>>Проверено & mdash ; прекрасно отображается в Firefox 4.0.1. AN>Если мои любимые аддоны не будут там работать... (тогда, что бы тебе только на юниксе работать )
Кроме того часть диалогов определена как нейтральные, а часть как русские, не знаю также везде ли была включена поддержка многоязычия в диалогах.
Еще в парочке было включено автоматическое изменение размеров, от которого дизайнер форм входит в шок и меняет положение элементов как хочет.
AN>Кроме того часть диалогов определена как нейтральные, а часть как русские, не знаю также везде ли была включена поддержка многоязычия в диалогах.
Хм. Какие должны стоять?
AN>Еще в парочке было включено автоматическое изменение размеров, от которого дизайнер форм входит в шок и меняет положение элементов как хочет.
BuildIndexForm — подлежит переделке полностью.
Если я не ошибаюсь, то необходимости в SP1RequiredForm.cs больше нет или Янус под 2.0 SP1 запустится? Вроде — нет.
SelectDB.cs — подлежит переделке вместе с логикой первичной загрузки.
EnterTopicMessageIdForm — я вроде локализовал совсем недавно.
FindDialogForm — функционал вроде бы есть, но нет шортката 0_о и даже упоминания о нём настройках. Форма-привидение
С уважением, ixor.
<< RSDN@Home 1.2.0 alpha 5 rev. 1526>> Windows 7 x86 v6.1.7601.65536 framework v2.0.50727.5446
Здравствуйте, ixor, Вы писали:
I>Если я не ошибаюсь, то необходимости в SP1RequiredForm.cs больше нет или Янус под 2.0 SP1 запустится? Вроде — нет.
Поддержка голого 2.0 дропнута довольно давно.
I>FindDialogForm — функционал вроде бы есть, но нет шортката 0_о и даже упоминания о нём настройках. Форма-привидение
Поиск в редакторе — шорткат обеспечивается сцинтиллой вроде бы.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495 on Windows 7 6.1.7601.65536>>
i> AN>Кроме того часть диалогов определена как нейтральные, а часть как русские, не знаю также везде ли была включена поддержка многоязычия в диалогах.
i> Хм. Какие должны стоять?
С этим нужно определиться, но по крайней мере должно быть одинаково. На моей системе все "нейтральные" диалоги отображаются на английском и только русские на русском.
Я у себя в ветке допустил большую ошибку предположив, что язык проекта по умолчанию русский, теперь у меня по три файла ресурсов к диалогу en, ru, default. Прийдется опять править и ставить английский по умолчанию, тогда будет как и было — ru и default (хотя при этом прийдется вначале все тексты писать на англицком). Зато получится один екзел файл для перевода и проверки (правда пока без шорткатов — их видимо прийдется переделывать).
И текстов на проект слишком много, прога локализации вылетала пару раз по недостатку памяти
i> AN>Еще в парочке было включено автоматическое изменение размеров, от которого дизайнер форм входит в шок и меняет положение элементов как хочет.
По формам я только написал, какие проблемы с русским обнаружены, больше ничего не рыл и даже не думал Спасибо, что описал проблемы.
i> BuildIndexForm — подлежит переделке полностью.
i> Если я не ошибаюсь, то необходимости в SP1RequiredForm.cs больше нет или Янус под 2.0 SP1 запустится? Вроде — нет.
i> SelectDB.cs — подлежит переделке вместе с логикой первичной загрузки.
i> EnterTopicMessageIdForm — я вроде локализовал совсем недавно.
Я то этого не знал
i> FindDialogForm — функционал вроде бы есть, но нет шортката 0_о и даже упоминания о нём настройках. Форма-привидение
Здравствуйте, AndrewVK, Вы писали:
AVK> I>Если я не ошибаюсь, то необходимости в SP1RequiredForm.cs больше нет или Янус под 2.0 SP1 запустится? Вроде — нет.
AVK> Поддержка голого 2.0 дропнута довольно давно.
А что будет если в системе не будет 3.5, будет что то вразумительное сказано?
Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, AndrewVK, Вы писали:
AVK>> I>Если я не ошибаюсь, то необходимости в SP1RequiredForm.cs больше нет или Янус под 2.0 SP1 запустится? Вроде — нет.
AVK>> Поддержка голого 2.0 дропнута довольно давно.
AN>А что будет если в системе не будет 3.5, будет что то вразумительное сказано?
Просто не запустится.
<< RSDN@Home 1.2.0 alpha 5-AN-R5 rev. 5554>> Windows 7 x86 v6.1.7601.65536 framework v2.0.50727.5446
Здравствуйте, ixor, Вы писали:
i> AN>Этот диалог не мог открыть в дизайнере FavoritesSelectFolderForm
i> Этот открывается нормально.
У меня там проблема с этой строкой
Ее похоже дизайнер вставляет, а после этого в упор не понимает.
i> Не открывается MessageForm из-за _serviceManager.
А у меня открывается без проблем но там настолько большая сейчас разница что сравнить не представляется возможным.
Спасибо, за отчеты о проблемах, но я сейчас ничего не могу делать.
Сегодня, с утра винда вообще не хотела грузится, только к вечеру восстановил.
Визуал студио вылетает почти через каждые полчаса, как только начинаю рефакторинг делать.
После одного из вылетов прога локализации попортила свою базу и теперь отказывается работать.
В общем, борюсь пока с "привидениями"
Здравствуйте, AlexNek, Вы писали:
i>> Не открывается MessageForm из-за _serviceManager. AN>А у меня открывается без проблем но там настолько большая сейчас разница что сравнить не представляется возможным.
Я глянул твой код, ты там отрекфакторил этот кусок, но он все равно глючит вот так
Здравствуйте, ixor, Вы писали:
i> i>> Не открывается MessageForm из-за _serviceManager.
i> AN>А у меня открывается без проблем но там настолько большая сейчас разница что сравнить не представляется возможным.
i> Я глянул твой код, ты там отрекфакторил этот кусок, но он все равно глючит вот так
На выбор форумов я вообще внимания не обращал, так как ни разу еще не пользовался .
Как завалы разгребу, гляну.
Там дофига чего было: автосохранение, вопрос при закрытии, ограничение длины названия темы..
Собственно вот такой патч у меня получился по твоим исходникам.
Он не компиляется из за вот этой строки:
UrlHelper.cspublic static bool IsSchemePresent(string url)
{
Match match = TextFormatter.ParseUrl(url);return IsSchemePresent(match);
}
TextFormatter.ParseUrl — протектед.
Вопрос к AVK: Нормально ли использование TextFormatter в коде повсеместно? Если нормально, то надо его праваить. У меня прав доступа к его репозитарию нет.
Вопрос к AlexNek: похоже исправления в этом методе не имеют никакого отношения к форматтерам и это просто попутный рефакторинг?
Здравствуйте, ixor, Вы писали:
I>TextFormatter.ParseUrl — протектед.
I>Вопрос к AVK: Нормально ли использование TextFormatter в коде повсеместно?
ХЗ. Но, наверное, можно.
I> Если нормально, то надо его праваить. У меня прав доступа к его репозитарию нет.
У TextFormatter есть наследник в янусе, JanusFormatMessage. Можно вытащить в нем как публичный метод. Заодно, по возможности, убрав Match из публичного интерфейса.
I>Вопрос к AlexNek: похоже исправления в этом методе не имеют никакого отношения к форматтерам и это просто попутный рефакторинг?
На рефакторинг непохоже, логика меняется. Раньше этот метод при отсутствии юзера выкидывал исключение.
Только написан он на редкость криво. Count приводит к отдельному запросу в БД. Всего то нужно сделать как то так:
return
db
.Users(u => u.ID == userID)
.Select(
u =>
FormatAuthor(
u.ID,
u.UserClass,
u.DisplayName(),
false))
.SingleOrDefault()
?? "Nothing";
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, ixor, Вы писали:
I>>TextFormatter.ParseUrl — протектед.
I>>Вопрос к AVK: Нормально ли использование TextFormatter в коде повсеместно?
AVK>ХЗ. Но, наверное, можно.
I>> Если нормально, то надо его праваить. У меня прав доступа к его репозитарию нет.
AVK>У TextFormatter есть наследник в янусе, JanusFormatMessage. Можно вытащить в нем как публичный метод. Заодно, по возможности, убрав Match из публичного интерфейса.
Собственно вопрос и родился из-за наследника JanusFormatMessage.
В простейшем случае(без скрытия Match) там получается очень уродская перегрузка с вызовом родителя и такое в репо я закидывать не стал (оставил как рабочий вариант).
Посмотрю как будет со скрытием Match.
I>>Вопрос к AlexNek: похоже исправления в этом методе не имеют никакого отношения к форматтерам и это просто попутный рефакторинг?
AVK>На рефакторинг непохоже, логика меняется. Раньше этот метод при отсутствии юзера выкидывал исключение. AVK>Только написан он на редкость криво. Count приводит к отдельному запросу в БД. Всего то нужно сделать как то так: AVK>
I>Собственно так и было. Может Алекс вспомнит, что он хотел сделать.
Так точно не было, был просто Single, который выкидывает исключение. Алекс, видимо, боролся с исключениями — и где то (скорее всего в каком то из отчетов) вылетало исключение при неполной базе юзеров. Либо сам где то запользовал, где пользователя может не быть. "Nothing", кстати, тоже не самая удачная идея — лучше все таки null возвращать, а ?? добавлять снаружи, если где требуется.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
I>>Собственно так и было. Может Алекс вспомнит, что он хотел сделать.
AVK>Так точно не было, был просто Single, который выкидывает исключение. Алекс, видимо, боролся с исключениями — и где то (скорее всего в каком то из отчетов) вылетало исключение при неполной базе юзеров. Либо сам где то запользовал, где пользователя может не быть. "Nothing", кстати, тоже не самая удачная идея — лучше все таки null возвращать, а ?? добавлять снаружи, если где требуется.
Я вставил "как велено" — собиру-покатаюсь-посмотрю как работает. Не зная подводных камней держусь подальше от запросов к БД, даже решарперу не доверяю что-то там менять. Тестов нету. Мало ли что там может быть.
Здравствуйте, ixor, Вы писали:
I>Здравствуйте, AlexNek, Вы писали:
I>Собственно вот такой патч у меня получился по твоим исходникам. I>Он не компиляется из за вот этой строки:
I>
I>UrlHelper.cs
I> public static bool IsSchemePresent(string url)
I> {
I> Match match = TextFormatter.ParseUrl(url);
I> return IsSchemePresent(match);
I> }
I>
I>TextFormatter.ParseUrl — протектед.
Да, это было первое исправление в еще в мае и причина, по которой я стащил исходники проекта, после этого было еще 6 исправлений для TextFormatter
Но, когда делал патч уже успел забыть об этом
I>Вопрос к AlexNek: похоже исправления в этом методе не имеют никакого отношения к форматтерам и это просто попутный рефакторинг? I>
Это уже попало в новый репозиторий в этом виде, никакой дополнительный инфы с марта не сохранилось, видимо был тяжелый вылет сразу. Но похоже уже разобрались.
Хоть так и на какие то миллисекунды оптимальней, подобная запись мне довольно непривычна. Ну и три уровня вложенности с точки зрения отладки тоже не очень нравится.
I>>Собственно так и было. Может Алекс вспомнит, что он хотел сделать.
Нее, у меня дефрагментация памяти включена на автомат для подобных случаев.
Здравствуйте, AlexNek, Вы писали:
AN>Хоть так и на какие то миллисекунды оптимальней
Я бы сказал на сотни миллисекунд.
AN>подобная запись мне довольно непривычна
Что именно тебе непривычно? Запрос и в твоем варианте практически такой же. Или тебе оператор "??" незнаком?
AN>. Ну и три уровня вложенности с точки зрения отладки тоже не очень нравится.
Нет там никаких уровней вложенности.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AN>>Хоть так и на какие то миллисекунды оптимальней
AVK>Я бы сказал на сотни миллисекунд.
А насколько часто происходит данный запрос?
AN>>подобная запись мне довольно непривычна
AVK>Что именно тебе непривычно? Запрос и в твоем варианте практически такой же. Или тебе оператор "??" незнаком?
Да все. У нас только 2.0 и ни капли больше. Все остальное скажем, примерно известно, но нужно задумываться...
AN>>. Ну и три уровня вложенности с точки зрения отладки тоже не очень нравится.
AVK>Нет там никаких уровней вложенности.
Как тогда называть подобную конструкцию?
Здравствуйте, AlexNek, Вы писали:
AVK>>Я бы сказал на сотни миллисекунд. AN>А насколько часто происходит данный запрос?
Понятия не имею, смотреть надо. Но твой вариант еще и хуже читается, так что никакого смысла в двойном запросе нету.
AVK>>Что именно тебе непривычно? Запрос и в твоем варианте практически такой же. Или тебе оператор "??" незнаком? AN>Да все. У нас только 2.0 и ни капли больше.
Оператор ?? доступен начиная с 2.0. Опять же повод ознакомится с возможностями хотя бы 3 шарпа, 5 лет уж прошло как никак, пора.
AVK>>Нет там никаких уровней вложенности. AN>Как тогда называть подобную конструкцию?
Эта конструкция просто конструирует expression tree запроса. Само дерево конечно иерархично, но не вижу никакой в этом проблемы.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AVK>>>Я бы сказал на сотни миллисекунд. AN>>А насколько часто происходит данный запрос?
AVK>Понятия не имею, смотреть надо. Но твой вариант еще и хуже читается, так что никакого смысла в двойном запросе нету.
Я не имею намерения сравнивать варианты на предмет лучше/хуже. Просто интересно.
А при чем двойной запрос и хуже читается?
Да и откуда знать что будет запрос? По крайней мере сразу видно, что если количество пользователей равно нулю, то ничего не делать.
AVK>>>Что именно тебе непривычно? Запрос и в твоем варианте практически такой же. Или тебе оператор "??" незнаком? AN>>Да все. У нас только 2.0 и ни капли больше.
AVK>Оператор ?? доступен начиная с 2.0. Опять же повод ознакомится с возможностями хотя бы 3 шарпа, 5 лет уж прошло как никак, пора.
Не знаю почему, но у нас он запрещен.
Ознакомится и повседневно использовать — разные вещи.
Давай ты с Руби ознакомишься, а потом с одного взгляда скажешь скажешь, что делает файлик?
Я как то на одну строку из старого проекта смотрел, смотрел — вообще непонятно что делает. Пришлось по частям разбирать и искать, и по новому перечитывать.
AVK>>>Нет там никаких уровней вложенности. AN>>Как тогда называть подобную конструкцию?
AVK>Эта конструкция просто конструирует expression tree запроса. Само дерево конечно иерархично, но не вижу никакой в этом проблемы.
Ну если у тебя сразу перед глазами появляется дерево то это здорово.
Я привык знать тип каждой переменной и иметь возможность глянуть списочек в отладчике 2008
Вот что ты будешь делать с отладкой следующей записи и о чем она тебе говорит?
return A().B().C().D();
А этот вариант? Даже с "дурными" именами можно примерно догадаться что происходит и проверить каждый результат.
Здравствуйте, AlexNek, Вы писали:
AN>А при чем двойной запрос и хуже читается?
Вопрос непонятен.
AN>Да и откуда знать что будет запрос?
Count и Single ленивость сворачивают.
AN> По крайней мере сразу видно, что если количество пользователей равно нулю, то ничего не делать.
А если не равно?
AVK>>Оператор ?? доступен начиная с 2.0. Опять же повод ознакомится с возможностями хотя бы 3 шарпа, 5 лет уж прошло как никак, пора. AN>Не знаю почему, но у нас он запрещен.
И что? Так и будешь всю жизнь в болоте сидеть? У нас тоже одно время был "запрещен". Правда, я в курсе был почему. Теперь разрешен, теперь я все больше на 4 поглядываю, хотя мне скорее не язык, а фреймворк и студия новые нужны.
AN>Ознакомится и повседневно использовать — разные вещи.
Ты планируешь всю жизнь на одном месте работать?
AN>Давай ты с Руби ознакомишься, а потом с одного взгляда скажешь скажешь, что делает файлик?
Понадобится — ознакомлюсь. Полгода назад питон вот понадобился — ничего, справился без особых проблем.
AVK>>Эта конструкция просто конструирует expression tree запроса. Само дерево конечно иерархично, но не вижу никакой в этом проблемы. AN>Ну если у тебя сразу перед глазами появляется дерево то это здорово.
Оно не нужно перед глазами.
AN>Я привык знать тип каждой переменной
От дурных привычек нужно отучаться.
AN> и иметь возможность глянуть списочек в отладчике 2008
Список чего?
AN>Вот что ты будешь делать с отладкой следующей записи и о чем она тебе говорит? AN>
AN>return A().B().C().D();
AN>
Да все как обычно. Что именно тебя смущает? И зачем вообще тебе часто отлаживать формирование дерева запроса?
AN>А этот вариант? Даже с "дурными" именами можно примерно догадаться что происходит и проверить каждый результат. AN>
Ну и? Намного сложнее такая каша читается. Ты из-за гипотетической отладки исходники ненужным шумом засоряешь? Тогда срочно отучайся от таких привычек. Если тебя, конечно, профессиональный рост интересует.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AN>>А при чем двойной запрос и хуже читается?
AVK>Вопрос непонятен.
Но твой вариант еще и хуже читается, так что никакого смысла в двойном запросе нету.
Этоя твой ответ не понял
AN>>Да и откуда знать что будет запрос?
AVK>Count и Single ленивость сворачивают.
Ну вот и новое узнал
AN>> По крайней мере сразу видно, что если количество пользователей равно нулю, то ничего не делать.
AVK>А если не равно?
Тогда будет "какая то фигня" выполнятся.
AVK>>>Оператор ?? доступен начиная с 2.0. Опять же повод ознакомится с возможностями хотя бы 3 шарпа, 5 лет уж прошло как никак, пора. AN>>Не знаю почему, но у нас он запрещен.
AVK>И что? Так и будешь всю жизнь в болоте сидеть? У нас тоже одно время был "запрещен". Правда, я в курсе был почему.
Я только делаю догадки, что его не поддерживает наша система CI. AVK>Теперь разрешен, теперь я все больше на 4 поглядываю, хотя мне скорее не язык, а фреймворк и студия новые нужны.
AN>>Ознакомится и повседневно использовать — разные вещи.
AVK>Ты планируешь всю жизнь на одном месте работать?
Я и так сейчас по проектам работаю. Сделал и "свободен". Сейчас просто "большой" попался. Хотя и не люблю без особой нужды нормальное место менять.
Кстати, самая фиговая и неинтересная работа была в одной большой и довольно известной фирме.
AN>>Давай ты с Руби ознакомишься, а потом с одного взгляда скажешь скажешь, что делает файлик?
AVK>Понадобится — ознакомлюсь. Полгода назад питон вот понадобился — ничего, справился без особых проблем.
Дело не в том, что справишься или нет, а в отличии постоянного использования и знания.
Я с питоном тоже справился когда надо было, но если сейчас что спросишь посложнее, наверняка не отвечу.
AVK>>>Эта конструкция просто конструирует expression tree запроса. Само дерево конечно иерархично, но не вижу никакой в этом проблемы. AN>>Ну если у тебя сразу перед глазами появляется дерево то это здорово.
AVK>Оно не нужно перед глазами.
Кому как.
AN>>Я привык знать тип каждой переменной
AVK>От дурных привычек нужно отучаться.
Отчего считаешь дурной привычкой?
AN>> и иметь возможность глянуть списочек в отладчике 2008
AVK>Список чего?
список элементов.
AN>>Вот что ты будешь делать с отладкой следующей записи и о чем она тебе говорит? AN>>
AN>>return A().B().C().D();
AN>>
AVK>Да все как обычно. Что именно тебя смущает? И зачем вообще тебе часто отлаживать формирование дерева запроса?
Это не обязательно дерево запроса — это принцип. Вот если это будет возврат для Funct1 и она используется так
g(Funct1)
и насколько будет удобно глянуть что то же возвратила функция? AN>>А этот вариант? Даже с "дурными" именами можно примерно догадаться что происходит и проверить каждый результат. AN>>
AVK>Ну и? Намного сложнее такая каша читается.
Но по крайней мере понятно, что делается без всяких знаний об остальном. Что бы получить такую же информацию от одной строки нужно хорошо пошерстить исходникии побегать туда-сюда.
При этом я не утвержаю что такая запись всегда полезна. AVK>Ты из-за гипотетической отладки исходники ненужным шумом засоряешь?
Это не только отладка но и понимание. Вполне возможно, что если в проекте будет достаточное количество подобных конструкций и они будет восприниматься "на автомате", то это и будет шумом иначе это подспорье для другого. AVK>Тогда срочно отучайся от таких привычек. Если тебя, конечно, профессиональный рост интересует.
Честно говоря не вижу связи, а без учебы и так неинтересно.
Здравствуйте, AlexNek, Вы писали:
AN>>>А при чем двойной запрос и хуже читается? AVK>>Вопрос непонятен. AN>
AN>Но твой вариант еще и хуже читается, так что никакого смысла в двойном запросе нету.
AN>
AN>Этоя твой ответ не понял
В твоем варианте кода сильно больше, и он не полностью декларативный. Как следствие — читаемость его хуже.
AVK>>Count и Single ленивость сворачивают. AN>Ну вот и новое узнал
Только заучивать это не надо. Достаточно понять, что переход от перечисления к скалярной величине в принципе не может не сворачивать ленивость.
AVK>>Ты планируешь всю жизнь на одном месте работать? AN>Я и так сейчас по проектам работаю. Сделал и "свободен". Сейчас просто "большой" попался. Хотя и не люблю без особой нужды нормальное место менять.
Ну значит все может измениться.
AN>>>Я привык знать тип каждой переменной AVK>>От дурных привычек нужно отучаться. AN>Отчего считаешь дурной привычкой?
Отвлекает мозги ненужными подробностями и стимулирует нормальные имена переменным давать.
AVK>>Список чего? AN>список элементов.
Все равно непонятно.
AVK>>Да все как обычно. Что именно тебя смущает? И зачем вообще тебе часто отлаживать формирование дерева запроса? AN>Это не обязательно дерево запроса — это принцип.
В задницу все принципы, мешающие писать хорошо читаемый и лаконичный код.
AN> Вот если это будет возврат для Funct1 и она используется так AN>
AN>g(Funct1)
AN>
AN>и насколько будет удобно глянуть что то же возвратила функция?
Отладчик в студии вполне способен функции вызывать. С лямбдами, правда, у него проблема.
AVK>>Ну и? Намного сложнее такая каша читается. AN>Но по крайней мере понятно, что делается без всяких знаний об остальном.
Оно и без переменных прекрасно понятно. Весь этот мусор никакой полезной информации не несет, только засоряет код.
AVK>>Тогда срочно отучайся от таких привычек. Если тебя, конечно, профессиональный рост интересует. AN>Честно говоря не вижу связи, а без учебы и так неинтересно.
Не видишь связи между умением писать лаконичный код и профессиональным ростом? Да, тут я вряд ли чем помочь смогу. Могу только сказать, что в моей текущей команде тебе либо пришлось бы быстро отказываться от таких странных принципов, либо расстаться.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AN>>>>А при чем двойной запрос и хуже читается? AVK>>>Вопрос непонятен. AN>>
AN>>Но твой вариант еще и хуже читается, так что никакого смысла в двойном запросе нету.
AN>>
AN>>Этоя твой ответ не понял
AVK>В твоем варианте кода сильно больше, и он не полностью декларативный. Как следствие — читаемость его хуже.
Ну это мнение я уже слышал, я же не вижу связи между "хуже читается" и "двойным запросом". Или это просто две разных фразы?
AVK>>>Count и Single ленивость сворачивают. AN>>Ну вот и новое узнал
AVK>Только заучивать это не надо. Достаточно понять, что переход от перечисления к скалярной величине в принципе не может не сворачивать ленивость.
В принципе да — это нужно "чувствовать"
AVK>>>Ты планируешь всю жизнь на одном месте работать? AN>>Я и так сейчас по проектам работаю. Сделал и "свободен". Сейчас просто "большой" попался. Хотя и не люблю без особой нужды нормальное место менять.
AVK>Ну значит все может измениться.
Всё может быть, хотя здесь бы я и следующий проект "взял". Позитива гораздо больше, чем негатива.
AN>>>>Я привык знать тип каждой переменной AVK>>>От дурных привычек нужно отучаться. AN>>Отчего считаешь дурной привычкой?
AVK>Отвлекает мозги ненужными подробностями и стимулирует нормальные имена переменным давать.
Ну имена я то чисто для примера короткие взял, пример то "абстрактный" и хотелось показать совсем другое. "Нормальные имена" бы отвлекали.
AVK>>>Список чего? AN>>список элементов.
AVK>Все равно непонятно.
Ну допустим этот
List<Abc> x1 = A();
AVK>>>Да все как обычно. Что именно тебя смущает? И зачем вообще тебе часто отлаживать формирование дерева запроса? AN>>Это не обязательно дерево запроса — это принцип.
AVK>В задницу все принципы, мешающие писать хорошо читаемый и лаконичный код.
В задницу лаконичный код который может прочитать один человек из команды
AN>> Вот если это будет возврат для Funct1 и она используется так AN>>
AN>>g(Funct1)
AN>>
AN>>и насколько будет удобно глянуть что то же возвратила функция?
AVK>Отладчик в студии вполне способен функции вызывать. С лямбдами, правда, у него проблема.
Возможно я опять чего то не знаю (а не знаю я гораздо больше, чем знаю ). Как мне глянуть в 2008 студии значение вызвращенное функцией? Например, что возвратит функция С()?
AVK>>>Ну и? Намного сложнее такая каша читается. AN>>Но по крайней мере понятно, что делается без всяких знаний об остальном.
AVK>Оно и без переменных прекрасно понятно. Весь этот мусор никакой полезной информации не несет, только засоряет код.
Возможно для стандартного запроса к базе это и так. Но вот скажи что делает эта строка?
return A().B().C().D();
AVK>>>Тогда срочно отучайся от таких привычек. Если тебя, конечно, профессиональный рост интересует. AN>>Честно говоря не вижу связи, а без учебы и так неинтересно.
AVK>Не видишь связи между умением писать лаконичный код и профессиональным ростом? Да, тут я вряд ли чем помочь смогу. Могу только сказать, что в моей текущей команде тебе либо пришлось бы быстро отказываться от таких странных принципов, либо расстаться.
Ну, работа в команде это совсем другая тема. И если не иметь в виду кокретные личности (Ведь мы все же абстрактно разговариваем, не так ли?). То для нормального проекта я бы не взял "умника" пишущего лаконичный код. Поддерживать подобный код достаточно тяжело. Смотришь на строчку и думаешь, что же тут хотели сэкономить? Так как что делает строка с первого взгляда совсем не ясно.
(z ||= []) << 'test'
(это к теме Руби)
По моему мнению, в многих случаях, нужно иметь не лаконичный, а понятный и "удобный код". Хотя это и сильно относительные понятия.
Но пожалуй, это обсуждение для форума "философия..."
Здравствуйте, AlexNek, Вы писали:
AN>Ну это мнение я уже слышал, я же не вижу связи между "хуже читается" и "двойным запросом". Или это просто две разных фразы?
Это две разные проблемы.
AVK>>Отвлекает мозги ненужными подробностями и стимулирует нормальные имена переменным давать. AN>Ну имена я то чисто для примера короткие взял
Наличие типа рядом провоцирует дать короткое имя, так как имя типа подсознательно является частью описания переменной.
AVK>>В задницу все принципы, мешающие писать хорошо читаемый и лаконичный код. AN>В задницу лаконичный код который может прочитать один человек из команды
А с чего ты взял, что один человек? У большинства опытных программистов проблем, которые ты описываешь, нет.
AVK>>Отладчик в студии вполне способен функции вызывать. С лямбдами, правда, у него проблема. AN>Возможно я опять чего то не знаю (а не знаю я гораздо больше, чем знаю ). Как мне глянуть в 2008 студии значение вызвращенное функцией? Например, что возвратит функция С()?
Так и написать в окошке отладчика — A().B().C().
AVK>>Оно и без переменных прекрасно понятно. Весь этот мусор никакой полезной информации не несет, только засоряет код. AN>Возможно для стандартного запроса к базе это и так. Но вот скажи что делает эта строка? AN>
AN>return A().B().C().D();
AN>
Вызывает последовательно функции A, В, С и D
AN>По моему мнению, в многих случаях, нужно иметь не лаконичный, а понятный и "удобный код".
Очень часто лаконичный это и есть понятный и удобный.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AVK>>>Отвлекает мозги ненужными подробностями и стимулирует нормальные имена переменным давать. AN>>Ну имена я то чисто для примера короткие взял
AVK>Наличие типа рядом провоцирует дать короткое имя, так как имя типа подсознательно является частью описания переменной.
Никогда ни у меня, ни у решарпера такой провокации не возникало
AVK>>>В задницу все принципы, мешающие писать хорошо читаемый и лаконичный код. AN>>В задницу лаконичный код который может прочитать один человек из команды
AVK>А с чего ты взял, что один человек? У большинства опытных программистов проблем, которые ты описываешь, нет.
Мне кажется, дело не в опытности, а в "привычке". Например, во всех проектах, с которыми я сталкивался все обращения к базе были исключительно в одной компоненте / отдельных файлах, методы которых я просто вызывал. А то что писал сам было еще на плюсах. Я если бы только и делал, что писал Линкушные запросы, то подобная запись была бы просто родной и сразу бы "стал опытным"
Но я вообще то имел в виду не "наши" конкретные строки, а код "особо одаренных".
AVK>>>Отладчик в студии вполне способен функции вызывать. С лямбдами, правда, у него проблема. AN>>Возможно я опять чего то не знаю (а не знаю я гораздо больше, чем знаю ). Как мне глянуть в 2008 студии значение вызвращенное функцией? Например, что возвратит функция С()?
AVK>Так и написать в окошке отладчика — A().B().C().
Нужен не повторный вызов функций, а именно конкретное значение, которое "уже выстрадал в отладчике".
Желательно также иметь это значение в окне "авто". Да и еще историю.
Например, имея x4=5, я могу глянуть списочек x1 и проверить может ли оно вообще таким быть.
AVK>>>Оно и без переменных прекрасно понятно. Весь этот мусор никакой полезной информации не несет, только засоряет код. AN>>Возможно для стандартного запроса к базе это и так. Но вот скажи что делает эта строка? AN>>
AN>>return A().B().C().D();
AN>>
AVK>Вызывает последовательно функции A, В, С и D
Ну и насколько полезна подобная информация?
А тут я сразу вижу, что возвращается список из которого выбирается один элемент. Их которого "добывается" специальная строка на основе которой рассчитывается некое число. Ну и заодно проще проверку на нуль сделать/ обнаружить.
AN>>По моему мнению, в многих случаях, нужно иметь не лаконичный, а понятный и "удобный код".
AVK>Очень часто лаконичный это и есть понятный и удобный.
Как то у меня совсем противоположный опыт.
Достаточно просто протащить ServiceProvider в BuildHTMLPage.
патч
# HG changeset patch
# User buravchik
# Date 1322847769 -14400
# Node ID 97579d3042597707fb3bc7c060d9d308e0ef30ff
# Parent 70d7936492a46f970989ed79f8f17d63fa1cadae
Fix #117. Теперь экспорт сообщений, в принципе, работает.
diff -r 70d7936492a4 -r 97579d304259 Janus/Core/ObjectModel/Features/Forum.cs
--- a/Janus/Core/ObjectModel/Features/Forum.cs Wed Nov 30 17:23:35 2011 +0400
+++ b/Janus/Core/ObjectModel/Features/Forum.cs Fri Dec 02 21:42:49 2011 +0400
@@ -389,10 +389,5 @@
}
#endregion
-
- public static Forum CreateInstance()
- {
- return TypeAccessor<Forum>.CreateInstance();
- }
}
}
\ No newline at end of file
diff -r 70d7936492a4 -r 97579d304259 Janus/Features/ForumViewer/Export/MessageExporter.cs
--- a/Janus/Features/ForumViewer/Export/MessageExporter.cs Wed Nov 30 17:23:35 2011 +0400
+++ b/Janus/Features/ForumViewer/Export/MessageExporter.cs Fri Dec 02 21:42:49 2011 +0400
@@ -100,7 +100,7 @@
Export2Text(messages, fs, pd);
break;
case ExportFormat.HTML:
- Export2HTML(messages, fs, pd);
+ Export2HTML(provider, messages, fs, pd);
break;
case ExportFormat.MHT:
Export2Mht(provider, messages, fs, pd);
@@ -285,10 +285,10 @@
#region РРєСЃРїРѕСЂС‚ РІ html
#region Собственно в html
- private static void Export2HTML(IList<IMsg> msgs, Stream fs, ProgressDelegate pd)
+ private static void Export2HTML(IServiceProvider provider, IList<IMsg> msgs, Stream fs, ProgressDelegate pd)
{
using (var sw = new StreamWriter(fs, Encoding.Default))
- sw.Write(BuildHTMLPage(msgs, pd, false));
+ sw.Write(BuildHTMLPage(provider, msgs, pd, false));
}
#endregion
@@ -335,7 +335,7 @@
codePage));
sw.Flush();
- var htmlText = BuildHTMLPage(msgs, pd, true);
+ var htmlText = BuildHTMLPage(provider, msgs, pd, true);
var page = Encoding.GetEncoding(codePage).GetBytes(htmlText);
fs.Write(page, 0, page.Length);
@@ -374,12 +374,11 @@
private const string _messageFormatResource = _resourcePrefix + "MessageFormat.html";
private const string _resourcePrefix = "Rsdn.Janus.Features.ForumViewer.Export.";
- private static string BuildHTMLPage(IList<IMsg> msgs,
- ProgressDelegate pd, bool processSmiles)
+ private static string BuildHTMLPage(IServiceProvider provider, IList<IMsg> msgs, ProgressDelegate pd, bool processSmiles)
{
var formatter = new TextFormatter();
var sb = new StringBuilder();
- var forum = Forum.CreateInstance();
+ var forum = new Forum(provider);
forum.LoadData(msgs[0].ForumID);
sb.AppendFormat(
@"<tr><td class='s' colspan='2' align='center'>{0} <font size='1'>[{1}]</font></td></tr>",
А вот с ошибкой при экспорте сообщений в Поиске все сложнее. И поэтому вопрос: а надо ли вообще экспорт из избранного?
Есть три вида экспорта. И все они имеют ограничения в окне поиска:
1. Выделенные сообщения — в окне поиска сейчас нельзя выделить несколько сообщений
2. Выделенные темы — также нельзя выделить несколько сообщений (а значит тем), а также при выгрузке выгружается только одно сообщение из темы, а не вся тема
3. Весь форум — возможность отключена в окне поиска
Получается, что возможности экспорта из поиска ограничены. Так может вообще экспорт найденных сообщений убрать? Думаю экспортом сообщений вообще мало пользуются, а уж из поиска и подавно.
Здравствуйте, AlexNek, Вы писали:
AVK>>Наличие типа рядом провоцирует дать короткое имя, так как имя типа подсознательно является частью описания переменной. AN>Никогда ни у меня, ни у решарпера такой провокации не возникало
При чем тут решарпер вообще непонятно, а насчет не возникало ... Я тоже так думал, пока вывод типов в шарпе не появился.
AVK>>Так и написать в окошке отладчика — A().B().C(). AN>Нужен не повторный вызов функций, а именно конкретное значение, которое "уже выстрадал в отладчике".
Не пиши функций с побочным эффектом. Конкретно в обсуждаемом случае почти все функции LINQ BLT чистые, так что никакой разницы нет.
AN>Например, имея x4=5, я могу глянуть списочек x1 и проверить может ли оно вообще таким быть.
Все это нужно только после того, как ты локализовал внутри метода проблему. И ради такого, если уж приспичило, несложно вытащить промежуточное вычисление в переменную, а потом вернуть все обратно.
AVK>>Вызывает последовательно функции A, В, С и D AN>Ну и насколько полезна подобная информация?
Так ты пример такой привел.
AN>А тут я сразу вижу, что возвращается список из которого выбирается один элемент.
А если бы ты нормальные названия писал, а не АВС, то это тоже было бы понятно.
Да, студия и решарпер умеют показывать типы функций, если что. В том числе и в таком выражении. Ctrl+Q/Ctrl+P не пробовал нажимать?
AVK>>Очень часто лаконичный это и есть понятный и удобный. AN>Как то у меня совсем противоположный опыт.
Ну вот твой опыт в конторе, которая до 3.0 даже не добрела, он, как бы это помягче, не очень релевантен.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, Буравчик, Вы писали:
AN>> return TypeAccessor<Forum>.CreateInstance();
Б>Достаточно просто протащить ServiceProvider в BuildHTMLPage.
TypeAccessor это вообще хвосты от долинкового BLT, его вообще надо приговаривать без вариантов.
Б>Получается, что возможности экспорта из поиска ограничены. Так может вообще экспорт найденных сообщений убрать? Думаю экспортом сообщений вообще мало пользуются, а уж из поиска и подавно.
Насколько я знаю, экспортом в HTML пользуются. В основном для совсем оффлайнового чтения сообщений.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, Буравчик, Вы писали:
Б>А вот с ошибкой при экспорте сообщений в Поиске все сложнее. И поэтому вопрос: а надо ли вообще экспорт из избранного?
Экспорт из любой точки приложения — хорошая опция.
Б>Есть три вида экспорта. И все они имеют ограничения в окне поиска: Б>1. Выделенные сообщения — в окне поиска сейчас нельзя выделить несколько сообщений
Скорее всего баг.
Б>2. Выделенные темы — также нельзя выделить несколько сообщений (а значит тем), а также при выгрузке выгружается только одно сообщение из темы, а не вся тема
А как в поиске отделить темы от сообщений? При экспорте понятно, а в поиске вроде только сообщения.
Б>3. Весь форум — возможность отключена в окне поиска
И совершенно правильно!)
Б>Получается, что возможности экспорта из поиска ограничены. Так может вообще экспорт найденных сообщений убрать? Думаю экспортом сообщений вообще мало пользуются, а уж из поиска и подавно.
Возможность экспорта из поиска:
Юзкесй такой — найти все совпадения по искомой фразе, экспортировать и прочитать в плоском виде в спокойной обстановке для изучения какого-то конкретного вопроса или технологии.
Я вот больше сомниваюсь в необходимости экспорта "всего форума"..)) Даже довольно свежая база уже содержит 10 000 записей все в том же дот.нет форуме, прочитать такое за один раз да еще и без возможности пометки прочитанным? то есть после следуещей распечатки заново все перечитывать что ли? Весьма смутно..)) Функция конечно должна остаться..)
Экспорт из избранного: сохранить в плоском виде в html и закинуть в Evernote. Избранное в Янусе терял уже много раз, да и читать в эверноуте гораздо удобнее. Закинешь хороший пример и он доступен для быстрого обращения в лубой точке мира.
Здравствуйте, Буравчик, Вы писали:
Б>А вот с ошибкой при экспорте сообщений в Поиске все сложнее. И поэтому вопрос: а надо ли вообще экспорт из избранного?
Б>Есть три вида экспорта. И все они имеют ограничения в окне поиска: Б>1. Выделенные сообщения — в окне поиска сейчас нельзя выделить несколько сообщений
Видимо отключено специально, но при желании можно видимо что то придумать. Б>2. Выделенные темы — также нельзя выделить несколько сообщений (а значит тем), а также при выгрузке выгружается только одно сообщение из темы, а не вся тема Б>3. Весь форум — возможность отключена в окне поиска
Нафига это делать прямо из поиска, не зная размера темы. Можно перейти в форум на сообщение и оттуда уже решать.
Б>Получается, что возможности экспорта из поиска ограничены. Так может вообще экспорт найденных сообщений убрать? Думаю экспортом сообщений вообще мало пользуются, а уж из поиска и подавно.
Может все же проще исправить вылет?
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AVK>>>Наличие типа рядом провоцирует дать короткое имя, так как имя типа подсознательно является частью описания переменной. AN>>Никогда ни у меня, ни у решарпера такой провокации не возникало
AVK>При чем тут решарпер вообще непонятно, а насчет не возникало ... Я тоже так думал, пока вывод типов в шарпе не появился.
Вначале пишется А();
Затем уже решарпер может сделать и тип и имя автоматом.
AVK>>>Так и написать в окошке отладчика — A().B().C(). AN>>Нужен не повторный вызов функций, а именно конкретное значение, которое "уже выстрадал в отладчике".
AVK>Не пиши функций с побочным эффектом. Конкретно в обсуждаемом случае почти все функции LINQ BLT чистые, так что никакой разницы нет.
Какая будет гарантия, что в чужом коде не будет побочных эфектов.
Я раз наверное дня три воевал с одной ошибкой, пока не дошло, что побочный эффект в ToString()
AN>>Например, имея x4=5, я могу глянуть списочек x1 и проверить может ли оно вообще таким быть.
AVK>Все это нужно только после того, как ты локализовал внутри метода проблему. И ради такого, если уж приспичило, несложно вытащить промежуточное вычисление в переменную, а потом вернуть все обратно.
И так делать каждый раз когда приспичило? И не обязательно, что локализовал. Бывает просто идешь по цепочке и проверяешь.
AVK>>>Вызывает последовательно функции A, В, С и D AN>>Ну и насколько полезна подобная информация?
AVK>Так ты пример такой привел.
Я как раз это преднамеренно сделал, что бы разница была лучше видна.
AN>>А тут я сразу вижу, что возвращается список из которого выбирается один элемент.
AVK>А если бы ты нормальные названия писал, а не АВС, то это тоже было бы понятно. AVK>Да, студия и решарпер умеют показывать типы функций, если что. В том числе и в таком выражении. Ctrl+Q/Ctrl+P не пробовал нажимать?
Но это нужно делать лишние двишение, при прокрутке этого не увидидшь. Тут у нас любитель регионов есть, так и то проблема их открывать иначе вообще кроме названия класса и региона.
по Ctrl+Q ничего не происходит
по Ctrl+P вызывается диалог печати
AVK>>>Очень часто лаконичный это и есть понятный и удобный. AN>>Как то у меня совсем противоположный опыт.
AVK>Ну вот твой опыт в конторе, которая до 3.0 даже не добрела, он, как бы это помягче, не очень релевантен.
Во первых, кто говорит, что версия НЕТа определяется исключительно разработчиками?
Во вторых, отчего думаешь, что это первая моя контора и опыт исключительно по шарпу?
В третьих, я конечно, не утверждаю, что имею статистически правильную выборку и она является единственно правильной. И не думаю, что ты бы хотел утверждать это по твоему опыту.
Разница говорит лишь о том, что мы находимся в несколько "разных мирах" и чей мир являетя более "правильным" я бы никогда не взялся искать.
Здравствуйте, AlexNek, Вы писали:
AN>Может все же проще исправить вылет?
Вылет (отсутствие нужного конструктора) исправить действительно легко — пару постов назад выложил патч. А вот исправить вылет при экспорте найденных сообщений — сложнее. Я пока не смог разобраться.
На у самое главное, что понимать под экспортом тем из поиска? Какие темы выгружать? Всю тему, к которой относится найденное сообщение? Или все сообщения, которые являются ответом на найденное?
Здравствуйте, AlexNek, Вы писали:
AN>И так делать каждый раз когда приспичило?
Да. Не настолько уж частая операция — отладка — сама по себе. А уж чтобы обязательно понадобилось какое то промежуточное значение ...
AN> И не обязательно, что локализовал. Бывает просто идешь по цепочке и проверяешь.
Ну вот и расскажи, что в нашем случае ты таким манером проверять собираешься.
AVK>>Так ты пример такой привел. AN>Я как раз это преднамеренно сделал, что бы разница была лучше видна.
А то, что надо имена нормальные функциям и переменным давать, ты, конечно, запамятовал? Я ж в этом топике писал в том числе и об этом — что отсутствие информации о типах сразу покажет абсурдность названий типа АВС.
А теперь от абстрактных примеров перейдем к нашему коду. Что там тебе непонятно может быть и чем помогут промежуточные операции?
AN>Но это нужно делать лишние двишение
Да уж, знатное оправдание засиранию кода.
AN>, при прокрутке этого не увидидшь. Тут у нас любитель регионов есть, так и то проблема их открывать
И в чем эта проблема состоит?
AN>по Ctrl+Q ничего не происходит AN>по Ctrl+P вызывается диалог печати
Это решарперные хоткеи. Quick Doc и Parameters Info.
AVK>>Ну вот твой опыт в конторе, которая до 3.0 даже не добрела, он, как бы это помягче, не очень релевантен. AN>Во первых, кто говорит, что версия НЕТа определяется исключительно разработчиками?
А это неважно кем определяется. Результат важен — болото.
AN>Во вторых, отчего думаешь, что это первая моя контора и опыт исключительно по шарпу?
Да мне, собственно, неважно, первая они или нет. Важно то, что ты тут проповедуешь. Все это выглядит не очень профессионально. Возникают очень серьезные подозрения, что в более менее крупных командах ты особо и не работал.
AN>Разница говорит лишь о том, что мы находимся в несколько "разных мирах" и чей мир являетя более "правильным" я бы никогда не взялся искать.
Ну оставайся тогда со своими заблуждениями. При таком подходе я вряд ли чем смогу тебе помочь.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
Здравствуйте, Буравчик, Вы писали:
Б>Здравствуйте, AlexNek, Вы писали:
AN>>Может все же проще исправить вылет?
Б>Вылет (отсутствие нужного конструктора) исправить действительно легко — пару постов назад выложил патч. А вот исправить вылет при экспорте найденных сообщений — сложнее. Я пока не смог разобраться.
Я даже не смотрел, не хочу от сетапа отходить, а то уже начал begin end на шарпе писать
Но по идее, починить/переделать можно довольно многое. Найти может быть непросто.
Б>На у самое главное, что понимать под экспортом тем из поиска? Какие темы выгружать? Всю тему, к которой относится найденное сообщение? Или все сообщения, которые являются ответом на найденное?
То что вижу то и экспортирую — я бы так поступил.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AN>>И так делать каждый раз когда приспичило?
AVK>Да. Не настолько уж частая операция — отладка — сама по себе. А уж чтобы обязательно понадобилось какое то промежуточное значение ...
Никто не знает когда может понадобится, но по закону подлости всегда в самое неподходящее время. AN>> И не обязательно, что локализовал. Бывает просто идешь по цепочке и проверяешь.
AVK>Ну вот и расскажи, что в нашем случае ты таким манером проверять собираешься.
По крайней мере, я так отлаживал "свои" запросы.
AVK>>>Так ты пример такой привел. AN>>Я как раз это преднамеренно сделал, что бы разница была лучше видна.
AVK>А то, что надо имена нормальные функциям и переменным давать, ты, конечно, запамятовал?
нет тоже специально не сделал. AVK>Я ж в этом топике писал в том числе и об этом — что отсутствие информации о типах сразу покажет абсурдность названий типа АВС. AVK>А теперь от абстрактных примеров перейдем к нашему коду. Что там тебе непонятно может быть и чем помогут промежуточные операции?
вот все время ты конкретику хочешь
Абсолютно непонятного нет ничего, просто "не проглатывается" сразу. Ну не знаю я какой тип возвратят db.Users и при чем здесь FormatAuthor, а для SingleOrDefault нужно в хелп лезть. Да и к лямбдам только недавно немного привык и то на Янусе.
AN>>Но это нужно делать лишние двишение
AVK>Да уж, знатное оправдание засиранию кода.
Когда нужно быстро просматривать десятки файлов в счет идет все.
AN>>, при прокрутке этого не увидидшь. Тут у нас любитель регионов есть, так и то проблема их открывать
AVK>И в чем эта проблема состоит?
нажать Ctrl-M-L, потому как обычно все через мышу и одной рукой фиг нажмешь.
AN>>по Ctrl+Q ничего не происходит AN>>по Ctrl+P вызывается диалог печати
AVK>Это решарперные хоткеи. Quick Doc и Parameters Info.
Нашел,но что то не вижу как они могут помочь в данной ситуации. Quick Doc Parameters Info
AVK>>>Ну вот твой опыт в конторе, которая до 3.0 даже не добрела, он, как бы это помягче, не очень релевантен. AN>>Во первых, кто говорит, что версия НЕТа определяется исключительно разработчиками?
AVK>А это неважно кем определяется. Результат важен — болото.
А если бы в таргете стояло 4.0, было бы что то по другому?
Версию определяют заказчики и если они хотят сейчас все еще 2.0 что прикажешь делать?
Но мне достаточно того, что это "болото" меня кормит и не издевается.
AN>>Во вторых, отчего думаешь, что это первая моя контора и опыт исключительно по шарпу?
AVK>Да мне, собственно, неважно, первая они или нет. Важно то, что ты тут проповедуешь. Все это выглядит не очень профессионально. Возникают очень серьезные подозрения, что в более менее крупных командах ты особо и не работал.
А сколько человек — крупная команда? Хотя я и не собираюсь, что либо доказывать, институтские времена давно уже позади. И никого я не вовлекаю в свою религию, просто описываю, даже может не мнение, а "чувства".
А у тебя профессионал, тот кто среди ночи скажет как называется ... и какое количество вчерашних новинок он пользует сегодня (один фиг нужны или нет)?
AN>>Разница говорит лишь о том, что мы находимся в несколько "разных мирах" и чей мир являетя более "правильным" я бы никогда не взялся искать.
AVK>Ну оставайся тогда со своими заблуждениями. При таком подходе я вряд ли чем смогу тебе помочь.
Я вообще, всегда стараюсь прислушиваться к твоим советам. Но проповедование единой и незыблемой религии уже вроде проходили
Здравствуйте, AlexNek, Вы писали:
AN>Никто не знает когда может понадобится, но по закону подлости всегда в самое неподходящее время.
Ну вот когда понадобится, тогда и можно добавить.
AVK>>А теперь от абстрактных примеров перейдем к нашему коду. Что там тебе непонятно может быть и чем помогут промежуточные операции? AN>вот все время ты конкретику хочешь
А зачем тут философские абстракции?
AN>Абсолютно непонятного нет ничего, просто "не проглатывается" сразу.
Это субъективно. Для меня твою кашу читать намного сложнее.
AN> Ну не знаю я какой тип возвратят db.Users
И слава богу. Для понимания кода это не нужно.
AN> и при чем здесь FormatAuthor
Из названия понятно.
AN>, а для SingleOrDefault нужно в хелп лезть
Запомнить пару десятков query operators совсем несложно.
AN>. Да и к лямбдам только недавно немного привык и то на Янусе.
Вот я и говорю — все упирается в твое незнание языка, но исправлять ситуацию ты почему то упорно не хочешь.
AVK>>Это решарперные хоткеи. Quick Doc и Parameters Info. AN>Нашел,но что то не вижу как они могут помочь в данной ситуации.
Они сообщат тебе так желаемые тобой типы.
AN>Версию определяют заказчики
Заказчики определяют версию рантайма, а не языка.
AN>А у тебя профессионал, тот кто среди ночи скажет как называется ... и какое количество вчерашних новинок он пользует сегодня (один фиг нужны или нет)?
У меня профессионал, это тот кто пишет простой, лаконичный и неглючный код, а не отмазывается незнанием языка.
AN>Я вообще, всегда стараюсь прислушиваться к твоим советам.
Как то незаметно, если честно.
AN> Но проповедование единой и незыблемой религии уже вроде проходили
Никакой религии мне не нужно.
... << RSDN@Home 1.2.0 alpha 5 rev. 16 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AN>>Но по идее, починить/переделать можно довольно многое. Найти может быть непросто.
AVK>Я уже все починил. Там, помимо этого, еще пачка багов была.
Залил уже на битбакет? Коммент есть? Бум грабить тогда...
Здравствуйте, AndrewVK, Вы писали:
AVK> AN>Никто не знает когда может понадобится, но по закону подлости всегда в самое неподходящее время.
AVK> Ну вот когда понадобится, тогда и можно добавить.
AVK> AVK>>А теперь от абстрактных примеров перейдем к нашему коду. Что там тебе непонятно может быть и чем помогут промежуточные операции?
AVK> AN>вот все время ты конкретику хочешь
AVK> А зачем тут философские абстракции?
Так я уже говорил что тему лучше бы перенести в философию..
AVK> AN>Абсолютно непонятного нет ничего, просто "не проглатывается" сразу.
AVK> Это субъективно.
Именно это я говорю.
AVK> Для меня твою кашу читать намного сложнее.
взаимно
AVK> AN> Ну не знаю я какой тип возвратят db.Users
AVK> И слава богу. Для понимания кода это не нужно.
Кому как, картинка не складывается.
AVK> AN> и при чем здесь FormatAuthor
AVK> Из названия понятно.
Для чего его еще форматировать и что он возвращает?
AVK> AN>, а для SingleOrDefault нужно в хелп лезть
AVK> Запомнить пару десятков query operators совсем несложно.
Для начала нужно начать их интенсивно пользовать
Если просто прочитать и не пользовать то через какое то время нужно все равно в хелп лезть.
AVK> AN>. Да и к лямбдам только недавно немного привык и то на Янусе.
AVK> Вот я и говорю — все упирается в твое незнание языка, но исправлять ситуацию ты почему то упорно не хочешь.
Знать и пользовать, мне кажется, две разные вещи.
AVK> AVK>>Это решарперные хоткеи. Quick Doc и Parameters Info.
AVK> AN>Нашел,но что то не вижу как они могут помочь в данной ситуации.
AVK> Они сообщат тебе так желаемые тобой типы.
По описанию этого не видно, но опять таки — это при обычном просмотре текста не видно. А исходники можно смотреть и просто в "текстовом диффе"
AVK> AN>Версию определяют заказчики
AVK> Заказчики определяют версию рантайма, а не языка.
А что можно пользовать 4-ку с таргетом на 2-ку?
AVK> AN>А у тебя профессионал, тот кто среди ночи скажет как называется ... и какое количество вчерашних новинок он пользует сегодня (один фиг нужны или нет)?
AVK> У меня профессионал, это тот кто пишет простой, лаконичный и неглючный код, а не отмазывается незнанием языка.
Был у нас такой, очень просто и лаконично любил писать, потом только сидишь и думаешь, а что же эта функция делает? По счастью, сплавили его в другой проект.
AVK> AN>Я вообще, всегда стараюсь прислушиваться к твоим советам.
AVK> Как то незаметно, если честно.
Это просто издалека так, приезжай в гости, увидишь ближе.
AVK> AN> Но проповедование единой и незыблемой религии уже вроде проходили
AVK> Никакой религии мне не нужно.
ну другого слова я не могу подобрать.
Здравствуйте, AlexNek, Вы писали:
AVK>> Из названия понятно. AN>Для чего его еще форматировать
На это тебе и явная аннотация типа ответа не даст.
AN> и что он возвращает?
Форматированное имя.
AVK>> Запомнить пару десятков query operators совсем несложно. AN>Для начала нужно начать их интенсивно пользовать
Ну так начни. Я тебе с самого начала об этом писал.
AVK>> Вот я и говорю — все упирается в твое незнание языка, но исправлять ситуацию ты почему то упорно не хочешь. AN>Знать и пользовать, мне кажется, две разные вещи.
Но ты то и использовать упорно не желаешь.
AVK>> Они сообщат тебе так желаемые тобой типы. AN>По описанию этого не видно
Ужась.
AN>, но опять таки — это при обычном просмотре текста не видно. А исходники можно смотреть и просто в "текстовом диффе"
Ну да, придумать отмазку можно всегда. Особенно когда не хочется разбираться вновом.
AVK>> Заказчики определяют версию рантайма, а не языка. AN>А что можно пользовать 4-ку с таргетом на 2-ку?
Можно.
AVK>> У меня профессионал, это тот кто пишет простой, лаконичный и неглючный код, а не отмазывается незнанием языка. AN>Был у нас такой, очень просто и лаконично любил писать, потом только сидишь и думаешь, а что же эта функция делает? По счастью, сплавили его в другой проект.
AVK>> Как то незаметно, если честно. AN>Это просто издалека так, приезжай в гости, увидишь ближе.
Куда?
... << RSDN@Home 1.2.0 alpha 5 rev. 16 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:
AVK>>> Запомнить пару десятков query operators совсем несложно. AN>>Для начала нужно начать их интенсивно пользовать
AVK>Ну так начни. Я тебе с самого начала об этом писал.
Где именно нужно начать?
AVK>>> Вот я и говорю — все упирается в твое незнание языка, но исправлять ситуацию ты почему то упорно не хочешь. AN>>Знать и пользовать, мне кажется, две разные вещи.
AVK>Но ты то и использовать упорно не желаешь.
Что именно? AVK>>> Они сообщат тебе так желаемые тобой типы. AN>>По описанию этого не видно
AVK>Ужась.
Может я не туда смотрел. Quick Doc Parameters Info AN>>, но опять таки — это при обычном просмотре текста не видно. А исходники можно смотреть и просто в "текстовом диффе"
AVK>Ну да, придумать отмазку можно всегда. Особенно когда не хочется разбираться вновом.
как ты определяешь — "разбираться в новом"?
AVK>>> Заказчики определяют версию рантайма, а не языка. AN>>А что можно пользовать 4-ку с таргетом на 2-ку?
AVK>Можно.
А какого тогда нужно для Януса грузить 3.5 а не 2.0?
AVK>>> У меня профессионал, это тот кто пишет простой, лаконичный и неглючный код, а не отмазывается незнанием языка. AN>>Был у нас такой, очень просто и лаконично любил писать, потом только сидишь и думаешь, а что же эта функция делает? По счастью, сплавили его в другой проект.
AVK>
Он кстати, шарпа почти не знал.
AVK>>> Как то незаметно, если честно. AN>>Это просто издалека так, приезжай в гости, увидишь ближе.
AVK>Куда?
проверь почту.
Здравствуйте, AlexNek, Вы писали:
AVK>>Ну так начни. Я тебе с самого начала об этом писал. AN>Где именно нужно начать?
В янусе, разумеется.
AN>>>А что можно пользовать 4-ку с таргетом на 2-ку? AVK>>Можно. AN>А какого тогда нужно для Януса грузить 3.5 а не 2.0?
Я провел опрос и оказалось, что ограничение януса голым 2.0 никому не нужно. А одно время да, янус, хоть и собирался компилятором от 3.5, работал на голом 2.0.
... << RSDN@Home 1.2.0 alpha 5 rev. 16 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK> AVK>>Ну так начни. Я тебе с самого начала об этом писал.
AVK> AN>Где именно нужно начать?
AVK> В янусе, разумеется.
Ну так это также была одна из причин, по которой я им занялся — узнать чего то новое.
AVK> AN>>>А что можно пользовать 4-ку с таргетом на 2-ку?
AVK> AVK>>Можно.
AVK> AN>А какого тогда нужно для Януса грузить 3.5 а не 2.0?
AVK> Я провел опрос и оказалось, что ограничение януса голым 2.0 никому не нужно. А одно время да, янус, хоть и собирался компилятором от 3.5, работал на голом 2.0.
Так, похоже, мы о разных вещах говорим, ты похоже говоришь о компиляторе для языка версии х.
Я же имел в виду использовать при разработке фрэймворк НЕТх.0, но что бы у пользователей был только НЕТ2.0.
А с компилятором тоже проблема, на CI стоит кем — то "вышестоящим" утвержденный компайлер. И пока сверху не прийдет директива — никаких изменений.
Здравствуйте, AlexNek, Вы писали:
AVK>> В янусе, разумеется. AN>Ну так это также была одна из причин, по которой я им занялся — узнать чего то новое.
AN>Я же имел в виду использовать при разработке фрэймворк НЕТх.0, но что бы у пользователей был только НЕТ2.0.
А при чем тут фреймворк? Мы тут исключительно про язык говорили.
AN>А с компилятором тоже проблема, на CI стоит кем — то "вышестоящим" утвержденный компайлер.
Вот я и говорю — болото у вас.
AN> И пока сверху не прийдет директива — никаких изменений.
За 6 лет можно было продавить смену компилятора, не?
... << RSDN@Home 1.2.0 alpha 5 rev. 16 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK> AVK>> В янусе, разумеется.
AVK> AN>Ну так это также была одна из причин, по которой я им занялся — узнать чего то новое.
AVK> AN>Я же имел в виду использовать при разработке фрэймворк НЕТх.0, но что бы у пользователей был только НЕТ2.0.
AVK> А при чем тут фреймворк? Мы тут исключительно про язык говорили.
Отчего мы?
AVK> AN>А с компилятором тоже проблема, на CI стоит кем — то "вышестоящим" утвержденный компайлер.
AVK> Вот я и говорю — болото у вас.
100% гарантию дашь что все старые программы, которые мы в глаза даже не видели будут работать абсолютно точно также после другого компайлера?
AVK> AN> И пока сверху не прийдет директива — никаких изменений.
AVK> За 6 лет можно было продавить смену компилятора, не?
Это смотря от чего считать, по крайней мере, хотя бы от первого кому это будет нужно.
Какой выигрыш получим от смены?
В тройке, например не нашел ничего, что нужно нам вот как позарез, даже скорее наоборот.
Здравствуйте, AlexNek, Вы писали:
AVK>> Вот я и говорю — болото у вас. AN>100% гарантию дашь что все старые программы, которые мы в глаза даже не видели будут работать абсолютно точно также после другого компайлера?
Мне проблемы подобного рода не попадались ни разу.
AN>Какой выигрыш получим от смены?
Ускорение решения ряда задач, более удобный инструмент.
AN>В тройке, например не нашел ничего, что нужно нам вот как позарез, даже скорее наоборот.
Именно об этом я тут и писал. Болото.
... << RSDN@Home 1.2.0 alpha 5 rev. 16 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK> AVK>> Вот я и говорю — болото у вас.
AVK> AN>100% гарантию дашь что все старые программы, которые мы в глаза даже не видели будут работать абсолютно точно также после другого компайлера?
AVK> Мне проблемы подобного рода не попадались ни разу.
На плюсах бывало без оптимизации работает, с ней нет.
Представь себя на месте тех кто принимает решение. Если ничего не менять новых проблем точно не будет, а если менять для каких то там возможных выигрышей проблемы могут быть.
AVK> AN>Какой выигрыш получим от смены?
AVK> Ускорение решения ряда задач, более удобный инструмент.
Ну а если нет этого ряда задач?
AVK> AN>В тройке, например не нашел ничего, что нужно нам вот как позарез, даже скорее наоборот.
AVK> Именно об этом я тут и писал. Болото.
вот, например, не болотная функция. Как поставить точку останова на вход в resolver?
Здравствуйте, AlexNek, Вы писали:
AVK>> Мне проблемы подобного рода не попадались ни разу. AN>На плюсах бывало без оптимизации работает, с ней нет.
А при чем тут плюсы?
AN>Представь себя на месте тех кто принимает решение.
А что мне представлять? Я и сам такое решение принимал.
AN> Если ничего не менять новых проблем точно не будет, а если менять для каких то там возможных выигрышей проблемы могут быть.
Ага, я и говорю, болото.
AVK>> Ускорение решения ряда задач, более удобный инструмент. AN>Ну а если нет этого ряда задач?
Или кто то считает, что нет. Когда решение принимают не разработчики, такое иногда бывает.
AVK>> Именно об этом я тут и писал. Болото. AN>вот, например, не болотная функция. Как поставить точку останова на вход в resolver? AN>
Здравствуйте, AndrewVK, Вы писали:
AVK> AVK>> Мне проблемы подобного рода не попадались ни разу.
AVK> AN>На плюсах бывало без оптимизации работает, с ней нет.
AVK> А при чем тут плюсы?
только потому что там это наблюдалось, вероятно и в другом месте может наблюдаться.
AVK> AN>Представь себя на месте тех кто принимает решение.
AVK> А что мне представлять? Я и сам такое решение принимал.
А сколько примерно было при этом связанных проектов и организаций?
AVK> AN> Если ничего не менять новых проблем точно не будет, а если менять для каких то там возможных выигрышей проблемы могут быть.
AVK> Ага, я и говорю, болото.
скорее, поддержка принципа не "трогай без необходимости".
AVK> AVK>> Ускорение решения ряда задач, более удобный инструмент.
AVK> AN>Ну а если нет этого ряда задач?
AVK> Или кто то считает, что нет. Когда решение принимают не разработчики, такое иногда бывает.
AVK> AVK>> Именно об этом я тут и писал. Болото.
AVK> AN>вот, например, не болотная функция. Как поставить точку останова на вход в resolver? AVK> AN>