LINUX.ORG.RU
ФорумTalks

Идея безумного проекта типа «Тильды». Клёпка дешёвых сайтов.

 


1

1

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

  1. Делаем простой веб-язык, сильно проще ПХП. Язык без тенденций развиться в многостраничные абстрактные мультипарадигменные фабрики гетерогенно-волосатых оперденей, а который ограничивался бы наивной шаблонизацией с ветвлением и походами в примитивную key=value базу, встроенную в него же. Пример:
<body>
<h1>Hello, your name is {{ db.get("sids/$SID/name") }}</h1>
{{ if (db.get("flags/$SID/admin") }}
<h2>YOU ARE ADMIN</h2>
{{}}
</body>

То есть, язык умеет ходить в некую базу и ветвить куски HTML шаблона. Да, ПХП начинался так же, скажете вы, но этот должен на этом и закончиться или быть ещё проще, чем тут написано.

  1. Делаем транслятор данного «исходника» в пачку C++ файлов + Makefile, компиляция которого порождает один бинарь с вкомпилённым в него простым http-серваком, всей бизнес-логикой и всеми шаблонами, встроенной примитивной key=value базой (пишущей бинлог и индексные файлы на диск, которые легко и просрать и бекапить) и готово. Юзер тупо запускает этот бинарь с параметрами
./hellobugagawowdoge --listen 80 --listen 443 --cert certificate.pmx /path/to/writeaheadlogs/

на самой дешёвой индусской виртуалке за полкопейки и у него всё летает.

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

Прорывная идея: общение с базой сделать более смузи-высокоуровнево. Чтобы не просто get/set для нердов, а прямо setLike, getLikesCount, addComment, removeComment, editComment, countVisit.

Важно: в идеале юзер вообще не кодит.



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

Да оно вообще нафиг не нужно. Тебе нужно — переделывай и имплементируй. Уже начал или всё ещё ноешь?

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

Разрешаю написать простой иф по содержимому хидера Host

Но как, Холмс? Пользователь₁ делает сайт₁ и компилирует свой сайт в бинарник₁, отвечающий на домен₁. Пользователь₂ делает сайт₂ и компилирует свой сайт в бинарник₂, отвечающий на домен₂.

И как сделать так, чтобы они не подрались за 443 порт? Куда вставлять if(Host=Domain1)?

Единственный вариант вижу здесь я — повесить каждый бинарник на свой порт, а перед ним выставить всё тот же nginx. Так изобрели CGI.

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

А, ты про это. Изначально считалось, что автор блога купил себе виртуалку за 150 руб и запустил там свой бложек. А не организация бизнеса по продаже таких тильд.

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

CGI - это про какие-то variables по pipe, а тут как-то экологичнее: nginx будет только tcp-коннектилкой на разные backend-порты.

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

Это не имеет отношения к тому что лишний ЯП не нужен.

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

Теперь народ массово использует любую из «социальных сетей» для этих целей

Ну это кстати лишь видимость. Любой сколько-нибудь работающий регулярный проект придет к standalone. Да к тому же вордпрессу! А если человеку вдруг достаточно современных соцсетей - так ему значит всё равно, хоть в /dev/null пусть пишет (с моей точки зрения так оно уже и есть, FB == /dev/null, лишь бы людям создавалась иллюзия, что их графоманство «не пропадает», они и будут строчить почем зря)

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

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

ixrws ★★★
()

как пэгинацию делать на твоем языке? или бесконечную подргузку контента при прокрутке? Уже получается нужен JS, а это уже значит как минимум джуниор будет делать которому проще взять туже пыху для бэкенда

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

например как в вконтакте (я не про поиск) в сообществах вверху цифирьки есть - номер страницы и надо сказать годно.

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

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

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

как пэгинацию делать на твоем языке? или бесконечную подргузку контента при прокрутке? Уже получается нужен JS, а это уже значит как минимум джуниор будет делать которому проще взять туже пыху для бэкенда

Это твоя задача, как реализатора этого тильда-стартапа спродуцировать продукт, в котором есть пагинация. Нужна потребителю пагинация - ну делай, чё.

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

ну втаскивать в этот какую то cms какую то joomla! звиздец она не работает с sqlite во первых. Не не не эта хрень должна быть полностью самописной и без других cms.

XoFfiCEr ★★☆☆
()

возьми в качестве ЯП придуманный мной NLang (он очень простой) интерпретатор я сам напишу чтоб он работал, а компилятор в ELF я не умею пока.

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

Тогда это уже сильно усложняет недоязык шаблонизатор и провращает его в JS. Что не нужно

Юзер этого не видит. Просто жмет «да хочу пагинацию» и она там есть. Стандартный компонент.

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

Пагинация должна возникать автоматически если текстовый контент не умещается в выделенное ему пространство.

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

Пагинация должна возникать автоматически если текстовый контент не умещается в выделенное ему пространство.

Да это ясно. Это и есть стандартный компонент. Масса вариантов: хочу пагинацию, хочу <prev next>, хочу просто бесконечный скролл и т.п.

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

бесконечный скролл лучше не использовать😝 задалбывает, в контакте искал человека ввел данные и зажал page down но это же не удобно.

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

нафига на такой банальщине производительность? Мало того, не думаю что оно будет сильно медленее.

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

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

нафига на такой банальщине производительность?

  1. чтобы виртуалка стоила 50 руб или запускалось на тамагочи

  2. чтобы при этом всё дико летало, просто дичайше рекативно

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

На тарифе https://www.host-food.ru/tariff-order/#8 за 131 руб. в год, я уверен, прекрасно будет работать что-то вроде http://picocms.org/ или https://bauncms.com/

А сабж нужно самим компилировать, деплоить на виртуалку, которую ещё и админить самостоятельно придётся.

static_lab ★★★★★
()

Килоколян так и не понял, что эта система принесет больше геморроя чем профита, да и быстрее не будет.

Килоколян, за то время которое ты тут споришь - уже бы давно накидал свой бинарь, а я бы запустил тебе на него детсадовский стресс-тест чтоб он наконец сдох, а ты угомонился :)

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

Килоколян так и не понял, что эта система принесет больше геморроя чем профита, да и быстрее не будет.

Ну есть бинарь: http://fintank.ru:8080/s/test/last

Но там 20мс делается сложная и ненужная работа, можно отключить.

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

Дико дешевле по ресурсам.

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

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

мы не знаем, так норм. На самом деле я этот сает яндексу скормил, он мне уже прислал 20 замечаний. Но вот про закрывшийся боди он молчит

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

Ну тогда не «попросили», а «заказали» и за бабло ты движок допишешь.

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

Так не норм, ибо сайт надо валидировать. И doctype указывает какая именно версия языка разметки используется. Ты что из пыха все это делал? В цикле да? Это заметно по view-source.

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

Круто еще и СУБД самописная, не ожидал, но для клепки сайтов хватит и sqlite/mysql но с первой проще.

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

Он не про это, а про разные «Host:» в запросе http

Он про это. А тебе я уже сказал можешь делать (нет), а ты продолжаешь жопу мять на форуме.

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

го отдаёт контент после обработки за 3мс. И nginx отдаёт статику за столько же. Не вижу профита особо. Проблема веба в людях которые пишут на js и в желании в сайт всунуть фуллхд или 4к картинки :)

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