
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.10.2018, 08:38
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Приветствую! Имеется клиент-серверное приложение - чат. Обмен происходит строками, в которых присутствуют специальные разделители, определяющие части. В этих частях содержатся нужные сведения о типе сообщения, отправитель, получатель и т.п. Каждое такое сообщение, а именно строка при обработке разбивается и обрабатывается. При накручивании функционала, появляется необходимость добавления новых полей и др. Поэтому возникла необходимость предусмотреть масштабируемость схемы вцелом. Планирую создать нЕчто, хранящее необходимые сведения, к которым можно будет обращаться по имени типа Something.TypeID Something.Items[5].Username Something.Items[5].Nickname Полагаю, что если Record может содержать строки только заранее определенные в длине, то это не пойдет. В связи с этим вопрос - какую сущность выбрать? Object? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 08:41
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Давно уже придумано -- формат называется JSON. В делфи он есть из коробки, либо куча отличных бесплатных компонентов. Причем с ним еще и в самой делфи легко работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 08:49
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
JaDi, спасибо за совет. Организовано всё в Delphi 7. Надеюсь, не будет проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 09:00
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
А при чём здесь JSON? Для обмена - да подойдёт. А вопрос(я так понял) про оперативное хранение. Тогда да Объект и в TList его... Либо если действий с объектом не предусмотрено то и рекорда хватит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 09:13
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
И record может содержать строки любой длины(точнее ссылки на них) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 09:26
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
OxY63rusВ связи с этим вопрос - какую сущность выбрать? Object? Да. Надо сделать так: Код: pascal 1. 2. 3. 4. 5. 6. 7. OxY63rusПланирую создать нЕчто, хранящее необходимые сведения, к которым можно будет обращаться по имени типа Код: pascal 1. 2. 3. 4. Далее, может сериализовывать это в Json и из него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 09:29
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Valery_B, авторdelphi 7 автор TUserHolder = class TDictionary<string,TUserInfo> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 09:36
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
OxY63rusИмеется клиент-серверное приложение - чат. Сервер с базой данных или полностью самописный? OxY63rusПри накручивании функционала, появляется необходимость добавления новых полей и др. Поэтому возникла необходимость предусмотреть масштабируемость схемы вцелом.Масштабируемости велосипедом сразу достичь трудно. Хотя потом, вероятно, специализированный велосипед сможет стать лучше. Когда размер данных достигнет терабайтов. OxY63rusВ связи с этим вопрос - какую сущность выбрать? Object? sqlite Он умеет хранить данные в памяти, а не только на диске в файле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 09:38
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
авторdelphi 7 Скачать бесплатные Delphi Community Edition JaDi, Иначе TDictionary надо будет переводить на её аналог в D7 - TList / TStringList / TObjectList. Только головной боли больше в разы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 10:01
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Valery_B, THashedStringList, хотя ну не over 100500 пользователей же там ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 12:37
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Друзья, спасибо, что накидали идей. Valery_B, скорее всего пойду через создание класса, т.к. легче для восприятия. P.S. да клиент-сервер самописные на дельфийских ClientSocket и ServerSocket. бд не использую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 13:08
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
OxY63rus...появляется необходимость добавления новых полей и др. Поэтому возникла необходимость предусмотреть масштабируемость схемы вцелом. Планирую создать нЕчто, хранящее необходимые сведения, к которым можно будет обращаться по имени типа Something.TypeID Something.Items[5].Username Something.Items[5].Nickname Полагаю, что если Record может содержать строки только заранее определенные в длине, то это не пойдет. В связи с этим вопрос - какую сущность выбрать? Object? Используй СУБД. Например: SQLite, FireBird embedded. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 14:40
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
КотовасияИспользуй СУБД. Например: SQLite, FireBird embedded. Да нет, сразу Oracle enterprise, чего уж мелочиться-то! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 15:26
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Котовасия, хранящее не в смысле долгосрочного периода, а в смысле несущее в себе на данный момент времени. Ничего хранить не надо. Строка улетала, кому-то прилетела. Её надо обработать и забыть. Конечно базу данных разворачивать не буду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 15:33
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
OxY63rusКотовасия, хранящее не в смысле долгосрочного периода, а в смысле несущее в себе на данный момент времени. Ничего хранить не надо. Строка улетала, кому-то прилетела. Её надо обработать и забыть. Конечно базу данных разворачивать не буду "Хранить не надо, передавать не надо". И зачем тебе обращаться "по имени типа" в рантайме? Пусть "имя типа" в компайлтайме живет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 15:35
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Василий 2КотовасияИспользуй СУБД. Например: SQLite, FireBird embedded. Да нет, сразу Oracle enterprise, чего уж мелочиться-то!Hadoop! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 15:42
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Альтернатива JSON - суровый XML с XPATH-ом и дамами лёгкого поведения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 16:23
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
DimonkaАльтернатива JSON - суровый XML с XPATH-ом и дамами лёгкого поведения. нечего тут сказали хадуп, значит хадуп! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 16:34
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Котовасия"Хранить не надо, передавать не надо". И зачем тебе обращаться "по имени типа" в рантайме? Пусть "имя типа" в компайлтайме живет. Обработать имел в виду строку раскидать по полям своего класса. И ориентироваться на их имена, а не на индексы строковых массивов при обработке строки. Тот ещё говонокод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 16:35
|
|||
|---|---|---|---|
|
|||
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
Опять народ велосипеды изобретает. OxY63rus, ORM. Mormot к примеру. Масштабируется достаточно легко, упаковывает в JSON, шифрование, обмен через http(s), REST, авторизация, сам хостится и слушает указанный порт, держит кучу БД, еще поддерживается для D7(не точно) и т.д. Остается только описать модель и скормить это дело DB-серверу, а сам DB-сервер скормить http-серверу. На стороне клиента скормить модель http-клиенту. Останется только расставить CRUD-операции в нужных местах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2018, 16:43
|
|||
|---|---|---|---|
Сущность для хранения данных. Какаю выбрать? Record, Object ... ? |
|||
|
#18+
OxY63rusКотовасия"Хранить не надо, передавать не надо". И зачем тебе обращаться "по имени типа" в рантайме? Пусть "имя типа" в компайлтайме живет. Обработать имел в виду строку раскидать по полям своего класса. И ориентироваться на их имена, а не на индексы строковых массивов при обработке строки... Если у тебя формат уже задан - в чем вопрос? OxY63rus...Обмен происходит строками, в которых присутствуют специальные разделители , определяющие части... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2040292]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
162ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 472ms |

| 0 / 0 |
