4 / 4 / 0
Регистрация: 13.07.2021
Сообщений: 49
NASM

CMS на NASM

15.04.2024, 16:29. Показов 1261. Ответов 9

Студворк — интернет-сервис помощи студентам
Добрый день всем. Решил я тут создать cms на ассемблере под linux. Не пытайтесь меня отговорить, это не лечится).
Во-первых, я реально люблю асм, он мне нравится как язык; во-вторых, я очень хочу глубоко разобраться. Я копнул в
алокацию памяти, поработал с brk и сокетами из nasm'а, я уверен, что хороший зрелый проект прокачает меня очень сильно.
Придётся много чего посмотреть, много куда залезть, огромная зона для исследования.

Теперь к сути. Проблема у меня довольно глобальная - архитектура. Это то, на чём я засыпался, когда стажировался, да и так
до сих пор я с этим делом до конца не разобрался. Ок, я умею форкать дочерние процессы, умею слушать сокеты и даже
загружать веб страницы, могу выделить динамически память, если надо будет для како-то переменной... И чё? А вот толку?
Как это всё вместе собрать - для меня не очевидно.

Я примерно понимаю, как работает wp, а также как пишутся свои cms на php. Я так понял, что глобально cms'ки состоят из 2
частей: одна для админке и записи в БД, вторая - обработка запросов, проверка и выдача нужной инфы. Также на серваках
стоят интерпретаторы php, так что там можно через скрипт перенаправлять запросы. Как я понимаю, у меня будет отдельная
программа для этого.

До чего я додумался сам:

1). Через htaccess или что-то вроде того я перенаправляю get-запросыл на процесс.
2). Процесс слушает сокет на определённом ip и порту.
3). Как только приходит запрос, он его принимает и отдаёт на откуп дочернему процессу, а сам возпращается слушать.
4). Дочерний процесс проверяет запрос на валидность, проверяет, достаточно ли прав, связывается с БД, вставляет нужные
элемены в нужные места и отдаёт в ответ фалы html и css. Потом закрывается закрывает соединение и сам завершается.
5). Есть веб-интерфейс админки, там происходит редактирование и добавление контента.

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

Всем добра и хорошего дня.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.04.2024, 16:29
Ответы с готовыми решениями:

[NASM] Ошибка "nasm error more than one input file specified type"
Начал изучать ассемблер сделал все как в методичке и зашел в тупик значит скачал я от сюда инстал файл NASM...

Можно ли использовать темы для CMS без самой CMS?
Можно ли использовать темы для CMS без самой CMS? Конкретно, вот эту: для WordPress, тема очень понравилась, но использовать сам wordpress...

