powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическая структура данных и MVC
328 сообщений из 328, показаны все 14 страниц
Динамическая структура данных и MVC
    #38178191
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу помощи избавиться от головной боли.
Есть существующий много лет большой проект собранный кусками на ASP и ASP.NET. Проект полностью динамичный, т.е. структура данных не статичная, и зависит от конкретного пользователя прошедшего авторизацию, и может быть изменена на ходу.
Много лет слежу за MVC и другими API .. но смущает сам подход технологий. Основная фишка MVC это контролы. Но у меня нет контролов, так-как теже таблицы user, company и др. не имеют структуры пока пользователь не авторизуется. Для ASP это не критично, а вот ASP.NET сам по себе нацелен на компиляцию и оптимизацию, и если я буду строить классы динамически каждый раз, то получу огромные тормоза. Но при этом следя за ASp.NEt , хочется использовать все вкусности , тотже Razor, Linq и т.д.

Итак: структура всех таблиц системы хранится в базе, и зависит от пользователя который прошел авторизацию. Даже его таблица Users имеет разную структуру в зависимости от настроек в данный момент. Тоже касается и всего интерфейса.
Можно ли с толком использовать MVC и др. ?

P.S. были мысли генерировать файл контролы после изменений, но тогда их будут тысячи в папке , причем на каждый контрол, и снова станет проблемой подключать их не статично а динамично.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178212
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

Переходите на Node.js и клиентские MV* фреймворки - они эти проблемы принимают близко к сердцу и могут помочь!)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178293
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Основная фишка MVC это контролы.
Основная фишка MVC - новый подход к разработке, контролы тут вообще не причем.

*Ihor*если я буду строить классы динамически каждый раз, то получу огромные тормоза.
А зачем строить классы динамически?

*Ihor*Можно ли с толком использовать MVC и др. ?
Можно.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178316
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
к NodeJS я и так все время склоняюсь. Но nodejs это только обработчик сам по себе. к нему нужно собирать пазлом тучу отдельных элементов, плюс решать вопрос больших нагрузок, в итоге вешая к примеру тотже iisnode плюс тучу либ, получается не совсем чистая солянка, в отличие от .NET Framework которая работает в единой среде и почти все части API это одно целое. Да и важен SQL Server 2008/2012 так как mongodb не вариант изза огромной аналитики.
Потому и хочется использовать ASp.NET на полную, но проект не стандартный и 99% того что в MSDN никак не подходит.

Контролы в MVC как раз для меня важный фактор в нем, так-как без описание классов данных и базы, сам MVC уже не полетит так-как задуман. Создать все классы через ExpandoObject выглядит слегка не производительным.

Т.е. проблема в том что, насколько я понимаю ASP.NET и все его фишки: MVC, Linq, Entity Framework и др. , хороши только для статичный проектов, когда все закладывается со структуры базы, и дальше оперируешь только на верхнем уровне. В моем же случае, классы придется создавать или неопределенные типа Hash массивов или Dictionary , ну или новые ExpandoObject и др. В итоге ASP.NET нечего будет оптимизировать и кэшировать, да и скорость будет совсем не красивой. Пробовал в разных тестовых скриптах.

Пока таки NodeJS с его JavaScript и приходит на ум, вот только в нем ничего нету и нужно собирать тучу независимых либ.

Перерыв весь инет, видел только статичные варианты с MVC. Может ктото сможет подсказать, как можно толково подойти к этому моменту без серьезной потери производительности, когда структура данных описана вся в базе или XML и кол-во свойств и методов будет известно только после авторизации.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178338
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,
Вы нас что пугаете да пугаете, что Вы имеете в иду по статичностью? - знания типа модели на этапе компиляции?
так в мувице можно работать и с обезличенным типом модели аля <T>, только надо применить немного эквилибристики -
хотя и пускай банальной, конечно про деревья тут придется забыть, окромя интерфейсной общности, или базового класса.
Но это вполне влазит в парадигму биндинга, не хотите генерить классы в чем проблема, спускайте в вьюху списки.
Динамически маркируйте члены списков, при генерации разметки генерите удобный вам код на основе маркировки и наоборот
( при получении ответа с клиента).
Вы поймите, вариантов по вашей проблеме масса, вы сами должны получить серендипность от общения с мувице.( уж такой он фреймворк)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178375
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Да и важен SQL Server 2008/2012 так как mongodb не вариант изза огромной аналитики.
ETL никто не отменял. вторых, чем обусловлена nosql архитектура? Или просто, чешется, колется.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178419
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- хотите на лету делать и менять велком в RoR, очень модно стало, но опять же медленнее будет. RoR- прогеры говорят в вебе скорость не критична, а удобства покрывают этот недостаток.
- NoSql это тоже мода, позволяет быстро стартануть, но после шаманство будет еще то.

выше сказанное ИМХО и может быть оспорено, личный опыт(

ТС что значит :"так-как теже таблицы user, company и др. не имеют структуры пока пользователь не авторизуется".
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178596
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRuТС что значит :"так-как теже таблицы user, company и др. не имеют структуры пока пользователь не авторизуется".
ну то и значит. после авторизации в базе или допустим в xml конфиге хранится структура базы для данного клиента.. кол-во таблиц, кол-во полей в таблицах , их тип и т.д. Отсюда и вся обработка, в момент запроса формы, строится форма на основе того , что доступно клиенту, и при приеме данных, берется только то что он может сохранить.
Вот поэтому у меня и появилась проблема работы с ASP.NET, весь MVC построен на моделях, и работа с базой через модели и класс самой базы. Тотже Linq, Entity Framework и др.
В javaScript такой проблемы небыло никогда, там классы и проперти создаются на лету.
var t1 = {}; t1.userName = 'test'; - Но JS не работает с базой,в отличие от MVC где общение между вьюиверами и базой идет через модели.

А вот в ASP.NET практически все типизировано. Скорость работы ExpandoObject или аналоги ElasticoObjects совсем плачевны. Иначе не вижу смысла переписывать проект с ASP на ASP.NET полностью. и при этом потерять в производительности. А без потери производительности смог придумать только генерацию классов или подключаемых по типу модулей DLL, которые будут создаваться после редактирования конфигурации клиента, но таких файлов будет тысячи.
Вот и проблема, хочется использовать все вкусности на полную катушку но проект очень специфичен и не имеет структуры данных в статичном виде.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178612
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, зачем тут ExpandoObject? Возьми обычный DataSet в руки и вперед. Тот же xml, только вид сбоку.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178625
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
тут скорее проблема не в отображении данных а ооп - проекции сущности на тип.
постараюсь объяснить:
предположим
1- что у нас 1250 юзеров, и каждый имеет динамическую таблицу db.юзер из 14 не повторяющихся ( условно) полей.
тогда тема фейк - можно даже не заморачиваться.
2 если из таблиц можно препарировать базовую сущность и интерфейсные зависимости, работать через них - вполне типичная
ситуация.
ну а третьего ( имхо ) я не вижу..
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178637
няка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бред какой то полнейший
набор сущностей в любом случае конечный
иначе неизвестные сущности и нет смысла выделять в сущности
создайте свалку в виде пропертей, и подгружайте её для каждого юсера свою
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178642
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, достали уже мнимые попытки прогнуть мвц под неспособность решить какие-то там сферические задачи. В чем конкретно проблемы?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178675
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EF вполне выдерживает иерархичные структуры данных, как в одной таблице, так и в нескольких. Проблемы не вижу. Если уж совсем тяжко с определением домена, на помощь спешит MongoDB ))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178715
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttEF вполне выдерживает иерархичные структуры данных, как в одной таблице, так и в нескольких. Проблемы не вижу. Если уж совсем тяжко с определением домена, на помощь спешит MongoDB ))
да, монго в этом плане шикарен. но вот только монго не потянет аналитику, колосальное кол-во отчетов, с использованием почти всего что дает sql 2008 , без это всего отчеты придется ручками в JS считать и разворачивать.

МСУ
я не пытаюсь прогнуть MVC а пытаюсь понять его. подходит ли он мне или только усугубит.
У меня стоит выбор как сделать лучше. Толи превратить MVC в тормоз из-за специфичной задачи, или же сделать аля Ajax , где UI отдельно а данные чисто через веб сервис request/post в виде json. В случае Ajax все ложиться на сторону клиента, в то время как у MVC это серверная часть Razor. Везде свои плюсы и минусы.
Но для меня главной головной болью является то что, смотря на сайте ASP.NET что предлагает МС на сегодня, все по всем докам это статичные классы. Да это выгладит красиво и вкусно, структуру описал, классы раскидал, связи указал и все полетело.
А мне даже форму генерить нужно в зависимости от того. кто запросил ее. также и весь UI. В моей ситуации невозможно взять объект User, заполнить его , и отдать базе сохранить. Мне придется самому собирать INSERT запросс тем набором данных в момент записи. В итоге MVC будет весь содержать тучи кастомного кода, тоже касается и темплейтов, в итоге зачем тогда MVC мне?

Еще раз, я не говорю что MVC плохо, я пытаюсь понять как сделать лучше в моей ситуации. Я могу просто как писал выше, через json отдавать все а браузер и пусть клиент сам рисует UI по ситуации и т.д . Такой вариант работает и сейчас, но возникает момент когда тотже отчет нужно отрисовать не только у клиента, а и на сервере по Scheduler. Вот тут спасает какбы NodeJS где серверные темплейты и клиентские, это один и тоже код. Но NodeJS не покроет все проблемы.. тотже PDF проблема, как и много других моментов которые есть в ASP.NET но нету под NodeJS. Вот и получается что пытаюсь понять как решить разом все моменты.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178733
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Итак: структура всех таблиц системы хранится в базе, и зависит от пользователя который прошел авторизацию. Даже его таблица Users имеет разную структуру в зависимости от настроек в данный момент. Тоже касается и всего интерфейса.
Можно ли с толком использовать MVC и др.
А зачем так надо было делать?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178784
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*да, монго в этом плане шикарен. но вот только монго не потянет аналитику, колосальное кол-во отчетов, с использованием почти всего что дает sql 2008 , без это всего отчеты придется ручками в JS считать и разворачивать.
У меня такое ощущение, будто я со стенкой разговариваю... Я кому про ETL писал?

*Ihor*я не пытаюсь прогнуть MVC а пытаюсь понять его. подходит ли он мне или только усугубит.
У меня стоит выбор как сделать лучше.
MVC подойдет везде, где нужно веб приложение. Это альтернативный движок. Всё тоже самое можно приготовить на вебформс, на пхп, на джаве. Мысль ясно трактую?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178792
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не вижу тут динамики если честно .. типовая задача сделать 1 общую таблицу к примеру айди юзера, логин и пасс и сделать таблицы с доп. полями по типу юзера соединённые 1 к 1 с первой, в коде сделать фабрику возвращающую нужный объект по типу. профит. И все будет типизировано и удобно.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178795
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и вообще, если есть у автора проект на вебформс, то почему вдруг мвц не в состоянии решить задачу, пусть даже с динамикой? Бред какой-то. А еще более бредовыми выглядят потуги переписать боевое решение с вебформс на мвц.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178806
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Проект полностью динамичный, т.е. структура данных не статичная, и зависит от конкретного пользователя прошедшего авторизацию, и может быть изменена на ходу.
может быть, главное это переделать(,а не ASP->ASP.NET) или хотя бы посмотреть на это с другой точки зрения, чтобы
*Ihor*избавиться от головной боли

ну или Excel и все в Azure
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178819
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2,
да лучше оставить что есть и не дергаться ( если все работает)
тем более что кто то пытался зафигачить туда aspx, до потом понял, что офчинка выделки не стоит.
если там генерится куча чего то без всякой общности, о которой говорил я ранее выше и hVostt и handmadeFromRu
тут надо все ломать, и писать заново а переносить всю ass на мувице там тоже получится ass. смысл?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178886
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо сделать нормальную нормализованную БД, часть которой будет имитировать динамическую часть, а то получается какой-то конгуренд визуаль студии WebEdition, за MS даже страшно
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38178887
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степида лучше оставить что есть и не дергаться ( если все работает)
вполне может быть, это бюджет таки определяет взлетит или
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179287
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему так вышло? а все просто: есть построитель форм, есть построитель отчетов. все полностью на конфигах, даже выборка из-базы берется в конкретный момент в зависимости от юзвера. Причем админ может отключить чтото или добавить, и пользователь должен получить изменения сразу а не после рестарта проекта.
Минусов тут просто уйма. Начиная от кернела которому приходится постоянно выполнять тучи проверок и переборов, заканчивая самой базой. Код оптимизируется постоянно насколько это возможно. База страдает но спасают вьюшки и процедуры под SQL Server 2008, за счет оптимизации и кеширования в Ent.Edition.
Сам АПИ очень давно построен на старом добром ASP а уже новые фишки типа PDF, Excel, Charts и т.д. уже делает ASP.NET. Да все работает прекрасно.. зачем ломать? ну так очень древний проект, хочется переписать с нуля и уже используя то что дает 2013 год.
NodeJS поначалу подходил как нельзя лучше, но вот заглядывая вперед понимаешь что тотже PDF станет боком как и сотни других мелочей, снова лепить винегрет. В то время как .NET уже имеет почти все что нужно.
Потому без конца ковыряю .NET и пробуя разные тесты в попытке найти идеальное решение. Было собрано тучи разного кода, даже DLL генерились налету и тутже инклудились, причем работает и летает прекрасно. Но подход слегка не стандартный. Изучая MVC тупо видел что все завязано на статичных моделях, по крайней мере из всего что доводилось видеть. Когда попались Expando Elastico и др. вроде увидел аналог JavaScript но скорость работы такого кода плачевна.
Т.е. в поиске варианта извратится и не наломать дров, мне так и не попались варианты как сделать подобный проект на .NET без dynamic. Я явно чтото мог упустить, и пока видел вариант через генерацию dll, через expando или dynamic и т.д.
Потому и постучался на форум, в надежде что ктото смог бы подсказать идею. И никак не собирался наезжать на MVC :) ... просто для меня ASP.NET это аналог процедур в базе, т.е. код должен быть статичным, чтобы система могла оптимизировать и кешировать, в отличие от динамичный SQL запросов, Вот тоже самое и с ASP.NET , если я ему буду налету давать плавающий код, потеряется вся производительность , так-как .NET не сможет оптимизировать и каждый раз будет пере компилировать код.

Ведь по идеи SaleForce имеет туже задачу аналогичную, структура всей базы строится через конфиги, а значит нету классов шаблона таблицы, и при этом остается в рабочем виде АПИ верхнего уровня list = from user in db.users where ...
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179299
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webgui.org тоже позволяет клепать формы и мини отчеты, но у них структура одна для всех, а тут 1Це какой-то получается,
у 1Це хоть цель в жизни есть - быть оригинальными, у них и штат большой и все равно кто-то негодуэ, неужели малоизвестные кулибинские конструкторы кому-то нужны? чем студия то хуже?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179333
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажется, что если для пользователя непрограммиста, то запихуемо в пару-тройку, максимум десяток многиекомногим таблиц со статической структурой для "динамики"

а если для пользователей со склонностью к программингу, то лучше урлик размесьтить со сцылкой на express студию
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179342
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для студии тоже конструктор есть, не веб конечно, XAF называется

для любителей пописать, а не потыкать - CSLA
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179355
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2для любителей пописать, а не потыкать - CSLA Любителям пописать не хватило сил реализовать свою инфраструктуру?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179359
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAне хватило сил реализовать свою инфраструктуру?
какую?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179361
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2, собственную конечно.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179365
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAsanyock2, собственную конечно.

время то экономить надо, а то на пописать/потыкать может не остаться
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179375
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС если вы переписываете с нуля то может не стоит завязывается на текущей архитектуре?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179417
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*почему так вышло? а все просто: есть построитель форм, есть построитель отчетов. все полностью на конфигах, даже выборка из-базы берется в конкретный момент в зависимости от юзвера. Причем админ может отключить чтото или добавить, и пользователь должен получить изменения сразу а не после рестарта проекта.
не почему, а зачем так надо было делать? какие бизнес-требования привели к такому решению? или просто у кого-то было шило в заднице, а теперь за ним надо разгребать это говно лопатой?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179512
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, во-первых, откуда весть, что экспандо тормозной? Во-вторых, как он тебе поможет, если у тебя динамика? Чем тебе поможет работа с анонимными типами, ведь на этапе компиляции не известны свойства?
Я вижу тут классическую связку с DataTable, не более и не менее. Остальное, что ты перечислил (безопасность в реал тайме, вьюхи и т.д.) никаким образом к мвц не относится и может быть реализовано хоть на пхп.
Итого: никакой конкретики, ты тупо смешал всё в кучу, вбросил на форум и хочешь каких-то советов.
Короче, если нужен рефакторинг старой системы - займись им. Если хочешь поставить систему с нуля на новые рельсы (с новой более оптимальной логикой или еще с чем) - мвц (как и вебформс) отличные движки, которые могут вся и всё. Определись и не насилуй моск соотечественников.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179603
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУИтого: никакой конкретики, ты тупо смешал всё в кучу, вбросил на форум и хочешь каких-то советов.+1

Придумана какая-то архитектура "построителей", реализована логика на каких-то конфигах и морда на ASP, ASP.NET.
Не понятно почему не получается реализовать морду на MVC.
Можно к примеру Content Management System обозвать построителем форм. Так ведь есть CMS-ки, что написанны на WebForms, PHP, RoR и на MVC, и они работают

Не понятно зачем вообще что-то реализовывать на MVC. Бизнес-требования изменились? Вместо конфигов нужно дать пользователю WYSIWYG?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179903
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
никто не извращался :) , и не строили аналог студии. Вышло все случайно, был огромный проект, и кол-во кастомизации просто стало насиловать сапорт. Каждый клиент начал тянуть на себя одеяло. А ну попробуйте в стандартном MVC вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д. Сначала начнете делать отдельные темплейты клиенские, но потом становится жалко насиловать базу, когда в таблицах сотни полей от разных клиентов, начинаете разделять чтобы у каждого было свое. В итоге всех мучений, пришлось чисто для себя написать динамичный кернел с независимой структурой, в итоге настало время когда практически перестал лазить в код и чтото переделывать под клиента. Т.е. есть сапорт который в админки сами мышкой под клиента чтото меняют. Оно того стоило? 100раз да!
Насчет мани ту мани связок - был дурной опыт, дето в самом начале. Итогом стало просто огромные тормоза как только кол-во данных выросло до лямов. Отчетность и аналитика стали не справляться. Потому и пришлось возвращаться к статичным таблицам, но генерить их на ходу. Вопрос чисто в поиске максимальной производительности. Но при этом иметь под каждого клиента отдельную версию проекта я не потяну физически.

Короче, как сказали выше, меньше слов :) тогда вот конкретика:
Идея проста, Чтобы к примеру заюзать тотже Razor ему нужно отдать модель. Чтобы к примеру сапорт верхнего уровня мог в темплейте стучаться к данным не трогая кернел: @foreach (var user in UsersList) { }
Для этого нужно передать UsersList класс. Но вот как его создать динамично если код кернела единый для всех клиентов, но структура таблицы Users разная?
1. можно скомпилировать по конфигурации в папку клиента dll с класами. и подключить/
2. можно заюзать expando или dynamic но тут есть пару моментов:
в томже expando легко создать анонимный проперти
dynamic sampleObject = new ExpandoObject(); sampleObject.name = 'Test';
но это в коде, а если заполнять из таблицы ? т.е. записать класс sampleObject["name"] = 'test' чтобы потом в Razor можно было красиво sampleObject.name ?

Попробовал через dynamic:
IDictionary<string, dynamic> user = new Dictionary<string, dynamic>();
user["Name"] = "Test";
List<dynamic> users = new List<dynamic>();
users.Add(user); users.Add(user);
var query = from i in users where i["Name"]='Test' select i;
foreach (var name in query) { Console.WriteLine(name["Name"]); }
так вроде работает, и даже Console.WriteLine(users[0]["Name"]); прекрасно работает. Но вот стоит вызвать ['Age'] и уже вылетает потому что нету обработчика. А ведь вся суть, отдать дизайнеру чтобы он мог обращяться к данных не трогая серверную часть. Т.е. по аналогу JSON в JQuery Template.. @foreach (var user in UsersList) { user['Name'] } но если указать тут 'Age' то упадет по ошибке.
Подход довольно простой в принципе и ничего тут сверх естественного. Есть api которая получает запрос, list / users / filter: Age >
20 к примеру
api не знает что из себя представляет users таблица. но нужно вызвать данные, отфильтровать и сгенерить темпллейт. Это все уже лет 10 работает. Вот и пытаюсь это все перегнать в .NET но без Dictionary а както красивее и с максимальной производительностью.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179966
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д.
проблема значит организационная, а не техническая.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179981
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил*Ihor*вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д.
проблема значит организационная, а не техническая.
оно все взаимосвязано. с одной стороны сам пытаешься сделать универсальный код, с другой стороны давят клиенты по по 100 раз меняют структуры базы, начинаешь мудрить. Тотже SaleForce позволяют также само клиентам менять структуру базы под себя. и явно оно у них хранится не в массиве а в статичных таблицах, иначе бы сервера не потянули бы большие данные каждый раз разворачивать из массива.
Для меня это очень удобно, когда достаточно добавить поле в конфиг клиента, и оно появится везде автоматом. А вот как раз код аналогичен тогоже Symfony на PHP просто ужасает. чтобы добавить поле нужно перегенерить все классы и либы чтобы поле и эвенты к нему провелись по всему кернелу, потом мигрейты и т.д. скорость разработки просто ужасает.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180021
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил*Ihor*вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д.
проблема значит организационная, а не техническая.
обычная проблема
просто статические модели достали тех, кто пишет сложные проги моделирующие жисть, а не надуманные редакторы текста
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180044
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

*Ihor*никто не извращался :) , и не строили аналог студии. Вышло все случайно, был огромный проект, и кол-во кастомизации просто стало насиловать сапорт. Каждый клиент начал тянуть на себя одеяло. А ну попробуйте в стандартном MVC вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д. Сначала начнете делать отдельные темплейты клиенские, но потом становится жалко насиловать базу, когда в таблицах сотни полей от разных клиентов, начинаете разделять чтобы у каждого было свое. В итоге всех мучений, пришлось чисто для себя написать динамичный кернел с независимой структурой, в итоге настало время когда практически перестал лазить в код и чтото переделывать под клиента. Т.е. есть сапорт который в админки сами мышкой под клиента чтото меняют. Оно того стоило? 100раз да!
Насчет мани ту мани связок - был дурной опыт, дето в самом начале. Итогом стало просто огромные тормоза как только кол-во данных выросло до лямов. Отчетность и аналитика стали не справляться. Потому и пришлось возвращаться к статичным таблицам, но генерить их на ходу. Вопрос чисто в поиске максимальной производительности. Но при этом иметь под каждого клиента отдельную версию проекта я не потяну физически.

Короче, как сказали выше, меньше слов :) тогда вот конкретика:
Идея проста, Чтобы к примеру заюзать тотже Razor ему нужно отдать модель. Чтобы к примеру сапорт верхнего уровня мог в темплейте стучаться к данным не трогая кернел: @foreach (var user in UsersList) { }
Для этого нужно передать UsersList класс. Но вот как его создать динамично если код кернела единый для всех клиентов, но структура таблицы Users разная?
1. можно скомпилировать по конфигурации в папку клиента dll с класами. и подключить/
2. можно заюзать expando или dynamic но тут есть пару моментов:
в томже expando легко создать анонимный проперти
dynamic sampleObject = new ExpandoObject(); sampleObject.name = 'Test';
но это в коде, а если заполнять из таблицы ? т.е. записать класс sampleObject["name"] = 'test' чтобы потом в Razor можно было красиво sampleObject.name ?

Попробовал через dynamic:
IDictionary<string, dynamic> user = new Dictionary<string, dynamic>();
user["Name"] = "Test";
List<dynamic> users = new List<dynamic>();
users.Add(user); users.Add(user);
var query = from i in users where i["Name"]='Test' select i;
foreach (var name in query) { Console.WriteLine(name["Name"]); }
так вроде работает, и даже Console.WriteLine(users[0]["Name"]); прекрасно работает. Но вот стоит вызвать ['Age'] и уже вылетает потому что нету обработчика. А ведь вся суть, отдать дизайнеру чтобы он мог обращяться к данных не трогая серверную часть. Т.е. по аналогу JSON в JQuery Template.. @foreach (var user in UsersList) { user['Name'] } но если указать тут 'Age' то упадет по ошибке.
Подход довольно простой в принципе и ничего тут сверх естественного. Есть api которая получает запрос, list / users / filter: Age >
20 к примеру
api не знает что из себя представляет users таблица. но нужно вызвать данные, отфильтровать и сгенерить темпллейт. Это все уже лет 10 работает. Вот и пытаюсь это все перегнать в .NET но без Dictionary а както красивее и с максимальной производительностью.



Вместо ехpando нужна своя реализация DynamicObject. Я делал вариант с фиксированной частью + динамическая.
В сети полно исходников с разными подходами(неплохой вариант есть на codeproject), я за основу брал impromptu
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180049
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
седня про MongoDB-NoSQL немного почитал, типа быстрее да, но так то по идее оно на одной таблице SQL делается без учета тормозов

уже даже не пытаюсь советовать, ибо опыта с сильно нагруженными нету (и слава богу), говорят там все по другому (денормализации, шардинги, брррр фуу, никакого перфекционизма короче)

но неужели нельзя какой-то хитрый кластер сделать, железки проапгредить, закэшировать таблицы в оперативу, 1% хранимок переписать на С и чтобы старыми SQL многимикомногими без напряга своих мозгов?

неужели Каше правда нужен (когда есть Oracle, DB2, MSSQL и т.п.)?!?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180063
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это для viewmodel. Для model проще всего взять упомянутый уже csla. Для любителей своих "инфраструктур" или "Пан сам склепав"
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180165
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
динамик здесь не нужен. есть базовый домен. есть проперти. наборы пропертей определяются в дополнительной таблице, типа Descriptor, записи которых описывают проперти, принадлежность их к ролям (пользователей?) и другим переменным. рендерится это чудо набором ViewTemplates, вводятся данные в базу набором EditorTemplates. если требуется определять наборы во время функционирования приложения, можно хранить частичные вью в базе и рендерить через RazorGenerator. в общем, просто как дважды два, а вы тут развели. элементарная задача, элементарное решение. на MVC решается влегкую.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180197
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttдинамик здесь не нужен. есть базовый домен. есть проперти. наборы пропертей определяются в дополнительной таблице, типа Descriptor, записи которых описывают проперти, принадлежность их к ролям (пользователей?) и другим переменным. рендерится это чудо набором ViewTemplates, вводятся данные в базу набором EditorTemplates. если требуется определять наборы во время функционирования приложения, можно хранить частичные вью в базе и рендерить через RazorGenerator. в общем, просто как дважды два, а вы тут развели. элементарная задача, элементарное решение. на MVC решается влегкую.

вопрос встречный тогда тебе и товарищу МСУ:
Зачем тогда нужен форум? если вы все тут гуру, и для вас влегкую как два пальца, а кто не допонимает, идите ищите. Я так понимаю тут бывает только две ситуации.. или оба гуру и спорят кто умнее , или кто не в теме просто отвечают - "да можно, как два пальца" , а дальше MSDN вам в руки и отвалите.
В том то и дело что я перековырял километры MSDN и тогоже codeprojects И др. 99% тогоже MVC это статичные задачи. Если чуть динамика или нестандартное , то до конца не оговорено и для конкретного случая работает, шаг влево или вправо сразу тупик.
Я уже по тону МСУ понял что глупо на форуме чтото спрашивать. Как нибудь уже сам доковыряю, благо опыта хватает и не такие задачи решал.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180226
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вопрос встречный тогда тебе и товарищу МСУ: Зачем тогда нужен форум?
Для того, чтобы предметно дискутировать. Но как можно дискутировать, тем более предметно, о сферическом коне в вакууме? Подумай об этом.

P.S. Такое ощущение, что тебе (оказывается!) тупо нужен CMS, о котором выше говорил skyANA. Это решит много административных и технических проблем. На базе CMS уже можно дальше строить свою систему.

P.S2. Рекомендую DNN, как-раз на ASP.NET WebForms.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180257
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужен чистый легкий код. Я пытаюсь пересобрать свой API.
На данный момент как и писал выше на коленке уже работают варианты
1) генерация dll и поключение из папки клиента, но много нехороших моментов есть.
2) dynamic почти получается аналог JS но нужно все таки писать свой класс сверху чтобы не слетат код при обращении к не существующему проперти, ведь дизайнер UI будет писать проверки.
Код: c#
1.
2.
3.
   IDictionary<string, dynamic> user = new Dictionary<string, dynamic>();
   user["Name"] = "Test";
   Console.Write(user["Name"]);


покрывает почти все что вижу. даже методы можно повесить налету. но не хватает обработки чтобы user['Age'] вернуло null как в JS а не падало по ошибке.
3) ExpandoObject в принципе получается выше аналог dynamic за исключением менее компактного кода.
Код: c#
1.
2.
3.
4.
   dynamic user = new ExpandoObject();
   ((IDictionary<String, Object>)employee).Add("Name","Test");

   Console.Write(user.Name);


да и посути тотже Json.NET либа на ExpandoObject вроде построена.

2) и 3) вариант вполне позволяют получив выборку с базы, загнать все колонки в объект и отдать в шаблон. А дальше админ может менять вывод в шаблоне под свои задачи. Т.е. введя в таблицу новое поле "Tel" в Razor шаблоне просто админ укажет
Код: c#
1.
2.
3.
 @foreach (var user in UsersList) { 
    <p>@user.Tel</p>
 } 


чем плох такой подход? зачем мне DNN
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180258
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

а по мне, это просто толстый троллинг и издевательство. конкретику давай, что за домен. примеры. какие задачи. чем конкретней будет описана задача, тем конкретнее будет ответ.

мне нужен дом. понимаете? дом. дом для разных людей, а не для одинаковых, прошу учесть! ну и что гуру посоветуете!? ваш МВЦ по ходу для одинаковых людей. либо Ку, либо неКу. а мне нужно для разных. вы не понимаете.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180272
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

динамик и експандо обджект совсем для других целей. не для хранения и раскрытия домена. не для вместилища данных. для этого существуют коллекции. где есть скалярные типы и сложные. где есть иерархия и зависимости. в базе они описываются путем раскрытия на связанные таблицы и поля (4-ая форма и иже с ним), которые собираются в реальные классы и коллекции.

динамик вам не нужен. забудьте, как страшный сон. он для других целей, совершенно для других. будете дальше копать в эту сторону еще больше увязнете. и обвините всех, кто вам там чего-то понасоветовал. забудьте вообще про динамик. ппц. незнаю уже других слов, чтобы описать эту дурость.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180294
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt

JavaScript по сути весь динамичный. Даже не типизирован в какой то мере. var a = 1; a = '1'; хотя и есть свои правила. Но в JS даже не встает вопрос с объектами. И любая динамика решается в пару строк. Незря ведь в ASP.NET всетаки засунули JSON и сериализацию как и во многие другие языки. Тотже NodeJS восприняли на ура, потому что JS позволяет очень легко описать любые задачи. Тотже Expando посути это тотже JSON. И вы мне говорите что JSON не хранилище данных ? Что тогда по вашему MongoDB ?
Ранее в C# не было и близко динамики, но с каждым разом все больше вводят приближение к JS и ведь не просто так.. пройдет еще время и будет еще больше вариантов. Не хотите динамики.. это ваше дело. Мой принцип, иметь универсальный один метод , вместо 100 вариантов под разные задачи.
По поводу тролинга - я постом выше привел вариант что хотел и как связать базу и шаблон. Если для вас это изврат, то видимо JS для вас чтото страшное.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180322
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttдинамик здесь не нужен. есть базовый домен. есть проперти. наборы пропертей определяются в дополнительной таблице, типа Descriptor, записи которых описывают проперти, принадлежность их к ролям (пользователей?) и другим переменным. рендерится это чудо набором ViewTemplates, вводятся данные в базу набором EditorTemplates. если требуется определять наборы во время функционирования приложения, можно хранить частичные вью в базе и рендерить через RazorGenerator. в общем, просто как дважды два, а вы тут развели. элементарная задача, элементарное решение. на MVC решается влегкую.

В твой пенке упущен один маленький момент, без которого view ничего не стоят с динамическими структурами
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180353
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот вам конкретика:
1. есть таблица допустим users { name, age , tel}
2. есть темплейты где просто список
@foreach <div>@user.name, @user.age , @user.tel</div>
3. есть XML файл с описанием структуры таблицы
4. есть админка, в которой добавив в XML поле address идет речек структуры таблицы с добавлением users { address } колонки.
5. дизайнеру нужна возможность просто отредактировать шаблон добавив @user.address и если он опечатался @user.address2 чтобы не вылетало.
все довольно таки просто, шаблоны раскиданы по папкам, есть общий дефотлтный, а есть /client/1/userList.cshtml
по реквесту /list/users/filter:age>10/ взять из таблицы содержимое с фильтром, отдать шаблону и сгенерить. Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу. Сделать такое вполне реально и код будет очень гибким и легким. По крайней мере 10 лет уже так работает api.
На nodejs такое собрать очень легко, но nodejs не даст всего того что есть в .NET. Тотже к примеру PDF готового решения нету, и тучи других моментов, иначе я бы забил на .NET и сразу собрал бы на nodejs
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180367
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Каждый клиент начал тянуть на себя одеяло
мда,
1. ограничивать хотелки клиентов в случае тиражируемых продуктов (бесполезно же майкрософт просить вернуть стандартное меню в word или убрать кнопку пуск из винды)
2. двигаться в сторону концепции 1С, что сейчас и происходит помаленьку, только не очень понятна разница в хотелках, ведь они настолько могут быть не совместимы между собой, что придется писать два кардинально разных метода для бизнес-логики, а так можно посмотреть в сторону генерации приложений на основе моделей, отправная точка DevExpress XAF, только там можно натолкнуться на ограничения

ViPRosобычная проблема
просто статические модели достали тех, кто пишет сложные проги моделирующие жисть, а не надуманные редакторы текста
компьютер не сможет смоделировать жизнь, он умеет только да и нет, а в жизни еще есть "не знаю"
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180381
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77,

пора б отличить комп от проги
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180391
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вот вам конкретика:
1. есть таблица допустим users { name, age , tel}
2. есть темплейты где просто список
@foreach <div>@user.name, @user.age , @user.tel</div>
3. есть XML файл с описанием структуры таблицы
4. есть админка, в которой добавив в XML поле address идет речек структуры таблицы с добавлением users { address } колонки.
5. дизайнеру нужна возможность просто отредактировать шаблон добавив @user.address и если он опечатался @user.address2 чтобы не вылетало.
...
Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу.
для этой задачи не требуется динамическая БД, сделать поля все NULL, и написать (или дописать, или найти в гугле готовый) движок layouts по типу http://www.devexpress.com/Products/NET/Controls/WinForms/Layout/whitepaper.xml?page=3 и добавить при необходимости конфигурацию обязательных полей именно на уровне презентации

а если не требуется динамическая БД - то половина проблем отпадает сразу, особенно генерация таблиц при логине юзера (страшный сон просто)

но я так понимаю проблема гораздо глубже, там же потом еще бизнес логика, уму не постижимо - как это может нормально заработать, это на каждый чих писать вариант одного и того же бизнес-метода, легче убиться об стену
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180394
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosпора б отличить комп от проги
прога работает на компе, если бы все так было - давно бы написали программный аналог нострадамуса
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180397
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77но я так понимаю проблема гораздо глубже, там же потом еще бизнес логика, уму не постижимо - как это может нормально заработать, это на каждый чих писать вариант одного и того же бизнес-метода, легче убиться об стену

видимо, она сама должна генериться динамически :-) осталось только генератор сгенерировать
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180425
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77,

ты не в теме просто, потому хорош лялякать
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180427
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2видимо, она сама должна генериться динамически :-) осталось только генератор сгенерировать
тупая логика по работе с БД генерится динамически, а бизнес логика добавляется по мере надобности
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180428
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вот вам конкретика:
1. есть таблица допустим users { name, age , tel}
2. есть темплейты где просто список
@foreach <div>@user.name, @user.age , @user.tel</div>
3. есть XML файл с описанием структуры таблицы
4. есть админка, в которой добавив в XML поле address идет речек структуры таблицы с добавлением users { address } колонки.
5. дизайнеру нужна возможность просто отредактировать шаблон добавив @user.address и если он опечатался @user.address2 чтобы не вылетало.
все довольно таки просто, шаблоны раскиданы по папкам, есть общий дефотлтный, а есть /client/1/userList.cshtml
по реквесту /list/users/filter:age>10/ взять из таблицы содержимое с фильтром, отдать шаблону и сгенерить. Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу. Сделать такое вполне реально и код будет очень гибким и легким. По крайней мере 10 лет уже так работает api.
На nodejs такое собрать очень легко, но nodejs не даст всего того что есть в .NET. Тотже к примеру PDF готового решения нету, и тучи других моментов, иначе я бы забил на .NET и сразу собрал бы на nodejs
а почему бы п. 5 не автоматизировать?
тогда адрес2 просто не было бы
да и не проблема в дайнамик отсечь адрес2 то
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180441
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вот вам конкретика:
1. есть таблица допустим users { name, age , tel}
2. есть темплейты где просто список
@foreach <div>@user.name, @user.age , @user.tel</div>
3. есть XML файл с описанием структуры таблицы
4. есть админка, в которой добавив в XML поле address идет речек структуры таблицы с добавлением users { address } колонки.
5. дизайнеру нужна возможность просто отредактировать шаблон добавив @user.address и если он опечатался @user.address2 чтобы не вылетало.
все довольно таки просто, шаблоны раскиданы по папкам, есть общий дефотлтный, а есть /client/1/userList.cshtml
по реквесту /list/users/filter:age>10/ взять из таблицы содержимое с фильтром, отдать шаблону и сгенерить. Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу. Сделать такое вполне реально и код будет очень гибким и легким. По крайней мере 10 лет уже так работает api.
На nodejs такое собрать очень легко, но nodejs не даст всего того что есть в .NET. Тотже к примеру PDF готового решения нету, и тучи других моментов, иначе я бы забил на .NET и сразу собрал бы на nodejs


В базовом классе создать свойство с типом dynamic и с помощью динамичиских парсеров xml или json, которых вагон и маленькая тележка, хранить динамическую часть в отдельном поле в виде стоки
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180452
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRosа почему бы п. 5 не автоматизировать?
тогда адрес2 просто не было бы
да и не проблема в дайнамик отсечь адрес2 то

П.5 генерится и так для дефолтных шаблонов. но есть кастомные, где ручками уже чтото навернули. допустим захотели не линейный вывод формы а многоколоночный для user допустим Firstname + Lastname рядышком.. т.е. редактируя шаблон он становится специфичным, и автоматом туда всунуть новые поля уже нету возможности. Потому и остается всегда вариант когда нужно в шаблоне докидывать допустим новое поле. Но это все таки проще и легче, чем идти по всей системе, прокидывать в классах новый тип, плюс сет/гет, обработка на запись и еще тучи всего. Оно и создавался изначально старый добрый API чтобы избавить себя от ибатни такой. раз 1000 сделаешь тупую работу, начинаешь думать - как это автоматизировать.. в итоге и создана была система где кернел не трогается в 99% случаях.
Логика строится в базе, за счет структуры бизнес логики и других нюансов. Тут изначально было продумано и заложено в api, и система сама знает о процессах логики клиента. Далее промежуточные этапы , внесения, редактирования, импорта данных.. ну и итог уже отчеты. JS отчеты отпали изначально потому что нужно не только показывать клиенту но и отсылать мылом по заданному графику. Вот и идет задача прийти к Razor в итоге, вместо своего самописного на с++ темплэйта. Т.е. Цель - чтобы все работало в едином коде и единой среде. Имея огромный монтср .NET , какбы глупо писать левые куски кода и собирать винегрет.

Попробовав по быстрому пару тестов с dynamic и expando убедился что Razor падает при попытке указать ошибочный проперти. Видимо тут таки нужен внешний класс, теперь понимаю зачем в инете тучи постов где народ самописно делает такие выкрутасы. Тотже ElasticObject, DynamicObjects и др. Странно что в самом c# не заложено это изначально.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180457
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

ну про "разор" и т.д. (да и веб) я не в курсе
просто у меня на винформс все работает как ты описываешь
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180458
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому твой топик и заинтересовал, что думаю сгенерировать веб рожу, помимо вин
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180459
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SeVaВ базовом классе создать свойство с типом dynamic и с помощью динамичиских парсеров xml или json, которых вагон и маленькая тележка, хранить динамическую часть в отдельном поле в виде стоки
есть один пока нюанс. запись класса из таблицы возможна пока только через Name. т.е. нету возможности заполнять:
user.address = db.Users.Adress, так-как структура не заложена. А значит все идет через строковой проперти, user['Address'] = rec["Address"].Value. что уже создает трудность при работе с Json с C#
В javascript такой проблемы нету, var user = {}; user['adress'] = 'NY' или user.adress = 'NY' работает легко. А вот в C# уже так красиво не выходит. use = new { name: 'Test', age: 20} выглядит красиво, но вот создать в анонимном классе еще один проперти на лету уже не вышло, тем более достучаться через Name. user['address'].. Вот и приходится извращаться. Точто идет в MSDN как ни крути, не подходит стандартными методами. Нужно ведь чтобы и в Razor темплейте для админа или дизайнера было все тупо и просто в использовании , без лишних try catch. В итоге как я вижу и делают сверху класс внешний с обработками, потом дойдя до Linq еще нужно навесить уйму методов и свойств, в итоге это все превращается в километры кода на подобии тогоже ElasticObject , хотя МС могли изначально это сделать в C#.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180461
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

много че они могут делать, но не делают или делают еще хуже
классы и т.д. приблудину ввели тип - не надо копи рейст
а теперь генерят миллиарды "классов", классы для изучения этих классов, классы генерирующие контейнеризирующие и фиг знает еще че делающие
как ток что нить приведешь в порядок, тут же все меняется, новый вын, нвый язык мода и т.д.
сцуки
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180463
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRosпотому твой топик и заинтересовал, что думаю сгенерировать веб рожу, помимо вин
писал уже выше: JS имеет для этих задач уже все готовое. Json как хранилище, и десятки Template фреймворков. Json на лету собирается очень легко, далее отдается шаблонизатору и далее можно вполне реализовать несложный редактор темплейтов не для продвинутых. В случае опечатки просто выдаст не то что нужно. Но я никак не могу использовать клиентский UI хоть и рвался постоянно. Ведь отсылая по таймеру отчет или письмо , он должен быть 1в1 как клиент видит на экране. А потому писать два куска, один для клиента и потом еще один для серверной части - полный бред. Вот и упирается это все в HTML темплейты но на стороне сервера по аналогии с NodeJS. Что в принципе Razor и позволяет. хотя есть десятки других темплейт генераторов и более удобных. Но оно ведь лучше и проще когда все в единой среде без сотни сторонних dll в /bin
Asp.net 4 дает много вариантов и готовых библиотек, но проблема в том что MSDN завален примитивами и статикой. Оно все красиво пока не попытаешься шагнуть в сторону. Вот тут и вынес себе мозг километрами исходников в итоге запутался в хлам. Почему и решил спросить мнение.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180464
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, десятый раз повторяю, чем дататабле не устроил для динамики?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180468
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*SeVaВ базовом классе создать свойство с типом dynamic и с помощью динамичиских парсеров xml или json, которых вагон и маленькая тележка, хранить динамическую часть в отдельном поле в виде стоки
есть один пока нюанс. запись класса из таблицы возможна пока только через Name. т.е. нету возможности заполнять:
user.address = db.Users.Adress, так-как структура не заложена. А значит все идет через строковой проперти, user['Address'] = rec["Address"].Value. что уже создает трудность при работе с Json с C#
В javascript такой проблемы нету, var user = {}; user['adress'] = 'NY' или user.adress = 'NY' работает легко. А вот в C# уже так красиво не выходит. use = new { name: 'Test', age: 20} выглядит красиво, но вот создать в анонимном классе еще один проперти на лету уже не вышло, тем более достучаться через Name. user['address'].. Вот и приходится извращаться. Точто идет в MSDN как ни крути, не подходит стандартными методами. Нужно ведь чтобы и в Razor темплейте для админа или дизайнера было все тупо и просто в использовании , без лишних try catch. В итоге как я вижу и делают сверху класс внешний с обработками, потом дойдя до Linq еще нужно навесить уйму методов и свойств, в итоге это все превращается в километры кода на подобии тогоже ElasticObject , хотя МС могли изначально это сделать в C#.

Кто мешает завести строки с значениями по умолчанию и на основании нее инициализировать новый объект.
А ты, видно, фокусы собрался показывать, если у тебя структура заранее не определена.

А MS все сделала для динамических объектов в c#. Способов вагон и маленькая тележка, если тебе нужен еще linq(кто бы сомневался), то это уже нетривиальная задача, пятиминутных способов не будет, по твоим выжимкам никто не даст тебе готовый вариант.

Не морочь голову публике. Сделать это можно, но все зависит от конкретных условий. Подозреваю, дальше еще нужны будут бизнес-правила и прочие балеты.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180471
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos*Ihor*,

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

:D .. мне хватило приколов с depricated в Sql Server.. тут они меня убили просто.. софт ставится клиентам, и зачастую клиент купив EntEdition 2005 уже не хочет платить снова чтобы сменить на 2012. Но ты ведь получая в руки тотже 2008 начинаешь юзать его на полную катушку, но там вдруг 2005, начинаешь мудридь. Вышел SQL 2012, они еще больше наломали, теперь код 2008 никак не хочет в 2012 , и между ними появляется несовместимость полная.
Теперь и Google подставили. удалив V2 апи карты полностью, ведь могли оставить хоть и без потдержки v2 , но нет, удаляют сервис как таковой, а как начал переписывать на v3 а нам 80% просто depricated и пришлось переделывать полностью весь проект.

Вот потому и сижу в своем API и никогда не сяду в чужой :) ... глупо но вот просто доверия к монстрам нету.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180477
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ*Ihor*, десятый раз повторяю, чем дататабле не устроил для динамики?
все упирается в шаблон. в шаблоне не должно быть никакких <asp:Grid и т.д. потому будут маркеры , темлейт макросы, блоки и т.д. Отдается массив данных и далее идет вывод в шаблоне.
Опятьже - DataTable это двумерный линейный массив. Он только вот для MSDN туториалов и подходит.
А представь примеру что у тебя есть запись с кросс вложениями. Ну типа task и taskItems .. в json это просто дерево. Ты отдаешь json темплейту, и далее дизайнер может или просто вывести список task, или вывести список с расскрывающимеся подсписками, или даже расчеты добавить по ходу вывода. @foreach task { @foreach task.taskItem { } } DataTable линейный тут ну никак.
Я просто МСУ вижу что ты тупо против самой идеи, и все твои посты чисто упреки. ты уж прости, но я не выдумал задачи с потолка и сижу тролю. Вы еще блин пойдите SaleForce научите как нужно гнать в шею клиентов и рассказывать мол им что никакой динамики и кастомизации, пусть их клиенты расслабятся в желаниях. Для меня же это принцип - Нету ничего невозможного в программировании. Тем более есть желание уже то что работает сделать еще лучше.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180490
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SeVaНе морочь голову публике. Сделать это можно, но все зависит от конкретных условий. Подозреваю, дальше еще нужны будут бизнес-правила и прочие балеты.
нет спасибо :) уже давно все есть изначально и то что называется MVC сейчас ,было 10 лет назад но без названия :) и то что назвали Ajax было старый добрый dhtml еще при IE6 и все работало :)
Просто хочу переписать все с мертвого ASP на новый код. Причем сам, это не бизнес задача. Загвоздка была только одна: взять из запроса все что есть, не зная что там прейдет, или хоятбы получив список полей в таблице в виде массива, засунуть в класс аналогичный Json с многомерной а не линейной структурой и отдать в темплейт чтобы дизайнер мог стучаться к данным на примитивном уровне, как это сделано в томже jquery.tml, mustache, и др. Для меня стало проблемой что создавая класс user = new {name: 'test'} я не могу заполнить его по строковой переменной user[fieldname] = fieldvalue. это можно только для хеш массива. или тупо генерить строку Json и потом сериализовать, о это уже полный бред.
А отдав темплейту , полетят ошибки если не проверять наличие каждого проперти. Тут я уже допер что нужен СВОЙ! класс над классом, и не только проверка на TryGetMember а еще целый огромный кусок свойств и методов для Linq. Я мог сразу взять тотже ElasticObject и не заводить тут тему. Но смущало то что .NET 4.5 уже поидеи должен был иметь все что нужно в отличие от 2.0. И была надежда что оно все есть, ноя этого не увидел потерявшись в MSDN и тучах разных исходниках.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180505
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ*Ihor*, десятый раз повторяю, чем дататабле не устроил для динамики?
все упирается в шаблон. в шаблоне не должно быть никакких <asp:Grid и т.д. потому будут маркеры , темлейт макросы, блоки и т.д. Отдается массив данных и далее идет вывод в шаблоне.
Причем тут шаблон? Данные - динамическая (xml) таблица, шаблон - способ сформировать конечный выхлоп (html). Будь то razor, aspx, xslt и иже с ними. В кучу смешалось всё, кони, люди, шаблоны, динамическая схема данных... Цирк.

*Ihor*Опятьже - DataTable это двумерный линейный массив. Он только вот для MSDN туториалов и подходит.
А представь примеру что у тебя есть запись с кросс вложениями.
Открой для себя DataSet, DataRelation и иже с ними. Для динамики то, что доктор прописал - собственно классы для этого и затачивались. По сути - чистая обвязка над "нетипизированным" xml.

