Syabro Автор темы 80 Опубликовано: 30 июня, 2015 (изменено) В общем вот и первая программа: ExDataBase (EDB) Эта программа представляет из себя простой и функциональный сервер базы данных. Он использует OpenNet для "общения" с клиентом. Сайчас поддерживается 3 команды: writeData - записывает любые данные с индексом readData - считывает данные с индексом register - создает новый файл данных Общение производится с помощью OpenNet библиотеки, команды передаются в виде сериализованной таблицы. Как использовать: Пример использования команды "writeData" opennet.sendrec("0ba.f13.4f5", serialization.serialize( { login = "Syabro" --имя файла с данным pass = "test" --пароль для доступа к файлу command = "writeData" --команда записи dataName = "userName" --индекс (название) данных data = "Alexandr" --собсно - данные } )) Команда "readData" opennet.sendrec("0ba.f13.4f5", serialization.serialize( { login = "Syabro" --имя файла с данным pass = "test" --пароль для доступа к файлу command = "readData" --команда чтения dataName = "userAge" --индекс (название) данных } )) "register" - эту команду нужно использовать для создания нового файла opennet.sendrec("0ba.f13.4f5", serialization.serialize( { login = "Syabro" --имя файла с данным pass = "test" --пароль для доступа к файлу command = "register" --команда регистрации newLogin = "LeshaInc" --имя нового файла newPass = "LeshaPass" --пароль для доступа к файлу } )) Функция "sendrec" используется потому что сервер возвращает ошибку или данные. Список сообщений которые возвращает сервер: "Sucessful register" - возвращает команда регистрации при успешной регистрации "Wrong command" - возвращает если команда не найдена "Wrong password" - возвращает если неправльный пароль команда "readData" возвращает просто данные Также сервер выводит на экран сообщения о том что были введены команды. В общем как-то так... Забыл упомянуть: пароль хранится как обычные данные с индексом "pass" так что его можно изменить командой "writeData" Изменено 30 июня, 2015 пользователем Syabro 3 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro Автор темы 80 Опубликовано: 30 июня, 2015 Вот хрень! Никто не знает как можно редактировать файловую систему жесткого диска робота у которого нет ни клавиатуры ни монитора? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov 34 Опубликовано: 1 июля, 2015 Ну можешь сделать жесты игрока, типо как он бегает перед роботом, то и выполнять. И я хочу присоединиться к разработке) В системе же будет дополнительное api для программ? Вот хрень! Никто не знает как можно редактировать файловую систему жесткого диска робота у которого нет ни клавиатуры ни монитора? Или еще, вроде, можно присоединить робота к компу, и с компа редактировать Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 1 июля, 2015 Общение производится с помощью OpenNet библиотеки, команды передаются в виде сериализованной таблицы. Зачем сериализация? На сегодняшний день OpenNet поддерживает передачу до пяти параметров в одном пакете. С внедрением сети второго поколения даже это ограничение будет снято. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro Автор темы 80 Опубликовано: 1 июля, 2015 И я хочу присоединиться к разработке) В системе же будет дополнительное api для программ? Конечно, сейчас там есть GML, моя библиотека и OpenNet библиотека. Зачем сериализация? Для индексации данных Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 1 июля, 2015 (изменено) Zer0Galaxy, не нравится сериализация, вся которая есть и в кк и в ок, вот только почему? Помню там в коде сериализации он делает load и этим можно код исполнять, но я проверял ничего не заметил, отправлял чистый print('hello world') ничего не выполнялось. P.S Zer0Galaxy, можешь сделать статейку написать, и показать чем она тебе не нравится, или это просто так. Изменено 1 июля, 2015 пользователем NEO Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 1 июля, 2015 Как показали последние исследования, десериализация совершенно безопасная. Однако, достаточно взглянуть на код библиотеки serialization, чтобы понять, что процедура сериализации довольно ресурсоемкая. Я стараюсь ее без лишней надобности не использовать. А применительно к задаче Сябро, я этой надобности пока вообще не вижу. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 624 Опубликовано: 1 июля, 2015 opennet.sendrec("0ba.f13.4f5", serialization.serialize( { login = "Syabro" --имя файла с данным pass = "test" --пароль для доступа к файлу command = "register" --команда регистрации newLogin = "LeshaInc" --имя нового файла newPass = "LeshaPass" --пароль для доступа к файлу } )) Меня упомянули! :З 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro Автор темы 80 Опубликовано: 4 июля, 2015 (изменено) Добавил еще одно сообщение в сервер "Wrong login" которое возвращается если сервер не нашел файл Также все файлы хранятся на отдельном от программы жестком диске + написал простую форму авторизации через сервер базы данных Нужно что бы в файле базы были данны с индексом "ExOSReg" и сами данные "true" Изменено 4 июля, 2015 пользователем Syabro Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 624 Опубликовано: 4 июля, 2015 Сяб, добавлять возможность за один раз общаться сразу с несколькими индексами, тем более ограничение в 8 килобайт для таких дел — простор. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro Автор темы 80 Опубликовано: 4 июля, 2015 Сяб, добавлять возможность за один раз общаться сразу с несколькими индексами, тем более ограничение в 8 килобайт для таких дел — простор. ну... я могу сделать не 1 комманду, а список... но как принимать данные... Придумал! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster 592 Опубликовано: 4 июля, 2015 ну... я могу сделать не 1 комманду, а список... но как принимать данные...Придумал! Сябро, реж программы по строкам. Я по своему блютузу даже банк тоторо отправлял. И добавлением, если её нет, команду получения твоих файлов. Будет тебе хостинг. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro Автор темы 80 Опубликовано: 4 июля, 2015 Сябро, реж программы по строкам. Я по своему блютузу даже банк тоторо отправлял.И добавлением, если её нет, команду получения твоих файлов. Будет тебе хостинг.в моей апи есть функция которая отправляет файл и получает построчно... Но мне не нужно резать программы... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster 592 Опубликовано: 5 июля, 2015 Упс. Мне почудилось, будто файлы более 8кб у тебя не отправляются. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TC1061 14 Опубликовано: 8 февраля, 2018 (изменено) Думаю, резать программы по строчкам как-то не правильно. А вдруг кто-то запихнет 9 килобайтов кода в одну строку? Лучше по килобайту считывать и отправлять P.S. кто-то может и по байту в строку положить Изменено 5 мая, 2018 пользователем TC1061 2 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
MisterFunny01 4 Опубликовано: 25 декабря, 2018 А вообще нахрена писать свою ОС, есть же MineOS 2 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 148 Опубликовано: 25 декабря, 2018 52 минуты назад, MisterFunny01 сказал: А вообще нахрена писать свою ОС, есть же MineOS Так-так-так... А кто у нас пару дней назад в чатике мечтал написать свою операционку? Что поменялось за это время? 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fronun 2 Опубликовано: 25 декабря, 2018 1 час назад, MisterFunny01 сказал: А вообще нахрена писать свою ОС, есть же MineOS во первых, чтобы была конкуретность, а во вторых MineOS это не ось, а граф.оболочка. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
MisterFunny01 4 Опубликовано: 25 декабря, 2018 46 минут назад, eu_tomat сказал: Так-так-так... А кто у нас пару дней назад в чатике мечтал написать свою операционку? Что поменялось за это время? Ну это только мечта, я тоже раньше хотел взять видеокарту MSI а потом сказал что MSI какаха. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS 1 900 Опубликовано: 25 декабря, 2018 2 часа назад, Fronun сказал: 3 часа назад, MisterFunny01 сказал: во первых, чтобы была конкуретность, а во вторых MineOS это не ось, а граф.оболочка. Эта фраза уже бичом нервов стала, а чертовы доморощенные эксперты-казуисты продолжают лезть изо всех дыр. Элементарная ОСь на платформе опенкомпов состоит буквально из нескольких сот строк кода, реализующих методы работы с файловой системой, позволяющих монтировать физические дисковые носители, грузить библиотеки по предустановленным путям, обрабатывать события и имитировать многозадачность. Все остальное - это графическая оболочка, в моем случае состоящая из десятка тысяч строк кода, вылизанных до предела, чтобы уложиться в строгие рамки ресурсов, выделенных под каждую виртуальную машину в кубаче. Интерфейс майноси с базовым прикладным софтом по типу проводника/настроек/пикчредакторов/магазинов/IDE мы писали с большой командой товарищей около четырех с фигом лет, постоянно его совершенствуя. Эксперимента ради я решил отвязать майнось от опеноси, сделав ее полностью независимой. Это заняло несколько часов. Ценой нескольких, мать их, часов, а также нескольких написанных либ суммарным объемом в две сотни строк майнось стала полностью удовлетворять определению "операционная система", загружаясь с очищенного от скверны жесткого диска и собственного EEPROM. Результат лежит на отдельном репозитории, законсервированный до лучших дней: https://github.com/IgorTimofeev/MineOSStandalone А теперь скажи мне, умник, не кажется ли тебе странным, что вся "ось" пишется на коленке за несколько часов, а "граф. оболочка" - пускай и не годами, но в значительно большие сроки? Может быть, термин "ось" переоценен, и основу современной интерфейсной операционной системы составляет все же графическая оболочка c прикладным софтом? Эх, мяу 4 3 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах