@spblug

Страница 992 из 1075
Dan
04.03.2017
21:34:56
тут мало чего хорошего вообще в телеграме

Andrey
05.03.2017
03:45:59
В амстере, ёпт
А кто летает через Амстердам? И куда они летят, кстати?

Denis
05.03.2017
07:14:40
В амстере, ёпт
В амстере убогейший ерапорд

Google
Denis
05.03.2017
07:15:08
Dan
05.03.2017
20:07:44
среди нас есть гуру pgsql? а то в чате pgsql тишина, и меня игнорируют, а я хочу разобраться с нубским вопросом

Daniel
05.03.2017
20:08:16
ты задавай

Dan
05.03.2017
20:08:52
В одну простую табличку раз в 20 секунд у меня заходят данные. По старой привычке я добавил поле id (int4) и сделал его primary key. Тем не менее, этот id объективно не нужен, так как таблица ни с чем более не связана, редактирование и удаление записей не предусмотрено, а при добавлении идёт проверка на уникальность поля hash, где char(64). Правильно ли я понимаю, что: 1. id мне не нужен в данном случае вообще? 2. hash может и должен быть primary 3. hash должен индексироваться для лучшего (более быстрого) поиска 4. будет ли в данном случае регресс и ощутимый проигрышь в скорости работы?

скорость "роста" этой таблицы aprx. 100 тысяч записей в день

хэш это sha256 от конкатенации 4 элементов записи из разных полей для уникальности

а uuid там не подойдёт? :)

я не совсем в курсе подойдёт или нет: мне нужно при инсерте проверять, есть ли уже такая запись в таблице. on conflict do nothing соответственно

беглый гуглинг показал что хранение и сравнение в pgsql встроено в базовый функционал, но генерация всё равно на стороне. а раз так, то на мой взгляд (вполне возможно ошибочный) мне достаточно конкатенировать строки и вычислять хэш до инсерта, чтобы проверять уникальность записи

Daniel
05.03.2017
20:12:09
так а в чем вопрос-то?

Dan
05.03.2017
20:12:30
Правильно ли я понимаю, что: 1. id мне не нужен в данном случае вообще? 2. hash может и должен быть primary 3. hash должен индексироваться для лучшего (более быстрого) поиска 4. будет ли в данном случае регресс и ощутимый проигрышь в скорости работы?

Daniel
05.03.2017
20:13:22
1. не нужен 2. выглядит так, что да 3. unique предполагает индекс, так что выбора нет 4. при указанной нагрузке - нет

Dan
05.03.2017
20:13:50
отлично, огромное спасибо за ответ.

Google
Daniel
05.03.2017
20:14:28
я бы советовал считать хеш md5

эта функция считается плохой, но, на самом деле, для реальных данных я не видел на ней коллизий

Dan
05.03.2017
20:15:02
а, ну и второй вопрос как следствие: мне рассказали про uuid. но в чём выигрышь использования uuid перед обычным хэшем? кроме того, что в pgsql встроены функции сравнения uuid? я вполне обхожусь INSERT INTO и магической ON CONFLICT ... DO NOTHING

Daniel
05.03.2017
20:15:26
а md5 - это 16 байт, а 16 байт - это uuid

у меня есть проект, где я считаю md5, а потом делаю вид, что это uuid

очень кошерно выходит

Dan
05.03.2017
20:16:13
в условиях замкнутого использования данной таблицы более чем, благодарю за рекомендацию!

Daniel
05.03.2017
20:17:16
на постгресе uuid сам по себе не даст ничего - в нем есть для уникальных индексов есть sequence

я ушел спать

Dan
05.03.2017
20:20:03
спасибо еще раз, снов! ?

Daniel
05.03.2017
20:21:52
а, вот еще забыл

есть отличные хеш-функции crc32 и crc64

на своих данных я тоже не видал на них коллизий, но тут вероятнисть, конечно, повыше

Vladimir
05.03.2017
20:24:05
Я встречал на реальных случайных данных коллизии контрольных сумм. Там, правда, был Adler32

Dan
05.03.2017
20:27:14
Я не думаю что в моем случае одна потенциальная коллизия сломает статистику

Goletsa
05.03.2017
20:48:52
кто-нибудь знает толковый чат про Windows/драйвера? можно не RU
@winsiders по вин пока самый адекватный из тех что видел. но там царствует EULA и все такое

Dan
05.03.2017
21:01:46
в моей ситуации ранд не спас бы

Phil
05.03.2017
21:02:33
Я честно потерял нить "твоей" ситуации. Я про uuid

Dan
05.03.2017
21:03:22
uuid кстати можно плагином генерировать на стороне pgsql

Google
Dan
05.03.2017
21:04:56
"моя" ситуация очень проста. есть лист из N элементов. я такие листы раз в 20 секунд пишу в базу. в таблице, чтобы не возникало лишних дубликатов - мне нужно смотреть, была ли уже такая запись или нет.

Phil
05.03.2017
21:05:24
да честно не понятно зачем. более того, если тебе именно uuid по спеке не нужен, то это простой ранд

Dan
05.03.2017
21:05:35
я считаю хэш из некоторых элементов, и вношу результат в таблицу в отдельный столбец. который и является unique, ключом и индексом

я просто про uuid не особо знал. я в pgsql не сильно осведомлён

