Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaпамять я бы не стал мерять, это бессмысленно. теоретически можно померять вопрос вида - сколько одновременных "зависших" соединений выдержит сервер. типо открываем все новые и новые коннекты, не закрывая, ждем пока память всё но этот тест бессмысленнен с практической точки зрения - для этого перед бекэндом всегда ставится nginx и haproxy, которые и держат эти самые тысячи тормозных фронтэнд коннектов, ограничивая бекэнд лишь десятком активных. классика массового обслуживания - nginx обслуживает очередь из тысяч клиентов, получая-отдавая запросы, при этом 10-к рабочих непосредственно в момент времени занимаются обработкой, не парясь тем, что нужно спать, ожидая, пока пакет трафика долетит через океан на тормозную мобилку клиента, держа ресурсы (стек, хендлы, пр.) незадействованными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:38 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaвручную? как раз вручную ничего и не надо. Да что вы говорите, в С может и деструкторы есть? ))) nojavaну... не буду тебя останавливать, тебе ведь так весело там самому, развлекайся. Да как тут остановиться ржать, глядя как профи уверенный что пишет на С приводит примеры, которые компилируются только компилятором С++, хоть и видно что он старался ))). А еще смешнее, что чувак у которого компилятор С++ сам себя связал руки и придумывает какую-то велосипедную реализацию объектов в стиле С, когда есть встроенный синтаксис классов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:44 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
maytonд0kпропущено... Так сформулируй в чем ? XML и JSon формируют сервисы (или микросервисы) . Он непредназначен для показа в браузере. Правильно , страницы пусть прикладники верстают, мы ведь о серьезных вещах говорим. Мне кажется, что обмен между сервисам , маршшрутизация пасинг сборка и есть задача для С++. Из полученной путем обмена информации между сревисами прикладники пусть заполняют формы для клиентов. Я себе вижу задачу в следующем сервис получает запрос смотрит на поля в зависимостио содержимого полей формирует запрос для 5 других сервисов асинхронно отправлет и получает от них результаты из этой информациии собирает ответ клиенту ничего не потеряв и не перепутав. Если усложнить задачу то кто то из 5 сервисов может что то по ходу у клиента спросить , и только мотом вернуть свой ответ для окончательного удовлетворения клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:45 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
maytonто мы искусственно идеализируем клиента. Мы считаем что наш клиент - идеальный. для того, чтоб бодаться с клиентом - есть nginx и haproxy. реально - бекэнду ничего не нужно кроме http 1.1 keep-alive, даже ssl и gzip не нужен - за него это все сделает reverse proxy все эти SPDY, HTTP 2.0 и прочий хлам - оставьте это proxy. а т.к. прокси сидит в нашей же сетке - то он идеальный клиент - никогда не тупит, не тормозит, шлет предсказуемый формат запросов, забирает результат так быстро, как быстро мы можем отдавать. именно идеал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:45 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskynojavaвручную? как раз вручную ничего и не надо. Да что вы говорите, в С может и деструкторы есть? ))) nojavanojavaну... не буду тебя останавливать, тебе ведь так весело там самому, развлекайся. Да как тут остановиться ржать, глядя как профи уверенный что пишет на С приводит примеры, которые компилируются только компилятором С++, хоть и видно что он старался ))). Ты о чем сейчас? про ADD()? nojavaА еще смешнее, что чувак у которого компилятор С++ сам себя связал руки и придумывает какую-то велосипедную реализацию объектов в стиле С, когда есть встроенный синтаксис классов В C есть встроенный синтаксис классов? Или ты не знаешь, что gcc и g++ это несколько разные компиляторы? Модератор: Отредактировано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:54 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0kЯ себе вижу задачу в следующем сервис получает запрос смотрит на поля в зависимостио содержимого полей формирует запрос для 5 других сервисов асинхронно отправлет и получает от них результаты из этой информациии собирает ответ клиенту ничего не потеряв и не перепутав. собственно на чём этот сервис может быть написан? с учётом асинхронно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:05 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Изопропилд0kЯ себе вижу задачу в следующем сервис получает запрос смотрит на поля в зависимостио содержимого полей формирует запрос для 5 других сервисов асинхронно отправлет и получает от них результаты из этой информациии собирает ответ клиенту ничего не потеряв и не перепутав. собственно на чём этот сервис может быть написан? с учётом асинхронно На сабже однозначно может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:12 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Изопропилд0kЯ себе вижу задачу в следующем сервис получает запрос смотрит на поля в зависимостио содержимого полей формирует запрос для 5 других сервисов асинхронно отправлет и получает от них результаты из этой информациии собирает ответ клиенту ничего не потеряв и не перепутав. собственно на чём этот сервис может быть написан? с учётом асинхронно только не на unmanaged среде, потому что выпадение в coredump одного запроса завалит всех остальных "асинхронных". аналогично с безопасносте - если хацкер пробъет вашу защиту, он сможет увидеть данные соседей - пароли, явки, номера кредиток потому изоляция сессий должна быть обеспечена на уровне "визора", т.е. среды выполнения. чуть ли не через mprotect() вызовы. для многотредового асинхронного C++ такое требование недостижимо в принципе, даже в теории - только Java, Erlang и прочие насилия управленческие над памятью простые же истины, нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:16 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaпотому изоляция сессий должна быть обеспечена на уровне "визора", т.е. среды выполнения. накуа ? визор отправляет запрос и полачет ответ в соотвествии со спицификицией. Как как сервис мултиплексор что хранит , и что кеширует для несколиких визоров , что бы с экономить удаленные вызовы не его собачье дело. зы мне кажется что мы начали создавать RPC велосипед, опять уходим в системную область. зыы шуруповертом неудобно забивать гвозди, поэтому просто просится на них нарезать резьбу и шлицы.... зыыы може всетаки молоток рнр или кувалду жабу с томкатом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:28 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
maytonnojava, точняк. Но мы недавно (годик назад) пузомеряли штук десять ЯП. Никто на лавры С++ не покусился. Но некоторые выводы были сделаны. В частности насчет Питона. Вот не надо про "не покусился". Я же выиграл полпроцента с Dlang =) Да и выигрыш даже в 1.5 раза не так уж и важен. Особенно для Веб. Потому я бы предпочел там видеть Go/D/Java/C# Anatoly Moskovskynojavaвручную? как раз вручную ничего и не надо. Да что вы говорите, в С может и деструкторы есть? ))) Минимум один есть. atexit() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:29 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0k маршшрутизация пасинг сборка и есть задача для С++. Хм... есть в этом какая-то натяжка. Из того краткого ТЗ что ты обрисовал есть вполне себе конкретный бизнез процесс (сервис) который ведет диалог с 5 другими процессам сервисами. Я не вижу здесь ничего пока С++-специфичного. Джависты и Дотнетчики пишут такие задачи тоннами. Или есть какой-то low-level нюанс который нужно именно реализовать на С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:34 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0knojavaпотому изоляция сессий должна быть обеспечена на уровне "визора", т.е. среды выполнения. накуа ? визор отправляет запрос и полачет ответ с какого перепугу он это делает? он лишь занимается огранизацией изолированных песочниц для каждой сессии, чтоб сессия А не смогла разрушить память и контекст сессии Б. и даже не только разрушить - а чтоб и прочитать не свое не могла, ибо безопасносте! ну и занимается отстрелом безнадежно зависших сессий и прочее такое разное делает, чтоб обеспечить стабильность сервера в целом и изолированность в частности. в общем надсмотрщик за доступом и выделением ресурсов. подобное отлично работает если ты делаешь многопроцессный сервер (аля апач или оракл, деды создатели Unix рулят), но такое в принципе нельзя сделать если ты городишь треды и прочую асинхронку (последователи дедов не рулят, ибо неучи) - там даже mprotect() не сработает, ибо он распостраняется на контекст всего процесса, а не вызывающего треда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:34 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaзабей, если ты не смог понять о чем я говорил страницы две выше (про hwm), то и сейчас не поймешь. хотя другие вполне поняли и приняли идею Нет, это вы не поняли. Для автоматического освобождения ресурсов нужны деструкторы. А память всего лишь частный случай ресурсов. Нет деструкторов == утечки ресурсов, особенно если в проекте самоуверенные, но криворукие профи. Даже если ограничиться памятью, то все равно голых программ нет, все полезные программы применяют библиотеки, у каждой из которых свои требования к выделению памяти, так что ваш супер аллокатор в 99% случаев до одного места. Хотя в hello world - согласен, отлично сработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:35 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
maytonд0k маршшрутизация пасинг сборка и есть задача для С++. Хм... есть в этом какая-то натяжка. Из того краткого ТЗ что ты обрисовал есть вполне себе конкретный бизнез процесс (сервис) который ведет диалог с 5 другими процессам сервисами. Я не вижу здесь ничего пока С++-специфичного. Джависты и Дотнетчики пишут такие задачи тоннами. Или есть какой-то low-level нюанс который нужно именно реализовать на С++. нет никакго нюанса авторзыыы може всетаки молоток рнр или кувалду жабу с томкатом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:38 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
maytonИли есть какой-то low-level нюанс который нужно именно реализовать на С++. nosql база данных встроенная прямо в процесс веб сервера, с нулевым копированием - LMDB. это не low-level, но такая связка устраняет необходимость IPC и NIO, и позволяет решать ранее недоступные задачи - к примеру машинное обучение в real-time я уже говорил про это выше. или какой такой low-level? возможность сделать интерливинг форматирование жесткого MFM диска через веб сервис? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:38 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaд0kпропущено... накуа ? визор отправляет запрос и полачет ответ с какого перепугу он это делает? он лишь занимается огранизацией изолированных песочниц для каждой сессии, чтоб сессия А не смогла разрушить память и контекст сессии Б. и даже не только разрушить - а чтоб и прочитать не свое не могла, ибо безопасносте! ну и занимается отстрелом безнадежно зависших сессий и прочее такое разное делает, чтоб обеспечить стабильность сервера в целом и изолированность в частности. в общем надсмотрщик за доступом и выделением ресурсов. подобное отлично работает если ты делаешь многопроцессный сервер (аля апач или оракл, деды создатели Unix рулят), но такое в принципе нельзя сделать если ты городишь треды и прочую асинхронку (последователи дедов не рулят, ибо неучи) - там даже mprotect() не сработает, ибо он распостраняется на контекст всего процесса, а не вызывающего треда. бери эрланг :) можешь не благодорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:42 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskynojavaзабей, если ты не смог понять о чем я говорил страницы две выше (про hwm), то и сейчас не поймешь. хотя другие вполне поняли и приняли идею Нет, это вы не поняли. Для автоматического освобождения ресурсов нужны деструкторы. А память всего лишь частный случай ресурсов. Нет деструкторов == утечки ресурсов, особенно если в проекте самоуверенные, но криворукие профи. Даже если ограничиться памятью, то все равно голых программ нет, все полезные программы применяют библиотеки, у каждой из которых свои требования к выделению памяти, так что ваш супер аллокатор в 99% случаев до одного места. Хотя в hello world - согласен, отлично сработает. я же уже выше сказал - для веб сервиса срок жизни очень краток, потому деструкторы на объекты можно вообще не делать. если ты аллоцируешь ресурсы извне - к примеру открывешь SQL курсоры, или файлы - то все, что нужно сделать - это делать подробные аллокации через некий системный API, который будет бережно запоминать все что ты там ото зааллоцировал. и когда ты закончишь обработку (отдашь клиенту результат веб запроса) - то среда выполнения поймет сама, что жизненный цикл сессии закончился, и вот теперь можно спокойно освободить все ранее захваченные ресурсы - закрыть курсоры, файлы, сделать всякое разное. да, тебе не будет позволено самому ходить и дергать всякие третьесторонние либы, на все нужно будет иметь свои обработчики, но с практической точки зрения это копейки - сделать обертку над mysql api или над fopen - это полчаса дела. и все. деструкторы для освобождения памяти не нужны - память мы чистим в финале сразу всю деструкторы для освобождения ресурсов не нужны - ресурсы мы на уровне среды чистим в финале сразу, не привлекая программера, потому что среда полностью их контролирует на уровне контекста сессии клиента. Модератор: Отредактировано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:43 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0knojavaпропущено... с какого перепугу он это делает? он лишь занимается огранизацией изолированных песочниц для каждой сессии, чтоб сессия А не смогла разрушить память и контекст сессии Б. и даже не только разрушить - а чтоб и прочитать не свое не могла, ибо безопасносте! ну и занимается отстрелом безнадежно зависших сессий и прочее такое разное делает, чтоб обеспечить стабильность сервера в целом и изолированность в частности. в общем надсмотрщик за доступом и выделением ресурсов. подобное отлично работает если ты делаешь многопроцессный сервер (аля апач или оракл, деды создатели Unix рулят), но такое в принципе нельзя сделать если ты городишь треды и прочую асинхронку (последователи дедов не рулят, ибо неучи) - там даже mprotect() не сработает, ибо он распостраняется на контекст всего процесса, а не вызывающего треда. бери эрланг :) можешь не благодорить. идеи у них классные, но синтаксис полный отстой, я не могу на таком разрабатывать. и слишком много ограничений, хуже руста. пока занимаюсь реализацией их идей в рамках привычного C - личная свобода творчества куда важнее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:45 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
Dima TУ меня HTML-ина есть, незатейливая табличка 8 колонок, 3700 строк. 1.2 Мб. Просто текст в таблице без ссылок. Завешивает ФФ иногда на полминуты. это логично, сам подсчитай сколько нужно вычислений что бы подогнать размеры ячеек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:46 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
д0kавторзыыы може всетаки молоток рнр или кувалду жабу с томкатом ? Здесь я так понимаю должен смайл стоять. Жаба с Томкатом уже не танцуют. SpringBoot (+emb. Jetty) - вот оружие дженльмена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:53 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavanosql база данных встроенная прямо в процесс веб сервера, с нулевым копированием - LMDB. это не low-level, но такая связка устраняет необходимость IPC и NIO, и позволяет решать ранее недоступные задачи - к примеру машинное обучение в real-time Тут у С++ тоже нет явных преимуществ. Те-же H2, Berkeley, Derby работают в адресном пространстве java-процесса. Главное - правильно их запускать. У ASP.Net я невкурсе но наверняка есть тоже свои IMDB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:58 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
SiemarglВот не надо про "не покусился". Я же выиграл полпроцента с Dlang =) Да и выигрыш даже в 1.5 раза не так уж и важен. Особенно для Веб. Потому я бы предпочел там видеть Go/D/Java/C# Ой Зяма! Я прошу прощения. Я правда забыл про этот факт. Я почему-то помнил статистику только по тем бинарям которые сам собирал. Исправлю. P.S. А что там реально в 1.5 раза было? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 17:01 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
nojavaд0kпропущено... бери эрланг :) можешь не благодорить. идеи у них классные, но синтаксис полный отстой, я не могу на таком разрабатывать. и слишком много ограничений, хуже руста. пока занимаюсь реализацией их идей в рамках привычного C - личная свобода творчества куда важнее :) Ты думаешь я просто так выделял клчевые слова в твоем посте. Эрланг полнотсью и насегда лишит тебя этих фобий , меняй не глядя :) как минимум будешь крепче спать ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 17:03 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
maytonд0kпропущено... Здесь я так понимаю должен смайл стоять. Жаба с Томкатом уже не танцуют. SpringBoot (+emb. Jetty) - вот оружие дженльмена. там слово кувалда вместо смайла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 17:04 |
|
||
|
Перспективы создания WEB приложений на C/C++
|
|||
|---|---|---|---|
|
#18+
maytonnojavanosql база данных встроенная прямо в процесс веб сервера, с нулевым копированием - LMDB. это не low-level, но такая связка устраняет необходимость IPC и NIO, и позволяет решать ранее недоступные задачи - к примеру машинное обучение в real-time Тут у С++ тоже нет явных преимуществ. Те-же H2, Berkeley, Derby работают в адресном пространстве java-процесса. Главное - правильно их запускать. У ASP.Net я невкурсе но наверняка есть тоже свои IMDB. работают они сугубо теоретически. у Java есть непреодолимая родовая травма: https://habrahabr.ru/company/odnoklassniki/blog/139185/ кроме того - Java чудовищно прожорлива - к примеру Boolean объект потребует минимум 36 байт (рекордсмен). строки только UTF-16. и прочие чудеса на виражах. кроме того - ни H2, ни BDB, да вообще никто не умеет то, что делает LMDB - zero copy. не говоря уже о том, что в целом успехи Java баз данных, мягко говоря, ограничены, ни один гигант индустрии их не использует (все сидят или на mysql или на Oracle). потому нет, мимо кассы. единственное что печалит (пока) - это отсутствие внятной и свободной columar storage engine под C и BSD лицензией, но это такое, наживное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 17:28 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39287382&tid=2018433]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 279ms |
| total: | 462ms |

| 0 / 0 |
