|
2.3, A.Stahl (ok), 13:00, 17/05/2019 [^] [^^] [^^^] [ответить]
| +13 +/– |
В тексте новости нет сравнения сложности и производительности, есть лишь утверждение что библиотека проста и производительна, поэтому твой вопрос не логичен.
| |
2.15, Andrey Mitrofanov (?), 13:51, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> а чо, текущая реализация непростая и медленная?
Конечно. Модулем ядра и на ассемблере - всяко быстрее.
И руками смержить с дырвером сетевой.
Точно быстрее. Без шуток. Было в Новостях Опеннета.
| |
|
3.97, Аноним (97), 19:24, 17/05/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
А если на FPGA реализовать всю логику сайта + http + tcp/ip?
| |
|
2.36, петькаваська (?), 15:31, 17/05/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
О какой "текущей реализации" речь? Если об официальной сишной библиотеке, то она уже давно как не поддерживается. Даже сайт fastcgi.com уже давно не доступен. Так что эта либа вполне себе свежак!
| |
|
|
|
3.129, anonnn (?), 02:48, 18/05/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
1. к чему эта статья тут?
2. причем тут nginx unit?
мне не ясно как вы связали nginx unit (работающий по хттп) и fastcgi
| |
|
2.9, Аноним (9), 13:23, 17/05/2019 [^] [^^] [^^^] [ответить]
| –7 +/– |
Видимо кому-то все еще нужно поддерживать древнее барахло, а начав установку, оно потянуло в зависимостях еще более древнее барахло. Вот и написал сервер на скорую руку без каких-либо зависимостей.
| |
|
3.141, Anonim (??), 11:13, 18/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Видимо кому-то все еще нужно поддерживать древнее барахло,
>написанная на современном C++17
???
| |
|
2.37, петькаваська (?), 15:34, 17/05/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Бусты в HTTP. Лол. Вы когда-нибудь пробовали Boost.Beast? Ну и как оно? Всё просто, не правда ли?
| |
|
|
|
5.79, Аноним (39), 18:06, 17/05/2019 [^] [^^] [^^^] [ответить]
| –4 +/– |
> В 2190 Ом? O.o
Все вопросы к начавшему ветку, 2к19 это 2190.
| |
|
|
|
2.53, Anonymoustus (ok), 16:45, 17/05/2019 [^] [^^] [^^^] [ответить]
| +10 +/– |
> 2к19
Чтоб тебе доктор рецепты и справки на такие даты выписывал, а бухгалтерия — зарплатную ведомость.
| |
|
1.8, Аноним (8), 13:22, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> через встраивание в приложение в форме заголовочного файла
Некорректная формулировка.
| |
1.10, Аноним (10), 13:23, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Мдя, 2019 год, свежий стандарт плюсов, а поделка уровня студента: зависимость от какой-то левой библиотеки, простыня инструкций по сборке, кода helloworld на целый экран (про MT вообще молчу, руками потоки надо делать)...
Для сравнения, код 4-х летней давности на ржавчине (не для сравнения языков!! на плюсах можно сделать не хуже), просто удобство, краткость, лаконичность:
https://docs.rs/fastcgi/1.0.0/fastcgi/
| |
|
2.120, RibiKukan (ok), 23:15, 17/05/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Поделка действительно уровня студента и никакого "свежего стандарта" там нет и близко. Но ты ссылаешься на такую студ-поделку.
>https://docs.rs/fastcgi/1.0.0/fastcgi/
Что конкретно тут лаконично? Кроме отсутствия убогих потоков. Хотя нет, макрос говна хуже убогих потоков.
| |
|
|
4.126, RibiKukan (ok), 01:14, 18/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> А есть чего нормального на плюсах для FastCGI?
Может и есть, но я таким убожеством не пользуюсь - не знаю. Я ни разу не работал с подобным(FastCGI) бесполезным легаси-говном.
| |
|
|
6.131, _ (??), 03:46, 18/05/2019 [^] [^^] [^^^] [ответить]
| +5 +/– |
Он членами деревянными на базаре торгует! (С) :-)
| |
|
7.142, Anonim (??), 11:16, 18/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Деревянные -суровое легаси! Им резиновые пришли на смену, ещё в прошлом веке!
| |
|
6.133, RibiKukan (ok), 04:48, 18/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
В каком плане? Насколько я понимаю fcgi это такой плебейский ipc. Мало практикую подобное. Так же вроде оно сетевое. Сетевых библиотек множество. На этом уровне работаю в с двумя вещами. uWebSockets - для плебейской коммуникации(оно может в хттп(почти не используется)/ws(используется всегда)). Для внутренней коммуникации - самопал.
| |
|
7.134, Anaranizimuzus (?), 04:54, 18/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
>Насколько я понимаю fcgi это такой плебейский ipc.
Ага.
>uWebSockets
>оно может в хттп(почти не используется)/ws(используется всегда)
То что нужно, спасибо.
| |
7.189, Аноним (189), 01:03, 20/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
>В каком плане? Насколько я понимаю fcgi это такой плебейский ipc
Понимание уровня "не читал, но осуждаю"
| |
|
|
|
|
|
|
1.11, X4asd (ok), 13:30, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
не могу понять -- а где тут выход из цикла?
while (true) {
const auto conn = server->accept();
conn->out() << "Content-Type: text/plain" << crlfcrlf;
conn->out() << "Hello from dmitigr::fcgi!" << crlf;
conn->close(); // Optional.
}
| |
|
2.17, СеменСеменыч777 (?), 13:52, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> а где тут выход из цикла?
выбирайте:
1) выхода нет, эта музыка будет вечной;
2) выход по SIGINT/SIGKILL
| |
|
3.30, X4asd (ok), 14:34, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
как тогда понимать --
for (auto& t : threads)
t.join();
server->close(); // Optional.
в какой момент код доходит до "server->close();" ?
| |
|
4.187, KonstantinB (ok), 19:00, 19/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
В тот момент, в какой вы этот код напишете.
Подставьте вместо true свое условие, соответствующее архитектуре вашего сервера. Это, блин, миниальный пример использования из readme, а не production ready решение.
Production ready решение - это, знаете ли, такая штука, которая пишется самостоятельно, а не копипастится с README.md и StackOverflow.
| |
|
|
2.18, Andrey Mitrofanov (?), 13:53, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> не могу понять -- а где тут выход из цикла?
>code]
> while (true) {
Та, вот же ОН! --->>> ^C
Как маленький прям.
| |
|
|
4.65, X4asd (ok), 17:29, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> SIGKILL нужен.
ну а ещё можно зайти в gdb, зааттачить и оттуда
call close(номер)
очень удобно (sarcasm)
| |
4.71, ноунейм (?), 17:37, 17/05/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
> SIGTERM не остановит эту программу, SIGKILL нужен.
Во-первых, ^C — это SIGINT. Во-вторых почему не остановит? Там где-то обработчики переопределяются?
| |
|
|
|
3.64, X4asd (ok), 17:28, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> без цикла не принял бы другое соединение.
без бесконечного цикла который никогда не прерывается? :-)
| |
|
4.75, Sw00p aka Jerom (?), 18:02, 17/05/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> без бесконечного цикла который никогда не прерывается? :-)
А вы заранее знаете сколько соединений вы обработаете? На то и серверное сетевое приложение, которое работает фактически вечно для обслуживания запросов. У вас какая-то другая точка зрения как это реализовать? А выход из цикла - равносилен либо аварийному выходу (try catch), либо по сигналу.
| |
|
5.115, Ordu (ok), 22:10, 17/05/2019 [^] [^^] [^^^] [ответить] | +3 +/– | Нет Реальное серверное приложение имеет документированные возможности, позволяю... большой текст свёрнут, показать | |
|
|
7.130, Ordu (ok), 02:57, 18/05/2019 [^] [^^] [^^^] [ответить] | +1 +/– | При чём здесь man accept Мне казалось очевидно, что речь идёт о том самом serve... большой текст свёрнут, показать | |
|
|
9.175, Ordu (ok), 23:03, 18/05/2019 [^] [^^] [^^^] [ответить] | +1 +/– | Нет, не без разницы server- accept, вероятно, проводит не только accept на соке... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
1.14, Аноним (14), 13:47, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Что-то я не понимаю. Почему какая-то поделка ноунейма выкладывается на opennet? Проплачено или что?
| |
|
2.20, Andrey Mitrofanov (?), 13:55, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Что-то я не понимаю. Почему какая-то поделка ноунейма выкладывается на opennet? Проплачено
> или что?
Конечно.
"Оригинальные новостные статьи"(тм) оплачены щедрыми донорами.
Сбор донатов на опеннете -- видел, да?
| |
|
|
4.24, Andrey Mitrofanov (?), 14:12, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
#>>Сбор донатов на опеннете -- видел, да?
> Так вон они, ниже в конце страницы :)
Эти - не те. Не видел, значит. Окэ.
| |
|
|
2.56, Аноним (49), 17:00, 17/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Почему какая-то поделка ноунейма выкладывается на opennet?
Потому, что open source?
| |
|
|
2.25, пох (?), 14:15, 17/05/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
просто обезьяныш не умеет не обмазываться свеженьким, и c++17 в описании означает не какие-то там достоинства кода, а просто то, что ничем кроме пре-альфа-версии gcc99 это не собирается.
| |
2.40, петькаваська (?), 15:48, 17/05/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Автор, начни с чтения вот этого https://stackoverflow.com/questions/213907/c-stdendl-vs-n
> что ли (это я мягко так намекаю про "нужность" дефайнов с
> crlf).
> Да и вообще код действительно выглядит как поделка, а использование С++17 в
> описании - лишь как маркетинговая уловка.
Этими дефайнами автор хочет, вероятно, привести код в соответствии протоколу HTTP, в котором перевод строки строго определён как "\r\n". Так что мат. часть, вероятно, надо учить как раз Вам.
| |
|
3.60, Аноним (49), 17:14, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Что подвигло Тима Бернерса-Ли выбрать для перевода строки \r\n, он же ползовался NIX-like ОС?
| |
|
4.67, Ordu (ok), 17:30, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Я могу предположить. Использование "\r\n" в качестве разделителя строк протокола позволяет в одну строку протокола впихнуть многострочный файл со "\n" в качестве разделителя строк. Но это лишь предположение, реально я не знаю как дело было, просто ты задал вопрос, я задумался над этим, и мне пришёл в голову такой вот возможный ответ.
| |
4.70, Аноним (50), 17:34, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Что подвигло Тима Бернерса-Ли выбрать для перевода строки \r\n, он же ползовался NIX-like ОС?
А он и не выбирал. Он просто передрал RFC822.
| |
|
3.88, dmitigr (ok), 18:26, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Совершенно верно. operator<< - это оператор форматированного вывода. Вызов ostream << "\n" записывает в поток "\r\n" в Windows и "\n" в Unix. Протокол HTTP предписывает использование "\r\n" в качестве разделительной последовательности.
| |
3.113, Аноним (16), 21:52, 17/05/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
> автор хочет, вероятно, привести код в соответствии протоколу HTTP, в котором перевод строки строго определён как "\r\n". Так что мат. часть, вероятно, надо учить как раз Вам.
Матчасть учить нужно тому, кто не знает про существование std::ios_base::openmode binary, когда ему нужно выводить данные в поток без преобразования символов под конкретную ОС.
| |
|
2.63, Ordu (ok), 17:27, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> начни с чтения вот этого https://stackoverflow.com/questions/213907/c-stdendl-vs-n
И что он там должен увидеть? Может быть это:
> There's another function call implied in there if you're going to use std::endl
> a) std::cout << "Hello\n";
> b) std::cout << "Hello" << std::endl;
> a) calls operator << once.
> b) calls operator << twice.
?
endl -- это принудительный flush и зависимость перевода строки от платформы под которую собирался код. Зачем это нужно? Сетевые протоколы чётко фиксируют, что используется для терминации строки, и если там написано "\r\n", то тебе даже в unix'е придётся использовать "\r\n".
| |
|
|
4.73, Ordu (ok), 17:45, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
В смысле? Он не выводит "\r\n" в венде? А зачем тогда он нужен такой? Ну вот вообще зачем было заморачиваться добавлять в библиотеку endl, если "\n" нагляднее?
| |
|
|
6.93, Ordu (ok), 19:14, 17/05/2019 [^] [^^] [^^^] [ответить] | +/– | Что такое os widen Что он там расширяет Не расширяет ли он заодно n до r n... большой текст свёрнут, показать | |
|
7.143, udro (?), 11:24, 18/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Что такое os.widen? Что он там расширяет? Не расширяет ли он заодно '\n' до \r\n, когда нужно?
Он — нет. Он только кодировки преобразует, если надо (в UTF-16LE, например, мало ли). А возврат каретки и без него добавляется в ostream. Я хз, чё они курили, но просто вывести \n на винде ещё постараться надо.
| |
|
|
|
|
|
2.76, dmitigr (ok), 18:04, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Автор, начни с чтения вот этого https://stackoverflow.com/questions/213907/c-stdendl-vs-n что ли
Здесь автор. Мне не нужно это читать.
> (это я мягко так намекаю про "нужность" дефайнов с crlf).
Эти дефайны обеспечивают кроссплатформенность кода.
> Да и вообще код действительно выглядит как поделка, а использование С++17 в описании - лишь как маркетинговая уловка.
Это именно поделка, которой я любезно поделился с сообществом. Кому не нравится, тот просто обходит стороной.
| |
|
3.98, Sw00p aka Jerom (?), 19:35, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
О круть, сам автор тут)
Хотелось бы одно замечание сделать
"namespace dmitigr"
простите, но что за "неймдроппинг" такой? как то не серьезно.
| |
|
4.107, dmitigr (ok), 20:42, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Спасибо за комментарий. Странные у Вас вопросы. Резервирование пространства имён для проектов одного автора или компании - обычная практика. Я зарезервировал пространство имён dmitigr для своих проектов. А, например, Niels Lohmann, выбрал пространство имён nlohmann для своих проектов, например namespace nlohmann::json.
| |
|
|
|
1.19, mumu (ok), 13:55, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Указатели все разыменовали? За границы буферов не повыходили? Или как обычно?
| |
|
2.26, Andrey Mitrofanov (?), 14:15, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Указатели все разыменовали? За границы буферов не повыходили? Или как обычно?
Надо больше замыканий, монадов, строгой типизации и W^X на опенне ^W Microsoft Github-е!
| |
|
|
4.201, Andrey Mitrofanov (?), 11:24, 23/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Замыканий лучше коротких.
Вот про размер не надо.
Разыменовыватели буферов и разграничители указаетелей обидятся же.
| |
|
|
2.78, dmitigr (ok), 18:05, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не стоит беспокоится. Все разыменовали и за границы не повыходили. Будут проблемы - обращайтесь. Как обычно.
| |
2.110, Аноним (110), 21:20, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Используем стд:стринг, автоуказатели и горя не знаем.
А ты как перебиваешься, мир небось замирает, как в матрице у Нео. У него тоже ГЦ неоптимизированный был
| |
|
1.22, тоже Аноним (ok), 14:07, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Я таки ничего не знаю за автора этого кода, но на своем персональном сайте он называет себя исключительно "мы". Несколько настораживает...
| |
|
2.28, Andrey Mitrofanov (?), 14:19, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Я таки ничего не знаю за автора этого кода, но на своем
> персональном сайте он называет себя исключительно "мы". Несколько настораживает...
Может, его кот по клавиатуре прогуливался. Мы B-P ж не знаем.
| |
|
1.29, fgi (?), 14:30, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
неюзабельно
уровня студента
давайте побольше ваших сладких булочек
| |
|
2.43, мимопроходил (?), 16:05, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
В каком месте там неюзабельно и в каком месте уровень студента. А то это уже не первый комментарий подобный.
| |
|
|
2.80, dmitigr (ok), 18:07, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Нет. Никакого отношения к mod_fcgid обсуждаемая библиотека не имеет. Вы можете использовать mod_proxy_fcgi для проксирования HTTP-запросов приложению на базе dmitigr_fcgi.
| |
|
1.44, НяшМяш (ok), 16:07, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Вот взъелись вы на дядьку. А он может работу ищет. Сейчас на каждом собеседовании второй вопрос это "есть ли у вас открытые проекты на гитхабе". Поэтому надо выложить хоть что-нибудь, чтобы иметь какой-то вес на собесе.
| |
|
2.47, Аноним (51), 16:19, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Это классика. 5 стадий принятия неизбежного: отрицание, гнев, торг, депрессия, принятие. Сейчас где-то фаза 1 или 2. Потом полегчает :-)
| |
|
1.45, Аноним (39), 16:10, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> DMITIGR_ASSERT((content_len <= max_content_length) && (padding_len <= max_padding_length));
Определение макроса в предлагаемой библиотеке отсутствует. Находится оно в другом месте. Вот такое:
[CODE]
#define DMITIGR_ASSERT__(a, t) { \
if (!(a)) { \
DMITIGR_DOUT__("assertion (%s) failed\n", #a) \
if constexpr (t) \
throw std::logic_error{"assertion (" #a ") failed at " __FILE__ ":" DMITIGR_XSTRINGIZED(__LINE__)}; \
} \
}
[/CODE]
Кто-то может объяснить смысл?
| |
|
|
3.72, Аноним (39), 17:43, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Может быть какая-то либа-зависимость не установлена?
Если я нашёл определение, значит нашёл и либу (того же автора).
Вопрос по сементике самого макроса.
| |
|
4.82, dmitigr (ok), 18:09, 17/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Вопрос по сементике самого макроса.
Что конкретно Вам не ясно?
| |
|
5.104, Аноним (39), 19:57, 17/05/2019 [^] [^^] [^^^] [ответить] | +2 +/– | Не ясно, зачем ассерт бросает исключение, которое а из названия не очевидно б... большой текст свёрнут, показать | |
|
6.108, dmitigr (ok), 20:51, 17/05/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Здесь автор.
> Не ясно, зачем ассерт бросает исключение
Я используют DMITIGR_ASSERT() вместо стандартного assert() почти везде из-за того, что обычный assert() слишком груб и по умолчанию приводит к завершению программы. DMITIGR_ASSERT() же просто генерирует исключение std::logic_error если утверждение ложно. (Мне очевидно, что надо это задокументировать.)
> а) из названия не очевидно;
Спасибо за замечание. Я задокументирую этот момент!
> б) может быть по недоразумению проигнорировано.
По недоразумению может быть всё, что угодно. std::logic_error игнорировать не стоит. Это признак бага в программе или в библиотеках, от которых она зависит.
| |
|
|
8.135, Аноним (39), 07:22, 18/05/2019 [^] [^^] [^^^] [ответить] | +/– | По-простому это называется глаз замылился Автору и без имён понятно, что дела... большой текст свёрнут, показать | |
|
7.138, Аноним (39), 08:07, 18/05/2019 [^] [^^] [^^^] [ответить] | +/– | А зачем продолжать её исполнение Виноват, но я принципиально не смотрел докумен... большой текст свёрнут, показать | |
|
8.140, dmitigr (ok), 10:31, 18/05/2019 [^] [^^] [^^^] [ответить] | +/– | Здесь больше интересен вопрос как по-мягче завершить её выполнение Меня не уст... большой текст свёрнут, показать | |
|
9.144, Аноним (39), 11:32, 18/05/2019 [^] [^^] [^^^] [ответить] | +/– | Наверное, прежде всего для этого необходимо обеспечить 100 гарантии вызова обра... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
1.48, Аноним (48), 16:27, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
FastCGI настолько простой протокол что только ленивый студент не реализовывал его на своем любимом языке
| |
1.52, Аноним (50), 16:40, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
In file included from /home/dmitry/tmp/fcgi/lib/dmitigr/fcgi/basics.hpp:62,
from /home/dmitry/tmp/fcgi/lib/dmitigr/fcgi.hpp:26,
from /home/dmitry/tmp/fcgi/lib/dmitigr/fcgi.cpp:7:
/home/dmitry/tmp/fcgi/lib/dmitigr/fcgi/basics.cpp:9:10: fatal error: dmitigr/common/debug.hpp: Нет такого файла или каталога
#include <dmitigr/common/debug.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Автор, ну ты понел.
| |
|
|
3.62, Аноним (50), 17:27, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
То есть он даже поиск библиотеки в cmake не осилил? Молодец какой. Дальше смотреть не вижу смысла.
| |
|
4.86, dmitigr (ok), 18:21, 17/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Кто-то не осилил прочитать документацию. Дальше смотреть нет смысла.
В действительности, всё что требуется, это установить библиотеку dmitigr_common. Всё остальное CMake сделает автоматически.
| |
|
5.90, Аноним (50), 19:01, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Установить куда? А если я её в нестандартный префикс хочу, чтобы систему не поганить? CMake должен делать автоматически не «всё остальное», но и поиск библиотеки тоже. Если её нет — вывести внятное сообщение об ошибке. А тут конфигурация типа прошла успешно, а оказывается — зависимостей не хватает!
| |
|
6.91, dmitigr (ok), 19:09, 17/05/2019 [^] [^^] [^^^] [ответить] | +/– | Спасибо за отзыв CMake ищет библиотеку автоматически Я только что попробовал с... большой текст свёрнут, показать | |
|
7.96, Аноним (50), 19:23, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Действительно, сообщение есть, я его не заметил. Но это всего лишь warning, статус завершения 0, Makefile создался, в конце:
Using library
-- Configuring done
-- Generating done
-- Build files have been written to: /home/anon/fcgi/build
Потому выше по логу и не смотрел. Должно быть завершение с ошибкой, если зависимость обязательная.
| |
|
|
|
|
|
|
1.54, Аноним (57), 16:50, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +11 +/– |
Список новостей:
- Microsoft открыл код библиотеки векторного поиска, используемой в Bing
- Дима Игришин сделал git push
- Фонд свободного ПО сертифицировал звуковые карты и WiFi-адаптеры ThinkPenguin
| |
|
|
3.99, eRIC (ok), 19:36, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
dmitigr, бенчмарки вашей реализации есть для сравнения?
| |
|
4.109, dmitigr (ok), 20:56, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Бенчмарков нет. Я сравнивал с libfcgi. dmitigr_fcgi быстрее где-то на 15-20%. Я знаю ещё несколько мест в своей реализации для оптимизации и прироста производительности. В скором времени улучшу.
| |
|
5.111, eRIC (ok), 21:40, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Бенчмарков нет. Я сравнивал с libfcgi. dmitigr_fcgi быстрее где-то на 15-20%. Я
> знаю ещё несколько мест в своей реализации для оптимизации и прироста
> производительности. В скором времени улучшу.
интересно. с активным по сей день с библиотекой https://github.com/eddic/fastcgipp (C++14) попробуйте произвести бенчмарки, будет очень интересно. в будущем надеюсь в проекте бенчмарк отчеты появятся.
| |
|
|
|
|
1.92, eRIC (ok), 19:09, 17/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Многие тут комментаторы от Бога так и не понимают в чем изюминка этой реализации FastCGI, дело в " написанная на современном C++17" - "The FastCGI implementation on modern C++".
Делая выводы можно сказать что она как алтернативная реализация по спецификации FastCGI придаст прирост в производительности, легкости и т.д., что позволяет дать современные последние версии компиляторы c поддержкой C++17 (ведь язык программирования C++ тоже не стоит на месте и совершенствуется)
P.S: кстати, если кто-то будет искать закрытый сайт FastCGI, можете посмотреть в архиве: https://fastcgi-archives.github.io/
| |
|
2.94, Ordu (ok), 19:20, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Многие тут комментаторы от Бога так и не понимают в чем изюминка
Многие комментаторы здесь делают сознательные усилия, чтобы не понимать. Всё комментирование здесь сводится к специальной олимпиаде на тему, кто самым возмутительным образом не поймёт, что написано.
| |
|
3.95, eRIC (ok), 19:21, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Многие комментаторы здесь делают сознательные усилия, чтобы не понимать. Всё комментирование
> здесь сводится к специальной олимпиаде на тему, кто самым возмутительным образом
> не поймёт, что написано.
особенно (A|O)нонимы :)
| |
|
2.100, Sw00p aka Jerom (?), 19:40, 17/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> как алтернативная реализация спецификации FastCGI
Кхммм, спецификации? вы серьезно? Альтернативная реализация ---> по <--- спецификации FastCGI!
| |
|
3.102, eRIC (ok), 19:45, 17/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Кхммм, спецификации? вы серьезно? Альтернативная реализация ---> по <--- спецификации
> FastCGI!
да, верно, имелось что это не новая спецификация FastCGI, а имплементация его
| |
|
2.101, Аноним (50), 19:44, 17/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Делая выводы можно сказать что она как алтернативная реализация спецификации FastCGI придаст прирост в производительности, легкости и т.д.
Из чего и каким образом можно сделать такие выводы?
> усоверешенствовыется
Ты б свой русский посвершенствовывал, что ли.
| |
|
3.103, eRIC (ok), 19:50, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> усоверешенствовыется
> Ты б свой русский посвершенствовывал, что ли.
после чтения толкового словаря по русскому языку, исправлено. старую информацию смотрите, нажмите F5 :)
| |
3.112, Sw00p aka Jerom (?), 21:45, 17/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Бывает, когда в мыслях проговариваешь, а в комментарии думаешь что написал, да, да, нажимаем сразу отправить потом только видим ошибку :)
| |
|
2.114, Аноним (16), 22:04, 17/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> on modern C++
Писать по-английски – это вообще-то не слова по словарю с вашего языка переводить.
| |
|
|
|
|
|
|
|
Часть нити удалена модератором |
9.186, Аноним (186), 18:06, 19/05/2019 [^] [^^] [^^^] [ответить] | –1 +/– | Креационизм ничем не хуже утверждений, что хвост предки человеков потеряли из-за... текст свёрнут, показать | |
|
|
|
|
|
|
|
2.190, Аноним (189), 01:13, 20/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
>Делая выводы можно сказать что она как алтернативная реализация по спецификации FastCGI придаст прирост в производительности, легкости и т.д., что позволяет дать современные последние версии компиляторы c поддержкой C++17 (ведь язык программирования C++ тоже не стоит на месте и совершенствуется)
Трудно представить, какой приницпиальный выигрыш в производительности может быть у реализации FastCGI на С++ по сравнению с С, не говоря у же о С++17 по сравнению со старым С++. Там же простой бинарный протокол, который парсится обычными сишными структурами
| |
|
|
|
3.197, Аноним (121), 20:07, 20/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Во-первых, топик про FastCGI. Во-вторых, где libevent, а где cppcms.. В последней есть всё для создания полноценного web-бэкенда (транспорт, маршрутизация запросов на исполняющий код, пулы рабочих потоков, сессии и сопутствующие шифрование и hmac-и, json, журналирование и проч.), и оно уже на плюсах и используется в проде.
| |
|
|
|
|
3.182, Аноним (4), 12:43, 19/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
чушь. при СССР технари к технарям оч.хорошо относились. почитайте сообщения на форумах/эхах 90х годов (это как раз поколение выросшее в СССР) - все оч вежливо, никакой ругани, ехиндичиства и т.д.
те, о ком вы говорите совсем другое поколение.
| |
|
4.183, eRIC (ok), 16:42, 19/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> те, о ком вы говорите совсем другое поколение.
ну я как раз имел в виду не технарей, которые в годы СССР работали, а последствия распада СССР, приходом демократии, и приходом диванных критиков :)
| |
|
|
|
1.150, Филимон Печальный (?), 16:28, 18/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Народ, вы чего ? Человек написал библиотеку, выложил бесплатно, никого использовать её не заставляет... Где здесь повод исходить говном ?
Это массовый психоз какой-то :-(
| |
|
2.163, Аноним (39), 18:52, 18/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да какой массовый? Парочка типичных персонажей изображают толпу.
| |
2.178, souryogurt (ok), 05:22, 19/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Лично мне просто непонятно почему это в новостях на опеннет. Разве это какая-то значимая для open source новость? Можно было бы на форуме ее разместить, если хочется найти своих пользователей или разработчиков, или просто пропиарится для чего-то еще.
Ну и глядя на то, как оформлена репа и личный блог автора, так и тянет тролить. Везде МЫ во всех названиях присутутсвует dmitrygr, и т.д. Доходит до абсурда. Вы только прочитайте в слух первую строчку документации:
"Client programs that use Dmitigr Fcgi must include header file dmitigr/fcgi.hpp. and must link with dmitigr_fcgi (or the debug build - dmitigr_fcgid) if Dmitigr Fcgi is used as a regular library."
Другими словами, неймспейс неоч :)
Бог создал землю за шесть дней. Дмитрий Ингришин создал FastCGI за пять.
| |
|
1.204, greenwar (ok), 10:15, 13/05/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
забота о пользователе зашкаливает...
>> CMake Error at CMakeLists.txt:5 (cmake_minimum_required):
>> CMake 3.17 or higher is required. You are running version 3.13.4
>> sudo apt install cmake
>> Уже установлен пакет cmake самой новой версии (3.13.4-1).
(debian buster)
| |
1.205, greenwar (ok), 10:22, 13/05/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
3.17 это самая последняя версия cmake на офф.сайте (3.17.2)
её только вручную ставить
чё без cmake никак чтоли не поставить это чудо инженерной мысли?
| |
1.206, greenwar (ok), 11:34, 13/05/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
а это чё:
>> /usr/bin/ld: /tmp/ccf5Ifs9.o: in function 'main':
>> fcgi-hello.cpp:(.text+0x52): undefined reference to 'dmitigr::fcgi::Listener_options::make(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int)'
>> /usr/bin/ld: fcgi-hello.cpp:(.text+0x11d): undefined reference to 'dmitigr::fcgi::crlfcrlf(std::ostream&)'
>> collect2: error: ld returned 1 exit status
при попытке скомпилировать dmitigr/fcgi/test/fcgi/fcgi-hello.cpp
| |
|