LINUX.ORG.RU

Движок сайта undeadly.org на языке C

 , ,


0

4

undeadly.org - агрегатор новостей по тематике OpenBSD.

Движок указанного сайта написан на языке C: исходный код.

Вот, что автор пишет о движке:
It's written in C as a single CGI with no external dependencies (database, php, etc.), just flat files.

Ваше мнение о движке, его исходном коде?

Deleted

На github'е нету что-ли?

FIL ★★★★ ()

html прямо в принтах, комментариев особо нет. Не очень хочется ковыряться в этом. В чём прикол сайта на C в данном случае? Какой-то выигрыш даёт кроме «мы написали это на си, это круто»?

evilface ★★ ()

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

timdorohin ★★★ ()

Скачивать и разбираться в ненужных мне исходниках лениво. Но вот что я скажу: даже если этот движок прекрасен, переделать его под свои нужды может оказаться проблематично. Поэтому, имхо, лучше использовать традиционный универсальный подход с базами данных, php (или чем-то ещё, что ты предпочитаешь) etc.

aureliano15 ★★ ()
Ответ на: комментарий от nikolnik

Просто чувак не осилил гитхаб.

Просто чуваку он нах не нужен, написал и всё. Код несложный, но оратор выше прав - гибкости особой нет.

Fedorast ()

я интересуюсь движками на С/С++/ассемблере. но вот сразу с ходу не могу прокомментировать код. надо смотреть.

Iron_Bug ★★★★★ ()
Ответ на: комментарий от Iron_Bug

Ну, на своём можно какой gitlab развернуть, пожалуй. Впрочем - зачем?

alex4321 ()

Спасибо за наводку, всегда хорошо, когда есть выбор.

А vibe.d на ЛОРе кто-нибудь использовал? Именно использовал, а не говорил «Ух ты, круто»?

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

пейсал на нем. До сих пор пользуется внутри конторы. Производительность не мерил, но «на глазок» довольно шустро...по сравнению с тем что было :)

anonymous ()

зачем cgi, если уже есть fastcgi?

зачем шаблоны и генерация страниц на сервере? уже есть ajax, ws

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

zudwa ()
Ответ на: комментарий от zudwa
static void
render_error(const char *fmt, ...)
{
	va_list ap;
	char s[8192], e[8192];

	va_start(ap, fmt);
	vsnprintf(s, sizeof(s), fmt, ap);
	va_end(ap);
	printf("%s\r\n\r\n", ct_html);
	fflush(stdout);
	uprintf("<html><head><title>Error</title></head><body>\n");
	uprintf("<h2>Error</h2><p><b>%s</b><p>\n", s);
	if (q != NULL) {
		uprintf("Request: <b>%s</b><br>\n",
		    html_esc(q->query_string, e, sizeof(e), 0));
		uprintf("Address: <b>%s</b><br>\n",
		    html_esc(q->remote_addr, e, sizeof(e), 0));
		if (q->user_agent != NULL)
			uprintf("User agent: <b>%s</b><br>\n",
			    html_esc(q->user_agent, e, sizeof(e), 0));
		if (q->referer != NULL)
			uprintf("Referer: <b>%s</b><br>\n",
			    html_esc(q->referer, e, sizeof(e), 0));
	}
	uprintf("Time: <b>%s</b><br>\n", rfc822_time(time(0)));
	uprintf("<p>If you believe this is a bug in <i>this</i> server, "
	    "please send reports with instructions about how to "
	    "reproduce to <a href=\"mailto:%s\"><b>%s</b></a><p>\n",
	    mailaddr, mailaddr);
	uprintf("</body></html>\n");
}


undeadly.c, например. Там такого больше всего.

evilface ★★ ()
Ответ на: комментарий от zudwa

зачем шаблоны и генерация страниц на сервере? уже есть ajax, ws

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

linearisation ()
Ответ на: комментарий от zudwa

зачем cgi, если уже есть fastcgi?

А fastcgi твой вообще нахрен не нужен, высосанная из пальца технология. Запускай на дополнительных портах сервера и проксируй, вот и будет тебе твой fastcgi, с блекджеком и шлюхами. Только не всегда это удобней чем cgi. Надо совмещать.

