powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Задачка на профпригодность
25 сообщений из 463, страница 10 из 19
Задачка на профпригодность
    #38489770
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320И байндинги, и анимации, и прочее.
Что-то типа байндингов в связке разметки и JS я видел только в одном исполнении - темплейты в мозилловском XUL. Во всех остальных случаях разметка не может сама обращаться к данным - их ей скармливает [js-]код, из которого идут обращения к объектам разметки.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489782
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловныuser7320И байндинги, и анимации, и прочее.
Что-то типа байндингов в связке разметки и JS я видел только в одном исполнении - темплейты в мозилловском XUL. Во всех остальных случаях разметка не может сама обращаться к данным - их ей скармливает [js-]код, из которого идут обращения к объектам разметки.
Ммм... не понимаю, о чём вы говорите. Что значит "разметка сама обращается"? Есть односторонние байндинги, есть двухсторонние. Разметка "сама" навряд ли может. Может код. В ХТМЛ это остаётся делать только джаваскрипту, а в ВПФ - CLR.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489784
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

я про байндинги в ХТМЛ пока только в контексте knockoutjs знаю. Там очень похоже не то, что в ВПФ.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489811
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erМСУА зачем защищать клиентский код?
ответа на этот вопрос у меня нет.
а вдруг там сикретный скоростной алгоритм построения дерева на мильён элементов.Как только какой-либо код попадает на клиента, он перестает быть секретным. Клиентский код защитить от реверс-инжиниринга практически невозможно.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489820
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320skyANAuser7320, если не в теме, то сиди и помалкивай. Пользователи они разные: кому-то хватает удобного интерфейса, кому-то нет.

У меня есть статистика по 12000-ам нашим текущим клиентам, а у тебя что есть? Лишь свои домыслы.
А, так вы о ЦМС. Тогда надо не о ВПФ говорить, а об инструментах, наверное? В Студии вы можете отдельно изменить разметку, отдельно - код, отдельно - стили (особенно, если вынесите их в отдельные файлы). Есть как визуальный редактор, так и текстовый. Вроде, в Бленд даже можно стили редактировать в отдельном визуальном редакторе.Хорошо, давайте поговорим об инструментах. Студия и Бленд - это инструменты разработчика. А я спрашивал за пользователей.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489915
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Сон Веры Павловны,

я про байндинги в ХТМЛ пока только в контексте knockoutjs знаю. Там очень похоже не то на то , что в ВПФ.



skyANAuser7320пропущено...

А, так вы о ЦМС. Тогда надо не о ВПФ говорить, а об инструментах, наверное? В Студии вы можете отдельно изменить разметку, отдельно - код, отдельно - стили (особенно, если вынесите их в отдельные файлы). Есть как визуальный редактор, так и текстовый. Вроде, в Бленд даже можно стили редактировать в отдельном визуальном редакторе.Хорошо, давайте поговорим об инструментах. Студия и Бленд - это инструменты разработчика. А я спрашивал за пользователей.
Вы говорите об инструменте, который позволяет пользователю создавать сайты? Только это в контексте веба, а в контексте десктопа - создавать приложения? Пользователю?

Кажется, тут путаница или с терминами ("пользователь" - "разработчик"), или с назначением ПО.

Если речь идёт о ЦМС для разработки сайтов, то это уже разработчик (сайтов). В то же время он пользователь (ЦМС). Тогда для первого случая - вот вам работа с кодом и визуальные редакторы, а для второго - вот вам кастомизация ЮИ Студии (её самой, а не программ, с помощью неё созданных).

Если же вы имели ввиду простые приложения для десктопа (прям совсем простые, аналоги ЦМС), позволяющие создавать другие приложения (аналоги сайтов), то я таких сходу не припомню. Может, какие-нибудь поделки для детей, изучающих программирование в школе - какие-нибудь цветные кубики с готовыми шаблонами кода - такие, вроде, есть. Может, LabVIEW . Однако, как это относится к недостаткам ВПФ? Я уверен, что на ВПФ можно сделать аналог ЦМС для декстопа, но зачем?

Вобщем, чего это я всё гадаю, да гадаю? Поясните уже, что вы имеете ввиду?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489993
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320пропущено...

Во всём Дотнете и вообще в Сишарпе такой задачи не ставилось. Ставилась задача управляемости кодом и скорости разработки. Но приходят бородачи и начинают ныть "в наши дни Си был без плюсов и уж тем более без всяких там решёток...".