*Ihor*Ну типа task и taskItems .. в json это просто дерево. Ты отдаешь json темплейту, и далее дизайнер может или просто вывести список task, или вывести список с расскрывающимеся подсписками, или даже расчеты добавить по ходу вывода. @foreach task { @foreach task.taskItem { } } DataTable линейный тут ну никак.
Ты уперся в столб, пора сменить курс. Набери пальчиками в гугле "dataset to json", узрей истину джедаев.

*Ihor*Я просто МСУ вижу что ты тупо против самой идеи, и все твои посты чисто упреки. ты уж прости, но я не выдумал задачи с потолка и сижу тролю. Вы еще блин пойдите SaleForce научите как нужно гнать в шею клиентов и рассказывать мол им что никакой динамики и кастомизации, пусть их клиенты расслабятся в желаниях. Для меня же это принцип - Нету ничего невозможного в программировании. Тем более есть желание уже то что работает сделать еще лучше.
Проблема вся в том, что ты чистый теоретик, пытаешься на пустом месте людей запутать какими-то феерическими глупостями, от которых уже голова пухнет. Я лишь пытаюсь этому препятствовать, не более того.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180516
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вот вам конкретика:
1. есть таблица допустим users { name, age , tel}
2. есть темплейты где просто список
@foreach <div>@user.name, @user.age , @user.tel</div>
3. есть XML файл с описанием структуры таблицы
4. есть админка, в которой добавив в XML поле address идет речек структуры таблицы с добавлением users { address } колонки.
5. дизайнеру нужна возможность просто отредактировать шаблон добавив @user.address и если он опечатался @user.address2 чтобы не вылетало.
все довольно таки просто, шаблоны раскиданы по папкам, есть общий дефотлтный, а есть /client/1/userList.cshtml
по реквесту /list/users/filter:age>10/ взять из таблицы содержимое с фильтром, отдать шаблону и сгенерить. Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу. Сделать такое вполне реально и код будет очень гибким и легким. По крайней мере 10 лет уже так работает api.
На nodejs такое собрать очень легко, но nodejs не даст всего того что есть в .NET. Тотже к примеру PDF готового решения нету, и тучи других моментов, иначе я бы забил на .NET и сразу собрал бы на nodejs
С датасетом эта задача ясельного направления решается за 3 минуты - сливаешь структуру в датасет, бежишь в первом цикле по таблице (колонки), во внутреннем цикле бежишь по DataRow, разором формируешь контролы в зависимости от DataColumn.DataType. В качестве модели для вью - датасет. В чем проблема, что за ересь ты вещаешь про шаблоны? Тоже самое можно прогнать через шаблонизатор xslt (классика, потихоньку уходящая в небытие).
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180521
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ

DataTable имет теже грабли для шаблонизатора. тотже вызов datarow['Adress2'] остановит по ошибке потому как ячейки такой нету, и снова в шаблоне писать тучи проверок или снова вешать сверху свой класс со всеми нужными свойствами и методами, а не просто отдать dataset в шаблон
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180532
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ

DataTable имет теже грабли для шаблонизатора. тотже вызов datarow['Adress2'] остановит по ошибке потому как ячейки такой нету, и снова в шаблоне писать тучи проверок или снова вешать сверху свой класс со всеми нужными свойствами и методами, а не просто отдать dataset в шаблон
А зачем обращаться к datarow['Adress2']? То ты говоришь про динамику, то какие-то хардкоженые колонки. Ты определись, что тебе нужно. Есть ещё такое понятие, как централизованная обработка ошибок, если что. Ты чего хочешь, чтобы «наговнять» в шаблоне (вью) и чтобы всё работало? Так не бывает.
П.С. Идиотизм, смешанный с цирком и троллением, начинает порядком надоедать. Толсто и уныло.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180533
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ - Откуда столько негатива?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180539
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чисто ради интереса запустил мелкий тест тупой.
Код: c#
1.
2.
3.
            IDictionary<string, dynamic> test1 = new Dictionary<string, dynamic>();
            test1["Name"] = null;
            for (int i = 1; i <= 100000; i++) { test1["Name"] = "Tester"; }


Время: 00:00:00.0109

Код: c#
1.
2.
3.
            dynamic test2 = new ExpandoObject();
            ((IDictionary<String, Object>)test2).Add("Name", "");
            for (int i = 1; i <= 100000; i++) { test2.Name = "Tester"; }


Время: 00:00:01.2735

Код: c#
1.
2.
3.
4.
            DataTable test3 = new DataTable();
            test3.Columns.Add("Name");
            DataRow row = test3.NewRow();
            for (int i = 1; i <= 100000; i++) { row["Name"] = "Tester"; }


Время: 00:00:02.7623

и это еще expando и dataTable без класса сверху с перехватом TryGetMember
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180540
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ - Откуда столько негатива?
Ожидается любовь и доброта к троллю? Не бывать этому.

П.С. Два варианта, либо ты тупо троллишь, либо ты теоретик.

Больше повторять не буду: динамика - это серверная логика, на основе которой строится представление. Итого, в качестве модели (или ее члена) выступает DataTable, который формируется на сервере и отдается контроллером во вью. Вся эта красота динамически собирается в разоре в виде разметки, контролов, хелперов и т.д. таким образом, как это требуется. Как ты это соберешь - твои проблемы, если вызовешь несуществующую колонку, получишь ошибку. Что есть правильно. Что непонятно в этом элементарном вопросе?
Шаблоны пишут разработчики, а не пользователи, это нужно тоже понимать, если ты в эту сторону клонишь.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180552
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*чисто ради интереса запустил мелкий тест тупой.
Код: c#
1.
2.
3.
            IDictionary<string, dynamic> test1 = new Dictionary<string, dynamic>();
            test1["Name"] = null;
            for (int i = 1; i <= 100000; i++) { test1["Name"] = "Tester"; }


Время: 00:00:00.0109

Код: c#
1.
2.
3.
            dynamic test2 = new ExpandoObject();
            ((IDictionary<String, Object>)test2).Add("Name", "");
            for (int i = 1; i <= 100000; i++) { test2.Name = "Tester"; }


Время: 00:00:01.2735

Код: c#
1.
2.
3.
4.
            DataTable test3 = new DataTable();
            test3.Columns.Add("Name");
            DataRow row = test3.NewRow();
            for (int i = 1; i <= 100000; i++) { row["Name"] = "Tester"; }


Время: 00:00:02.7623

и это еще expando и dataTable без класса сверху с перехватом TryGetMember
Тест ничего не показывает по делу. Или ты в разоре будешь вьюху генерить из 100 тыс элементов?
В чем тут экономия - загадка. Попробуй написать на unmanaged с ассемблерными вставками на регистрах, подтянешь dll к проекту, получишь профит. Пацталом.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180558
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ

Может это в твоих правилах так, разрабы пусть учат матчасть , дизайнеры пусть не лажают, клиенты пусть идут лесом со своими запросами.
У меня подход другой, а создаю кернел который должен по возможности предусмотреть себя от человеческого фактора и не сидеть и надеется что ктото не налажает и встанет весь проект. Я потратил на старую систему дохрена сил и времени, и оно того поверь стоило, я не слал никого подальше и старался предусмотреть бо знал заранее где будут лаги. Потому если разраб или дизайнер дает маху, вся система не стопорится. В тоже темплейте просто останется не распарсненый маркер, или не заполнится кусок шаблона, что легко поправить увидев, и при этом все работает дальше. Меня и так бесит когда в инете через раз натыкаешся на сайты где очередная страница выдает тебе красный дебаг ASP.NET вместо страницы, нехватало чтобы у меня мой проект так красиво работал.

Если есть возможность в API предусмотреть по возможности все от корявых рук, я лучше это сделаю, и никогда не буду надеется что ктото не налажает, а клиент не захочет изврат. В итоге это сведет к минимуму работу разраба при работе с шаблоном, а также дает возможность написать легкий и удобный веб редактор шаблона, избавив себя от разработчика чтобы он лез в кернел или api. Даже простой пользователь сможет спокойно справится с таким шаблоном расставив просто маркеры не сломав систему.
Ты же можешь слать куда подальше всех и дальше, это сугубо твое личное.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180585
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ

Может это в твоих правилах так, разрабы пусть учат матчасть , дизайнеры пусть не лажают, клиенты пусть идут лесом со своими запросами. .
По-другому не бывает, увы.

*Ihor*У меня подход другой, а создаю кернел который должен по возможности предусмотреть себя от человеческого фактора и не сидеть и надеется что ктото не налажает и встанет весь проект.

Кнопку «Сделать всё» ещё никому не удавалось сделать. Это нобель, не меньше.

*Ihor*В тоже темплейте просто останется не распарсненый маркер, или не заполнится кусок шаблона, что легко поправить увидев, и при этом все работает дальше.

Вот из-за таких студенческих походов и страдает бизнес со всеми вытекающими. Очень радостно пользователю видеть половину функционала, куски битого полуработающего js на клиенте, убитый аякс и поломанный json. Отлично! Зато темплейт не рухнул, какое счастье.
Сейчас мир стремится в сторону типизации, причем строгой. Ходить по сторонам будешь на базаре, а с языком программирования и темплейтами такие глупости не пройдут. И это правильно.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180595
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Если есть возможность в API предусмотреть по возможности все от корявых рук, я лучше это сделаю, и никогда не буду надеется что ктото не налажает, а клиент не захочет изврат.
Если бы по такой аналогии строился C# и ASP.NET, мы бы получили кучу неуправляемого навоза, который даже самый ярый старатель не в состоянии поддерживать, не то, что развивать.
Выйди из сумрака со своим допотопным классическим асп, .NET предлагает другую идеологию. Я понял, в чем твоя проблема, вот оно что. Желание перетащить убогую идеологию на грамотные новые рельсы с типизированным уклоном? Готов тебя разочаровать - отдавайся дальше в своём болоте с полурабочими темплейтами. Гы.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180620
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть пределы прогиба под пожелания пользователей. Превышение этого предела приводит к ухудшению условий жизни самих пользователей.

То что пользователи сами себе интерфейсы лабают означает, что на них кто-то перевалил свою работу
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180625
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропилесть пределы прогиба под пожелания пользователей. Превышение этого предела приводит к ухудшению условий жизни самих пользователей.

То что пользователи сами себе интерфейсы лабают означает, что на них кто-то перевалил свою работу
Выскажите свое мнение Force, Zoho, Qickbase и другим. мол какие они тупые и их продукт нафиг кому нужен когда есть Студия и программист.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180709
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*На nodejs такое собрать очень легко
неужели языковая поддержка dynamic так сильно помогает? с нужными либами для dynamic поди только синтаксис немного "кривоват" будет в языках других VM, но скорость разработки не в 9000 раз увеличится, а всего процентов на 10?

*Ihor*но nodejs не даст всего того что есть в .NET. Тотже к примеру PDF готового решения нету, и тучи других моментов, иначе я бы забил на .NET и сразу собрал бы на nodejs
а что мешает из nodejs вызывать DotNet библиотеки хотябы через remote (XMLRPC, Json, zeromq) или через C без ремотинга если производительность так нужна и если дотнет бриджа еще нету?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180720
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вот вам конкретика:
1. есть таблица допустим users { name, age , tel}
2. есть темплейты где просто список
@foreach <div>@user.name, @user.age , @user.tel</div>
3. есть XML файл с описанием структуры таблицы
4. есть админка, в которой добавив в XML поле address идет речек структуры таблицы с добавлением users { address } колонки.
5. дизайнеру нужна возможность просто отредактировать шаблон добавив @user.address и если он опечатался @user.address2 чтобы не вылетало.
все довольно таки просто, шаблоны раскиданы по папкам, есть общий дефотлтный, а есть /client/1/userList.cshtml
по реквесту /list/users/filter:age>10/ взять из таблицы содержимое с фильтром, отдать шаблону и сгенерить. Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу. Сделать такое вполне реально и код будет очень гибким и легким. По крайней мере 10 лет уже так работает api.
На nodejs такое собрать очень легко, но nodejs не даст всего того что есть в .NET. Тотже к примеру PDF готового решения нету, и тучи других моментов, иначе я бы забил на .NET и сразу собрал бы на nodejsПосмотрите в сторону движка представления, отличного от Razor: " ASP.NET MVC View Engine Comparison ".
К примеру StringTemplate прочитает свойство user.address тогда, когда address на самом деле индексатор - user["address"].
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180723
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*все довольно таки просто, шаблоны раскиданы по папкам, есть общий дефотлтный, а есть /client/1/userList.cshtml
по реквесту /list/users/filter:age>10/ взять из таблицы содержимое с фильтром, отдать шаблону и сгенерить. Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу. Сделать такое вполне реально и код будет очень гибким и легким. По крайней мере 10 лет уже так работает api.То есть API генерирует HTML? И как это сейчас реализовано?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180725
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosмного че они могут делать, но не делают или делают еще хуже
...
контейнеризирующие и фиг знает еще че делающие
как ток что нить приведешь в порядок, тут же все меняется, новый вын, нвый язык мода и т.д.

CSLA как раз позволяет взвалить сию нелегкую ношу на компанию уважаемого Роки, а самому сосредоточиться на business логике и удобном GUI на ВАШ выбор из постоянно расширяемого MS набора (с элементами добровольно-насильственного замещения)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180735
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Опятьже - DataTable это двумерный линейный массив.
а что такое тогда DataSet с таблицами и реляциями? я то думал, что это inmemory подмножество полной БД в каком-нить ДБ серваке, доступном через ado.net провайдеров

или просто своя inmemory без всяких серваков ...
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180793
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раньше собирался делать нечто подобное на Odata&custom linq provider, но сейчас я бы прежде всего посмотрел на web api, в котором делается упор на это само описательный формат, и свой, специально обученный formatter.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180822
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Время: 00:00:00.0109
Время: 00:00:01.2735
Время: 00:00:02.7623


Как говорится, доверяй, но проверяй. Выбрось свой таймер.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
long res1 = Execute(() => {
    IDictionary<string, dynamic> test1 = new Dictionary<string, dynamic>();
    test1["Name"] = null;
    for (int i = 1; i <= 100000; i++) { test1["Name"] = "Tester"; }
});

long res2 = Execute(() => {
    dynamic test2 = new ExpandoObject();
    ((IDictionary<String, Object>)test2).Add("Name", "");
    for (int i = 1; i <= 100000; i++) { test2.Name = "Tester"; }
});

long res3 = Execute(() =>
{
    System.Data.DataTable test3 = new System.Data.DataTable();
    test3.Columns.Add("Name");
    DataRow row = test3.NewRow();
    for (int i = 1; i <= 100000; i++) { row["Name"] = "Tester"; }
});




Execute
Код: c#
1.
2.
3.
4.
5.
6.
static long Execute(Action action)
{
    var sw = Stopwatch.StartNew();
    action();
    return sw.ElapsedMilliseconds;
}



Результатdynamic: 3 / ExpandoObject: 27 / DataTable: 9

9 милликекунд DataTable для 100 тыс операций, много?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180872
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*чисто ради интереса запустил мелкий тест тупой.
Код: c#
1.
2.
3.
            IDictionary<string, dynamic> test1 = new Dictionary<string, dynamic>();
            test1["Name"] = null;
            for (int i = 1; i <= 100000; i++) { test1["Name"] = "Tester"; }


Время: 00:00:00.0109

Код: c#
1.
2.
3.
            dynamic test2 = new ExpandoObject();
            ((IDictionary<String, Object>)test2).Add("Name", "");
            for (int i = 1; i <= 100000; i++) { test2.Name = "Tester"; }


Время: 00:00:01.2735

Код: c#
1.
2.
3.
4.
            DataTable test3 = new DataTable();
            test3.Columns.Add("Name");
            DataRow row = test3.NewRow();
            for (int i = 1; i <= 100000; i++) { row["Name"] = "Tester"; }


Время: 00:00:02.7623

и это еще expando и dataTable без класса сверху с перехватом TryGetMember

а если ограничиться небольшим расширяемым и настраиваемым кол-вом вариантов системы (например, 10 шт. и ее логики), а не по уникальной на каждого из 1 млн. юзеров или сколько их там., уже немного запутался чего там хотелось то в начале :-)

вообще managed всегда вычисляет намного быстрее человека (даже 10-и человек) и если правильно организовать, сузить так сказать выборку, то производильность DataSet скорее всего не критична, а так же производительность почти любой самой тормозной автоматизированной системы, даже релейно-ламповой
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180878
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у DataSet только смена структуры "тормозит" или добавление строк тоже?
а то бы десяток датасетов можно было бы заранее заготовить с нужной структурой
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180895
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*чисто ради интереса запустил мелкий тест тупой .

for (int i = 1; i <= 100000; i++) { row ["Name"] = "Tester"; }

[/src]

а поиск по имени можно не в цикле?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180898
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2а у DataSet только смена структуры "тормозит" или добавление строк тоже?
а то бы десяток датасетов можно было бы заранее заготовить с нужной структуройА Вы научитесь пользоваться Performance Profiler, он Вам и покажет, что сколько времени занимает.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180902
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в рантайме классы порождать ещё не предлагали?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180926
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAsanyock2а у DataSet только смена структуры "тормозит" или добавление строк тоже?
а то бы десяток датасетов можно было бы заранее заготовить с нужной структуройА Вы научитесь пользоваться Performance Profiler, он Вам и покажет, что сколько времени занимает.

профайлером многие умеют, но мне не надо тратить свое время, поэтому и српашиваю
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180958
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANAпропущено...
А Вы научитесь пользоваться Performance Profiler, он Вам и покажет, что сколько времени занимает.

профайлером многие умеют, но мне не надо тратить свое время, поэтому и српашиваюДа, добавление строк тоже "тормозит".

P.S.: если Вы используете CSLA, то зачем тратите своё время на DataSet-ы какие-то?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180966
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAP.S.: если Вы используете CSLA, то зачем тратите своё время на DataSet-ы какие-то?
А разве CSLA налагает ограничения на уровень DataAccess?

если про топик, то в целом интересен и даже удивителен для меня, ни разу такого подхода не встречал, и в сторону Mongo бы без этого топика даже не взглянул бы, а так хоть знаю теперь что такое NoSQL

ну и не все на CSLA->NH делать же, вдруг какую-нить command line тулзу на сотню строчек надо, для нее тоже 5 уровневую систему выстраивать?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180977
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANAP.S.: если Вы используете CSLA, то зачем тратите своё время на DataSet-ы какие-то?
А разве CSLA налагает ограничения на уровень DataAccess?CSLA .NETCSLA .NET is a software development framework that helps you build a reusable, maintainable object-oriented business layer for your app.Вы точно разобрались в том, что такое CSLA .NET?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180986
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВы точно разобрались в том, что такое CSLA .NET?

А вот Вы как думаете, может вопрошаемый точно знать и оценить, степень его понимания чего-либо ТОЧНО? Особенно если оценивающая сторона может иметь субъективное мнение.

а если конкретно по вопросу, то:
1) дата портал все же позволяет любой способ data access в т.ч., например, использование сервисов с JEE серверов, в т.ч. одновременно хоть со скольких хороших и разных
2) экземпляр DataSet тоже объект как ни странно, хоть и не DTO в общепринятом смысле
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181004
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2, мой Вам совет: наберите в гугле строку "Dataset vs Business Object".
А то Вы походу не в курсе, что использование DataSet - это один подход, а использование бизнес-объектов - совершенно другой.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181008
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAsanyock2, мой Вам совет: наберите в гугле строку "Dataset vs Business Object".
А то Вы походу не в курсе, что использование DataSet - это один подход, а использование бизнес-объектов - совершенно другой.

можно я лучше Рокины книжки почитаю? а то гугл что не наберешь - то и найдет, практически все что угодно
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181022
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще тогда встречный вопрос Ане, Вы в курсе, что CSLA подразумевает слой бизнес объектов и еще слой доступа к данным, который может быть чуть менее чем чем угодно? конечно нынче модно его делать через DTO, а через NH еще и полезно
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181023
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2, кто такой Рокин?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181024
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2и еще тогда встречный вопрос Ане, Вы в курсе, что CSLA подразумевает слой бизнес объектов и еще слой доступа к данным, который может быть чуть менее чем чем угодно? конечно нынче модно его делать через DTO, а через NH еще и полезноВ курсе. Вопрос: DataPortal.Fetch может вернуть DataSet?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181041
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВ курсе. Вопрос: DataPortal.Fetch может вернуть DataSet?

вопросы вопросы ... похоже мы уже софсем в офтопик скатились, нас не забанют?
да и если использовать подразумеваемый Вами подход, то конечно же нельзя ни ф коем случае!

а вот если почитать труды уважаемого господина:
https://www.facebook.com/RockfordLhotka
то если очень хочется, то можно ;)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181045
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANAВ курсе. Вопрос: DataPortal.Fetch может вернуть DataSet?

вопросы вопросы ... похоже мы уже софсем в офтопик скатились, нас не забанют?
да и если использовать подразумеваемый Вами подход, то конечно же нельзя ни ф коем случае!

а вот если почитать труды уважаемого господина:
https://www.facebook.com/RockfordLhotka
то если очень хочется, то можно ;)Вернуть DataSet? Правильно, можно. Следующий вопрос: каким образом?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181049
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAто если очень хочется, то можно ;)Вернуть DataSet? Правильно, можно. Следующий вопрос: каким образом? [/quot]

баньте ее баньте !!! она из HR похоже ;)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181070
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANAsanyock2то если очень хочется, то можно ;)Вернуть DataSet? Правильно, можно. Следующий вопрос: каким образом? баньте ее баньте !!! она из HR похоже ;)А я думал, что Вы прочитали "труды" Рокфорда Лотки... Видимо ещё не до конца.
Слив засчитан
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181098
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAsanyock2пропущено...
баньте ее баньте !!! она из HR похоже ;)А я думал, что Вы прочитали "труды" Рокфорда Лотки... Видимо ещё не до конца.
Слив засчитан

там про sql.ru не было, простите, обознался
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181109
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2, я Вас не понял. О чём это Вы?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181165
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дискуссия скатилась в русло DataSet vs ORM, что не есть правильно. DataSet примелем для динамики (как-раз задача автора). Готовить свои DAL, репозитории и иные контексты для типизированных схем на датасетах - маразм, прошлый век и тунеядство. Так что давайте проводить грани между динамикой и статикой.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181282
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По теме.

Шаблон StringTemplate:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<ul>
  <li><$ User.Name $></li>
  <li><$ User.Surname $></li>
  <li><$ User.Address $></li>
  <li><$ User.Address2 $></li>
  <li><$ User.Address3 $></li>
  <li><$ User.Address4 $></li>
  <li><$ User.Address5 $></li>
  <li><$ User.Blablabla $></li>
</ul>


Модель:
Код: c#
1.
2.
3.
4.
5.
var user = new Dictionary<string, object>();

user["Name"] = "Vasya";
user["Surname"] = "Pupkin";
user["Address"] = "Moscow";


На выходе:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<ul>
  <li>Vasya</li>
  <li>Pupkin</li>
  <li>Moscow</li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181321
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Razor

Код: c#
1.
2.
3.
4.
5.
public ActionResult Index()
{
    ViewData["Message"] = "Tests";
    return View();
}



Код: c#
1.
2.
3.
4.
<ul>
       <li>@ViewData["Message"]</li>
        <li>@ViewData["Error"]</li>
</ul>



Код: c#
1.
2.
3.
4.
<ul>
    <li>Tests</li>
    <li></li>
</ul>



Никаких моделей даже не нужно.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181546
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно приготовленная статика уделает любую динамику. По сути никакой динамики и нет, даже к динамику чтобы обратиться, нужно знать имя. На любом этапе, хоть на самом последнем. А раз имя знаем, значит динамик это уже фикция. По сути синтаксический сахар.

Код: c#
1.
@ViewData["Message"]



или

Код: c#
1.
@ViewBag.Message



Второе вроде как по-красивше. Это пока не запустишь дебаггер. Простое ViewBag.Message = "Hello!" генерирует пачку отлавливаемых в аналах ексепшенов, в общем, бррр ))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181965
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
- Было дело позарился на идею с DataTable от МСУ, но сразу встал вопрос с обработками trygetmember, а учитывая что отдаешь DataSet то нужно учесть чтобы внутри темплейта дизайнер юзал не DataRow а свой класс с оверлоудами, ну и дальше походу уже видно что будет много трудностей.
- ExpandoObject интересен, в плане приближения к Json но он явно недоделанный. Нравится что это класс позволяющий строить легко дерево, правда не так легко как хотелось в сравнении c JS.
- Dynamic получается обычный Dictionary. на него тоже нужно повесить класс , но пока это самый простой способ, который какбы заработал сразу.

Плюс всего этого геморроя, это получения варианта аналогичного браузерным темплейтам. Вы даете пользователю Json данные, и даете HTML шаблон. Имея к примеру удобоваримую разметку типа jsRender/Mustach/ и др. Обычный пользователь вполне может быстро справиться расставив метки и циклы. В итоге получив дерево в Company -> Users , можно в теплейте выбирать как строить результат. Толи вывести только компании и кол-во юзверей в них, толи вывести в виде дерева, толи присабачить CCS3. В таком виде серверная часть отделена от дизайнеров, темплейты можно строить и менять не трогая генератор данных.
Минусом в таких вещах является то что вам приходится отдавать весь набор данных даже если нужен только 1 левел и всего пару полей. Но и это решаемо при желании, в своем старом проекте я анализировал, что будет использовано в форме или таблице, и только это отдавал из базы не дергая лишние LEFT JOIN.

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