linearisation ()
Ответ на: комментарий от zudwa

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

Вот это вбросил так вбросил!

hobbit ★★★★★ ()
Ответ на: комментарий от linearisation

Ох ты, нитакие как все в студии. Бложик на сишечке, архивчики с кодом... wait, да вы же хипстеры в оригинальном его значении. Пусть страдает народ, качает архивы, чтобы глянуть на код, коммиты им смотреть, ещё чего. НИНУЖНО!

Deleted ()

OpenBSD
на языке C

Несекурно же.

devl547 ★★★★★ ()
Ответ на: комментарий от linearisation

что запускать-то? веб-сервер штоле отдельный?8-o ты походу не представляешь, как cgi работает, в частности какие накладные расходы на запуск процесса в системе, раз такое несешь

zudwa ()
Ответ на: комментарий от zudwa

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

linearisation ()
Ответ на: комментарий от linearisation

а что, есть такие роботы, которые интересуются темой OpenBSB?)

zudwa ()
Ответ на: комментарий от Deleted

чувак, для таких нервных придумали M-x doctor

кстати, физтеховская борда тоже на сях написана. Вполне себе пашет и поныне.

demidrol ★★★★★ ()
Ответ на: комментарий от zudwa

уже есть fastcgi

Ага. Протокол может и ничего. Вот только официальная либа отвратительна. Не поддерживает асинхронность, без мультиплексирования, реентрабельное API отличается от нереентрабельного. Нельзя передать открытый файловый дескриптор процессу. В результате остается либо юзать spawn-fcgi порождая fcgi-процесс на каждый запрос, либо делать мультипоточное приложение, либо писать свою fcgi-либу

Естественно никому этот гемор н*х не сдался, так что большинство встраивают http-сервер в приложение

makoven ★★★★★ ()
Ответ на: комментарий от demidrol

Никаких нервов. Хватит выделываться древностью используемых технологий. Чем древнее, тем больше понтов от лоровцев.

Deleted ()
Ответ на: комментарий от Deleted

ну не знаю. Вот автор vhdl-mode выкладывает новые версии тоже в виде архива. А это, на минуточку, чуть ли не единственный нормальный редактор VHDL как среди опенсорса, так и проприетарных поделий.

demidrol ★★★★★ ()

Да чё уж там, написали бы сразу на Excel! Хотя постойте...

LupusAlbus ()

Мое мнение: историческая реконструкция.

Deleted ()
Ответ на: комментарий от zudwa

уже есть ajax, ws

Плохо для поисковиков (даже с учётом понимания Google JS), плохо для навигации, плохо для старых браузеров и wget'ов и т.п.

KRoN73 ★★★★★ ()
Ответ на: комментарий от Deleted

хипстер уже не тот пошёл

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

хипстеры уже не те, «в оригинальном значении» это битстеры — поколение битников, вот это всё

современные малахольные многовыхухольные пафосные позёры имени себя любимого в обнимку с айфоном, смузи и молескином --- вообще никто.

разбитое поколение, плеать

вот где истинный ангст, и ведро крови

anonymous ()
Ответ на: комментарий от Deleted

древние технологии работают и поныне. возьми каменный топор, выковыряй кремниевый скребок и побрейся им — он всё ещё острый.

им можно выделываться — ибо есть из-за чего.

а все эти пафосно-гламурные хипстеры из-за чего выделываются? ведь там нет ничего стабильно&надёжно работающего, только понты и пафос 30 lvl.

anonymous ()
Ответ на: хипстер уже не тот пошёл от anonymous

настоящие хипстеры

вот они, настоящие хипстеры

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

anonymous ()

C
CGI
tar.gz

Мсье знает толк в извращениях. А, хотя...

OpenBSD

Это всё объясняет.

anonymous ()
Ответ на: комментарий от KRoN73

Плохо для поисковиков (даже с учётом понимания Google JS), плохо для навигации

И то и другое - отлично, если руки из того места растут.

плохо для старых браузеров

В биореактор эти старые недобраузеры вместе с их юзерами.

wget'ов

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

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.