Size: a a a

Эликсир и Вунш

2019 August 28

SS

Sergey Samokhvalov in Эликсир и Вунш
там где range queries нужны и порядок id важен)
источник

AB

Alexey Bolshakov in Эликсир и Вунш
там все было хуже. оно сразу не работало и это было видно даже без тестов )
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
впрочем, если int-ы не компрессить в бинари, и пара лишних бит погоды не сделает, можно там наверное запилить sparse структуру, ну типа прибавлять не 1, а 10
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
в итоге можно будет вставлять где-то в середину
источник

SM

Sergei Maximov in Эликсир и Вунш
Дамы и господа, а с помощью чего вы генерируете/пишете документацию HTTP API для Plug (Phoenix) проектов?
источник

D

D in Эликсир и Вунш
В книге “Marx B., Valim J., Tate B. - Adopting Elixir - 2018” предлагают вот такую штуку для документации api:
https://github.com/api-hogs/bureaucrat
источник

D

D in Эликсир и Вунш
сам не пробовал еще, пока руками в вики гитлаба пишу)
источник

SM

Sergei Maximov in Эликсир и Вунш
D
В книге “Marx B., Valim J., Tate B. - Adopting Elixir - 2018” предлагают вот такую штуку для документации api:
https://github.com/api-hogs/bureaucrat
Спасибо, попробую!
источник

AB

Alexey Bolshakov in Эликсир и Вунш
Sergey Samokhvalov
вообще, если на то пошло, там есть очень крутые штуки, которые я опять же предлагал в чате, но их никто (у кого я спрашивал) не реализовал — PHS
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
энто не то )
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
т.е. смотри, просто хеши — это одностороннее преобразование в менее мощное множество. perfect hash — это по сути взаимно-однозначное соотвествие
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
то есть для набора строк (a1, a2, a3, ..., an) ищется такая хеш-функция H(s), чтобы H(ax) было уникальным
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
и отсюда появляется возможность обратного преобразования
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
ну если грубо говорить, то вот ты можешь "заметить", что в данном множестве на самом деле достаточно не всех 10ти букв в каждой строке, а можно всего лишь взять символ по смещению 1, 5, 8 и получить уникальное число
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
разумеется, в общем случае они строятся не так, и сложность алгоритма там довольно большая, n^3 чтоль, я не помню точно
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
но смысл в том, что вот за долгое время на преподготовку ты именно что получаешь таблицу, способную преобразовывать в обоих направлениях
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
причем делается это очень быстро. быстрее, чем две map-ы или эти все новомодные radix-tree
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
конечно, в большинстве случаев они нахрен никому не нужны, т.к. словари все таки меняются, а если словарь небольшой, то плюс-минус там 10-15% производительности особо никому не нужны, но вот в данном-конкретном случае оно может пригодиться) перфекционисту, по крайней мере))
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
ну а phash — это, очевидно, что-то тпа crc32, главное там что можно передать этот хеш на другую машинку, видимо, и он будет иметь то же самое значение
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
все таки n^2 вроде сложность. но тут лучше преувеличить, т.к. в целом перестройка действительно довольно тяжелая, константы там тоже приличные
источник