Самое главное это то что все генерится на сервере. Было время когда все кинулись в Ajax сломя голову. Да эту всю задачу на Ajax построить нефиг делать. Даже вопросов не возникает. Но как только вопрос затрагивает отчеты и рассылку, становится все в тупик. У вас все выводилось в браузере аяксом, а тут нужно такоеже 1в1 отослать клиенту раз в сутки с сервера, начинаются чудеса с курлами и другими чудесами, дергать URl раз в сутки, и пошло поехало. Вот тут все и упирается в генерацию вывода всетаки на сервере. Комуто типа МСУ это все кажется бредом, но такой подход окупается. Причем это не выдумка сумашедшего, а есть уже готовая система которая лет 10 так работает. Задача просто из всего того что сейчас предлагают технологии, сделать с максимальным результатом.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181972
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ Razor

Код: c#
1.
2.
3.
4.
5.
public ActionResult Index()
{
    ViewData["Message"] = "Tests";
    return View();
}



Код: c#
1.
2.
3.
4.
<ul>
       <li>@ViewData["Message"]</li>
        <li>@ViewData["Error"]</li>
</ul>



Код: c#
1.
2.
3.
4.
<ul>
    <li>Tests</li>
    <li></li>
</ul>



Никаких моделей даже не нужно.

это линейный данные, т.е. одномерный, их явно не хватит для серьезного проекта. Чтобы отдать дерево придется @Viewdata['items'] приводить к какому то типу, и снова встанет вопрос валидации в темплейте при обращении к проперти без проверки. Тут уже как не крути понятно , что нужно писать свой класс сверху. Только вот смущает меня когда приходится брать чужеродное и сторонее типа elasticobject, когда смотришь на монстра expando с структурой и на него еще нужно навесить огромный кусок. тоже и с DataRow - без обработки его отдавать клиенту нельзя. А заставить самого клиента следить за синтаксисом в итоге убивает весь смысл проекта, потом еще придется писать свои дебагеры и отладчики, чтобы выдавать клиенту инфу удобоваримую.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38181977
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAПо теме.

Шаблон StringTemplate:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<ul>
  <li><$ User.Name $></li>
  <li><$ User.Surname $></li>
  <li><$ User.Address $></li>
  <li><$ User.Address2 $></li>
  <li><$ User.Address3 $></li>
  <li><$ User.Address4 $></li>
  <li><$ User.Address5 $></li>
  <li><$ User.Blablabla $></li>
</ul>


Модель:
Код: c#
1.
2.
3.
4.
5.
var user = new Dictionary<string, object>();

user["Name"] = "Vasya";
user["Surname"] = "Pupkin";
user["Address"] = "Moscow";


На выходе:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<ul>
  <li>Vasya</li>
  <li>Pupkin</li>
  <li>Moscow</li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>



у StringTemplate есть минус. это простые задачи. в случае множественных вложений, внешних блоков/макросов. сложной структуры.. это все будет очень трудным и вылезет в тормоза, все таки это регулярка строковая :( Мой текущий проект построен как раз на своем старом аналоге StringTemplate писанный в древности на с++. Как раз на с++ и перегоняли чтобы получить максимальную скорость, но когда проект сильно вырос, начались сложные темплейты.. все стало тормозить.. как ни старайся а обычная регулярка строковая даже в C# очень сильно тормозит. Недавно столкнулся с парсингом большого отчета в 3метра длинной. Что регулярка что реплейс выдали одинаково плачевные цифры.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182005
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*- ExpandoObject интересен, в плане приближения к Json но он явно недоделанный.
Правда на нём живёт цельный интернет эксплорер от майкрософт.
(точнее IDispatchEx, IExpando - RCW реализация обёртки)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182020
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил*Ihor*- ExpandoObject интересен, в плане приближения к Json но он явно недоделанный.
Правда на нём живёт цельный интернет эксплорер от майкрософт.
(точнее IDispatchEx, IExpando - RCW реализация обёртки)

Рудименты com из net 1.1 никакого отношения к ExpandoObject не имеют
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182050
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил*Ihor*- ExpandoObject интересен, в плане приближения к Json но он явно недоделанный.
Правда на нём живёт цельный интернет эксплорер от майкрософт.
(точнее IDispatchEx, IExpando - RCW реализация обёртки)
ExpandoObject это основа Json.Net но не более того, пока что динамика в ASP.NET все еще не приветствуется. Ведь сам принцип .NET
это компиляция/оптимизация/кеширование кода, а с динамикой ему приходится постоянно работать с изменчевым кодом, что нарушает саму концепцию. Это сравнимо с Query в SQL Server, где за динамичные запросы бьют больно по рукам как за зло неимоверное. Вот и в .NET также.. я был удивлен что вообще появились такие вещи, а раз появились то подумалось что нужно это все както заюзать, но гложат смутные сомнения что оно еще не готово. Это типа как с HTML5 , вроде уже много лет как есть, но не доделанное какоето, и официально примут только в 2015 году а все уже его везде пропихивают со скрежетом.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182057
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я когда увидел в MSDN вариант кода в C#
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
user = new {
  name: 'tester',
  age: 20,
  tel: new {
     mob: '0001',
     home: '0002'
  }
}


был просто безумна рад, сразу кинулся опробовать.. и сходу нарвался на необъявленный проперти. Т.е. после объявления всунуть новый проперти уже фигушки.. user.address уже не вставить, покрайней мере простыми силами. Получается какойто не доеланный момент.. вроде все больше и больше вводят классики от javascript но оно еще в самом зародыше, и нету гарантии что будут доводить до конца. В итоге народ начинает сам лепить свои куски кода, облепливать сверху своими методами чтобы оно заработало хотябы в примитиве.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182135
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*у StringTemplate есть минус. это простые задачи. в случае множественных вложений, внешних блоков/макросов. сложной структуры.. это все будет очень трудным и вылезет в тормоза, все таки это регулярка строковая :(Отсюда поподробнее... StringTemplate из коробки поддерживает вложенные шаблоны... А что Вы под регуляркой понимаете, вообще не понятно. StringTemplate базируется на ANTLR, а не на регулярных выражениях.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182139
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*я когда увидел в MSDN вариант кода в C#
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
user = new {
  name: 'tester',
  age: 20,
  tel: new {
     mob: '0001',
     home: '0002'
  }
}


был просто безумна рад, сразу кинулся опробовать.. и сходу нарвался на необъявленный проперти. Т.е. после объявления всунуть новый проперти уже фигушки.. user.address уже не вставить, покрайней мере простыми силами. Получается какойто не доеланный момент.. вроде все больше и больше вводят классики от javascript но оно еще в самом зародыше, и нету гарантии что будут доводить до конца. В итоге народ начинает сам лепить свои куски кода, облепливать сверху своими методами чтобы оно заработало хотябы в примитиве.

это будет еще один топик, где нам будут рассказывать о том, что все плохо в net. И того нет, и это не предусмотрели.
Одним словом, тяжела и неказиста жизнь простого программиста
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182160
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SeVaэто будет еще один топик, где нам будут рассказывать о том, что все плохо в net. И того нет, и это не предусмотрели.
Одним словом, тяжела и неказиста жизнь простого программиста
ну зачем так плачевно. было бы так все плохо, давно бы бросили :)
да и не было конкретики насчет "нету", просто MSDN документация предоставляет примитивы, и описание структуры и зачастую это не дает полное представление. теже примеры кода восновном касаются школьных курсов, или задач для студентов, но в реальной жизни нужно больше чем (if else). Вот тут и возникают моменты поиска истины :) или намеков. Недаром появляются десятки вариантов вокруг одного и тогоже. Все находятся в поиске. Тоже вот наблюдалось с Json. Совсем сторонние люди создавали, свои куски кода. Теперь вот сам .NET предлагает с коробки. Но по прежнему растут сторонние ветки и ведь не просто так.
Это же вот и с динамикой, не просто так ведь появились elastico и другие расширения. Но у меня складывается ощущение, что гдето чтото было упущено, вот в попытке найти суть или решение и создал топик :) ктож знал оно все так затянется. Хотя уже в трениях понял что нужно брать dynamic и сверху завернуть в свое обвертку. По крайней мере в таком варианте уже можно собрать то что хотелось, но явно по ходу еще вылезут проблемы.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182171
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*я когда увидел в MSDN вариант кода в C#
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
user = new {
  name: 'tester',
  age: 20,
  tel: new {
     mob: '0001',
     home: '0002'
  }
}


был просто безумна рад, сразу кинулся опробовать.. и сходу нарвался на необъявленный проперти. Т.е. после объявления всунуть новый проперти уже фигушки.. user.address уже не вставить, покрайней мере простыми силами. Получается какойто не доеланный момент.. вроде все больше и больше вводят классики от javascript но оно еще в самом зародыше, и нету гарантии что будут доводить до конца. В итоге народ начинает сам лепить свои куски кода, облепливать сверху своими методами чтобы оно заработало хотябы в примитиве.

Вообще-то этот код в C# не работает. Я понимаю, безумно интересно летать в бредовых фантазиях и выдумывать то, чего нет. Изобретать какой-то несуществующий «народ», который «начинает сам лепить свои куски кода» и прочий бред. Дискуссия со стороны выглядит, как обсуждение кисти художника, почему это она не рисует обратной стороной и боком, неужели никто не додумался? Эх, недалекий майкрософ и бедные людишки, которым приходится лепить огороды.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182174
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaэто будет еще один топик, где нам будут рассказывать о том, что все плохо в net. И того нет, и это не предусмотрели.
Одним словом, тяжела и неказиста жизнь простого программиста

нет, это бесконечная опера с постановкой на тему «плохому танцору...»

в .net/c# столько возможностей и синтаксического сахара, что найти задачу, которую бы нельзя было бы элегантно решить на c# трудно, это не легко себе даже вообразить. но находятся индивидуумы. впрочем так всегда было.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182182
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
анонимные классы придуманы для локальной работы с ними, в основном для linq, но хорошо также и для сериализацию, допустим, в Json:

Код: c#
1.
2.
3.
...
var model = new {
};
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182186
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...

var model = new {
        name = "Hello world!",
        price = 1200.0,
        sale = true,
        id = 12
};

return Json(model);

...
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182214
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt,

мы говорим о динамике, сериализация это вообще в другую сторону. Я говорил о том что, пока в данном варианте сделать позже динамическое изменение анонимному классу user = new {} нету возможности. Разве что ка кделают пока все, собирают json через строку (StringBuilder) или через массивы, получают строковой вариант класса и потом сериализация даст нужный тебе класс. Согласись что это довольно много взмахов руками в отличие от JS. Да я понимаю что С# и JS совершенно разные вещи, но с другой стороны МС сами в C# добавляют каждый раз больше приближений к JS. То что мы видим сейчас - expando, json, dynamic и т.д. тому подтверждение. Вот только в таком виде как оно сейчас, оно убого, и каждый пытается своими руками довести до ума.
Тотже вот expando уже имеет метод TryGeMmember ведь изначально, но все равно приходится сверху обвернуть и перегрузить метод чтобы оно не падало при обращении к несуществующему проперти а вернуло null. Тотже анонимный объект user = new {} . раз уже ввели отличное от статики и типизации в C#, странно видеть это в таком ограниченом состоянии.
Не все собирают проекты в студии мышкой. Очень часто в задачах встают моменты когда имя объекта будет иметь переменный характер. Потому то что в старом древнем JS делается свободно var user = {}; user.address = ''; или user['address'] = ''; позволяет создавать более гибкий код. А точнее более универсальные блоки кода, используя один блок во всех местах, вместо сотни статичных из-за невозможности в гибкости. Хотя уже если сравнить 4.5 фреймворк и 2.0 это просто огромная разница. Но вот по прежнему оно или не доделано, или может быть не досказано. Т.е. есть но дето лежит спрятавшись за статичные примитивы. Как и в JS, многие извраты не документированы какбы, просто JS взад и вперед изучен полностью. А .Net нам подкидывает кусками чтото новое но с минимум информации. Вполне может быть что даже в объект user = new {} можно динамично изменить свойство, но путь этот или скрыт или через танцы с бубном.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182220
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttВообще-то этот код в C# не работает. Я понимаю, безумно интересно летать в бредовых фантазиях и выдумывать то, чего нет. Изобретать какой-то несуществующий «народ», который «начинает сам лепить свои куски кода» и прочий бред. Дискуссия со стороны выглядит, как обсуждение кисти художника, почему это она не рисует обратной стороной и боком, неужели никто не додумался? Эх, недалекий майкрософ и бедные людишки, которым приходится лепить огороды.

в опечатках моя ошибка, печатал по памяти не заметил. если вы профи, то могли бы сразу заметить что имелось ввиду, и что это всего лишь опечатка. вместо наездов и непонятного троллинга. Дабы не дать повод троллить дальше, вот без исправляю ошибки:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
            var usr = new
            {
                name = "Tester",
                age= 20,
                tel = new { 
                    home = "001",
                    work = "002"
                }
            };
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182273
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

У вас есть миллион денег на Microsoft???
Или вам таки не нравится PostgreSQL+Node.ja+Backbone?

Вы определитель - либо устрицы по пиццоттыщ из-за океана либо речные нашенские, но по 3 рубля + всякие плюшки!))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182277
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы у вас была чистая динамика - необходимо описать все метаданными в базе - тогда любой движок на среднем ли звене, на клиенте ли - без разницы.
Забудте вы про EF - он для статических моделей и перекомпиляций проектов и пергрузки клиента - метаданные в базе ваш конек!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182284
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в ветке по проектированию я давал ссылки на архитектуры БД, совмещающие в себе прелесть EAV (создание/изменение сущностей на лету) и реляционный подход - arbinada.com
Почитайте статьи по архитектуре - там и автоматическая генерация лиц для форм по метаданным в базе и все что нужно именно для динамики в проекте
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182289
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще я не понял что вам нужно в Node.js с PDF?
расскажите - может вы просто не знаете - я думаю что там с PDF нет проблем!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182293
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sp,

вы видимо чтото не допоняли. с базйо проблем нету вообще. как раз вся структура в базе лет 10 назад была продумана, и апи был который сам следил что выводить и что куда сохранять без вмешательства. Сейчас попытка используя asp.net и то что предлагает NET 4.5 написать более современно. В данным момент - проблема связать темплейты и базу без вмешательства программиста. Как раз по аналогии json и tmpl под node.js, но под asp.net. Взять данные которые придут, незная заранее что там, отдать шаблону , а дальше чтобы дизайнер что хотел то и вывел, без написания IsPropertyExists на каждом шагу. Как и сказал уже не один раз, аналогия JavaScript, когда мы в шаблон отдает json объект и далее шаблонизатор парсит то что получил независимо.
Уже сейчас это можно сделать через тотже dynamic обвернув его в класс для перехвата TryGetMember и отдавать в Razor. Будет работать ? да аж бегом. да пока это далеко от аналогии с json но уже чтото.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182295
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spи еще я не понял что вам нужно в Node.js с PDF?
расскажите - может вы просто не знаете - я думаю что там с PDF нет проблем!
ну покажите мне достойный компонент с PDF ? я пересмотрел, там все еще в зародыше. текст + картинка и все. туже таблицу уже фиг нарисуешь даже линиями попиксельно. Да могу извратиться как и раньше, генерить html и в консоле конвертить в pdf, ну и какой смысл переходить на node.js ? чтобы теже грабли только с боку?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182298
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, сравнивать шарп и js может только инопланетянен не от мира сего. То, о чем ты пишешь, не нужно ни шарпу, ни асп.нету. Языки строго типизированные живут по своим типизированным правилам. И делать выводы о том, что добавили экспандо с динамиком, сие есть стремление к js - идиотизм чистой воды. Я пока ещё не увидел задачи, которую нельзя решить. То, что ты озвучил ранее - бред сивой кобылы, задачка для второклассника. Ещё раз - озвучь реальную задачу и приведи код, как это у тебя работает. А то порядком поднадоел фееричный беспредметный шелест кустов.
Итак, предлагаю следующее. Озвучивай задачу и скидывай сюда демо-решение на своем асп или что там у тебя. В ответ ты получишь альтернативу на мвц. Устроит?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182299
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

вы природы C# не понимаете. это типизированый язык. а динамик сильно упрощает работу с COM и подобными инфраструктурами.

раз уж вы не удосужитесь описать свою задачу, попробую сам. допустим есть 10 вариантов типов пользователей. на 10 вариантов разный набор сущностей и полей.

таблица А (типы польователей)
ид
название типа пользвателя

таблица Б (типы полей)
ид
ид_А (тип польователя)
имя поля
описание (подсказка)
тип поля (int, string, float....)
группа (если сложный тип)

таблица В
ид
ид_Польователя
ид_Б (поле)
значение

перекладываем это в классы, у пользователя:

class User {
....
public virtual ICollection<Property> Properties { get;set; } // вот ваши проперти, ДИНАМИК! сколько душе угодно, каких угодно
....
}

в каждой проперти хранится линк на Б (описание проперти), поэтому вы можете создать несколько видов шаблонов под каждый вид проперти, и генерить это все будет в MVC легко, через

@foreach(var item in Model.Properties)
{
@Html.EditorFor(x => item, item.EditorName)
}

понятно, что в жизни все будет по-сложнее, но я не вижу где бы мне тут помог чертов динамик, нафиг он вообще здесь сдался, если уж честно, то и JS мог бы быть статичен, это всего лишь плюшка, так как:

ДИНАМИК У ВАС ТАМ ИЛИ НЕТ, ВЫ ДОЛЖНЫ ЗНАТЬ ИМЯ ПОЛЯ, ЧТОБЫ К НЕМУ ОБРАТИТЬСЯ ))))))) а если вы хотете перебирать поля, как коллекцию, чем вам не угодили именно КОЛЛЕКЦИИ (ICollection, IList, IDictionary)?

как же до вас достучаться, а?? как можно быть таким упоротым и твердолобым?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182301
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*spи еще я не понял что вам нужно в Node.js с PDF?
расскажите - может вы просто не знаете - я думаю что там с PDF нет проблем!
ну покажите мне достойный компонент с PDF ? я пересмотрел, там все еще в зародыше. текст + картинка и все. туже таблицу уже фиг нарисуешь даже линиями попиксельно. Да могу извратиться как и раньше, генерить html и в консоле конвертить в pdf, ну и какой смысл переходить на node.js ? чтобы теже грабли только с боку?
Уважаемый, кустарные поделки вроде твоих уже давно ходят лесом. Вменяемые люди юзают генераторы отчетов с экспортом в любые форматы. Про кубы и сводные ответы, которые в реалтайме обращаются к просчитанным измерениям. Со своими фантиками с пдф можешь уличнуб детвору смешить.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182305
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Потому то что в старом древнем JS делается свободно var user = {}; user.address = ''; или user['address'] = ''; позволяет создавать более гибкий код.

это не позволяет создавать более гибкий код , это вообще ничего не позволяет такого, чего нельзя сделать на статике. это бред головного мозга. по ходу не лечится..

в старом древнем JS... и что, что вы можете добавить user.address = 'blabla' ? не понятно что конкретно это вам даёт, и как это относится к поставленной задаче? ни один язык вам не поможет. если уж так нравится JS, дуйте на Node.js но боюсь и там вам все не понравится. эт ж надо разобраться сначала. нет уж, лучше погундеть про старый добрый JS и затроллить весь форум.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182311
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давненько на форуме не было такого фееричного бреда. Такое ощущение, что автор в вакууме. Находу выдумывает какие-то фантастические задачки и пытается подстроить под них мир, оперируя свой какой-то там инопланетной поделкой 10 летней давности, которая всё сама может и сама умеет, в которой сами юзеры пишут код в темплейтах и что-то там динамически получают. Я сцуко плакал
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182313
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

ну давайте не будем про языки - кто кого и у кого писюн длиннее)))

изучать в Node.js ничего не прийдеться если вы до этого JS и HTTP знали
гибкость JS позволяет без оверхеда как в типизированных языках гибко решать задачи с меняющимися структурами, а клиентские фреймворки типа Backbone.js и иже с ним всякие MV* фреймворки - позволяют все так же не менее гибко все это отображать на клиенте.
Все структурировано, никакого говнокода и оверхеда, один общий язык и большой жирный плюс - это все забесплатно!
(что немаловажно для малого и среднего бизнеса)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182315
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

ну и к чему вы это все сказали? какая разница что вы там используете, ASP.NET или Node.js если вы ищите проблем, вы их где угодно найдете, где-то платно, где-то забесплатно.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182316
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttsp,

ну и к чему вы это все сказали? какая разница что вы там используете, ASP.NET или Node.js если вы ищите проблем, вы их где угодно найдете, где-то платно, где-то забесплатно.

ну и как же вы не видите тут разницы??? в ASP.NET - С#, а в Node.js - JavaScript - родной клиентский язык - или таки нету разницы???
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182319
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphVostt,

ну давайте не будем про языки - кто кого и у кого писюн длиннее)))

изучать в Node.js ничего не прийдеться если вы до этого JS и HTTP знали
гибкость JS позволяет без оверхеда как в типизированных языках гибко решать задачи с меняющимися структурами, а клиентские фреймворки типа Backbone.js и иже с ним всякие MV* фреймворки - позволяют все так же не менее гибко все это отображать на клиенте.
Все структурировано, никакого говнокода и оверхеда, один общий язык и большой жирный плюс - это все забесплатно!
(что немаловажно для малого и среднего бизнеса)
Про какую гибкость речь? Пример в студию. Я уже устал слушать про какую-то там нереальную динамику и как влегкую js с ней справляется.
Тебе описали, как типизированно работать с динамическими схемами. Более того, динамическую схему можно упаковать в DataSet и распаковать разором. Какой в зад backbone, какой оверхед, какой гавнокод? Ты о чем?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182320
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttsp,

ну и к чему вы это все сказали? какая разница что вы там используете, ASP.NET или Node.js если вы ищите проблем, вы их где угодно найдете, где-то платно, где-то забесплатно.

про платность - навеяли печальные воспоминания о рейдах првохапух по фирмам моих друзей- сначала все изъяли на месяц а потом уж разбирались что все куплено да еще и за какие деньжище - вот теперь друзья и смотрят в сторону open source - подальше от легального от монстров!)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182321
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphVosttsp,

ну и к чему вы это все сказали? какая разница что вы там используете, ASP.NET или Node.js если вы ищите проблем, вы их где угодно найдете, где-то платно, где-то забесплатно.

ну и как же вы не видите тут разницы??? в ASP.NET - С#, а в Node.js - JavaScript - родной клиентский язык - или таки нету разницы???

Зачем оно мне нужно, если у меня есть мощный ООП и мощный серверный разор?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182322
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПро какую гибкость речь? Пример в студию. Я уже устал слушать про какую-то там нереальную динамику и как влегкую js с ней справляется.
Тебе описали, как типизированно работать с динамическими схемами. Более того, динамическую схему можно упаковать в DataSet и распаковать разором. Какой в зад backbone, какой оверхед, какой гавнокод? Ты о чем?

ну это уже похоже на начало драки когда с такими предьявами кидаюцца))))
я уже прям боюсь)))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182324
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spМСУПро какую гибкость речь? Пример в студию. Я уже устал слушать про какую-то там нереальную динамику и как влегкую js с ней справляется.
Тебе описали, как типизированно работать с динамическими схемами. Более того, динамическую схему можно упаковать в DataSet и распаковать разором. Какой в зад backbone, какой оверхед, какой гавнокод? Ты о чем?

ну это уже похоже на начало драки когда с такими предьявами кидаюцца))))
я уже прям боюсь)))

Таки пример будет? :)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182325
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

ну конечно же разница есть, конечно!. вон в окопе ASP.NET спрятался партизан C#, выгнав предварительно оттуда Visual Basic .NET, F#, J#, nemerle, IronPython и других младших братьев. Все! осталься только один C#. А на node.js понятное дело js. Родной! Клиентский! )) что за слова такие, откуда взялись? )) почему родной, почему клиентский? а то javascript никогда в виндах и юниксах не умел исполняться без всяких браузеров? да сто лет уж как. и не надо тут одно мешать с другим. крокодил всегда более длинный, чем зеленый, запомните! )))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182328
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЗачем оно мне нужно, если у меня есть мощный ООП и мощный серверный разор?

Или вы таки намекаете что в JS нету никакого ООП?? или я таки не понял кто тут типизированный язык??
и о какой гибкости мы говорим, когда в функцию в JS я могу передать любую модель и отобразить ее в шаблон если в ней есть хотябы несколько полей нужных шаблону - или типо это не гибко и это студенческий говнокод!!?? (кстати его используют куча дебилоидов с большой известностью в инете - посмотрите у гребанного Backbone в списке юзеров ) )
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182329
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

