Здравствуйте, Ночной Смотрящий, Вы писали:
ХГД>>Отлично, как данные из С++ кода будешь забирать?
НС>100500 вариантов. Начни сперва с того, какой вариант тебе нужен, in process или out of process.
Да без разницы, лишь бы работало. Давай для определенности в одном процессе будет.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, 0BD11A0D, Вы писали:
BDA>Это Шеридан вкидывает идею: мол, такое вот я вижу применение своим силам. Они меня наймут, я возьму CMS на C++, напишу им модули, они сэкономят на железе.
Они меня наняли за приблизительно два года до того как я решил нарисовать такой сайт нам, какой я хотел бы видеть вместо поднятого мной же через полгода после наёма, вордпресса.
Нет, я не полгода вордпресс поднимал (а то точно фигурно процитируете ), я полгода выпрашивал деньги на железо, на нормальный канал, перетрухивал то что есть, разбирался в возможностях подчиненных.
Здравствуйте, Ночной Смотрящий, Вы писали:
EP>>Нужен язык, а не среда. НС>Для безопасности то? Обоснуй.
Для того чтобы знать что конкретно требуется тщательно проверять и не разрешать лишнего — нужен fine-grained контроль за отдельными функциями, а не целыми сборками.
(конечно среда может давать такой контроль, но это уже вопрос терминологический (и если даёт — то ОК, с точки зрения использования нет особой разницы, компилятор или среда ругается))
EP>> Причём код не использующий опасных конструкций никак дополнительно маркировать не нужно. НС>Я ж говорю, изобретаешь CLR.
Ок, как определить используется ли в вызываемом методе операции, которые могут привести к переполнению целых? Или, например, возможен ли вылет исключения?
ХГД>>Речь не о том, что нет методов межпроцессного взаимодействия, речь об оценке трудозатрат для разных вариантов реализации. Когда начинаешь детально разбираться, что именно и в каком объеме придется писать, как инсталлировать и поддерживать, использование PHP в описанной мной ситуации вдруг оказывается совершенно невыгодным. Это ж не джумлу готовую взять и единожды развернуть типовой сайт-визитку.
G>Не могу себе представить вариант когда использование с++ в данном случае окажется выгоднее.
Да все просто. В любом случае нужен уровень трансляции данных из внутреннего C++ представление в какое-то внешнее. Будет это внешнее представление json или какое-то еще, особого влияния на сложность не оказывает. Транспорт (HTTP в данном случае) вообще не важен — прикладной программист в основном просто пишет все в std::ostream. Т.е., получается, что сразу отдать динамику в json по HTTP ничуть не сложнее, чем выдать какое-то промежуточное представление и делать HTTP потом уже из него, сторонними средствами.
G>Более того, я вообще не могу себе представить, что кто-то зафигачит монолитный exe как основу для функционала сайта. А если он не монолитный, то проблем интеграции с другими инструментами нет никаких.
Ну например exe не монолитный, но разные части C++ программы общаются между собой по самопальному RPC на макросах и шаблонах Казалось бы, какие проблемы к ним из PHP достучаться
И, кстати, ситуацию, когда к монолитному exe через лет пять развития вдруг понадобилось сделать веб-морду, можешь представить?
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Хон Гиль Дон, Вы писали:
ХГД>Т.е., получается, что сразу отдать динамику в json по HTTP ничуть не сложнее, чем выдать какое-то промежуточное представление и делать HTTP потом уже из него, сторонними средствами.
Так это ничего не меняет. Все равно выбор остается между поддерживать веб часть на с++ или поддерживать веб часть на (условно) пхп.
приделать отдачу динамики в json это обычно о малое от остальных задач.
Ну если только речь не идет о сайте с 5 пользователями, безо всяких там авторизаций, маштабирований и прочего и прочего.
ХГД>Ну например exe не монолитный, но разные части C++ программы общаются между собой по самопальному RPC на макросах и шаблонах Казалось бы, какие проблемы к ним из PHP достучаться ХГД>И, кстати, ситуацию, когда к монолитному exe через лет пять развития вдруг понадобилось сделать веб-морду, можешь представить?
Если честно с трудом. Все-таки монолитный exe решает обычно совсем другие задачи нежели веб морда.
Здравствуйте, Хон Гиль Дон, Вы писали:
ХГД>Да без разницы,
Ну тогда и ответ такой же — без разницы. Технологий как интеропа, так и межпроцессного взаимодействия в дтнете навалом, выбирай любую по вкусу.
ХГД>Давай для определенности в одном процессе будет.
Обычная dll либо mixed mode сборка на С++/CLI вполне подойдут.
Здравствуйте, Sheridan, Вы писали:
S> Нет, я не полгода вордпресс поднимал (а то точно фигурно процитируете ), я полгода выпрашивал деньги на железо, на нормальный канал, перетрухивал то что есть, разбирался в возможностях подчиненных.
А как вот это все сделанное за пол года соотносится с сайтом на wp? Вы же, надеюсь, не у себя в подвале его хостите?
ХГД>>Т.е., получается, что сразу отдать динамику в json по HTTP ничуть не сложнее, чем выдать какое-то промежуточное представление и делать HTTP потом уже из него, сторонними средствами.
G>Так это ничего не меняет. Все равно выбор остается между поддерживать веб часть на с++ или поддерживать веб часть на (условно) пхп. G>приделать отдачу динамики в json это обычно о малое от остальных задач.
Это каких же остальных задач? Статику отдавать? Ну это такая фигня, что я и упоминать не стал. А больше ничего на сервере делать и не обязательно, есть же жабаскрипт на клиенте, GWT и все такое прочее
G>Ну если только речь не идет о сайте с 5 пользователями, безо всяких там авторизаций, маштабирований и прочего и прочего.
Не, я еще понимаю масштабирование, тут можно поспорить, но с авторизацией-то какие проблемы?
G>Если честно с трудом. Все-таки монолитный exe решает обычно совсем другие задачи нежели веб морда.
Ну драйвер RAID контроллера например, конфигурируется через вебморду — ситуация из жизни. Он, правда, в реале не монолитный был, с отдельным веб сервером — но это как раз самый адский трэш и есть, монолитный был бы лучше.
Или, скажем, к фотошопу решили вдруг вебморду и совместную работу разных пользователей приделать.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Anton Batenev, Вы писали:
AB>А как вот это все сделанное за пол года соотносится с сайтом на wp? Вы же, надеюсь, не у себя в подвале его хостите?
Ты предлагаешь где нибудь у дяди?
Здравствуйте, Хон Гиль Дон, Вы писали:
G>>Ну если только речь не идет о сайте с 5 пользователями, безо всяких там авторизаций, маштабирований и прочего и прочего. ХГД>Не, я еще понимаю масштабирование, тут можно поспорить, но с авторизацией-то какие проблемы?
Да особо никаких кроме того, что ее придется делать.
ХГД>Или, скажем, к фотошопу решили вдруг вебморду и совместную работу разных пользователей приделать.
Вот как ты думаешь под капотом, например, веб морды ворда скрывается тот самый знакомый нам ворд.ехе?
НС>Ну тогда и ответ такой же — без разницы. Технологий как интеропа, так и межпроцессного взаимодействия в дтнете навалом, выбирай любую по вкусу.
Осталось показать, что их применение имеет какие-то преимущества, по сравнению с отдачей HTTP прямо из плюсового кода
ХГД>>Давай для определенности в одном процессе будет.
НС>Обычная dll либо mixed mode сборка на С++/CLI вполне подойдут.
Т.е., мне придется имеющийся код переделывать на С++/CLI? Неприемлемо, трудоемкость выше трудоемкости генерации HTTP непосредственно в С++ коде.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Sheridan, Вы писали:
S> AB>А как вот это все сделанное за пол года соотносится с сайтом на wp? Вы же, надеюсь, не у себя в подвале его хостите? S> Ты предлагаешь где нибудь у дяди?
Я предлагаю делегировать это тем, кто этим занимается профессионально и имеет соответствующие ресурсы безотносительно половой и прочей принадлежности — получается быстрее, дешевле и надежнее.
Здравствуйте, genre, Вы писали:
G>>>Ну если только речь не идет о сайте с 5 пользователями, безо всяких там авторизаций, маштабирований и прочего и прочего. ХГД>>Не, я еще понимаю масштабирование, тут можно поспорить, но с авторизацией-то какие проблемы?
G>Да особо никаких кроме того, что ее придется делать.
Ее в любом случае придется делать Да и вообще она например 8 лет назад сделана для нейтив клиентов.
ХГД>>Или, скажем, к фотошопу решили вдруг вебморду и совместную работу разных пользователей приделать.
G>Вот как ты думаешь под капотом, например, веб морды ворда скрывается тот самый знакомый нам ворд.ехе?
Разумеется, нет, они его, во-первых, у себя хостят, это совершенно другая ситуация. Во-вторых (и в главных), в ворде подавляющее количество кода — интерфейс, повторно использовать для веба тупо нечего.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Хон Гиль Дон, Вы писали:
G>>Да особо никаких кроме того, что ее придется делать. ХГД>Ее в любом случае придется делать Да и вообще она например 8 лет назад сделана для нейтив клиентов.
Так об этом и речь. Делать это на с++ или на более удобных инструментах.
ХГД>Разумеется, нет, они его, во-первых, у себя хостят, это совершенно другая ситуация. Во-вторых (и в главных), в ворде подавляющее количество кода — интерфейс, повторно использовать для веба тупо нечего.
Непонятно чем это другая ситуация. Ну не нравится ворд, давай эксель обсудим.
Здравствуйте, genre, Вы писали:
G>>>Да особо никаких кроме того, что ее придется делать. ХГД>>Ее в любом случае придется делать Да и вообще она например 8 лет назад сделана для нейтив клиентов.
G>Так об этом и речь. Делать это на с++ или на более удобных инструментах.
Так С++ для таких задач как раз вполне удобен Это HTML ковырять на нем не особенно здорово, а вот права доступа к объекту проверить — вполне нормально.
ХГД>>Разумеется, нет, они его, во-первых, у себя хостят, это совершенно другая ситуация. Во-вторых (и в главных), в ворде подавляющее количество кода — интерфейс, повторно использовать для веба тупо нечего.
G>Непонятно чем это другая ситуация.
Тем, что вся куча задействованных в работе средств должна вместе устанавливаться на компьютер конечного пользователя, желательно как единое целое. У них должны быть допускающие это лицензии, как минимум. Они из коробки должны как-то работать, а не требовать трехчасовой настройки админом. Приложение, например, рассчитано на 1-10 пользователей, работающих одновременно с 1-3 документами, а не на 200000, работающих со 150000 документами. Да проще сказать, что у них общего.
G>Ну не нравится ворд, давай эксель обсудим.
Ну а чем тебе драйвер к райд-контроллеру не понравился?
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Хон Гиль Дон, Вы писали:
ХГД>Так С++ для таких задач как раз вполне удобен Это HTML ковырять на нем не особенно здорово, а вот права доступа к объекту проверить — вполне нормально.
А так же сохранить в базу, админку там какую сделать, репорты...
ХГД>Тем, что вся куча задействованных в работе средств должна вместе устанавливаться на компьютер конечного пользователя, желательно как единое целое. У них должны быть допускающие это лицензии, как минимум. Они из коробки должны как-то работать, а не требовать трехчасовой настройки админом. Приложение, например, рассчитано на 1-10 пользователей, работающих одновременно с 1-3 документами, а не на 200000, работающих со 150000 документами. Да проще сказать, что у них общего.
ничего не понял, кто на ком сидел?
G>>Ну не нравится ворд, давай эксель обсудим. ХГД>Ну а чем тебе драйвер к райд-контроллеру не понравился?
есть подозрение, что у него есть жесткое внешнее требование — разработка на с а тогда он как пример не катит.
Здравствуйте, Хон Гиль Дон, Вы писали:
НС>>Ну тогда и ответ такой же — без разницы. Технологий как интеропа, так и межпроцессного взаимодействия в дтнете навалом, выбирай любую по вкусу. ХГД>Осталось показать, что их применение имеет какие-то преимущества, по сравнению с отдачей HTTP прямо из плюсового кода
Преимущество имеет ASP.NET MVC, который позволяет создавать веб-приложения в несколько раз быстрее, чем на С++
НС>>Обычная dll либо mixed mode сборка на С++/CLI вполне подойдут. ХГД>Т.е., мне придется имеющийся код переделывать на С++/CLI?
Я словосочетание mixed mode для кого написал? Ничего переделывать не надо.
Здравствуйте, genre, Вы писали:
ХГД>>Так С++ для таких задач как раз вполне удобен Это HTML ковырять на нем не особенно здорово, а вот права доступа к объекту проверить — вполне нормально.
G>А так же сохранить в базу, админку там какую сделать, репорты...
Все это изначально было сделано на С++, с соответствующим GUI. Не бог весть какой сложности задача. Потом часть научили работать в браузере.
G>ничего не понял, кто на ком сидел?
Забей.
G>>>Ну не нравится ворд, давай эксель обсудим. ХГД>>Ну а чем тебе драйвер к райд-контроллеру не понравился?
G>есть подозрение, что у него есть жесткое внешнее требование — разработка на с а тогда он как пример не катит.
1) Для виндовых драйверов такого требования нет.
2) Для GUI к виндовым драйверам такого требования нет тем более.
Но вообще речь о софте, где есть что-то кроме GUI.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Хон Гиль Дон, Вы писали:
ХГД>Ее в любом случае придется делать
В веб-фреймворках давно уже все готовое, только подключить. Вплоть до openid аутентификации на всяких гуглях и фейсбуках.
И это только маленький кусочек мозаики. Ты не представляешь какую кучу всякой фигни тебе придется решать — бандлинг и минификация скриптов и стилей, версионирование статики, поддержка websockets и нотификаций и еще стадо всяких веб-специфичных моментов. И ради чего? Просто чтобы не писать простенький JSON сериализатор?
ХГД> Да и вообще она например 8 лет назад сделана для нейтив клиентов.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Для того чтобы знать что конкретно требуется тщательно проверять и не разрешать лишнего — нужен fine-grained контроль за отдельными функциями
CLR это позволяет. На сборки навешивается только общая политика, так что не программистом задается, а администратором. А разметка кода вполне опускается до уровня конкретных методов.
EP>(конечно среда может давать такой контроль, но это уже вопрос терминологический
Мне пофик. Вопрос то ты поднял, не я.
НС>>Я ж говорю, изобретаешь CLR. EP>Ок, как определить используется ли в вызываемом методе операции, которые могут привести к переполнению целых?
Есть соотвествующие метки контекста.
EP> Или, например, возможен ли вылет исключения?
Тут все совсем просто — вылет исключения возможен всегда. Только какое это имеет отношение к безопасности? CLR не С++, неперехваченное исключение память не портит.