169 похожих чатов

Народ, можна якось відсортувати записи з GUID в порядку вставляння

(наприклад, першим буде відображатись останній вставлений),
але без використання допоміжного поля (якогось числового чи datetime) ?
Тобто, чи можна якось відсортувати чистий GUID, а не комбінацію GUID + допоміжне поле ?

35 ответов

65 просмотров

Sorting Behavior: DateTime sorts chronologically. If you have a series of DateTime values, sorting them will arrange them from the earliest to the latest (or vice versa, if you choose descending order). Guid does not have a semantic order. Sorting a list of Guid values doesn't produce a sequence that's meaningful in terms of when those GUIDs were created. They will be sorted based on their underlying byte values, which doesn't correlate with the time of generation. (c) ChatGPT

Тож ні, без datetime поля тобі не обійтися ніяк

Тобі не GUID тоді потрібен. Подивись на https://github.com/Cysharp/Ulid

І-М Автор вопроса
Andrii Kurdiumov
Тобі не GUID тоді потрібен. Подивись на https://gi...

Тобто, на стороні клієнта замість Guid генерувати Ulid і вже його записувати в базу як первинний ключ ? Ulid забезпечує таку ж унікальність як і Guid ?

І М
Тобто, на стороні клієнта замість Guid генерувати ...

Так. Моя ідея така була. Ну і звісно Іван мабуть також гарну ідею дає

І М
Тобто, на стороні клієнта замість Guid генерувати ...

на стороні клієнта краще нічого не генерувати бо є "пустотливі ручки")

просто що тоді буде заважати комусь, типу мене, ручками пакети генерувати і ламати все підряд?)

Waffle ᠌
просто що тоді буде заважати комусь, типу мене, ру...

Що будь кому заважає брати биту і всіх бити?

Andrii Kurdiumov
Що будь кому заважає брати биту і всіх бити?

те що ламати айтішні сервіси веселіше 😁

Waffle ᠌
те що ламати айтішні сервіси веселіше 😁

Якщо на місті праці зламаєш через грубу недбалість я ось хз як відреагують

Waffle ᠌
те що ламати айтішні сервіси веселіше 😁

а потім тицяти їх носом що "у вас тут діра, ай яй яй"

Waffle ᠌
просто що тоді буде заважати комусь, типу мене, ру...

он коммент зі сттаті, типу такого про що я кажу якщо воно на стороні клієнта то ніщо не заважає мені закинути туди один і той же 2 рази підряд

Waffle ᠌
screenshot он коммент зі сттаті, типу такого про що я кажу як...

Де була рекомендація GUID юзати? Я впевнений що на Україні немає ні одного виробництва де ця ситуація можлива. Єдине де бачу це якісь транзакції у розетки/моб операторах/банках. Але пан ІМ не там працює

І-М Автор вопроса
Ivan Stellmann
NEWSEQUENTIALID() нє?

Каждый идентификатор GUID, сформированный с помощью функции NEWSEQUENTIALID, является уникальным на данном компьютере. Идентификаторы GUID, сформированные с помощью функции NEWSEQUENTIALID, становятся уникальными для нескольких компьютеров, только если в компьютере-источнике имеется сетевая плата. Отже, якщо десь в іншому місті на китайській мережевій з однаковим маком партії згенерили таким способом, то все ж існує рідкісна ймовірність співпадання ?

І М
Каждый идентификатор GUID, сформированный с помощь...

Яхз, просто припустив, воно ж наче скл сервером має генеруватися, якщо у вас база пер сервіс то очевидно вам таке рішення не підхрдить

Є лібка NewId від автора MassTransit. Вона базується на таймстемпі і ІД згенерені нею можна сортувати з врахуванням часу

Vladyslav Bardin
Є лібка NewId від автора MassTransit. Вона базуєть...

Варто зазначити, шо для проектів з високими реквайрментами по сєсуріті цю штуку не варто юзати

freddy fazbear dark
screenshot

Ну окей, у тебе ІД корелює з датою створення але в чому проблема?

Vladyslav Bardin
Чому? Які аргументи проти?

Їх не можна вважати секурними з точки зору криптографії https://stackoverflow.com/a/3653032 Якшо, наприклад, отака айдішка юзається як інпут для всяких секурних штук (багато надлюдей пхають айдішку в соль для хеша пароля, або підімшують її в чексуми), то це відкриває/спрощує потенційні вектори атаки

Olexiy Kulchitskiy
Їх не можна вважати секурними з точки зору криптог...

Взагалі вперше чую, щоб хтось пхав ІД в сіль чи чек-суми.. Дивна штука ІМО

Vladyslav Bardin
screenshot Схоже це поінт щодо всіх GUID/UUID лайк штук

З іншого боку якщо це просто ІД, яке не пхається в секурні штуки - думаю норм юзати, бо ми ж і так їх постійно світимо, коли через АПВІ

Vladyslav Bardin
Чому? Які аргументи проти?

Це створює величезну диру, хіба що пропустити через хеш сильний якийсь, але все одно дира залишиться

Так, дуже вже засмучує, що такі легкі помилки допускають

Станіслав ✙
Так, дуже вже засмучує, що такі легкі помилки допу...

Ну а чого очікувати, коли у них студенти за 3 копійки працюють..

Vladyslav Bardin
Ну а чого очікувати, коли у них студенти за 3 копі...

Ну я не думаю, що архітектурою таких питань студенти займалися, ось до тієї людини якраз є питання

Ну вставляй вперед гайд юнікс дату

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта