Size: a a a

2020 June 25

DM

Damir Mukhametgalin in Astana JKUG
круто конечно, где-то видел РКА, но не помню где))
источник

IP

Ivan Priimak in Astana JKUG
Насколько мне известно РП ДРН не инетгрирован с ИС АР, поэтому у них только свои МВД-шные коды, КАТО тоже нет у них. ГБД ФЛ в себе содержит только те данные, которые им передает РП ДРН
источник

N

N+im+n in Astana JKUG
Baur Alzhanov
"regAddress": {
               "nameRu": "АЛМАТЫ",
              * "code": 1910*
правда 2014 года файлик
источник

N

N+im+n in Astana JKUG
ФЛу нужно на АР переехать
источник

BA

Baur Alzhanov in Astana JKUG
Круто спасибо. Это то что нужно. Если есть посвежее буду признателен.
источник

AK

Aybek Kokanbekov in Astana JKUG
Ivan Priimak
Насколько мне известно РП ДРН не инетгрирован с ИС АР, поэтому у них только свои МВД-шные коды, КАТО тоже нет у них. ГБД ФЛ в себе содержит только те данные, которые им передает РП ДРН
Иван, разве в 2016 не начинали? или так и забросили интеграцию с АР?
источник

N

N+im+n in Astana JKUG
N+im+n
ага, там много еще что оптимизировать можно:
- избавиться от int[] digits = new int[12];
- избавиться от взятия остатка в выражении  t = (i + 3) % 11;
- вместо substring использовать charAt
все-таки оптимизировал

https://github.com/Nyquest/iin_validator

Две версии валидатор ИИНа: старая и оптимизированная.

С 17 миллионами ИИН OldValidator справился за ≈ 50 секунд, FastValidator справился за ≈ 0.7 секунды.

Ускорение в 70 раз.
источник

AK

Abzal Kalimbetov in Astana JKUG
N+im+n
все-таки оптимизировал

https://github.com/Nyquest/iin_validator

Две версии валидатор ИИНа: старая и оптимизированная.

С 17 миллионами ИИН OldValidator справился за ≈ 50 секунд, FastValidator справился за ≈ 0.7 секунды.

Ускорение в 70 раз.
проверки не работают на 100%
источник

AK

Abzal Kalimbetov in Astana JKUG
Но такой подход к делу мне нравится
источник

IP

Ivan Priimak in Astana JKUG
Aybek Kokanbekov
Иван, разве в 2016 не начинали? или так и забросили интеграцию с АР?
Сейчас не могу точно сказать. Примерно год назад был на совещании в МВД, тогда они задавались вопросом интеграции с ИС АР, т.е. на тот момент точно не было интеграции и они не знали как начать из-за некоторых своих внутренних проблем с историческими адресами. Они хотели с помощью интеграции все автоматом синхронизировать. Мы по своему опыту им говорили, что 100% автоматом не получится. А как в итоге после у них продвинулись дела в этом направлении, я не вкурсе
источник
2020 June 26

AZ

Azamat Zhurtbayev in Astana JKUG
N+im+n
все-таки оптимизировал

https://github.com/Nyquest/iin_validator

Две версии валидатор ИИНа: старая и оптимизированная.

С 17 миллионами ИИН OldValidator справился за ≈ 50 секунд, FastValidator справился за ≈ 0.7 секунды.

Ускорение в 70 раз.
1. Попробуйте ещё строку сразу преобразовать в char[] - обращение к элементам массива работает быстрее чем вызов метода charAt, хоть и не на много.
2. После базовой проверки конвертните массив в byte[], чтобы считать было проще.
3. Проверку високосного года сделайте через полноценные числа, а то так сразу и не поймёшь, что там происходит.
источник

N

N+im+n in Astana JKUG
Azamat Zhurtbayev
1. Попробуйте ещё строку сразу преобразовать в char[] - обращение к элементам массива работает быстрее чем вызов метода charAt, хоть и не на много.
2. После базовой проверки конвертните массив в byte[], чтобы считать было проще.
3. Проверку високосного года сделайте через полноценные числа, а то так сразу и не поймёшь, что там происходит.
по 1-му пункту charAt быстрее, внутри String свой chars
источник

AZ

Azamat Zhurtbayev in Astana JKUG
N+im+n
по 1-му пункту charAt быстрее, внутри String свой chars
Эт смотря сколько раз вызывать. Всё-таки это вызов метода, который приводит к дополнительным операциям со стеком. Т.е. если сравнивать один вызов, то да, charAt будет быстрее, но если у вас charAt вызывается в три раза больше, чем вообще длина строки, то это будет медленнее. Но опять же - разница будет не велика на строке в 12 символов.
источник

N

N+im+n in Astana JKUG
Azamat Zhurtbayev
Эт смотря сколько раз вызывать. Всё-таки это вызов метода, который приводит к дополнительным операциям со стеком. Т.е. если сравнивать один вызов, то да, charAt будет быстрее, но если у вас charAt вызывается в три раза больше, чем вообще длина строки, то это будет медленнее. Но опять же - разница будет не велика на строке в 12 символов.
если String конвертить в char[]
через toCharArray(), то это дополнительное выделение памяти и замедление, что, мне кажется, хуже чем использование charAt. Обычно charAt всегда дает ускорение.
источник

AZ

Azamat Zhurtbayev in Astana JKUG
N+im+n
если String конвертить в char[]
через toCharArray(), то это дополнительное выделение памяти и замедление, что, мне кажется, хуже чем использование charAt. Обычно charAt всегда дает ускорение.
Чтобы не быть голословным, на выходных погоняю бенчмарки двух решений. Аж самому стало интересно. Будет ли профит на таких малых числах в масштабе миллиона иинов.
источник

N

N+im+n in Astana JKUG
Azamat Zhurtbayev
1. Попробуйте ещё строку сразу преобразовать в char[] - обращение к элементам массива работает быстрее чем вызов метода charAt, хоть и не на много.
2. После базовой проверки конвертните массив в byte[], чтобы считать было проще.
3. Проверку високосного года сделайте через полноценные числа, а то так сразу и не поймёшь, что там происходит.
по 2-му пункту не очень понял идею, массивов не осталось.
по 3-му пункту главное было ускориться)
источник

AZ

Azamat Zhurtbayev in Astana JKUG
N+im+n
по 2-му пункту не очень понял идею, массивов не осталось.
по 3-му пункту главное было ускориться)
В общем на выходных сделаю эти решения и погоняю тесты. Там будет видно, есть ли смысл в моих словах или это просто бред.
источник

N

N+im+n in Astana JKUG
Abzal Kalimbetov
проверки не работают на 100%
проверки работают, просто ИИНы некорректные выдает ФЛ, как ты мне написал (даты рождения некорректные и даже контрольные суммы).
Поэтому в реальных проектах лучше только проверять на 12 цифр и все
источник

TN

Timur Nurmagambetov in Astana JKUG
N+im+n
проверки работают, просто ИИНы некорректные выдает ФЛ, как ты мне написал (даты рождения некорректные и даже контрольные суммы).
Поэтому в реальных проектах лучше только проверять на 12 цифр и все
проверки работают, только результат ничего не значит)
источник

ES

Eugene Svalukhin in Astana JKUG
N+im+n
проверки работают, просто ИИНы некорректные выдает ФЛ, как ты мне написал (даты рождения некорректные и даже контрольные суммы).
Поэтому в реальных проектах лучше только проверять на 12 цифр и все
законом структура оговорена только для БИНов, так что я не знаю на основе какого закондательного акта вы проверяете структуру ИИНа. Вообще ИИН - это сейчас просто рандомно сгенерированный id у которого есть один признак - контрольный 12 разряд. То что в МВД используют алгоритм который они там лет 20 назад придумали и не переписали, не означает что завтра он может не поменяться
источник