Phil
05.03.2017
21:06:19
а. ну да, тогда я не в кассу. вы там всё правильно пгооворили

Dan
05.03.2017
21:07:17
меня только терзают сомнения относительно md5, так его везде ругают ужасно, прямо зашквар какой-то его использовать. но с другой стороны, у меня система замкнутая, а хэш исключительно для проверки уникальности...

Phil
05.03.2017
21:17:56
Нил всё верно сказал

Я вот тут сделал oauth токены, которые base64 от рандома на 20 байт, да ещё и словарь каждые 16 запросов тасуется по рандому

Думаю упростить, потому что это ваще

Roman
06.03.2017
01:34:21
а md5 - это 16 байт, а 16 байт - это uuid
md5 надо закопать и забыть

Daniel
06.03.2017
02:31:46
Че вдруг-то?

Ты еще crc32 закопай

Vartan
06.03.2017
04:08:25
md5 надо закопать и забыть
Если тебе нужен некриптографический удобный хэш, реализованный на миллиарде платформ, md5 вполне подходит.

Phil
06.03.2017
06:23:48
Кстати, а что быстрее - взять 16 рандомов или сосчитать md5 от чего-нибудь небольшого?

Vartan
06.03.2017
06:32:45
Что значит "взять 16 рандомов"?

вызвать random() 16 раз?

Phil
06.03.2017
06:42:20
честно не смотрел внутрь функций. я так понимаю они все читают так или иначе из /dev/[u]random. в Go например он вообще просто тебе массив может заполнить

Vartan
06.03.2017
06:43:26
В /dev/random оно смотрит только для seed'а. Дальше оно пользуется prng из стандартной библиотеки. Иначе бы энтропия очень быстро кончилась.

Phil
06.03.2017
06:46:12
короче заполнить 16 байт через rand() (в зависимости от того, как он там реализован) или md5 сделать?

Google
Vartan
06.03.2017
06:47:58
Я не очень понимаю, что тебе нужно. Хэш или 16 случайных байт?

Denis
06.03.2017
06:51:22
Phil
06.03.2017
06:53:40
мне нужен уникальный идентификатор

Denis
06.03.2017
06:56:52
мне нужен уникальный идентификатор
Так уникальный или который зависит от данных?

Phil
06.03.2017
06:57:04
блять

не еби мозг. мне интересно, что быстрее. зачем - просто забудь

Белая Стрекоза
06.03.2017
07:27:38


Alexey
06.03.2017
07:36:19
Ну вместо данных костыли всё же быть не могут ?

Admin
ERROR: S client not available

Vartan
06.03.2017
07:59:31
Wartans-MacBook-Air:~ wart$ python ./try.py 0.00918388366699 0.00977396965027 Wartans-MacBook-Air:~ wart$ cat ./try.py import timeit print (timeit.timeit(""" import md5 m = md5.new() m.update("Kulin zanuda") m.digest()""", number = 1)) print (timeit.timeit(""" import random random.seed() for i in range(15): random.random()""",number=1))

Phil
06.03.2017
08:14:29
белый шум, ок

Alex
06.03.2017
08:21:44
Трай пай

Трай пай тудэй

Невер трай пай эт хоум

Vartan
06.03.2017
08:30:23
Трюки выполнены профессионалами, бгг

Andrey
06.03.2017
08:30:53
трай пай, дай ианг!

Roman
06.03.2017
08:31:01
Трюки выполнены профессионалами, бгг
Не пытайтесь повторить их дома

Andrey
06.03.2017
08:31:10
это уже чистяков сказал

Roman
06.03.2017
14:36:54
https://www.blackhat.com/eu-16/speakers/Elena-Reshetova.html

Google
Roman
06.03.2017
14:50:19
https://stosb.com/blog/explaining-my-configs-nftables/

Белая Стрекоза
06.03.2017
20:10:04
http://wstaw.org/m/2017/03/03/Screenshot_20170303_121849.png

хвастался уже?

Gregory
06.03.2017
20:33:22
Uncel
06.03.2017
20:36:04
z13 нет?

Dan
06.03.2017
20:40:23
люди, Крис Касперски погиб

Phil
06.03.2017
20:41:26
Это кто?

Karter
06.03.2017
20:41:36
Оу. Пруф?

Dan
06.03.2017
20:41:40
лучший хакер

в хорошем смысле слова хакер

Погиб чертовски талантливый хакер, которого все знали как Крис Касперски, он же Мыщъх. http://rsdn.org/forum/life/6717583.1 http://www.news-journalonline.com/news/20170213/sky-diver-injured-in-deland-remains-hospitalized

Karter
06.03.2017
20:43:39
В русском сегменте пока тишина.

Dan
06.03.2017
20:44:29
да, но инфа уже расходится. блин, это обидная потеря

Karter
06.03.2017
20:44:40
Да. (

Vladimir
06.03.2017
20:53:38
Да ладно? Он никогда не был скайдайвером, он стрелять любил

Karter
06.03.2017
20:59:32
Хз, его ли это канал...

Vladimir
06.03.2017
21:00:22
Во-во. Фоточка вроде его...

Может, это очередной способ исчезнуть...

Karter
06.03.2017
21:00:51
Ну, на видео, вроде тоже похож.

Vladimir
06.03.2017
21:01:43
У нас завтра наверняка обсуждать будут, посмотрим...

Страница 992 из 1075