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

start [/forum/topic.php?fid=58&msg=39716198&tid=2040292]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
162ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 454ms |

| 0 / 0 |