о каком примере речь идет??
пример таки будет??
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182330
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пецдец, дискуссия инопланетян с разных галактик. Вроде говорят на родном инопланетном, но никакой конкретики и нихрена непонятно. Прямо таки мифический топег какой-то.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182331
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок. вот пример задачи.. не совсем то, бо реальную задачу и проект слишком долго описывать.
итак для примера:
Есть таблица, которая меняется по желанию клиента. Есть папка с шаблонами допустим отчета, список задач , по юзверам и клиентам (дерево в 3 уровня).
Клиент должен иметь возможность, добавив в таблицу в базе поле. тутже пойти в редактор шаблонов, и добавить в шаблоне новое поле для вывода в томже отчете. Чтото на подобии Crystalreport когда пользователь редактируя отчет, видит все доступные ему поля в таблице, и довольно простым шаблонизатором расставляет теги, без изучения C#.
Т.е. в админке добавили новое поле в таблицу, которое тупо в саму таблицу делает ALTER TABLE user ADD COLUMN address , ну и в конфиг что есть новое поле в структуре. Далее идет в шаблонизатор, ставит дето метку @user.address и оно вставит если есть значение, если нету то будет пусто. Причем с учетом дерева Companies - > Users - . Tasks, тобишь получив дерево может в шаблоне тутже вывести его без гемороя. foreach company ( foreach user ( foreach task. И все это только между базой и шаблонизатором, Апи тут должно только взять то что можно, и отдать в шаблон.

Да это можно сделать через DataSet как писал ранее МСУ. Вроде все просто для АПи - dataset получит то что есть в базе, и отдаст в Razor который как хочет так и выводит, вот только Razor начнет орать благим матом если админ опечатается в названии имени поля. Тут придется делать оверлоуд для trygetmember и не только для DataRow. Да и шаблонизатор будет уже посложнее для не посвещенного.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182332
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttsp,

ну конечно же разница есть, конечно!. вон в окопе ASP.NET спрятался партизан C#, выгнав предварительно оттуда Visual Basic .NET, F#, J#, nemerle, IronPython и других младших братьев. Все! осталься только один C#. А на node.js понятное дело js. Родной! Клиентский! )) что за слова такие, откуда взялись? )) почему родной, почему клиентский? а то javascript никогда в виндах и юниксах не умел исполняться без всяких браузеров? да сто лет уж как. и не надо тут одно мешать с другим. крокодил всегда более длинный, чем зеленый, запомните! )))

вот тут я не понял что вы хотели сказать этим!)
большинство языков уже существовало и до ASP.NET и до Node.js - как это соотносится к тому что я сказал??
и чем вам JS в Node не ровня клиентскому JS?? или они таки две большие разницы??
и я таки знаю что одному попугаю 21год а другой на север полетел - это мы еще в школе проходили!)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182333
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor* через DataSet как писал ранее МСУ. Вроде все просто для АПи - dataset получит то что есть в базе, и отдаст в Razor который как хочет так и выводит, вот только Razor начнет орать благим матом если админ опечатается в названии имени поля. Тут придется делать оверлоуд для trygetmember и не только для DataRow. Да и шаблонизатор будет уже посложнее для не посвещенного.
Опечатался - исправь. В чем проблема? Зачем мне в шаблон загонять всякий мусор, который не имеет отношения к бизнес потребностям?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182334
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spвот тут я не понял что вы хотели сказать этим!)
большинство языков уже существовало и до ASP.NET и до Node.js - как это соотносится к тому что я сказал??
и чем вам JS в Node не ровня клиентскому JS?? или они таки две большие разницы??
и я таки знаю что одному попугаю 21год а другой на север полетел - это мы еще в школе проходили!)

я не говорю что js в ноде плох. или хорош. просто не сравнивайте его с ASP.NET C#. две разные платформы. подите сравните лучше табуретку с лестничной площадкой. вроде и там и там сидеть можно... ))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182335
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПро какую гибкость речь? Пример в студию. Я уже устал слушать про какую-то там нереальную динамику и как влегкую js с ней справляется.
Тебе описали, как типизированно работать с динамическими схемами. Более того, динамическую схему можно упаковать в DataSet и распаковать разором. Какой в зад backbone, какой оверхед, какой гавнокод? Ты о чем?

давайте поговорим про гибкость - в БД я изменил сущность (добавил/удалил поля или изменил их тип) - или таки вам не прийдется переделывать модель EF или описание моделей и перекомпилировать потом все это.
В JS всего этого делать не нужно - изменения там никто и не заметит, потому как структуры данных и классов не типизированы - гибки - я получил с сервера БД метаописание сущности в виде JSON - вот уже и модель готова!! а в это время в БД по этим же метаданным сгенерировалась морда лица формы (если не нравицца - можно редактировать текст шаблона) теперь все это встретилось в шаблонизаторе которому вообще безраличен как тип модели так и тип полей в шаблоне - он просто выполнил свою работу - или таки вам это недостаточно гибко или это таки не пример??? :)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182336
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttя не говорю что js в ноде плох. или хорош. просто не сравнивайте его с ASP.NET C#. две разные платформы. подите сравните лучше табуретку с лестничной площадкой. вроде и там и там сидеть можно... ))

где вы видели сравнение?
я говорил о преимуществах связки Node.js с клиентскими MV* фреймворками
про ASP.NET я плохо ничего не говорил - сам с ним работал до последнего
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182339
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

насчет вот реального примеру сходу потому чтоу вас нехватает фантазии, толи вы тролите, толи пишите чисто мышкой в студии.
Вот прямо с ходу пример из жизни где нужна динамика и как она полезна в JS:
всем известный google map api, создавая на карте маркеры var marker = new gogle.maps.Marker() вы создаете объект, типа типизированный MerkerClass, но вот у вас их сотни на карте. Как распознать какой маркер вы нажали и как вывести дополнительную инфу ? вариантов много, но самый удобный это то, что JS позволяет вам вмешаться в чужой класс и добавить проперти, и mapsApi его подхватит и назначит объекту, marker.vehicke_id = 123; marker.vehicke_name = 123; т.е. вы добавили свойства классу. без оверлоудов и ибатни. И дальш ес легкостью и красиво можно как вывести .name по ховеру, не обращаясь к кэш массиву всех маркеров а сразу ('click', functon(){ alert(this.vehicle_name)}). также и получить vehicle_id ваш и уже далее запросить доп. информацию с сервера и вывести.
Т.е. динамика в JS позволяет взять класс MarkerClass добавить ему проперти и дальше к нему обращаться. При этом если пропертинету то вернется null или undefined без падения по эксепшину.
Только не нужно тролить что тут динамики нету, и пример тупой. Как раз такие вот мелочи позволяют с легкостью писать очень удобный любой код, без оверлоудов, без создания своих классов над классами и т.д.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182342
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и также как вот _sp_ написал выше, нету ничего удобнее чем взять с базы данные и в виде json отдать шаблонизатору, вообще не зная ничего про базу, да хоть просто с файла начитанный json. И в шаблоне сделать что вам душе угодно. Добавив поле в базу у вас автоматом в ваш json появится ваш проперти, или даже целая ветка. Даже еще проще.. звоните Мише, добавь в таблицу поле address2 . Миша в чате тутже говорит что добавил. Вы спокойно в шаблоне указываете user.address2 и все. секундное дело. Даже если Миша еще не добавил поле, нов шаблоне будет пусто в этом месте, пока не придет поле. ЧТо мешает такое реализовать в ASP.NET ? да ничего, с той лишь разницей, что нужно слишком много труда на сервере апи приготовить и не перекладывать весь труд и знание досконально с# дизайнера который и не должен ничего знать лишнего.
Как я писал выше, нету ничего невозможного, даже вот тот ваш сарказм по поводу кнопки "сделать все". да легко! Просто я люблю делать все красиво и 10 раз проверить что это нельзя сделать было лучше. А посылать дизайнеров и клиентов нахрен - старый тупой тон динозавров. Давно минули те дни.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182345
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по поводу сравнение C# и JS .. можно даже уже начинать спорить. Уже идет все к тому что в C# все ближе и ближе к JS приближается уходя от старых правил. Все больше и больше технологий переходят на JS и не просто так. Уже пошло движение в сторону JS под темже web-kit у ходя от C# и Object-C. И уж поверьте, пройдет время и если asp.net останется таким как есть, его забудут, как и забыли многие другие платформы. Ничто не вечно. В пример Metro с JS архитектурой, мобильные направление, начиная от PhoneGap заканчивая Осями на JS, тотже Линух с GUI на JS скоро будет. JS даже с Flash стал тягаться. При то что JS сам по сибе очень и очень древний. Когда последний раз менялся JS ? И при этом наудивление JS не проигрывает в скорости почти никому. Недавно делал сравнение скорости работы с массивами в JS, PHP, ASP, ASP.NET И др. так вот JS выдал лучшие результаты работая в IE чем тотже код в серверных языках. PHP так вообще на самом последнем месте , потому как array для него больное место.
Тачто вопрос кто круче все таки отрыт, и судя по тому как все идет в технологиях, JS скоро будет таки впереди. Тотже MVC реализован в JS в различных вариациях, что позволяет поставить в ровень с ASP.NET MVC в этом плане.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182348
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только вот _МСУ_ и _hVostt_ нафига было тролить ? зачем было переводить попытку найти решение в ASP.NET аналогичному решению в JS которое реально реализовать, вопрос только каким способом лучше, тут нужны были споры какой метод менее болезненный и производительней. А вы блин начали тролить переведя все в с пор у кого длинее. К чему такой не профессионализм.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182349
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

а в класс добавить поле типа Dictionary<string, object> Properties вам религия не позволяет? добавляй туда чего хочешь, хоть классы, хоть числа, хоть строки, хоть дескрипторы файлов, да хоть китайскую бабушку. а раз вы делаете вот так ('click', functon(){ alert(this.vehicle_name)}) значит заранее знаете уже и имя (vehicle_name) и знаете что там лежит, значит это по сути статик тот же, только он у вас в голове, вы должны помнить чего и куда положили, что сказать, действительно ВЫГОДА )). просто JS скрыл от вас вот типа такой штуки Dictionary<string, object> и какие преимущества вам в вашей задаче даёт это я незнаю. в случае с JS понятно почему так язык был спроектирован. цель — не порушить отображение странички, даже если там все работает наперекосяк. именно с этим свойством как только не борятся, чтобы можно было программировать серьезные приложения. вон есть обертки типа CoffeeScript, TypeScript, которые насильно JS типизируют. ибо IntelliSense и проверка на этапе компиляции — благо. кто этого не понимает еще мал и глуп.

а вот за это «При этом если пропертинету то вернется null или undefined без падения по эксепшину» надо кастрировать, лишать доступа к компу, давать только погамать в какой-нибудь ВоВ по воскресеньям, ибо ничего хорошего такие экземпляры точно не понаделают в программировании.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182350
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*по поводу сравнение C# и JS .. можно даже уже начинать спорить. Уже идет все к тому что в C# все ближе и ближе к JS приближается уходя от старых правил. Все больше и больше технологий переходят на JS и не просто так. Уже пошло движение в сторону JS под темже web-kit у ходя от C# и Object-C. И уж поверьте, пройдет время и если asp.net останется таким как есть, его забудут, как и забыли многие другие платформы. Ничто не вечно. В пример Metro с JS архитектурой, мобильные направление, начиная от PhoneGap заканчивая Осями на JS, тотже Линух с GUI на JS скоро будет. JS даже с Flash стал тягаться. При то что JS сам по сибе очень и очень древний. Когда последний раз менялся JS ? И при этом наудивление JS не проигрывает в скорости почти никому. Недавно делал сравнение скорости работы с массивами в JS, PHP, ASP, ASP.NET И др. так вот JS выдал лучшие результаты работая в IE чем тотже код в серверных языках. PHP так вообще на самом последнем месте , потому как array для него больное место.
Тачто вопрос кто круче все таки отрыт, и судя по тому как все идет в технологиях, JS скоро будет таки впереди. Тотже MVC реализован в JS в различных вариациях, что позволяет поставить в ровень с ASP.NET MVC в этом плане.

вам бы в желтой газетенке работать, а не программрованием заниматься. все вышенаписанное — бред, не имеет никакого отношения к реальности. какое движение и куда пошло, вы чего курите? похоже что-то посерьезнее веника, ибо бред несете сильный. ни с кем JS не тягается, какие вы сравнения скорости делали? ну хватит уже. хватит. какой array для PHP больное место? ааа... все, ухожу с ветки, пусть инопланетяне с подходящим вашему полетом мысли с вами общаются. найдите уже друг друга и пихайте чушь в уши.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182351
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt значит заранее знаете уже и имя (vehicle_name) и знаете что там лежит

снова здрова.
я уже писал выше что для JS я могу это делать через переменную. т.е. тотже код только marker['vehicle_name'] даст тотже результат а "vehicle_name" может выступать переменной. Да и это пример из шаблона. т.е. вы в шаблоне стучитесь к проперти которое могло быть добавлено прямо из базы динамично без изменения классов и прекомпиляции.

Да и поповоду Динамичного проперти я уже показывал выше что таки есть вариант которы йсразу проверил, за исклбючением отсутствия проверки trygetmember который нужно перегрузить для шаблонизатора
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
            IDictionary<string, dynamic> user = new Dictionary<string, dynamic>();
            user["Name"] = "Ihor";
            user["Age"] = 20;

            List<dynamic> users = new List<dynamic>();

            users.Add(user);

            var query = from i in users where i["Age"]>5 select i;
            foreach (var name in query)
            {
                Console.WriteLine(name["Name"]);
            }



как видите этот код был показан гараздо ранее дето в постах, просто щас пошла терка что это все ИЗВРАТ чистой воды. Товарищ МСУ решил всех затролить попутно наехав. Мол в C# никакой динамики ненужно и т.д. Уже все забыли о чем шла речь.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182355
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

МСУ тебе правильно сказал, уже давно придумали датасеты. и пицот других вариантов. самый наихудший это dynamic. самый плохой. самый отвратительный, уродский и крайне тупой. если не хватает тямы разобраться с датасетами, то прекращаем бессмысленную дискуссию. это уже наивысший предел непонимания. выше только звезды. откуда вы там прилетаете )) с планеты Оогу наверное.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182358
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt array для PHP больное место? ааа... все, ухожу с ветки, пусть инопланетяне с подходящим вашему полетом мысли с вами общаются. найдите уже друг друга и пихайте чушь в уши.
вот вам показатели теста

просто тупо заполнялся уже созданный массив из 5т ячеек (5000*5000 = 25КК циклов), в двойной вложенной пробежке заполняя ячейки.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
    for(var i1=0;i1<5000;++i1){
        for(var i2=0;i2<5000;++i2){
            if("5468735354987"!="654654655465"){
                summary[i1] = i1*i2;
            }
        }
    }


тест делался после того как был обнаружен баг, когда mysql не справилась с большими данными, и программист передал все в php и там перебирал расчет. найдя больное место, проверил тестами, оказалось что PHP в этом плане просто болеет. Обратившись к комюнити, таки потвердили, что для php это так и есть.
А вот так брызгать слюноц и кричать про инопланетян :( .. чтото тут совсем не ITшники смотрю собрались.
Или вы скажите что я тупо снова и мне мерещится что PHP перебирает массив за 10-12 сек, вместо 128 ms? Так что можете идти лесом. Форум чисто в тролятню превратился.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182359
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt*Ihor*,

МСУ тебе правильно сказал, уже давно придумали датасеты. и пицот других вариантов. самый наихудший это dynamic. самый плохой. самый отвратительный, уродский и крайне тупой. если не хватает тямы разобраться с датасетами, то прекращаем бессмысленную дискуссию. это уже наивысший предел непонимания. выше только звезды. откуда вы там прилетаете )) с планеты Оогу наверное.

Самое тупое и уродское, что есть в net - dataset'ы.
Рудименты царя Гороха.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182360
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt*Ihor*,

МСУ тебе правильно сказал, уже давно придумали датасеты. и пицот других вариантов. самый наихудший это dynamic. самый плохой. самый отвратительный, уродский и крайне тупой. если не хватает тямы разобраться с датасетами, то прекращаем бессмысленную дискуссию. это уже наивысший предел непонимания. выше только звезды. откуда вы там прилетаете )) с планеты Оогу наверное.
вы сто пудово тролите.
я уже отвечал МСУ что DataSet нельзя отдавать в шаблонизатор без контроля, потому что в стандартном DataRow нету обработки TryGetMember. А значит нужно по крайней мере вводить свой myDataRow класс. и еще дизайнера научить чтобы изпользовал только переназначенные типы. в отличие от dynamic варианта где для дизайнера все проще будет. foreach(user in model.Users) { user['Name'] } с той лишь разницей что нужен все равно свой класс с trygetmember как минимум. На что МСУ просто ответил, что то проблемы дизайнера, пусть мол учат C# и не выеживаются, и клиенты пусть идут лесом со своими желаниями.
Так что hVostt и МСУ харе уже трилить.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182361
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SeVahVostt*Ihor*,

МСУ тебе правильно сказал, уже давно придумали датасеты. и пицот других вариантов. самый наихудший это dynamic. самый плохой. самый отвратительный, уродский и крайне тупой. если не хватает тямы разобраться с датасетами, то прекращаем бессмысленную дискуссию. это уже наивысший предел непонимания. выше только звезды. откуда вы там прилетаете )) с планеты Оогу наверное.

Самое тупое и уродское, что есть в net - dataset'ы.
Рудименты царя Гороха.

SeVa - аплодирую стоя :)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182364
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*когда mysql не справилась с большими данными, и программист передал все в php и там перебирал расчет.
дайте две!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182365
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

все действительно просто

авторпросто тупо заполнялся

какие тесты, такие и результаты. на счет вычислительной мощности JS не конкурент C#, и никогда им не будет. вы сначала результаты получите, выведете их, а потом уже сравнивайте количество ms. у PHP совсем другая задача, боюсь разработчики языков в последюю очередь думали о неземных личностях с их бестолковыми заполнениями памяти.

на счет TryGetMember у датасета действительно метода с таким названием действительно нет. но проверить наличие поля можно легче легкого. если в наборе строк разный набор полей у каждой строки, что уже наводит на мысль об неадекватности программиста, который это сделал. но есть коллекции. какие хочешь. и хеш-наборы, и деревья, и словари... есть все что душе угодно. они могут представлять собой сущеность и агрегироваться в сущность.


foreach(user in model.Users) { user['Name'] }

сделайте этому юзеру индексатор, реализуйте его словарем и будет вам счастье. это тупое решение в лоб. как говорится, решение вашей задачи могло быть совсем другое, простое и изящное, но вам оно не подойдет. зациклились на своем TryGetMember и все тут.


SeVaСамое тупое и уродское, что есть в net - dataset'ы.
Рудименты царя Гороха.

ну и чем вам датасеты не угодили? понятное дело, лучше доменная модель в классах. но тут же такое дело. есть какой-то мифический шаблонизатор, который ручками почему-то правится. и какая-та хрень делает по чьему-то чиху ALTER ADD COLUMN в базу, за что будь я на месте dba достал бы помповое ружье и расстрелял бы всех программистов, кто такое учудил.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182369
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

проверил ваш чудо-тест «на скорость»

вот результаты: C# 111 ms, node.js 52639ms да-да, 52 секунды. просто чудо )) хотя возврат я получаю сразу прям через 50мс, как у вас.

так что свои дешевые тесты можете знаете куда положить? ) учите мат часть, не пишите чушь и взрывайте нам мозг )
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182377
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt*Ihor*,

проверил ваш чудо-тест «на скорость»

вот результаты: C# 111 ms, node.js 52639ms да-да, 52 секунды. просто чудо )) хотя возврат я получаю сразу прям через 50мс, как у вас.

так что свои дешевые тесты можете знаете куда положить? ) учите мат часть, не пишите чушь и взрывайте нам мозг )

выб так не шутbли показывая такие расчеты для node.js :( проверьте свой код. потому как минуту для JS перебрать массив?

вот если что весь код под ноде
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
var fs = require('fs'),
    http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    
    summary = new Array();
    count = 5000;
    for(var i1=0;i1<count;++i1){
        summary[i1] = i1;
    }
    var start = new Date().getTime();
    for(var i1=0;i1<count;++i1){
        for(var i2=0;i2<count;++i2){
            if("5468735354987"!="654654655465"){
                summary[i1] = i1*i2;
            }
        }
    }
    res.write("<li>time: "+(new Date().getTime() - start)+" ms");
    var sum = 0;
    for(i1=0;i1<count;++i1){
        sum = sum + summary[i1];
    }
    res.write("<li>sum: ["+sum+"]");
    res.end();
    
}).listen(1337, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');



в конце просто валидация суммы чтоб убедиться что все варианты в разных платформах высчитали одинаково.

вот код 1в1 на aspx

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<%@ Page validateRequest="false" Debug="true" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.Threading" %>

<script language="C#" runat="server">
    public void Page_Load(Object sender, EventArgs E)
    {
        int count = 5000;
        int[] summary = new int[5000];
        for (int i1 = 0; i1 < count; i1++)
        {
            summary[i1] = i1;
        }

        Stopwatch stopwatch = new Stopwatch();
        stopwatch.Start();
        
        for (int i1 = 0; i1 < count; ++i1)
        {
            for (int i2 = 0; i2 < count; ++i2)
            {
                if("5468735354987"!="654654655465"){
                    summary[i1] = i1*i2;
                }
            }
        }
        
        stopwatch.Stop();
        Response.Write("<li>time: " + (stopwatch.ElapsedMilliseconds) + " ms</li>");

        long sum = 0;
        for (int i1 = 0; i1 < count; ++i1)
        {
            sum = sum + summary[i1];
        }
        Response.Write("<li>test[" + sum + "]");
    }
</script>



он же в php

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<?php
$summary[] = array();
$count = 5000;
for($i1=0;$i1<$count;++$i1){
    $summary[$i1] = $i1;
}

$t = microtime(true);

for($i1=0;$i1<$count;++$i1){
    for($i2=0;$i2<$count;++$i2){
        if("5468735354987"!="654654655465"){
            $summary[$i1] = $i1*$i2;
        }
    }
}

echo "<li>time: ".(microtime(true)-$t).' ms</li>';

$sum = 0;
for($i1=0;$i1<$count;++$i1){
    $sum = $sum + $summary[$i1];
}
echo "<li>test["+$sum+"]";
?>



еще раз проверьте свой код nodejs. как вы умудрились его загнать аж на 1 минуту?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182378
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
интересно увидеть ваш вариант который засадил Node на 1 минуту. поделитесь если не стесняетесь?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182384
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так давайте закругляться всетаки. потому как два троля превратили задачу в выдергивания рук, посылания всех нахрен вместе с клиентами, и упреки что все в жизни просто и нефиг изобретать ничего.
Мне задача сама по себе интересна, я уже вижу ее решение, показалось что когото тоже заинтересовало, хоть немного. Ну а в остальном, спорить с тролями от нечего делать? Каждому свое. Тема слилась в непонятно что. Пусть модеры удалят ее. Слишком много негатива, и некоректного поведения для ИТшников, чета даже противно стало далее такое общение пустое. Всем удачи.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182393
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

действительно, мой косяк, time: 217 ms (без инициализации массива) и 60-70 с инициализацией.
прошлый раз запускал под эмулятором.

беру свои слова назад по поводу node.js.

но по остальному поводу вы действительно мудите, уж извиняюсь, но решение на поверхности. это коллекции. динамик сюда ни каким боком не лезет, потому что он предназначен для других целей. почитайте на MSDN зачем его вообще добавили. и раньше без него было плохо только при работе со всякими Interop-ами и COM-ами.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182428
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp*Ihor*,

У вас есть миллион денег на Microsoft???
Или вам таки не нравится PostgreSQL+Node.ja+Backbone?

Вы определитель - либо устрицы по пиццоттыщ из-за океана либо речные нашенские, но по 3 рубля + всякие плюшки!))

возможно, не по теме, но очень интересно сколько стоит по минимуму app сервер от MS если все остальное вынести на linux

например
В линуксе:
storage: Postgres;
GUI: Apache+mono+asp.net MVC

но сервер приложения - бизнес логику хочется, к примеру, оставить в венде ибо dotnet более совместимый чем mono вроде бы?
слои кстати будут совместимыми при бинарной сериализации (раньше вроде не были) или одним из поддерживаемым CSLA способом?

поди можно ваще XP заюзать ибо IIS то не нужон, хотя там 10 соединений вроде и еще какая муть, но для нищебродов (я не про участников топика, а скорее как вариант для себя) то подойдет поди на первое время, пока нагрузка не велика
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182430
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще в венде можно всякие околобесплатные ActiveX заюзать и другие win DLL, коих море если чего в DotNet не хватает
хотя, наверно, можно и в wine тоже замутить, ведь с технической точки зрения даже DotNet v2 + DevExpress запускается под wine

DotNet можно в wine заюзать если есть лицуха венды под XP, которая пылится?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182438
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spгибкость JS позволяет без оверхеда как в типизированных языках гибко решать задачи с меняющимися структурами, а клиентские фреймворки типа Backbone.js и иже с ним всякие MV* фреймворки - позволяют все так же не менее гибко все это отображать на клиенте.

а почему большей частью enterprise проекты делают на типизированных (возможно околодинамических) dotnet, java
а мелкие на LAMP-ах и потом они вырастают конечно до чего-то

потому что maintenance
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182445
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, JavaScript объекты - это ассоциативные массивы, хэши. В чём проблема использовать Dictionary?
В том, что Razor не понимает синтаксиса @user.address, когда user - это словарь, а address - ключ? Возьмите другой движок представления, или напишите свой.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182451
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Даже еще проще.. звоните Мише, добавь в таблицу поле address2.
можно через SpeachAPI и Астериск автоматизировать
т.е. юзер просто кликает а система сама Мише дозванивается

в случае JS как раз удобно, если выпадет какой звук по пути, то если я правильно понял, имя поля - не критично
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182460
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ждем топик в ПТ :-)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182475
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2spгибкость JS позволяет без оверхеда как в типизированных языках гибко решать задачи с меняющимися структурами, а клиентские фреймворки типа Backbone.js и иже с ним всякие MV* фреймворки - позволяют все так же не менее гибко все это отображать на клиенте.

а почему большей частью enterprise проекты делают на типизированных (возможно околодинамических) dotnet, java
а мелкие на LAMP-ах и потом они вырастают конечно до чего-то

потому что maintenance
1. Потому что веб-морда (front-end) - это только малая часть enterprise проектов;
2. enterprise проекты перестали быть монолитными (написаными с импользованием одной технологии).
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182515
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA1. Потому что веб-морда (front-end) - это только малая часть enterprise проектов;
пропорции от проекта зависят,

например, ebay - у них морда сколько % весит от остального тела? навскидку
у них же вроде бы часть на java, интересно на чем морда, в строчке есть eBayISAPI.dll, неужели на венде (наверно когда то была и по старой памяти так называется роутер запросов)?

skyANA2. enterprise проекты перестали быть монолитными (написаными с импользованием одной технологии).
сначала пристыковывают готовые или наколеночные лампы с рельсами, а потом при необходимости, наверно, переводят их на enterprise платформу?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182519
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*ок. вот пример задачи.. не совсем то, бо реальную задачу и проект слишком долго описывать.
Я тебя просил не очередную голую "задачу", а демо-решение . Что там делать-то? Одну страничку и серверный код для передачи данных на клиента? Или можешь только языком ворочать?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182526
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spдавайте поговорим про гибкость - в БД я изменил сущность (добавил/удалил поля или изменил их тип) - или таки вам не прийдется переделывать модель EF или описание моделей и перекомпилировать потом все это.
Да. И это правильно. В твоём же случае ты тащишь с БД запись (записи) со всеми 100500 полями, которые потом можно будет использовать в шаблоне. Дба начнет тихо расстреливать за такую "архитектуру". В моем же случае данные из базы выгребаются только те, которые нужны бизнесу. Всё строго регламентировано и описано. Есть конкретная типизированная модель, которым ты можешь управлять в темплейте - не больше не меньше.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182537
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Т.е. динамика в JS позволяет взять класс MarkerClass добавить ему проперти и дальше к нему обращаться. При этом если пропертинету то вернется null или undefined без падения по эксепшину.
Бред. Ты это свойство должен использовать где-то в js коде. Если ты будешь производить какие-то вычисления, по-любому нужно проверять на null. Или ты хочешь просто в представлении показать юзеру MarkerClass.MySuperKey?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182540
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*звоните Мише, добавь в таблицу поле address2 . Миша в чате тутже говорит что добавил. Вы спокойно в шаблоне указываете user.address2 и все. секундное дело
Ты что-нибудь слыхал про оптимизацию? За запросы "SELECT * FROM" нужно кастрировать на месте.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182544
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЗа запросы "SELECT * FROM" нужно кастрировать на месте.
если есть WHERE, то условно
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182550
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVahVostt*Ihor*,

МСУ тебе правильно сказал, уже давно придумали датасеты. и пицот других вариантов. самый наихудший это dynamic. самый плохой. самый отвратительный, уродский и крайне тупой. если не хватает тямы разобраться с датасетами, то прекращаем бессмысленную дискуссию. это уже наивысший предел непонимания. выше только звезды. откуда вы там прилетаете )) с планеты Оогу наверное.

Самое тупое и уродское, что есть в net - dataset'ы.
Рудименты царя Гороха.

Ты просто не умеешь их готовить.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182560
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2МСУЗа запросы "SELECT * FROM" нужно кастрировать на месте.
если есть WHERE, то условно
Причем тут WHERE? Я о том, что тащатся все колонки с сервера БД.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182658
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУsanyock2пропущено...

если есть WHERE, то условно
Причем тут WHERE? Я о том, что тащатся все колонки с сервера БД.
так пусть тащатся, вдруг от этого кодить быстрее чем от перехода на узловой скрыпт
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182694
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2так пусть тащатся, вдруг от этого кодить быстрее чем от перехода на узловой скрыпт
ещё один самоубивца
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182702
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANA1. Потому что веб-морда (front-end) - это только малая часть enterprise проектов;
пропорции от проекта зависят,

например, ebay - у них морда сколько % весит от остального тела? навскидкуНу давайте подумаем.
У eBay есть поставщики товаров? Есть платёжные системы, с которыми работает eBay? Есть доставка? Есть аналитика? Есть API?
Есть...?
Или со всем этим справляется 100500 китайцев, обрабатывая заказы ручками да по телефону?

sanyock2skyANA2. enterprise проекты перестали быть монолитными (написаными с импользованием одной технологии).
сначала пристыковывают готовые или наколеночные лампы с рельсами, а потом при необходимости, наверно, переводят их на enterprise платформу?Нет не так. Попробуйте представить себе предметную область, где нужно решение enterprise уровня. К примеру нефтянку.
И подумать о том, какие это наколеночные лампы с рельсами Вы там собрались внедрять.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182725
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще вот это «добавь-ка Мишка мне поле в базу, я ща в темлейт его зафигарю» от слабоумия, и общей тупорылости. надо что-то сделать, какую-то мудотню, создать видимость работы. чем больше проблем, чем хуже и несопровождаемей код, тем больше нужны всякого рода «специалисты». платное приложение к программе, кучка страдающих от недостатка ума прощелыг. пусть звучит грубо, не профессионально там, мне плевать — что там истинные грамотеи скажут. нет говнокоду.

какой вообще смысл в постоянном добавлении полей? это что вообще такое? если бизнес-логика подразумевает переменное, постоянно изменяющееся количество полей, значит они не в колонках должны быть, и никакими ALTER TABLE не должны решаться. а наборами. вертикальный срез. но для этого же нужны мозги, хотябы хиленькие. эт задача решалась успешно еще 20 лет назад на «тех» системах.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182744
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИли со всем этим справляется 100500 китайцев
не исключено, что больше в 9000 раз, собственно отсюда и нагрузка
ну еще покупателии - не забывайте

skyANAобрабатывая заказы ручками да по телефону?

не исключено, что какие-то интерфейсы есть для организации "витрины" хотябы, но точно не знаю

skyANAsanyock2сначала пристыковывают готовые или наколеночные лампы с рельсами, а потом при необходимости, наверно, переводят их на enterprise платформу?Нет не так. Попробуйте представить себе предметную область, где нужно решение enterprise уровня. К примеру нефтянку.
И подумать о том, какие это наколеночные лампы с рельсами Вы там собрались внедрять.

про нефтянку не не слышали, не были, не употребляли
а так то, наверняка, юзают всякие CMSки, тикеты и т.п., сначала синтегрят, а потом упираются в ограничения по производительности, а свой функционал сгородить в том же объеме и того труднее
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182751
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2, Вы что конкретно-то хотите сказать?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182760
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAsanyock2, Вы что конкретно-то хотите сказать?

в ПТ скучно
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182791
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANAsanyock2, Вы что конкретно-то хотите сказать?

в ПТ скучноНу дак идите проанализируйте добавление в DataSet при помощи профайлера.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182794
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё лучше, чем писать глупости и оффтопик.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182798
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2МСУпропущено...

Причем тут WHERE? Я о том, что тащатся все колонки с сервера БД.
так пусть тащатся, вдруг от этого кодить быстрее чем от перехода на узловой скрыпт
Да пусть тащистя вообще вся база в сотню терабайт на клиента, чё. js всё разрулит.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182812
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВсё лучше, чем писать глупости и оффтопик.

давайте лучше о CSLA, и только хорошее ! :-)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182825
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, тут уже кто-то сумневался по поводу количества уникальных бизнеслогик на каждого пользователя, видимо с учетом большого количества колонок каждая строчка таблицы как минимум на отдельном диске партиционируется
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182847
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANAВсё лучше, чем писать глупости и оффтопик.

давайте лучше о CSLA, и только хорошее ! :-)Помнится с темы CSLA Вы успешно слились.
Завести для Вас топик: "Помогите Саньку ответить на вопрос: Каким образом DataPortal.Fetch может вернуть DataSet"?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182856
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЗавести для Вас топик: "Помогите Саньку ответить на вопрос: Каким образом DataPortal.Fetch может вернуть DataSet"?

лучше "успешные случаи использования CSLA в реальной жизни"
и "какой самый лучший генератор из БД, чтобы генерились и BO и DTO через NH"
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182876
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ,

насчет вот реального примеру сходу потому чтоу вас нехватает фантазии, толи вы тролите, толи пишите чисто мышкой в студии.
Вот прямо с ходу пример из жизни где нужна динамика и как она полезна в JS:
всем известный google map api, создавая на карте маркеры var marker = new gogle.maps.Marker() вы создаете объект, типа типизированный MerkerClass, но вот у вас их сотни на карте. Как распознать какой маркер вы нажали и как вывести дополнительную инфу ? вариантов много, но самый удобный это то, что JS позволяет вам вмешаться в чужой класс и добавить проперти, и mapsApi его подхватит и назначит объекту, marker.vehicke_id = 123; marker.vehicke_name = 123; т.е. вы добавили свойства классу. без оверлоудов и ибатни. И дальш ес легкостью и красиво можно как вывести .name по ховеру, не обращаясь к кэш массиву всех маркеров а сразу ('click', functon(){ alert(this.vehicle_name)}). также и получить vehicle_id ваш и уже далее запросить доп. информацию с сервера и вывести.
Т.е. динамика в JS позволяет взять класс MarkerClass добавить ему проперти и дальше к нему обращаться. При этом если пропертинету то вернется null или undefined без падения по эксепшину.
Только не нужно тролить что тут динамики нету, и пример тупой. Как раз такие вот мелочи позволяют с легкостью писать очень удобный любой код, без оверлоудов, без создания своих классов над классами и т.д.
хм, дак в диезе куча фремвоков, кторые могут в динамике добавить в созданный объект :проперти, методы, еще куча всего
и при передаче объекта куда то, можно работать с этими addнами как с родными, под словом куча я подразумевал как родные
на память 3- 4 фв, так и кастомные, почему у вас свет то сошелся на динамике ( вообще из другой оперы) и на JS, или вы про них не знаете, это уже другой вопрос...
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182885
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сама идея в работе юзеров с кодом темплейтов, с отсутствием каких-бы то нибыло проверок на существование объекта - утопична. Хотя бы с той точки зрения, что каждый должен заниматься своим делом. Разработчик - разрабатывать (пусть даже тривиальную задачу по привязке поля в шаблоне), верстальщик - верстать, дизайнер - готовить макеты дизайна, админ - админить. То, что происходит у автора - тихий ужас на ровном месте. Ну а про производительность такого подхода - отдельная песня.
Я не спорю, есть отдельный вид приложений - конструкторы, с помощью которых можно конструировать UI (типа 1С, аксапта, шарепоинт, мс црм и т.д.). Но и даже там нет такого феерического бреда, когда через объектную модель (клиентскую или серверную) пользуешь несуществующие свойства объекта. А когда ещё заявляют про идиотизм вида «а чё, юзер накосячил в темплейте, но половина темплейта всё равно работает» - хочется по-доброму дать ружьё, чтобы автор самозастрелился. Более того, требовать этого от современных систем, ориентированных на производительность и качество.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182927
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. по поводу Enterprise:

как раз вот крупным клиентам гараздо проще. есть целостная структура, есть стабильный процесс, который можно до тупости мышкой в студии накидать. есть типовые отчеты которые в дизайнере для SQL Report Service накидали и вуаля. былбы такой клиент - я бы спал минимум 10 часов в сутки а не 1-2 часа отсилы.
У моего проекта , все клиенты абсолютно разные, заранее неизвестно какая будет логика. Чтото схожее с SaleForce в който мере. Потому и создавался апи который сможет по возможности снять нагрузку с сапорта и девелоперов , по каждому запросу перелапачивать апи, или вести репозитории на каждого клента. Это просто нереально даже 100 репозиториев вести, стоит попытаться сделать глобальное изменение , которое нужно чтобы попало везде. и все привет.
Если вы делаете складскую программу, то вы знаете структуру, которую вы закладываете статикой получая максимальную производительность и легкость в разработке через модели. А если вы делаете универсальный апи, под проект а не мод CMS то вам нужно задумать по возможности все универсально и при этом чтобы не умерло все на примере DNN, joomla и других убийц серверов.

2. Dictionary

Да и ежу это все понятно. Но без создания своего универсального надКласса, это все не полетит. Я вот собрал свой класс и походу начал ловить проблемы решая каждую из них, а их еще будут сотни.
а) обращение из темплейта к проперти которого нету - сразу лепим "override bool TryGetMember" иначе будет падать
б) проперти может быть неизвестно заранее, т.е. user.Name неподходит а нужно user['Name'] значит тут же вводим:
override bool TrySetIndex / override bool TryGetIndex
d) мы заполняем массив по переменной user['Name'] а в темплейте должно быть перехвачено оба варианта = user.Name и user['Name']
г) Тип переменной. хоть мы и делаем все через object или dynamic Dictionary<string, dynamic> - но вылазит сразу проблема с ходу. При обработке TryGetMember если элемента не существует. мы можем вернуть null или пустую строку String.Empty, и тут снова проблема от C# - типизация. Мы заранее не знает какой тип там будет. И если мы отдадим null то слетит по ошибке при строковых операциях, тотже Console.Write потому что не хватает .ToString() Если все хранить в строковых, тогда клиент не сможет в шаблонизаторе проводить расчеты. Да и сам Ling сразу падает при user.Age > 5 если там строка.
Выходит нужно в шаблонизаторе самому следить за типами и конвертировать туда сюда проверяя тип. Что приводит обратно к С# и тому что шаблонизатор перестает быть легким.

Пока вот удалось обойти не объявленные проперти, но проблема с типами, нужно снов навесить методы определяя в какой тип будет нужен

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
  dynamic user = new DynamicDictionary();
  user.Name = "Tester"; // работает
  user.Age = 20; // работает
  user["Name"] = "Tester"; // работает
  user["Age"] = 20; // работает

  List<dynamic> users = new List<dynamic>();
  users.Add(user);

  var query = from i in users where i.Age>5 select i; // работает
  foreach (var u in query)
  {
     Console.WriteLine("{0} : {1} : {2} : {3}", u["Name"], u.Age, u["Name2"], u.Name2); // работает
  }
// проблема пока с приведением типов если нужны будут расчеты


    public class DynamicDictionary : DynamicObject
    {
        Dictionary<string, dynamic>  _dictionary = new Dictionary<string, dynamic>();

        public override bool TrySetMember(SetMemberBinder binder, dynamic value)
        {
            _dictionary[binder.Name] = value;
            return true;
        }

        public override bool TryGetMember(GetMemberBinder binder, out dynamic result)
        {
            if (_dictionary.ContainsKey(binder.Name))
            {
                result = _dictionary[binder.Name];
                return true;
            }
            else
            {
                result = String.Empty;
                return true;
            }
        }
        public override bool TrySetIndex(SetIndexBinder binder, object[] indexes, dynamic value)
        {
            string index = (string)indexes[0];
            if (_dictionary.ContainsKey(index))
                _dictionary[index] = value;
            else
                _dictionary.Add(index, value);
            return true;
        }

        public override bool TryGetIndex(GetIndexBinder binder, dynamic[] indexes, out dynamic result)
        {
            string index = (string)indexes[0];
            if (_dictionary.ContainsKey(index)) 
            {
                return _dictionary.TryGetValue(index, out result);
            } 
            else 
            {
                result = String.Empty;
                return true;
            }
        }
    }
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182936
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и я просил уже тролей не разводить сопли. даже если задача утопичная. даже если это нельзя чтобы было реальным проектом, мне допустим просто интересно даже для себя сделать чтото невозможное. нато он мозг и нужен чтобы изобретать велосипед сотню раз, а не сидеть мышкой накидывать формочки. Потому кому интересно велком, кому чисто поп***ть - вам никто ничего не навязывает.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182940
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, не пробовал убить себя?

P.S. Полная чушь про большие и небольшие системы. Хочешь полноценную динамику, делай автогенерацию UI, свой API под взаимодействие с данными для оптимизации запросов, свой конструктор форм для кастомизации UI. Вообщем всё по-взрослому. Тогда гуй можно будет накликать даже уборщице, ну а что-то более продвинутое - это уже кастом.
А то, что у тебя - помои на постном месте, решение для идиотов с базой в пару сотен строчек. Система не то, что пригодна для пользования, она идет вразрез с основной концепцией ПО - пиши гавно, оно всё-равно скомпилится. Выбрось свою систему на помойку, не смеши людей.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182944
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, почитал твой код с дикшенари и динамиком. Гавнокодище знатное, смеялсо в тряпочку
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182948
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ, я так понял ты подсадной троль? или ты пожизни такой ? заметил твои посты во всех соседних ветках, с повторением в 100% ты вот так везде троишь, таким же тоном и гонором. Если ты подсадной, судя по кол-во постов у тебя , знаю таких, сам веду форумы, и знаю что это все для движухи и посещаемости, потому и просил теперь отвалить в другую ветку и не мусорить. Если ты по жизни такой - тагда нам больше неочем тут спорить, дальше тупо слив в мусор топика. Модеры - я же просил , удалите нахрен этот топик.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182954
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы мыслите утопично. Нет универсальности и не будет, не сможете всем угодить. Вы пытаетесь угодить клиентам, и при этом в перфомансе и для самой разработки делает такую ж*. Ваш апи потом поддерживать без бутылки нереально будет. По вашим словам у меня сложилось впечатление: вы не знаете о клиенте => не знаете логику =>не знаете предметную область и пытаетесь что то автоматизировать(?). Знаем предметную область строим модели и логику.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182956
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГавнокодище знатное, смеялсо в тряпочку
грех смеяться над чужим горем
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182957
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, а ты стрелочник, милейший. Изначально определились, что ты сам пришел потроллить форум своими бреднями. Тебя немного припустили на землю. Ты обиделся и в ответ начал оппонентов троллями называть. Скучно и толсто, придумай стратегию повеселее, не замыкайся в себе. И топик удалять не надо, пусть внуки читают и глумятся над твоим жестяным бредом.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182963
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ изучи Zoho SaleForce QuickBase и др продукты. посмотри их уровень, кол-во клиентов, годовой оборот.. и потом вот выскажи им мнение шо они просто тупые. Но им глубоко начхать на твое мнение уж поверь.
Моя система также прекрасно работает с минимальным по размеру апи за счет универсальности кода. Апи никто гадами не трогает, все работа с клиентом сводится к шаблонам и отчетам. И все это реально работает. Доказывать ничего никому не собираюсь. Еслим вам во чтото сложно поверить - ваши сугубо личные проблемы. Удачи всем.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182965
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*все работа с клиентом сводится к шаблонам и отчетам.
бизнес-логика пошла лесом за ненадобностью
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38182984
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ изучи Zoho SaleForce QuickBase и др продукты.
Выбрось на помойку их, не пугай людей. Изучи аксапту, 1с, шарепоинт, документум, хаммингбёрд, сап и иже с ними. Возьми лучшее, посмотри как архитектурно строятся интерфейсы, как кастомизируются. Начни думать головой, а не задним местом.

*Ihor*посмотри их уровень, кол-во клиентов, годовой оборот.. и потом вот выскажи им мнение шо они просто тупые. Но им глубоко начхать на твое мнение уж поверь.
Моя система также прекрасно работает с минимальным по размеру апи за счет универсальности кода. Апи никто гадами не трогает, все работа с клиентом сводится к шаблонам и отчетам. И все это реально работает. Доказывать ничего никому не собираюсь. Еслим вам во чтото сложно поверить - ваши сугубо личные проблемы. Удачи всем.
Продолжай дальше фантазировать, инопланетный гость.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183040
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ*Ihor*, почитал твой код с дикшенари и динамиком. Гавнокодище знатное, смеялсо в тряпочку
дык это пример из МСДН
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183046
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

твой сап и т.д. - говно
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183061
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosМСУ,

твой сап и т.д. - говно

Ну да, феерический Випрос на датасетах лучше.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183133
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*нато он мозг и нужен чтобы изобретать велосипед сотню раз
и при этом чтобы он был значительно лучше готовых аналогов или проверенных решений
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183302
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*У моего проекта , все клиенты абсолютно разные, заранее неизвестно какая будет логика. Чтото схожее с SaleForce в който мере.Тоже мне, удивили.
Клиенты нашего проекта - это более пяти с половиной тысяч разных некоммерческих огранизаций.
Загляните в мой профиль, а потом вот сюда .
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183372
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курятник теряя перья, дружно хлопая крыльями, звонко прокукарекал, что динамика - это зло, а стандартный функционал любой CRM - нечто запредельное и тут без sap не обойтись.
Три странички, три таблички - это все на что способен asp.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183406
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУViPRosМСУ,

твой сап и т.д. - говно

Ну да, феерический Випрос на датасетах лучше.
19-20 марта в отеле "Свежий ветер" мероприятие по продвижению продуктов Микрософт.
Запланирован доклад по ВИПРОС.
Приходи и послушай. :)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183561
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaстандартный функционал любой CRM - нечто запредельное и тут без sap не обойтись.
Три странички, три таблички - это все на что способен asp.
Кому и три таблички CRM )
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183723
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

я так понимаю, что-то необоснованно ляпнуть приравнивается уже к истине в последней инстанции теперь? к это вообще сказано? что сказать-то хотели? что здесь сплошной курятник, но слава богу есть д'артаньян SeVa? ))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183961
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttSeVa,

я так понимаю, что-то необоснованно ляпнуть приравнивается уже к истине в последней инстанции теперь? к это вообще сказано? что сказать-то хотели? что здесь сплошной курятник, но слава богу есть д'артаньян SeVa? ))

В этом сила Севы. Ляпнуть глупость и забыть про неё. Это супер-персонаж.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38183975
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
яростно плюсую!!! щас агро с босса пойдет )!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38184054
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttSeVa,

я так понимаю, что-то необоснованно ляпнуть приравнивается уже к истине в последней инстанции теперь? к это вообще сказано? что сказать-то хотели? что здесь сплошной курятник, но слава богу есть д'артаньян SeVa? ))

В этом сила Севы. Ляпнуть глупость и забыть про неё. Это супер-персонаж.

На самой высокой и почетной жердочке в курятнике, самый крикливый попугайчик, у которого на любой вопрос один ответ: "SharePoint,SAP, Axapta!!!!. Всем курить Asp.net!!! Свободу попугаям!!!"

Муся, а на фига козе баян?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38184065
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

понятно, это какие-то сугубо личные трудности и проблемы )
а почему курятник? а не коровник? или лягушатник? с чем связан выбор именно такой метафоры? ))))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38184651
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМуся, а на фига козе баян?
Выражайся яснее, в чём конкретно вопрос?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38184663
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttSeVa,

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


Это не метафора, а диагноз. Много шума, пару заученных движений для поиска червяков, а если что-то иное, то уже сносит крышу и вызывает полное непонимание и бурное возмущение. В частности, постоянно кукарекаем: Js - наше все!! А при слове dynamic сносит крышу. DynamicObject реализует основной интерфейс DLR

DLRThe Dynamic Language Runtime enables language developers to more easily create dynamic languages for the .NET platform. In addition to being a pluggable back-end for dynamic language compilers, the DLR provides language interop for dynamic operations on objects. The DLR has common hosting APIs for using dynamic languages as libraries or for scripting in your .NET applications. This project provides one stop shopping for the DLR components, our open source implementations of IronPython and IronRuby, documentation, and samples.


те для поддержки ваших любимых скриптовых языков(возможность позднего связывания com - только следствие). В чистом виде эта полова заглатывается, а ее вкрапления в C# вызывает паралич.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38184800
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

У кого dynamic в C# вызывает паралич? У кого от этого слова сносит крышу и в чем это проявляется? Кто это постоянно там у вас кукарекает? Случаем не в деревне живете? Вам бы в политики. Столько слов, звучащих глубокомысленно, но в итоге так ничего и не понятно, что сказать хотели?

Что есть такая штука, как DLR и на ней VB.NET работает и другие IronPython-ы. Понятно, что в статичной типизации C# динамик выглядит просто как 6-ой палец, и что он полезен при работе с COM и Interop-ами, ибо все равно придется кастовать, так как среда не сделает имплисит откуда угодно куда угодно... И что? )))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38184831
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМного шума, пару заученных движений для поиска червяков, а если что-то иное, то уже сносит крышу и вызывает полное непонимание и бурное возмущение. В частности, постоянно кукарекаем: Js - наше все!! А при слове dynamic сносит крышу. DynamicObject реализует основной интерфейс DLR
Как всегда, обо всём и ни о чём.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38184859
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttSeVa,

У кого dynamic в C# вызывает паралич? У кого от этого слова сносит крышу и в чем это проявляется? Кто это постоянно там у вас кукарекает? Случаем не в деревне живете? Вам бы в политики. Столько слов, звучащих глубокомысленно, но в итоге так ничего и не понятно, что сказать хотели?


hVostt ты на каком базаре торгуешь?
hVosttа вот за это «При этом если пропертинету то вернется null или undefined без падения по эксепшину» надо кастрировать, лишать доступа к компу, давать только погамать в какой-нибудь ВоВ по воскресеньям, ибо ничего хорошего такие экземпляры точно не понаделают в программировании.


hVosttвам бы в желтой газетенке работать, а не программрованием заниматься. все вышенаписанное — бред, не имеет никакого отношения к реальности. какое движение и куда пошло, вы чего курите?


hVosttМСУ тебе правильно сказал, уже давно придумали датасеты. и пицот других вариантов. самый наихудший это dynamic. самый плохой. самый отвратительный, уродский и крайне тупой. если не хватает тямы разобраться с датасетами, то прекращаем бессмысленную дискуссию. это уже наивысший предел непонимания. выше только звезды. откуда вы там прилетаете )) с планеты Оогу наверное.


hVosttну и чем вам датасеты не угодили? понятное дело, лучше доменная модель в классах. но тут же такое дело. есть какой-то мифический шаблонизатор, который ручками почему-то правится. и какая-та хрень делает по чьему-то чиху ALTER ADD COLUMN в базу, за что будь я на месте dba достал бы помповое ружье и расстрелял бы всех программистов, кто такое учудил.



Столько экспрессии, а выхлопа ноль.

ЗЫ В деревне Муся кроликов выращивает.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38184900
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

почему ноль? вон сева постарался, собрал все мои каменты в кучку? какой ради цели непонятно, но результат есть! ))))
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185130
авторсобрал все мои каменты в кучку
если, эта кучка - действительно твои мысли, мне тебя жаль... ты реально - ноль в программировании!!!

ПыСы: Сева +5!!!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185157
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
результат есть...авторсобрал все мои каменты в кучку
если, эта кучка - действительно твои мысли, мне тебя жаль... ты реально - ноль в программировании!!!

ПыСы: Сева +5!!!

Довольно-таки интересное мнение очень авторитетного мембера "результат есть...", ага.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185195
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor* Но у меня нет контролов, так-как теже таблицы user, company и др. не имеют структуры пока пользователь не авторизуется.У каждого пользователя своя собственная структура данных, насколько я понял. Меняется ли у пользователя эта структура при каждой авторизации? Вообще, насколько часто меняется и при каких условиях? Меняется ли в принципе?

*Ihor* если я буду строить классы динамически каждый раз, то получу огромные тормозаЕсли структура данных конкретного пользователя меняется не от каждого чиха, то я не вижу особых причин, по которым нельзя строить классы динамически. Нужно просто не удалять построенное, а компилировать и сбрасывать в блоб, связанный с этим пользователем. При следующей авторизации просто вытягивать из базы и юзать.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185196
авторДовольно-таки интересное мнение очень авторитетного мембера "результат есть...", ага.
интересное (не интересное), авторитетное (не авторитетное) - неважно!!!
ты его прочитал и подумал!!! другие прочтут и тоже, подумают!!!
ЭТО ВАЖНО!!!

Сева (в данном случае) абсолютно прав!!!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185198
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ: осилил лишь первую половину темы, может это уже предлагали...
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185200
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
результат есть...другие прочтут и тоже, подумают!!!что автор неадекват
да, это важно знать
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185206
авторчто автор неадекват
да, это важно знать
гыгы... видишь - (полюбэ) читают и, думают!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185216
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Севу не трож! Он 1000-у шариков на WPF до 30 FPS разогнал!
Но его пристрастия к курятникам и попугайчикам это конечно как-то странно
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185326
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
результат есть...интересное (не интересное), авторитетное (не авторитетное) - неважно!!!
Важно, причём очень. Если это сказало унылая поддакивающая серость, то просто проходим лесом и не парим свой моск вниманием.

результат есть...ты его прочитал и подумал!!! другие прочтут и тоже, подумают!!!
ЭТО ВАЖНО!!!
Да тебя даже читать не захотят, сними розовые очки

результат есть...Сева (в данном случае) абсолютно прав!!!
Аминь.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185352
автор Если это сказало унылая поддакивающая серость,
серость - это ты!!!
разве важно кто сказал, что Земля крутится вокруг Солнца!?
авторДа тебя даже читать не захотят,
14051864 - меня не только читают, а ещё и цитируют!!!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185371
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
результат есть...серость - это ты!!!
Вот так на тебе
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185383
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
результат есть...автор Если это сказало унылая поддакивающая серость,
серость - это ты!!!
разве важно кто сказал, что Земля крутится вокруг Солнца!?
авторДа тебя даже читать не захотят,
14051864 - меня не только читают, а ещё и цитируют!!!
Вовочка, выключи телефон и смотри на доску! И запомни, то что Земля вращается вокруг Солнца доказал Николай Коперник!
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185496
Именно об этом Сева и говорил -
Люди не имеющие своих мыслей, активно придерживаются чужих!

Не нравится сравнение с курятником, сравнивайте себя с лемингами - они тоже всегда правы!!! ;)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185509
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размышление о мыслях маленькой серенькой мартышки забавляет :)
Не автор ли отыгрывается за зло, которое ему доставили?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185510
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, загадили тему. Пора закрывать.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185521
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЕсли структура данных конкретного пользователя меняется не от каждого чиха, то я не вижу особых причин, по которым нельзя строить классы динамически. Нужно просто не удалять построенное, а компилировать и сбрасывать в блоб, связанный с этим пользователем. При следующей авторизации просто вытягивать из базы и юзать.У автора уже есть API, и база есть, и аналитика даже какая-то к ней прикручена. Он морду на MVC к этому прикрутить не может.

А использование блобов приведёт к потере производительности из-за сериализации/десериализации. Тем более автор от идеи использовать MongoDB отказался, из-за того, что аналитика нужна.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185653
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAУ автора уже есть API, и база есть, и аналитика даже какая-то к ней прикручена. Он морду на MVC к этому прикрутить не может.Так автор же хочет все переписать, сохранив бизнес-логику, а не говнокод.

skyANAА использование блобов приведёт к потере производительности из-за сериализации/десериализации.Я предлагал хранить скомпилированные ассембли, причем тут сериализация? Можно не в блобах, а файлах, если это производительней.

Примерно так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
    Private Function RunScript(ByVal sScript As String) As String
        RunScript = ""
        Dim a As System.Reflection.Assembly = Nothing
        Try
            a = DataService.Setup.Assemblies(sScript.GetHashCode.ToString)
        Catch ex As Exception
            a = CreateAssembly(sScript)
            If a Is Nothing Then
                Exit Function
            Else
                DataService.Setup.Assemblies.Add(a, sScript.GetHashCode.ToString)
            End If
        End Try
        Try
            Dim o As Object = a.CreateInstance("GSEngine.Script")
            Dim t As Type = o.GetType()
            Dim pi As PropertyInfo = t.GetProperty("Engine")
            Dim mi As MethodInfo = t.GetMethod("EvalCode")
            Dim s As Object = mi.Invoke(o, Nothing)
            Return s
        Catch ex As Exception
            mErrors.AddItem(clsErrors.ErrorType.ertSystem, 9999, ex.Message, OBJ_NAME, "RunScript")
        End Try
    End Function

    Private Function CreateAssembly(ByVal sScript As String) As System.Reflection.Assembly
        On Error GoTo errh
        Dim c As VBCodeProvider = New VBCodeProvider()
        Dim cp As CompilerParameters = New CompilerParameters()
        cp.ReferencedAssemblies.Add("system.dll")
        cp.ReferencedAssemblies.Add("system.xml.dll")
        cp.ReferencedAssemblies.Add("system.data.dll")
        cp.ReferencedAssemblies.Add(System.Reflection.Assembly.GetExecutingAssembly.Location)
        cp.CompilerOptions = "/t:library"
        cp.GenerateInMemory = True
        ' Complete the user code so that it can be compiled
        Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder("")
        sb.AppendLine("Imports System")
        sb.AppendLine("Imports System.IO")
        sb.AppendLine("Imports System.Xml")
        sb.AppendLine("Imports System.Data")
        sb.AppendLine("Imports GSTypeLib")
        sb.AppendLine("Imports GSEngine")

        sb.AppendLine("Namespace GSEngine ")

        sb.AppendLine("Public class Script")
        sb.AppendLine("Dim mEngine as clsEngine")

        sb.AppendLine("Public Property Engine() As clsEngine")
        sb.AppendLine("    Get")
        sb.AppendLine("        Engine=mEngine")
        sb.AppendLine("    End Get")
        sb.AppendLine("    Set(ByVal value As clsEngine)")
        sb.AppendLine("        mEngine=value")
        sb.AppendLine("    End Set")
        sb.AppendLine("End Property")

        sb.AppendLine("public function EvalCode() as object")

        sb.AppendLine(sScript)

        sb.AppendLine("End Function")

        sb.AppendLine("End Class")
        sb.AppendLine("End Namespace")

        Dim cr As CompilerResults = c.CompileAssemblyFromSource(cp, sb.ToString())
        If cr.Errors.HasErrors Then
            Dim er As CompilerError
            For Each er In cr.Errors
                ' mErrors.AddItem(clsErrors.ErrorType.ertSystem, , er.ErrorText, OBJ_NAME, "RunScript")
            Next
            Return Nothing
        End If
        Return cr.CompiledAssembly
    End Function

Только мне не надо было хранить их в базе.
Кстати, не нашел метод сохранения ассембли в байтовый массив, лишь загрузку из него.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185668
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЯ предлагал хранить скомпилированные ассембли
Налету формируя CompileAssemblyFromSource из sScript (хранящегося в БД) ты хотел сказать? Это не "скомпилированные" ассембли, это ассембли, которое постоянно будет оверхедиться на жестком диске при каждом CompileAssemblyFromSource.
Идея, конечно, жутковата.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185672
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, не понял. Вы предлагете делать версию софта, или сайта, или отчёта под каждого клиента, или что?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185674
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyКстати, не нашел метод сохранения ассембли в байтовый массив, лишь загрузку из него.
Попробуй так BinaryFormatter.Serialize(MemoryStream, results.CompiledAssembly). Ну а потом MemoryStream.ToArray()
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185697
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНалету формируя CompileAssemblyFromSource из sScript (хранящегося в БД) ты хотел сказать?Нет. В данном коде sScript извлекался из xml-шаблона, а сборки хранились в памяти пока не умрет приложение. Этакий корявенький недоWebForms получился. Я от этой идеи отказался, что за удовольствие от скрипта в шаблоне без интеллисенса и подсветки? Хотя можно было и в vb-файле хранить, но тогда пришлось бы дробить логику шаблона по модулям, чего делать не хотелось.

Автору же предлагается генерить sScript и интерфейс-обертку для него лишь тогда, когда модель меняется. Точь-в-точь как это делает EF. Все остальное время юзать уже готовую сборку, а где хранить — да пофиг, где удобнее/быстрее/расовей. Поэтому я и спрашивал про то, как часто меняется модель. Если очень часто, это, конечно, не вариант.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185702
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

вариант 1
всегда интерпретировать
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185710
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosAntonariy,

вариант 1
всегда интерпретироватьЧочо?
Что за вариант 1 и зачем тормозно интерпретировать, если можно скомпилировать и исполнять нативно и шустро?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185721
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

проверено
методы - пишет прогер и лежат они на сервере
модель данных интерпретируется в коллекции (у меня просто датасет)
модель и методы имеют контракт (требования метода к модели данных)
при изменении модели верифицируются контракты и если плохо, то в зависимости от критичности (сервис незначительный и т.д.) метода
1. не даем менять модель таким образом
2. метим метод как не валидный и не запускаем, не показываем и т.д.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185740
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЯННП

И к сути вопроса ТС походу отношения не имеет.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185938
*Ihor*Мне нужен чистый легкий код. Я пытаюсь пересобрать свой API.
На данный момент как и писал выше на коленке уже работают варианты
1) генерация dll и поключение из папки клиента, но много нехороших моментов есть.
2) dynamic почти получается аналог JS но нужно все таки писать свой класс сверху чтобы не слетат код при обращении к не существующему проперти, ведь дизайнер UI будет писать проверки.
Код: c#
1.
2.
3.
   IDictionary<string, dynamic> user = new Dictionary<string, dynamic>();
   user["Name"] = "Test";
   Console.Write(user["Name"]);


покрывает почти все что вижу. даже методы можно повесить налету. но не хватает обработки чтобы user['Age'] вернуло null как в JS а не падало по ошибке.
3) ExpandoObject в принципе получается выше аналог dynamic за исключением менее компактного кода.
Код: c#
1.
2.
3.
4.
   dynamic user = new ExpandoObject();
   ((IDictionary<String, Object>)employee).Add("Name","Test");

   Console.Write(user.Name);

а проверить несуществующий проперти религия не позволяет?
да и посути тотже Json.NET либа на ExpandoObject вроде построена.

2) и 3) вариант вполне позволяют получив выборку с базы, загнать все колонки в объект и отдать в шаблон. А дальше админ может менять вывод в шаблоне под свои задачи. Т.е. введя в таблицу новое поле "Tel" в Razor шаблоне просто админ укажет
Код: c#
1.
2.
3.
 @foreach (var user in UsersList) { 
    <p>@user.Tel</p>
 } 


чем плох такой подход? зачем мне DNN
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38185943
*Ihor*,

если устраивает - проверить не существующий ключ религия не позволяет?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186096
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВ данном коде sScript извлекался из xml-шаблона, а сборки хранились в памяти пока не умрет приложение.
В какой такой памяти? Созданные сборки оверхедятся на диск, другого не дано априори.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186113
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пробегалло*Ihor*,

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

Antonariy:
ты правильно мыслишь, вот только можно гараздо проще и выгоднее по производительности, я об это упомянул в самом начале но прибежал МСУ и устроил холивар с выносом мозга. Генерить нужно не классы в какойто формат, или даже компилить их. А всегото генерить DLL библиотеки, и подгружать с нужной папки клиенты, и все. Это как раз один из методов аля интерпретатор - одни пишут парсинг и интерпретацию скриптов, другие записывают код в dl и далее по вызову выполняется родной c#. Я таким образом делал расчетный модуль для аналитики, введенный код пользователем и удобоваримый для него , переводится в c# код, и далее генерируется C# dll. Вот и тут также была и это идея тоже, генерить в папку dll и далее спокойно вызывать как статику. Но там тоже хватает проблем и мест со сложностями.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186173
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyВ данном коде sScript извлекался из xml-шаблона, а сборки хранились в памяти пока не умрет приложение.
В какой такой памяти? Созданные сборки оверхедятся на диск, другого не дано априори.Я не правильно понимаю этот кусок из МСДН?
Public Property GenerateInMemory As Boolean
является членом: System.CodeDom.Compiler.CompilerParameters

Получает или задает значение, показывающее, следует ли создавать выходной файл в памяти.


*Ihor* А всегото генерить DLL библиотеки, и подгружать с нужной папки клиенты, и все.Ровно это я и предлагал.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186183
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Генерация в файл через
Код: c#
1.
2.
3.
4.
5.
CSharpCodeProvider csp = new CSharpCodeProvider();
ICodeCompiler cc = csp.CreateCompiler();
CompilerParameters cp = new CompilerParameters();
//****
CompilerResults cr = cc.CompileAssemblyFromSource(cp, ".....code ...");



загрузка из файла
Код: c#
1.
2.
3.
4.
5.
  AppDomain domain = AppDomain.CurrentDomain;
  Assembly assembly = domain.Load(loadFile("demo.dll"));
  Type typeofClass = assembly.GetType("demo.Script", true, false);
  Command mathClass = (Command)Activator.CreateInstance(typeofClass);
  mathClass.Execute(ref data);


вот так покрайней мере был сделан плагин в одной проекте. но вариантов подобного решения валом , д аи за 5 лет появилось более удобные методы в .NET
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186311
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЯ не правильно понимаю этот кусок из МСДН?
Public Property GenerateInMemory As Boolean
является членом: System.CodeDom.Compiler.CompilerParameters

Получает или задает значение, показывающее, следует ли создавать выходной файл в памяти.

Не правильно. Под памятью они имеют ввиду генерацию в темповой директории. Учи матчасть, чтоле.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186408
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyЯ не правильно понимаю этот кусок из МСДН?
пропущено...

Не правильно. Под памятью они имеют ввиду генерацию в темповой директории. Учи матчасть, чтоле.


Пора бы и тебе этим заняться, Муслимка.
Create Assembly in-memory and run it..

C# Runtime Compilation
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186415
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМСУпропущено...

Не правильно. Под памятью они имеют ввиду генерацию в темповой директории. Учи матчасть, чтоле.


Пора бы и тебе этим заняться, Муслимка.
Create Assembly in-memory and run it..

C# Runtime Compilation

Сразу невооруженным глазом виден твой "опыт" с CodeDom. Садись, опять двойка.

Специально для таких как ты написал рецепт: http://codearticles.ru/home/articleview/2271
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186432
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМСУпропущено...

Не правильно. Под памятью они имеют ввиду генерацию в темповой директории. Учи матчасть, чтоле.


Пора бы и тебе этим заняться, Муслимка.
Create Assembly in-memory and run it..

C# Runtime Compilation

Специально для дебила MCУ небольшое пояснение:

Вторая ссылка касается CSharpCodeProvider для компиляции C#.

ЗЫ Муслимка, ты как всегда на высоте и продолжаешь радовать своей откровенной тупостью
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186444
няка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как же вы так умеете, любую ветку превратить в говносрач?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186449
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaВторая ссылка касается CSharpCodeProvider для компиляции C#.
А где тут у нас разговор касается "не про CSharpCodeProvider" ?

SeVaЗЫ Муслимка, ты как всегда на высоте и продолжаешь радовать своей откровенной тупостью
Кроме безмозглого хлюпанья, можешь что-нибудь умное родить?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186450
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
някакак же вы так умеете, любую ветку превратить в говносрач?
Да срача-то нет никакого, Сева как всегда отжигает :)

Как всё было: я тут аккуратно намекал Antonariy, что CodeDom в любом случае компилирует сборку на диске. Он по-скромному сопротивлятся, мол msdn то да сё. Ну то есть я его тихонько подводил к правде-матке. И тут врывается Сева (как всегда) и жжет напалмом, что CodeDom может генерить сборки в памяти, даже какие-то две левые гавноссылки нагуглил. Ну и пришлось нанести сокрушительный удар в виде тестов - рецепт на моём сайте. После этого Сева неадекватно начал что-то булькать, махать руками. Что он булькает, я так и не понял. Видно сконцентироваться не может
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186453
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это не говно срачь а проплаченый тролинг. Есть команды которые поднимают рэйтинг форумам и порталам. Набирается команда и они активно сутками висят ан форумах во всех темах.. чтобы набивать движуху, мол форум активный. Но это чисто тролинг проплаченный.. уже давно всем известно. Вот только плохо что модеры не следят за своими архаровцами. Когда тема и так активна и идет обсуждение, да еще и просят тролей не мешать.. они тупо сидят и лезут.. в итоге только хуже порталу станет. после такого больше сюда заходить не захочется.. есть и другие форумы с порядком.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186467
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУнякакак же вы так умеете, любую ветку превратить в говносрач?
Да срача-то нет никакого, Сева как всегда отжигает :)

Как всё было: я тут аккуратно намекал Antonariy, что CodeDom в любом случае компилирует сборку на диске. Он по-скромному сопротивлятся, мол msdn то да сё. Ну то есть я его тихонько подводил к правде-матке. И тут врывается Сева (как всегда) и жжет напалмом, что CodeDom может генерить сборки в памяти, даже какие-то две левые гавноссылки нагуглил. Ну и пришлось нанести сокрушительный удар в виде тестов - рецепт на моём сайте. После этого Сева неадекватно начал что-то булькать, махать руками. Что он булькает, я так и не понял. Видно сконцентироваться не может


Муслимка, обосрался и опять включил еврейские балеты на загаженной сцене вместо того, чтобы взять тряпку и подтереть за собой

Код: c#
1.
2.
3.
4.
CodeDom.CompilerParameters param = new CodeDom.CompilerParameters();
  param.GenerateExecutable = false;
  param.IncludeDebugInformation = false;
  param.GenerateInMemory = true;



param.GenerateInMemory = true; выделил специально для тебя.



CompilerParameters.GenerateInMemory - свойство
Получает или задает значение, показывающее, следует ли создавать выходной файл в памяти.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186469
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Это не говно срачь а проплаченый тролинг.
Который ты же и вбросил. Сколько тебе заплатили, признавайся?

SeVaМуслимка, обосрался и опять включил еврейские балеты на загаженной сцене вместо того, чтобы взять тряпку и подтереть за собой

param.GenerateInMemory = true; выделил специально для тебя.


CompilerParameters.GenerateInMemory - свойство
Получает или задает значение, показывающее, следует ли создавать выходной файл в памяти.

Скажи, ты читаешь каким местом? Для тех, кто заперся в танке, повторяю: 14055944

...Пример, демонстрирующий генерацию при GenerateInMemory = true.
сборка компилируется на диск , но в папку temp

Даже тестовый пример написал. Но ты продолжаешь упорно давить лбом в кирпичную стену.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186477
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Муслимка, ты не просто дебил, а самый тупейший из них. Ты бы еще в цикле миллион поставил, чтобы не только оперативку, а и весь свой диск забить.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186556
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМуслимка, ты не просто дебил, а самый тупейший из них. Ты бы еще в цикле миллион поставил, чтобы не только оперативку, а и весь свой диск забить.
Сливаешься знатно. Цикл из 100 длл забил 8 Гб оперативу? Сходи в садик и расскажи про эти пенки детям, они посмеются над тобой.
Сделай цикл в 10 итераций. Или возьми в руки файлмон и глянь на трассу создания файлов.

Двоешником был им и останешься.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186563
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... сборка компилируется на диск , но в папку temp
так это известный факт.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186574
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил... сборка компилируется на диск , но в папку temp
так это известный факт.
Известный, но не всем, как видишь. Вот, втаптываю Севу в грязь, его последние брыкания по поводу переполнения оперативной памяти выглядят воистину циркачески.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186609
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Муслимка, втаптывать и месить ты можешь только свои же кизяки.
При генерации создаются только временные файлы.
Чтобы не гадать как у чайников, указал временную папку для компиляции С:\Muflon
Список файлов после запуска:

16.03.2013 12:51 85 3eqloe41.0.cs
16.03.2013 12:51 101 3eqloe41.cmdline
16.03.2013 12:51 0 3eqloe41.err
16.03.2013 12:51 368 3eqloe41.out
16.03.2013 12:51 0 3eqloe41.tmp

err&tmp пустые. out - батник.

Ты полный муфлон.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
using System;
using Specialized = System.Collections.Specialized;
using Reflection = System.Reflection;
using CSharp = Microsoft.CSharp;
using CodeDom = System.CodeDom.Compiler;

public sealed class TestCompile
{

    static string ScriptCodeToCompileInMem = "public class Script {public void ScriptExecute(){System.Console.WriteLine(123);} }";
    public static void Main()
    {
        TestCompile tc = new TestCompile();
        tc.Execute(TestCompile.ScriptCodeToCompileInMem);
    }

    public void Execute(string scriptCode)
    {
        string[] source = new string[1];
        source[0] = scriptCode;
        CSharp.CSharpCodeProvider cscp = new CSharp.CSharpCodeProvider();
        this.Compile(cscp, source[0]);
    }


    private void Compile(CodeDom.CodeDomProvider provider, string source)
    {
        CodeDom.CompilerParameters param = new CodeDom.CompilerParameters();
        param.GenerateExecutable = false;
        param.IncludeDebugInformation = false;
        param.GenerateInMemory = true;
        param.TempFiles = new CodeDom.TempFileCollection(@"c:\Muflon", true);
        CodeDom.ICodeCompiler cc = provider.CreateCompiler();
        CodeDom.CompilerResults cr = cc.CompileAssemblyFromSource(param, source);
        Specialized.StringCollection output = cr.Output;
        if (cr.Errors.Count != 0)
        {
            System.Console.WriteLine("Error invoking scripts.");
            CodeDom.CompilerErrorCollection es = cr.Errors;
            foreach (CodeDom.CompilerError s in es)
                System.Console.WriteLine(s.ErrorText);
        }
        else
        {
            object o = cr.CompiledAssembly.CreateInstance("Script");
            System.Type type = o.GetType();
            type.InvokeMember("ScriptExecute",
                    Reflection.BindingFlags.InvokeMethod |
                    Reflection.BindingFlags.Default, null, o, null);
        }
    }
}



...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186639
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

Суслика видишь? Нет. А он есть.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186645
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилSeVa,

Суслика видишь? Нет. А он есть.


В толстых пластах продуктов жизнедеятельности муслимки, можно найти любую барабашку.
Его говносоветы - отстойник, чтобы собирать все отходы
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186650
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

добавь в тест маленький фрагмент, доложи о результатах:
Код: c#
1.
2.
3.
4.
5.
6.
7.
        FileSystemWatcher fw = new FileSystemWatcher(@"c:\muflon","*.dll");
        fw.NotifyFilter = NotifyFilters.FileName  | NotifyFilters.Size;
        fw.Created += new FileSystemEventHandler((sender, e) => { Console.WriteLine("CREATED {0}", e.Name); });
        fw.Deleted += new FileSystemEventHandler((sender, e) => { Console.WriteLine("DELETED {0}", e.Name); });
        fw.Renamed += new RenamedEventHandler   ((sender, e) => { Console.WriteLine("RENAMED {0}  {1}", e.Name,e.OldName); });
        fw.Changed += new FileSystemEventHandler((sender, e) => { Console.WriteLine("CHANGED {0}", e.Name); });
        fw.EnableRaisingEvents = true;
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186691
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМуслимка, втаптывать и месить ты можешь только свои же кизяки.
При генерации создаются только временные файлы.
Да что ты говоришь

P.S. Кухарка давеча вещала, что никакого диска, только оперативная память. Как так, откуда временные файлы?

SeVaВ толстых пластах продуктов жизнедеятельности муслимки, можно найти любую барабашку.
Его говносоветы - отстойник, чтобы собирать все отходы
Опять ты облажался, в который раз с помощью меня форум убеждается, что ты галимое феерическое трепло. Смотри на скрин, балбесина.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186700
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сколько Севе форум нового преподнёс, не устаю удивляться. Сева освоил и мембершип, и потоки с пулом, и Parallel с PLinq, и ORM, и WCF, и даже контроллеры в MVC. И вот на тебе: очередная наука, CodeDom со всеми вытекающими

Сева, такими темпами скоро тебя можно выпускать с зоопарка на волю, код писать будешь.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186749
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaМуслимка, втаптывать и месить ты можешь только свои же кизяки.
При генерации создаются только временные файлы.
Да что ты говоришь

P.S. Кухарка давеча вещала, что никакого диска, только оперативная память. Как так, откуда временные файлы?

SeVaВ толстых пластах продуктов жизнедеятельности муслимки, можно найти любую барабашку.
Его говносоветы - отстойник, чтобы собирать все отходы
Опять ты облажался, в который раз с помощью меня форум убеждается, что ты галимое феерическое трепло. Смотри на скрин, балбесина.

Мсу - ты неудачник, прочисти свою канализацию. Я смотрел исходники, dll удаляются.

Помнится, код с компиляцией ты скоммуниздил из чужого фреймворка для говномембершипа.
Редкий случай, когда в куче дерьма попались чужие, единичные вкрапления и муслимка оказался в теме.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186757
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура товарищи! Вроде до всех дошло, что на диске файл всегда создаётся,
в случае GenerateInMemory = true и не указании OutputAssembly - удаляется.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186764
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМсу - ты неудачник, прочисти свою канализацию. Я смотрел исходники, dll удаляются.
Да неужели? Слушай, даже жираф уже в теме, но ты - совсем другая песня

SeVaмуслимка оказался в теме.
Таки обгадился ты зачётно. Мы будем долго помнить твои пенки с CodeDom и жалкие потуги с тестированием кода.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186774
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилУра товарищи! Вроде до всех дошло, что на диске файл всегда создаётся,
в случае GenerateInMemory = true и не указании OutputAssembly - удаляется.
Тут спич был про дисковый оверхед, о котором говорось ранее: 14053001 14054457 14055386 . Удаление это второй момент.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186838
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы троли или айТИшники? самим не противно ваот таким тоном, будто дети 14лет сели помериться членами, у кого не оказался длиннее, начал спорить что у него толще :( Может по делу ? Есть чем оспорить - кидайте код и вывод. нафига добавлять тучу сленга и плевок в догонку.

Отойдем немного от темы компиляции, тут методов десятки. Допустим есть два варианта : через dictionary старый добрый но тупой заполнить и отдать в шаблонизатор. В идеале бы отдать в виде структурного JSON но с защитой от фейла. Т.е. как в примере что я писал недавно.
Как бы в АПИ все просто, берется выборка. и тупо по имени колонки загоняется в dictionary лист. Далее в шаблонизаторе тупо можно foreach( user.name или user['name'] - благо тут спасает getMember и getIndex
С приведением типов уже пока проблема. user.Age > 5 и user.Age > '5' уже может доставить проблем серьезных. Д аи всегда бывают проколы, когда амин ступил и вместо int создал char поле а шаблнизатор не ведает о типе, точнее знает но в шаблоне писать проверки типов не камельфо. Когда то вроде сталкивался с методами которые могут позволить определить в какой тип будет попытка принять данные и сразу отдать в нужном.

Второй способо, это генерить модель по структуре базы, тут придется контролировать спец символы в в именах. Далее вроде просто выходит, берется снова выборка, загружается в модель и отдается шаблонизатору, Но вот смущает момент что у нас модель допустим со 100 проперти, а из таблицы мы запросили только 2 колонки, да и будут потом также комбинированные по left join выборки, и не генерить ведь на каждый VIEW свою модель ? Тут тогда проще как предлагал МСУ через DataSet Вот только отдать в шаблонизатор DataSet все теже проблемы - проверка на getmember в DataRow и других. И снова теже приведения типов.

Вот тутбы выкрутится както по примеру Json. Отдать в шаблонизатор не типизированный объект типа тогоже
user = new {name = 'tester', age = 10} или через тотже сериализатор xml в Json
В идеале - шаблонизатору получать объект вида Json при этом чтобы избавиться шаблон от проверки на typeOf и также getMember и getIndex просто вернули null или '' если нету проперти в зависимости от того как запрашивается.
Накрайняк думаю можно для шаблонизатора ввести приведение типов в удобоваримом врианте. int(user.Age) string(user.Age)

Вариантов очень много, даже слишком, в каждом есть свои минусы и нужно допиливать.. просто пытаюсь из всех возможных комбинаций, доколупать удобное но простое решение. И давайте без срача. просто есть задачка подумать, даже если она не несет никакой цели. Хочется както красиво получить интересный код, и поломать слегка голову.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186839
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*когда амин ступил и вместо int создал char поле
архитектора системы - кастрировать
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186840
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

пишите свой щаблонизатор,
(можно не с нуля, исходники Razor - доступны)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186851
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaМсу - ты неудачник, прочисти свою канализацию. Я смотрел исходники, dll удаляются.
Да неужели? Слушай, даже жираф уже в теме, но ты - совсем другая песня

SeVaмуслимка оказался в теме.
Таки обгадился ты зачётно. Мы будем долго помнить твои пенки с CodeDom и жалкие потуги с тестированием кода.


Твои тесты с циклом в сто проходов - это перебор даже для такого дебила как ты.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186874
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaТвои тесты с циклом в сто проходов - это перебор даже для такого дебила как ты.
К сожалению практика показывает, что дибилом являешься именно ты. Текущий тред тому подтверждение. В очередной раз тебя спустили в унитаз. Крепись, дальше будет еще хуже.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186879
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил

вы подобно МСУ слишком высокомерны. или вы прям таки никогда не ошибаетесь ? Как я писал ранее - для программиста "Нету ничего невозможного", если есть возможность предусмотреть - почемубы нет? Везде в мире стараются все и везде предусмотреть, даже чтобы машина не завелась если водитель не пристегнулся или выпил или уставший. А вы вот с МСУ как раз те кто ноет. мол нафига извращаться.. пусть водитель сам за собой сдедит, и мол есть полиция которая делает свое дело. ИДИТЕ В ЖОПУ с такими советами. Хорошо что не все девелоперы так думают. Если есть возможность сделать один раз код которые за человека будет делать часть работы - почему бы нет?
Насчет писания своего шаблонизатора - НАХРЕНА ? что вы вообще делаете на форуме вот вы мне скажите? От ваших ответов уже тошнит в этом почте. Есть тучи решений готовых, вопрос с правильном подходе, или обходном пути. Даже если допустить что я буду писать свой шаблонизатор - нахрена мне тогда MVC как и весь ASP.ENT тогда нужен? Что за тупизм?
Вопрос чисто стоит - можно ли тем что сейчас имеет .net 4-4.5 сделать универсально и выжать из него максимальную пользу. Если нет то и тема тогда в топку полностью как и сам MVC. NodeJS и вперед, а PDF и другие просто вызов сервиса или процесса.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186890
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

шаблонизатор - это часть инфраструктуры. Не надо всё в топку
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186910
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Если есть возможность сделать один раз код которые за человека будет делать часть работы - почему бы нет?
Не путай божий дар с яичницей. Неправильная работа - это ошибка, которую нужно фиксить. Не нужно делать шаблон умным с единой кнопкой "Сделать всё", достаточно продумать вменяемую архитектуру, которая уложится в модель. Даже самую замороченную динамику можно описать моделью.

Даже если допустить что я буду писать свой шаблонизатор - нахрена мне тогда MVC как и весь ASP.ENT тогда нужен? Что за тупизм?[/quot]
Писать свой шаблонизатор - это маразм, проще взять готовый. Но твоя проблема - это вовсе не проблема, это идиотизм чистой воды.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186914
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

идите-ка пишите свой язык и свою платформу. диагноз уже давно ясен. ничего вам из того, что есть не подойдет: ни технологии, ни платформы, ни парадигмы программирования. ибо зачем делать как положено, если есть возможность говнокодить от души? и нечего даже время тратить на то, чтобы давать вам советы. ибо бисер. "вы все тупые и троли, я одна умная здесь стою красивая".. ну-ну.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186928
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
одни троли собрались. кроме понтов - больше нивчем не спецы, даже неочем с вами спорить. sql.ru все больше превратился в хлам.
напонимает другие форумы, на одних нормально общаются - на других гонору, понтов и тролей дожопы, и админы все больше зовут тролей чтобы форум выживал, в итоге еще хуже. Все дерьмо, все тупые, одни одни самые умные и как два пальца для них. Не надоело сцать на свои пальцы ?
Вообщем sql.ru хлам для тролей. Можно забить на этот ресурс.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186931
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

любой и тех кого ты ругаешь давно бы за эти дни сделал ту работу о чем ты талдычишь
да - надо что бы вью имел модель :) а как ж
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186951
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О чем можно разговаривать с человеком который плюется на такие компании как saleforce , intuit и др. говоря что их продукт гавно ? С такими просто неочем дальше разговаривать.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186954
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*одsql.ru все больше превратился в хлам
Слушай, ты уже не в первый раз ноешь по поводу форума и несправедливости жизни. Обезьянка колется, но продолжает есть кактус? Освободи себя от этих мук, не пиши здесь. К чему все эти самоистязания?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186965
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*О чем можно разговаривать с человеком который плюется на такие компании как saleforce , intuit и др. говоря что их продукт гавно ? С такими просто неочем дальше разговаривать.
не ври
я сказал говно по поводу сап и аксапты
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38186977
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos*Ihor*О чем можно разговаривать с человеком который плюется на такие компании как saleforce , intuit и др. говоря что их продукт гавно ? С такими просто неочем дальше разговаривать.
не ври
я сказал говно по поводу сап и аксапты
а я и не про тебя..
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187015
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

бедняга...
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187118
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, да воспользуйтесь Вы уже шаблонизатором, отличным от Razor. Не устаривает StringTemlate, заюзайте JavaScript шаблонизатор, например: Mustache, или Handlebars.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187152
*Ihor*Изопропил

вы подобно МСУ слишком высокомерны. или вы прям таки никогда не ошибаетесь ? Как я писал ранее - для программиста "Нету ничего невозможного", если есть возможность предусмотреть - почемубы нет? Везде в мире стараются все и везде предусмотреть, даже чтобы машина не завелась если водитель не пристегнулся или выпил или уставший. А вы вот с МСУ как раз те кто ноет. мол нафига извращаться.. пусть водитель сам за собой сдедит, и мол есть полиция которая делает свое дело. ИДИТЕ В ЖОПУ с такими советами. Хорошо что не все девелоперы так думают. Если есть возможность сделать один раз код которые за человека будет делать часть работы - почему бы нет?
Насчет писания своего шаблонизатора - НАХРЕНА ? что вы вообще делаете на форуме вот вы мне скажите? От ваших ответов уже тошнит в этом почте. Есть тучи решений готовых, вопрос с правильном подходе, или обходном пути. Даже если допустить что я буду писать свой шаблонизатор - нахрена мне тогда MVC как и весь ASP.ENT тогда нужен? Что за тупизм?
Вопрос чисто стоит - можно ли тем что сейчас имеет .net 4-4.5 сделать универсально и выжать из него максимальную пользу. Если нет то и тема тогда в топку полностью как и сам MVC. NodeJS и вперед, а PDF и другие просто вызов сервиса или процесса.Сплошная динамика, что ты пробиваешь - хаос. Но, е хоцца - тебе брать высоту. Но, зуб даю - к-либо нарвешься на проблемы, к-рые сожрут все "плюсы".
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187172
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За одно то, что автор тянет все строки из базы в шаблон - нужно отстреливать на месте. Такая система не масштабируема и вредна. Вменяемые конструкторы тянут только те колонки и фильтры, которые указаны при конструировании UI. *Ihor*, выбрось свою игрушку на помойку, от нее больше вреда, чем пользы. Универсализм - удел ламеров.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187295
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,
а кто мешает думать головой ? Я не вижу проблем в том чтобы анализировать, какие данные будут нужны в томже шаблонизаторе, и выбрать с базы только то что нужно а не select * from . Или для вас сам принцип динамики это смерть ересть и сжечь на костре нужно? Хотя то как вы отозвались о saleforce И quickbase я не удивлен.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187309
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ, а кто мешает думать головой?
Думать головой кому, мне или тебе?

*Ihor*Я не вижу проблем в том чтобы анализировать, какие данные будут нужны в томже шаблонизаторе, и выбрать с базы только то что нужно а не select * from
Анализируй, почему ты этого не делаешь? Сам же говорил, что выдираешь все записи ради универсальности. А тут на тебе - про голову заговорил.

*Ihor*Или для вас сам принцип динамики это смерть ересть и сжечь на костре нужно?
Динамика динамике рознь. То, что ты делаешь - аутодафе мало будет, тут только через четвертование. Нормально спроектированная динамика - это тру, но твоей поделке это не светит.

*Ihor*Хотя то как вы отозвались о saleforce И quickbase я не удивлен.
Ты ничего, кроме этих двух недоделок, не знаешь больше? Это не удивительно, за 10 лет много чего поменялось - маны в руки, дурь с главы и вперед. Я перечислил реальные системы с реальной динамикой, равняйся туда лучше.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187334
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ*Ihor*Я не вижу проблем в том чтобы анализировать, какие данные будут нужны в томже шаблонизаторе, и выбрать с базы только то что нужно а не select * from
Анализируй, почему ты этого не делаешь? Сам же говорил, что выдираешь все записи ради универсальности. А тут на тебе - про голову заговорил.

нужно быть внимательным к собеседникам а не так как вы. Я писал сразу про анализ запрошенных данных. И то что я говорю что даю дизайнеру все данные, это не значит что я беру все по select * и отдаю тупо. Вы не понимаете ничего кроме своей статики, тупо уперлись из принципа и все, шаг в лево шаг в право и вас несет уже в ересть.
Дизайнер пишет доступ к данным считая что ему доступны все, но это не значит что я ему буду давать все. Никакой проблемы нету, проанализировать шаблонизатор, и установить какие данные запросили. И причме не только колонки из базы, а даже какие LEFT JOIN добавки сделать. Причме это не бред сумасшедшего. Так у меня сейчас все работает 10 лет минимум. Идет анализ и далее выбирается и отдается только то что нужно. Если нужно LastName то только это и берется с базы без всех остальных кросс таблиц ? техже company и др. Ничего сверх естественного, тупо анализ логики. Что вас так вообще удивляет не пойму ?

МСУТы ничего, кроме этих двух недоделок, не знаешь больше?
недоделок ? думайте что говорите. та кможет говорить только человек ничего не добившийся в жизни. и обиженный на всех со своей грудной жабой. Тотже QuickBase был одним из первых в этой области пока их не перекупили intuit, причем они давно уже официально сотрудничают с google. SalesForce вместе со своими другими продуктами, уже давно вышли на мировой уровень, причем потдержка их API уже идет во многих мировых продуктах, к примеру Adobe предлагает АПИ force.com в Flex.SDK официально. Zoho новички пока что еще но все впереди у них. И вы говорите что они лошары, и ставите 1С им в пример? мдааа.. тут даже нечего сказать.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187363
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*нужно быть внимательным к собеседникам а не так как вы. Я писал сразу про анализ запрошенных данных. И то что я говорю что даю дизайнеру все данные, это не значит что я беру все по select * и отдаю тупо.
Ну что за бред ты несешь. Ты с самого начала писал про добавить поле и оно тут же доступно отображается в шаблоне. Какой анализ, кому ты лапшу вешаешь на уши?

*Ihor*Вы не понимаете ничего кроме своей статики, тупо уперлись из принципа и все, шаг в лево шаг в право и вас несет уже в ересть.
Любая динамика может быть описана честной статической моделью, банальные примеры тебе уже показывали. Ты просто не умеешь писать и думать, мыслишь на уровне ясельника-самоучки.

*Ihor*Дизайнер пишет доступ к данным считая что ему доступны все, но это не значит что я ему буду давать все.
Садись, двойка. Сразу видно, что опыта работы с такими системами у тебя ноль без палочки. Безопасность вполне четко укладывается в динамику, в т.ч. как row-level security (см. реализацию MS SharePoint), так и column-level security (см. реализацию MS CRM).

*Ihor*Никакой проблемы нету, проанализировать шаблонизатор, и установить какие данные запросили. И причме не только колонки из базы, а даже какие LEFT JOIN добавки сделать. Причме это не бред сумасшедшего.
Шаблонизатор не нужно анализировать, студент. Анализ должен быть на уровне бизнес-логики (модель). Шаблон - это тупой UI, не более того. Речь о том, насколько качественно можно гадить в шаблоне. По твоим словам - гадь обгадься, шаблон с горем пополам, но должен фунциклировать. По моим словам - никаких ошибок в шаблоне быть не должно в принципе. Ошибка - шаблон свалился, всё. И это правильно. Точно так же и разор работает.

*Ihor*недоделок ? думайте что говорите. та кможет говорить только человек ничего не добившийся в жизни. и обиженный на всех со своей грудной жабой.
Ну ты еще разревись из-за своего унылого салесфорса.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187380
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor* ...
недоделок ? думайте что говорите. та кможет говорить только человек ничего не добившийся в жизни. и обиженный на всех со своей грудной жабой. Тотже QuickBase был одним из первых в этой области пока их не перекупили intuit, причем они давно уже официально сотрудничают с google. SalesForce вместе со своими другими продуктами, уже давно вышли на мировой уровень, причем потдержка их API уже идет во многих мировых продуктах, к примеру Adobe предлагает АПИ force.com в Flex.SDK официально. Zoho новички пока что еще но все впереди у них. И вы говорите что они лошары, и ставите 1С им в пример? мдааа.. тут даже нечего сказать.

вот же засрали вы себе мозги. кто у кого чего купил-перекупил? кто там с кем сотрудничает? что за бредятину несете? зачем?

к вопросу.

статик или динамик, это лишь вопрос компиляции/интерпретации. одну и ту же архитектуру можно построить и на C# и на JavaScript. при чем не зависимо от типизации. без строгой типизации меньше объем кода, но и меньше контроля со стороны компилятора. грубо говоря, концептуально, это вся разница.

отсюда: выбор между строгой или слабой типизации сам по себе не позволяет решить проблему. то, что вы акцентируетесь на динамике и зачем-то пытаетесь сделать из C# JS, говорит о том, что вы очень далеки от решения проблемы. даже близко к решению не находитесь. просто не хотите думать.

действительно, включать голову? а нафига? лучше пойти почитать желтые страницы интернета, выяснить кто кого поимел, кто молодец, а кто лошара... а потом поумничать об этом где-нибудь на форуме.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187393
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt
С# накладывает кое какие правила, как и сам ASP.NET. Не просто так ведь в томже MSSQL запрещена динамика ввиду того что сервер не сможет использовать весь свой потенциал теряя полностью всю производительность. Также вот и в .NET Потому зная это , пытаюсь найти способ все таки решение задачи в .NET если это возможно, если нет, то тоже NodeJS решит это все с легкостью. Ну а вот остальные задачи уже придется допиливать, благо уже есть извращения на подобии edge.js ( http://tjanczuk.github.com/edge/)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187404
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*hVostt
С# накладывает кое какие правила, как и сам ASP.NET. Не просто так ведь в томже MSSQL запрещена динамика ввиду того что сервер не сможет использовать весь свой потенциал теряя полностью всю производительность. Также вот и в .NET Потому зная это , пытаюсь найти способ все таки решение задачи в .NET если это возможно, если нет, то тоже NodeJS решит это все с легкостью. Ну а вот остальные задачи уже придется допиливать, благо уже есть извращения на подобии edge.js ( http://tjanczuk.github.com/edge/)

NodeJs это платформа, среда исполнения с основным языком программирования JavaScript. сама по себе она ничего не решит. у неё своя парадигма программирования, которая опять же ничего не имеет общего с вашей проблемой. ничего.

если нужен DLR, есть Visual Basic .NET и другие. но зачем об этом думать, правда?

и в .NET абсолютно все возможно, можно как говнокодить, так и писать стройные сопровождаемые системы. как и в большинстве других платформах и систем.

но лучше идите читайте подробности о больших и крупных компаниях. и запомните, по-больше фактов. по-больше жести. это безусловно делает вас умнее. а программирование это не ваше. что не коммент, то тупость. час от часу превосходите сами себя.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187422
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*С# накладывает кое какие правила, как и сам ASP.NET.
Правильно, ибо вся жизнь подчинена правилам - есть закон, его нужно соблюдать. C# - строготипизированный язык. Если тебя не устраивает строгая типизация ASP.NET (теплейтовые движки aspx и razor) - кури в сторонке и не мешайся под ногами. В чем смысл твоего существования в этом форуме?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187434
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ*Ihor*С# накладывает кое какие правила, как и сам ASP.NET.
Правильно, ибо вся жизнь подчинена правилам - есть закон, его нужно соблюдать. C# - строготипизированный язык. Если тебя не устраивает строгая типизация ASP.NET (теплейтовые движки aspx и razor) - кури в сторонке и не мешайся под ногами. В чем смысл твоего существования в этом форуме?
В том что раньше в старые добрые времена вопроса и не стояло. Но МС вводит тучу нового как раз в сторону динамики, оно еще сырое зачастую, но ведь к этому все идет, вот потому и начал смотреть, раз дали затравку. Просто то что в MSDN зачастую толком не работает акромя конкретного примера.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187537
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУпропущено...

Правильно, ибо вся жизнь подчинена правилам - есть закон, его нужно соблюдать. C# - строготипизированный язык. Если тебя не устраивает строгая типизация ASP.NET (теплейтовые движки aspx и razor) - кури в сторонке и не мешайся под ногами. В чем смысл твоего существования в этом форуме?
В том что раньше в старые добрые времена вопроса и не стояло. Но МС вводит тучу нового как раз в сторону динамики, оно еще сырое зачастую, но ведь к этому все идет, вот потому и начал смотреть, раз дали затравку. Просто то что в MSDN зачастую толком не работает акромя конкретного примера.Опа. Оказывается смысл топика в том, чтобы посмотреть, что там у МС на данный момент работает в плане динамики. А я то думал, что конкретную задачу надо решить. Хотя зачем её решать, если всё итак работает 10 лет.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38187569
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУпропущено...

Правильно, ибо вся жизнь подчинена правилам - есть закон, его нужно соблюдать. C# - строготипизированный язык. Если тебя не устраивает строгая типизация ASP.NET (теплейтовые движки aspx и razor) - кури в сторонке и не мешайся под ногами. В чем смысл твоего существования в этом форуме?
В том что раньше в старые добрые времена вопроса и не стояло. Но МС вводит тучу нового как раз в сторону динамики, оно еще сырое зачастую, но ведь к этому все идет, вот потому и начал смотреть, раз дали затравку. Просто то что в MSDN зачастую толком не работает акромя конкретного примера. В .net уже всё вылизано от и до, сырой может быть только мозг, не способный разобраться в предметике.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38188750
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, где новый вброс?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38330122
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

ну да
я тут тож кинулся как то создать в рантайме entity и обломался
что з статичные твари завелись в МС
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38330950
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Дикшонари юзай )
...
Рейтинг: 0 / 0
328 сообщений из 328, показаны все 14 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическая структура данных и MVC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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