Ошибка при поисковом запросе (OUR-CMS бесплатная CMS на файлах)
Прошу помощи исправления ошибки. (OUR-CMS бесплатная CMS на файлах, ссылка на оф сайт http://ourcms.info/) ...при поисковом запросе...

9
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8665 / 4502 / 1670
Регистрация: 01.02.2015
Сообщений: 13,931
Записей в блоге: 13
15.04.2024, 16:47
По алгоритмам, думаю, лучше спросить в соответствующем разделе
https://www.cyberforum.ru/cms/

Создайте тему и там - это не будет нарушением Правил форума (кросспостингом), т.к. темы в разных разделах.
0
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
15.04.2024, 17:02
Твоя проблема скорее всего в этом:
Цитата Сообщение от Uko1ove Посмотреть сообщение
Как это всё вместе собрать
Тебе не нужно что-то брать и собирать вместе с остальным. Сейчас у тебя всё сводится к комбинированию того, о чём ты где-то узнал. Но это не имеет смысла. Простой пример:
Цитата Сообщение от Uko1ove Посмотреть сообщение
связывается с БД
под БД ты 99% имел ввиду рсубд. А ты ответил себе на вопрос зачем тебе вообще нужна рсубд? Я не вижу никаких причин для использования этого, а вот недостатки вижу. Что тебе нужно? Обрабатывать/хранить какие-то данные. Где ты можешь эти данные обрабатывать? В памяти. Где можешь хранить? На диске. В ядре уже есть эта функциональность - mmap. Это максимально просто/гибко/быстро/удобно - никакой бд в твоём понимании здесь не нужно. Ты не на пхп пишешь.

Поэтому тебе просто нужно представлять, как то, что ты хочешь сделать, может быть реализовано, а далее искать наиболее близкое к этому решение.
1
4 / 4 / 0
Регистрация: 13.07.2021
Сообщений: 49
15.04.2024, 18:10  [ТС]
Цитата Сообщение от mashmed135 Посмотреть сообщение
Обрабатывать/хранить какие-то данные. Где ты можешь эти данные обрабатывать? В памяти. Где можешь хранить? На диске. В ядре уже есть эта функциональность - mmap. Это максимально просто/гибко/быстро/удобно - никакой бд в твоём понимании здесь не нужно. Ты не на пхп пишешь.
Поэтому тебе просто нужно представлять, как то, что ты хочешь сделать, может быть реализовано, а далее искать наиболее близкое к этому решение.
Благодарю. Да, я заню про mmap, но как-то не подумал, что могу обойтись без СУБД. Благодарю. Я в низкоуровневом (или около низкоуровневом) программировании недавно, но так кайфую от него, что просто не передать. А вообще алгоритм, описанный мною выше, имеет место быть? Нормально будет так реализовать взаимодействие?
0
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
15.04.2024, 18:29
Цитата Сообщение от Uko1ove Посмотреть сообщение
Нормально будет так реализовать взаимодействие?
Ну там в остальном всё те же элементы(включая этот вопрос). Но в целом, если ты пишешь с целью разобраться/попробовать, то нормально.
1
4 / 4 / 0
Регистрация: 13.07.2021
Сообщений: 49
15.04.2024, 18:32  [ТС]
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
По алгоритмам, думаю, лучше спросить в соответствующем разделе
Спасибо, не думаю, что мне это поможет. Дело в том, что почти все cms написаны на php, а это всё же высокоуровневый язык программирования притом скриптовой. Я почитал темы там, прежде чем отнимать у людей время. Есть там вопрос по поводу того, как работает WordPress, так там куча ответов, типа, магия и т.п.

Также есть тема, как создать свою cms, всё в итоге свелось к тому, что лучше писать на известных, т.к., кроме вас, никто не сможет их поддерживать. Мне же надо мнение людей, который знакомы с низкоуровневым программированием. Вот товарищ mashmed135 задал вопросы, о которых я даже не подумал, хотя знаю об инструментах, о которых он писал, в итоге подкинул пару идей. У меня не так много опыта в низухе, я неадекватен пока ещё в суждениях. Мне надо понять, правильно ли я двигаюсь, либо человек скажет, что я делаю много лишнего, подскажет, в чём не прав и аргументирует (как это сделал mashmed135).

Но всё равно спасибо за ваше время, что не прошли мимо. Я ещё полистаю темы в разделе cms, вдруг чего полезного напишут.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
16.04.2024, 09:29
Цитата Сообщение от Uko1ove Посмотреть сообщение
Дело в том, что почти все cms написаны на php, а это всё же высокоуровневый язык программирования притом скриптовой
Необязательно на Подфоруме Вебмастеров, можно посоветоваться по разработке CMS и серверов
в других разделах программирования
https://www.cyberforum.ru/programming-theory/

https://www.cyberforum.ru/cpp-linux/

Цитата Сообщение от Uko1ove Посмотреть сообщение
знаю об инструментах, о которых он писал, в итоге подкинул пару идей. У меня не так много опыта в низухе
Вам нужно с уровня инструментов, системных вызовов и сокетов подняться до уровня задачи.
А для начала сформулировать задачу на русском языке так, как Вы её понимаете, не углубляясь в решение.
Что есть CMS?
Что она делает?

Секрет применения "низкоуровневых" средств в том, чтобы используя их возможности, в итоге максимально повысить уровень своей программы, оставаясь в рамках требований и ограничений.
Сервер на уровне сокетов и соответствующий системных вызовов получится примерно одинаковым, что бы Вы не использовали: Фортран, perl, nasm или вообще средства не ориентированные на какой-либо конкретный язык.
1
4 / 4 / 0
Регистрация: 13.07.2021
Сообщений: 49
16.04.2024, 09:49  [ТС]
Благодарю. Почитаю ссылки.

Цитата Сообщение от politoto Посмотреть сообщение
Вам нужно с уровня инструментов, системных вызовов и сокетов подняться до уровня задачи.
А для начала сформулировать задачу на русском языке так, как Вы её понимаете, не углубляясь в решение.
Что есть CMS?
Что она делает?
Просто с этим у меня как раз и проблемы: абстракция в голове есть, а вариантов конкретной реализации не так много. В любом случае буду двигаться дальше, по ходу дела выйду куда-нибудь. Сроков у меня нет, на деньги не поставят за ошибки. Буду исследовать.
Спасибо
1
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
16.04.2024, 11:33
Вот и изложите абстракции из головы.
Пусть не только у Вас будут.
0
420 / 311 / 113
Регистрация: 28.08.2013
Сообщений: 848
15.10.2024, 14:31
Цитата Сообщение от Uko1ove Посмотреть сообщение
1). Через htaccess или что-то вроде того я перенаправляю get-запросыл на процесс.
Зачем использовать web-сервер Apache (htaccess), если процесс и так будет слушать IP и PORT?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.10.2024, 14:31
Помогаю со студенческими работами здесь

Написание собственной CMS. Правильная разработка структуры CMS
ВСЕМ ПРИВЕТ Нужна ваша помощь. У меня стоит задача сделать самописную СМS(или движок). Я признаться имею весьма не полное...

Какой локальный сервер можно установить для CMS Drupal и какую версию CMS выбрать
Подскажите, пожалуйста, какой локальный сервер можно установить для CMS Drupal и какую версию CMS выбрать? Если можно, подскажите где можно...

Моя мини CMS - Template CMS
Решил написать вот такую маленькую CMS не требующую СУБД (MySQL, PostgreSQL и тд...) Template CMS Предназначение: сателлиты,...

CMS или шаблон к CMS
Есть ли CMS или шаблоны в таком духе, как на картинке?

Какую cms можно использовать и как cms и синхронно, как конструктор сайтов?
Какую cms можно использовать и как cms и синхронно, как конструктор сайтов? Хочу создавать сайты, как в uCoze, но на норм хостинге.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru