LINUX.ORG.RU

Как сейчас простые сайты для демонстрации работы программ (бекенда) пишут?

 , ,


0

1

Хотелось бы не углубляясь в дебри Web-разработки написать простой сайт для демонстрации работы некоторой разработки.

Пусть условно это будет поисковая система как по тексту, так и по картинкам (на самом деле не совсем, но чтобы не грузить подробностями условно так). Вводится текст и/или загружаются картинки, в ответ получается текст с картинками.

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

Что там сейчас для таких задач актуально под Linux? Apache, nginx, lighttpd + наверное какой-то .js? Или вообще Aspx .Net Core? =)

★★★★★

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

Если тебе нужна не просто демонстрация, а именно написать проект для работы с твоим поисковиком, то возьми генератор админок, или пакет для их создания, к Laravel есть много пакетов.

Ну или опять же, можно сделать админ панель к WordPress.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 3)

сайт для демонстрации работы некоторой разработки.

Разработчик этой разработки может разработать сайт на языке этой разработки :)

Нет ЯП, на котором можно сделать «разработку», но нельзя сделать простой сайт ))

Sniff
()

На каком языке твоя разработка?

Если твоя разработка на C++, то для демонстрации можно взять тот же Qt.

Если python то какой нибудь фреймворк для веббэка + голый html/js/css для демки волне хватит.

rumgot ★★★★★
()

Apache, nginx, lighttpd

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

подойдёт что угодно

Bad_ptr ★★★★★
()

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

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

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

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

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

Какую БД с постами?

Логика работы примерно такая:

- заходим на сайт. Вводим логин/пароль

- вводим слова в строку как бы поиска. Грузим на сайт картинку

- Жмем кнопку и ждем пару минут результата в виде картинки.

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

praseodim ★★★★★
() автор топика
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от Sniff

Как-то не хотелось бы одно с другим путать. Программа пусть будет чем-то отдельным достаточно автономным, вплоть до того, что фронтенд ее дергает через просто вызов на исполнение с возвратом результата в файле. Хотя как тогда юзера оповестить, что расчеты закончились? Периодически дергать проверку или что-то вроде xmlhttprequest ?

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

Думал у тебя типа Sphinx что то. Тогда WordPress тоже подходит, будет готовая авторизация, и возможность поставить под это дело плагины.

Если у тебя все совсем просто, и нужно что то полегче, то предлагаю авторизацию на стороне сервера по http, страничку на html формах, сервер на python3 flask к примеру.

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

В него вложено столько человекочасов, в разработку, отладку, и ты хочешь с нуля сделать быстрее и лучше? WordPress стоит брать тогда, когда он хорошо выполняет свою задачу.

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

Логика работы примерно такая

Писал на codeigniter 3 сокращатель ссылок, то есть, максимально все просто, авторизация да сохранение в бд, может вам подойдет как начало:

https://github.com/gsaone/simple-cutter-url

skidphysic
()
Последнее исправление: skidphysic (всего исправлений: 1)
Ответ на: комментарий от ddidwyll

Придраться можно к чему угодно, возьмем Svetle который ты рекомендовал, отсутствие классов, магические константы, однобуквеные переменные которые откомментированы одним нормальным названием, «leftpad'ы» в зависимостях, модификации глобальной области видимости, парсинг js регулярками, то есть типичный такой жс проект, который я бы даже сказал хуже чем WordPress, такие проекты обычно после npx create с офф.сайте никогда даже сами собраться не могут.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от praseodim

Ну твой вопрос можно упростить до «на чем написать простой сайтик с минимальным интерактивом».

Могу перечислить штук 30 языков программирования, которые одинаково хорошо подойдут для этого. Отдельно могу выделить лишь JS (+Node), так как писать шаблонизацию HTML в 2024 не на JS можно но зачем (но думаю найдется много желающих поспорить :))

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

Поэтому логично писать на том что знает программист.

Как-то не хотелось бы одно с другим путать. Программа пусть будет чем-то отдельным