пропущено...

Так в том-то и штука, что мне говорили, что за лямбды и Линк будут бить. А что конкретно им не нравилось - не говорили. Были мои лямбды говнокодом или они в них даже не вникали... Создаётся впечатление, что как увидели лямбду, так не разбираясь сразу глаза красные и дым из носа.Ну давай посмотрим на твой код:user7320Я уже и сам не помню, что эта штука делает - попробуйте понять из кода. Завтра вспомню - скажу.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
MyModel.Recommendations =
    preparation.Recommendations
    .OrderBy<DBLibrary.Recommendation, ICollection<DBLibrary.Group>>(
        r => r.Groups,
        Comparer<ICollection<DBLibrary.Group>>.Create(
            (x, y) =>
                x
                .OrderBy(g => g.Name)
                .FirstOrDefault()
                .Name
                .CompareTo(
                    y
                    .OrderBy(g => g.Name)
                    .FirstOrDefault()
                    .Name)))
    .Select(r => new RecommendationForModel()
    {
    	...
    })
    .ToList()
    .AsReadOnly();

1. Ты уже сам не помнишь, что он у тебя делает;
2. У тебя в одном выражении и выбор из бд, и mapping (нарушение принципа единственной обязанности). Да и RecommendationForModel - это ViewModel у тебя, насколько я помню. И если клиенту потребуется JSON, или XML, или другой формат ViewModel, то что ты будешь делать, копипастить и править своё выражение?
3. FirstOrDefault() может вернуть null и упадёт исключение из которого ни фига не понятно, в каких данных проблема.

Остальные замечания будт после того, как ты вспомнишь, что делает твой код
"Не помню" - это я пошутил для усиления метафоры. ))

Теперь объясняю. Структура данных у меня - модель, у которой есть коллекция рекомендаций. У каждой рекомендации есть коллеция групп. Нужно отсортировать рекомендации по коллекции групп. Т. е. сначала должна идти рекомендация, где группы, начинающиеся на "а", потом - где на "б" и т. д. Как это сказать обобщённо на словах, я не знаю - сложно сильно. Наверное, так: первой рекомендацией будет та, у которой найдётся хотя бы одна группа, стоящая по алфавитному порядку впереди групп всех остальных рекомендаций. Приведу пример модели:

название рекомендации список группаааааа
ббб
яяяааа
ввв
бббббб
ввв
вввббб
яяя


Ну, с созданием компаратора через делегат Comparison<T> всё должно быть понятно. Далее, как компаратор используется для сортировки. Поскольку свойство для сортировки у меня - коллекция, то по ней сразу так не отсортируешь - нужно задать что-то вменяемое. Поэтому я сначала сортирую коллекцию групп (параметр "х" в лямбде) по названиям групп, а потом беру название первой группы из коллеции. Затем делаю то же самое со второй коллецией групп (параметр "у" в лямбде). И вот уже, имея два названия групп - от каждой сортированной коллеции групп по названию первой группы - я их сравниваю.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490006
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Ну, с созданием компаратора через делегат Comparison<T> всё должно быть понятно. Далее, как компаратор используется для сортировки. Поскольку свойство для сортировки у меня - коллекция, то по ней сразу так не отсортируешь - нужно задать что-то вменяемое. Поэтому я сначала сортирую коллекцию групп (параметр "х" в лямбде) по названиям групп, а потом беру название первой группы из коллеции. Затем делаю то же самое со второй коллецией групп (параметр "у" в лямбде). И вот уже, имея два названия групп - от каждой сортированной коллеции групп по названию первой группы - я их сравниваю.
Насчёт ПервыйИлиУмолчальный(). Пусто в коллекции групп быть не должно. Но может. Поскольку сравниваются типы, то в случае отсутствия групп вернётся null. И тут проблем нет. Проблема, что идёт обращение к полю Number для null. И тут у меня ошибка. И я прошу помощи, как её избежать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490014
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320, ну то есть у тебя Data Layer, Model и ViewModel смешались в кучу в одном выражении. Круто чё.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490017
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё могу добавить, что названия типов в лямбде я написал, потому что CLR не смог вывести типы автоматически - сложная для него лямбда попалась, наверное. ))) Поэтому выглядит эта лямбда так монструозно. Без типов-то она помельче выглядит. ))
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490026
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320, ну то есть у тебя Data Layer, Model и ViewModel смешались в кучу в одном выражении. Круто чё.
Слой данных - да. Я работу с данным в отдельный слой не выносил - моя ошибка. А так вообще это сайт, а не ВПФ-приложение (я, наверное, забыл это упомянуть). Поэтому тут только модель - модель представления на js у клиента.