Пусть будет отдельным. На том же ЯП можно к ней «веб-вызыватор» дописать - как отдельный проект - и все.

Sniff
()
Последнее исправление: Sniff (всего исправлений: 1)
Ответ на: комментарий от praseodim

заходим на сайт. Вводим логин/пароль

Не нужно, для демки сойдёт basic auth.

вводим слова в строку как бы поиска. Грузим на сайт картинку

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

Жмем кнопку и ждем пару минут результата в виде картинки

Итого нужно простой обработчик формы. Наклепай тупо на пыхе за 5 минут.

no-such-file ★★★★★
()
Ответ на: комментарий от praseodim

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

пусть вызов системный будет на бэке

Хотя как тогда юзера оповестить, что расчеты закончились?

Ну либо как отправка формы (тогда страница висит пока сервер не ответит), либо xmlhttprequest (fetch сейчас есть) будет висеть пока сервер не ответит, либо периодически звать fetch (если у тебя будет метод способный понять закончились расчеты, или нет).

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

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

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

такие проекты обычно после npx create с офф.сайте никогда даже сами собраться не могут

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

leftpad'ы в зависимостях

Покажешь где?

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

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

Некоторые мои утверждения ты можешь проверить посмотрев все файлы, и на это не уйдет много времени

grep -r 'class [A-Z]' src/  | wc -l
13

find src/ -name '*.js' | wc -l
105

Покажешь где?

Вот например ВЕСЬ код пакета «is-reference», там конечно еще есть описание и прочее, но это leftpad пакет из одной функции.

export default function is_reference (node, parent) {
	if (node.type === 'MemberExpression') {
		return !node.computed && is_reference(node.object, node);
	}

	if (node.type === 'Identifier') {
		if (!parent) return true;

		switch (parent.type) {
			case 'MemberExpression': return parent.computed || node === parent.object;
			case 'MethodDefinition': return parent.computed;
			case 'PropertyDefinition': return parent.computed || node === parent.value;
			case 'Property': return parent.computed || node === parent.value;
			case 'ExportSpecifier':
			case 'ImportSpecifier': return node === parent.local;
			case 'LabeledStatement':
			case 'BreakStatement':
			case 'ContinueStatement': return false;
			default: return true;
		}
	}

	return false;
}
Все выписывать у меня нет желания...

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

Конечно, там будет код намного хуже, библиотеки от жсеров, и основной код проекта от жсеров похуже.

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

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 3)
Ответ на: комментарий от MOPKOBKA

И это твои претензии к качеству свелте? Какие нафиг классы в компиляторе? Ты нашёл зависимость, в которой мало кода и которая никогда не попадёт в клиентский код, видимо где-то нашёл однобуквенную переменную (i?), проигнорировал всё остальное и сравнил по качеству с вордпрессом, серьёзно?

У меня слов нет, ты бредишь или издеваешься надо мной?

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

Какие нафиг классы в компиляторе?

Даже немного рассмеялся с такого вопроса, ну загляни в Clang, не знаю даже что тебе ответить.

Ты нашёл зависимость, в которой мало кода

Я нашел много leftpadов, да.

видимо где-то нашёл однобуквенную переменную

Нет, их очень много.

проигнорировал всё остальное

Это ты уже сам придумал.

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

Ладно разверну.

Каким боком clang к js? Зачем нужны классы в свелте? Тут вкусовщина, но зачем нужны классы в js-фронте? Покажешь где есть однобуквенная переменная и её смысл не очевиден? В чем проблема с is-reference, и как бы ты её решил, скопипастил к себе в проект? И как итог, в действительности плох ли код свелте или хорош?

можно взять любой язык, и будет тоже самое

Да, js не подарок, но на нём можно писать плохо, а можно и нормально. Я в основном пишу на эликсире и подавляющее большинство кода в популярных библиотеках (не говоря о самом языке) выглядит очень хорошо. Довольно много видел кода на го, и ничего страшного там не было (в популярных библиотеках). С пыхом слава богу общался недолго, но в целом, хорошего кода на нём не встречал. Поэтому считаю

хороший код это выдумка

просто отмазкой для самоуспокоения.

ddidwyll ★★★★
()
Последнее исправление: ddidwyll (всего исправлений: 2)
Ответ на: комментарий от ddidwyll

Ладно разверну.

Нет, ты просто написал вопросы.

Каким боком clang к js?

Вопрос был про компиляторы.

Зачем нужны классы в свелте?

Затем же, зачем и в других приложениях.

Тут вкусовщина, но зачем нужны классы в js-фронте?

Смотри ответ выше.

В чем проблема с is-reference, и как бы ты её решил, скопипастил к себе в проект?

google leftpad

просто отмазкой для самоуспокоения

Если бы существовал хороший код, то уже были бы программы, как cloc, но для подсчета плохих строк, и хороших. И можно было бы ее запустить, и она скажет, этот проект содержит 20% плохого кода, и 80% хорошего.

Покажешь где есть однобуквенная переменная и её смысл не очевиден?

Что мне это даст? Своего мнения ты не изменишь. Ты даже код не открывал. А когда я тебе показал что классов нету через то, что нельзя опровергнуть, ты начал рассказывать что это не показатель, и тебе уже нужны другие, хотя изначально ты не придирался.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 3)
Ответ на: комментарий от MOPKOBKA

когда я тебе показал что классов нету

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

google, leftpad

Так как бы ты решил эту «проблему»? Вот граф, для js-мира там всё прилично.

зачем и в других приложениях

Сейчас работаю над проектом, в котором 80к+ строк и там нет ни одного класса, никаких проблем не вижу.

Своего мнения ты не изменишь

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

Что мне это даст?

Возможно перестанет казаться, что ты юлишь.

ddidwyll ★★★★
()
Последнее исправление: ddidwyll (всего исправлений: 3)
Ответ на: комментарий от ddidwyll

Так как бы ты решил эту «проблему»?

Причем тут я?

Сейчас работаю над проектом, в котором 80к+ строк и там нет ни одного класса, никаких проблем не вижу.

Причем тут ты?

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

Я не думаю что могу описать весь свой процесс со всеми тонкостями, советую тебе оставить идею что то понять.

В общем я выписал проблемы svetle, их можно не признавать проблемами, так же можно не признавать проблем wordpress. Я тоже могу отвечать что у меня код не содержит классов, содержит глобальные переменные и проблем я тут не вижу, и вообще ничего кроме fortran 77 на бекенде не нужно.

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

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)

если простое приложение spring boot/quarkus с компиляцией в натив, если MVP проекта то портальное приложение под лайфрей. На фронте - вебкомпоненты. Остальное все по бень и диверсия для повышения эффективности работорговли.

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

Хочется чего-нибудь такого, чтобы поменьше вникать и полегче использовать =)

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

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

стоит ориентироваться на то, чтобы код не был слишком фимозным(например чтобы в нем не постулировать отрицание ООП или не было отчаянных манифестационных идей), а платформа/библиотеки слишком ковбойскими. Лучше продумать кейс когда вендор на которого вы завязываетесь становится недоступен.

Syncro ★★★★★
()

Для реализации бэк-энда пишете прикладную систему, которая умеет получать и обрабатывать запросы по сети. Сеть имеется в виду это запросы и ответы в формате JSON поверх HTTP, которое поверх TCP/IP. Параллельно, для фронтэнда нанимаете фрилансера фронтендера. И дело в шляпе.

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

Лучше продумать кейс когда вендор на которого вы завязываетесь становится недоступен.

Какой кейс, какой вендор? Нужно просто небольшой сайт чисто как демонстрация работы программы и не более того. Основное - это программа, веб-сайт в сущности обвязка для нее. Мог бы просто GUI сделать, но это нынче немодно и распространять неудобно, а тут ссылку кинул и все.

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

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

Просто хотелось бы под линукс, т.к. нет хостинга с виндой. Ну и вообще. =)

praseodim ★★★★★
() автор топика
Последнее исправление: praseodim (всего исправлений: 2)