Если без смешивания работы с данным и модели, что ещё не так? Я именно про лямбды хочу узнать - за что за них бьют?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490034
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320skyANAuser7320, ну то есть у тебя Data Layer, Model и ViewModel смешались в кучу в одном выражении. Круто чё.
Слой данных - да. Я работу с данным в отдельный слой не выносил - моя ошибка. А так вообще это сайт, а не ВПФ-приложение (я, наверное, забыл это упомянуть). Поэтому тут только модель - модель представления на js у клиента."Нужно отсортировать рекомендации по коллекции групп. Т. е. сначала должна идти рекомендация, где группы, начинающиеся на "а", потом - где на "б" и т. д." - это представление чистой воды.
user7320Если без смешивания работы с данным и модели, что ещё не так? Я именно про лямбды хочу узнать - за что за них бьют?Отдели данные от модели и представления, получишь другой код, тогда и будем обсуждать, что не так. За лямбды не бьют, бьют за вот такое их использование.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490044
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Насчёт ПервыйИлиУмолчальный(). Пусто в коллекции групп быть не должно. Но может. Поскольку сравниваются типы, то в случае отсутствия групп вернётся null. И тут проблем нет. Проблема, что идёт обращение к полю Number для null. И тут у меня ошибка. И я прошу помощи, как её избежать.Если отсутствие групп - это исключительная ситуация, то логично кидать соответсвующее исключение и соответсвующим образом его обрабатывать (сообщение пользователю показывать, или ещё что), а не получать фиг знает о чём говорящее Object null reference exception.
Будет твой продукт кто-нибудь поддерживать, пожалуется ему пользователь. Посмотрит человек логи и ни фига не поймёт, что происходит.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490051
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320user7320Сон Веры Павловны,

я про байндинги в ХТМЛ пока только в контексте knockoutjs знаю. Там очень похоже не то на то , что в ВПФ.



skyANAпропущено...
Хорошо, давайте поговорим об инструментах. Студия и Бленд - это инструменты разработчика. А я спрашивал за пользователей.
Вы говорите об инструменте, который позволяет пользователю создавать сайты?Не создавать, а кастомизировать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490239
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320пропущено...




пропущено...

Вы говорите об инструменте, который позволяет пользователю создавать сайты?Не создавать, а кастомизировать.
Т. е. есть сайт, а я инструменту указываю, как он должен выглядеть? Скажем, натравливаю этот инструмент на Ютуб и чего-нибудь с его интерфейсом делаю?

Я не могу понять, зачем пользователю кастомизировать чьи-то сайты. Если свои - то он это делает при создании. Т. е. он разработчик. Если чужие - зачем ему это надо? Порушит чего-нибудь, а обвинит потом разработчиков. Потом отвечай или задабривай его, убеждай, что это не мы, разработчики, дураки, а он.

Вы, наверное, про что-то типа Opera Dragonfly? Там можно откастомизировать и сохранить результат. Потом браузеру указать, что для этого сайта такие-то стили использовать. Ну так это относится к инструментам разработки. Обычные пользователи в большинстве своей массы такой фигнёй не маются.

Ещё могу сказать, что все эти изъёбства с подменой стилей сайта на собственные - из-за нестандартизированного интерфейса веб-приложений. Каждый извращается во что горазд, вот и делают иногда негодное к использованию говно. Тогда да, хоть свой ЮИ пиши.

Ещё могу представить такой вариант, что вы делаете набор сервисов, а пользователям даёте конструктор ЮИ к ним. Чтобы они сами себе там наконфигурировали, как им нравится. Ну так это опять к разработке и созданию инструментов разработки относится. Да и больше на извращения попахивает. В любом случае, запрограммировать можно любой инструмент разработки и на ВПФ - хоть с какими изъёбствами. Другое дело, что это будет уже не просто троллейбус из буханки, а ещё и через жопу. Если ваша задача - удовлетворять извращенцев, то да, ХТМЛ+ЦСС+ДС для этого, наверное, лучше подходят, чем ВПФ. ВПФ, всё же, для более нормальных людей придуман.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490291
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320 ВПФ, всё же, для более нормальных людей придуман.
я могу впф запустить на ведроиде или яблоке?
нет?
ну это и есть приговор.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490303
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320, нет, всё не так.

К примеру есть CMS WordPress, пользователь делает себе на ней сайт, используя один из 100500 шаблонов, которые под WordPress нафигачили. Всё ок.

Дальше пользователи делятся на сл. типы:
1. тех, кого устраивает один из готовых шаблонов;
2. тех, кто хочет какую-то часть элементов шаблона кастомизировать под себя;
3. тех, кого не устраивает ни готовый, ни кастомизированный шаблон, они хотят свой.

Первых большинство. Но и вторых, и третьих хватает. Я про вторых.
Они не разрабатываю шаблон, не допиливают WordPress, они кастомизируют.

У нас в WildApricot тоже есть CMS, тоже есть готовые шаблоны (у нас это называется темы), но их мало, по сравнению с WordPress, т.к. у нас всего два разработчика тем :)

Соттветсвенно процент людей из п.2 и п.3 у нас выше.

Надеюсь теперь понятно, кто разработчики, а кто пользователи?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490316
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ещё есть такое слово - брендинг. Вот продаём мы сл. софт: мобильный-банк. Это БД, админко, сервис для интеграции с АБС клиента (клиенты - это банки) и мобильное приложение для пользователей (клиенты банка).
У банка уже есть свой бренд: корпоративные цвета, сайт, логотип. Возникает необходимость кастомизации интерфейса мобильного приложения под конкретного заказчика.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490323
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если мобильное приложение гибридное, или веб, то вопрос решается кастомизацией CSS. А если нативное, в нашем случае Silverlight, то как?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490353
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЕсли мобильное приложение гибридное, или веб, то вопрос решается кастомизацией CSS.
Пфф. CSS - это только цвета/шрифты/выравнивания. Изменить разметку с его помощью не выйдет.
На WPF вполне реально сделать кастомизируемый интерфейс, и даже с подобием изменения раскладки (разметки), если использовать библиотеки типа AvalonDock и кастомные темы (последних в инетах предостаточно). Поле для различных извращений тут весьма обширное, вплоть до сериализации xaml шаблонов custom/content controls (т.е. именно кастомной разметки) в настройки пользователя, и подгрузки их на рантайме - где-то такое пробегало на кодепроджекте. Но это как-то не особенно востребовано - поскольку, думаю, не особенно нужно.
А пример с вордпрессом показателен, ага - прикручивание рюшечек к своей днявке :) Я, конечно, понимаю, что это тоже весьма востребованная рыночная ниша, но лично для меня она как-то остается в стороне.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490377
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erМСУА зачем защищать клиентский код?
ответа на этот вопрос у меня нет.
а вдруг там сикретный скоростной алгоритм построения дерева на мильён элементов.
Клиентский код не защищают ибо это бессмысленное занятие.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490393
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны, речь не о том, что кастомизируется при помощи CSS, а что при помощи HTML. Меня интересует как это делается в WPF, Silverlight.

AvalonDock и кастомные темы - вот это уже разговор. Но как пользователю с этим работать?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490398
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныПоле для различных извращений тут весьма обширное, вплоть до сериализации xaml шаблонов custom/content controls (т.е. именно кастомной разметки) в настройки пользователя, и подгрузки их на рантайме - где-то такое пробегало на кодепроджекте.++

зы: При этом, используя ControlTemplate и AttachedProperty, стилями можно изменять не только внешний вид, но и поведение.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490404
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAСон Веры Павловны, речь не о том, что кастомизируется при помощи CSS, а что при помощи HTML. Меня интересует как это делается в WPF, Silverlight.
Ну тебе ж сказали, XAML как текст можно спокойно рендерить руками.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490418
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К При этом, используя ControlTemplate и AttachedProperty, стилями можно изменять не только внешний вид, но и поведение.
набор псевдоклассов типа hover ... или свойства transition/animation тоже позволяют менять поведение.
...
Рейтинг: 0 / 0
25 сообщений из 463, страница 10 из 19
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Задачка на профпригодность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]