All streams
Search
Write a publication
Pull to refresh
2
0
Алексей Николенко @Alex-Nik

Инженер-разработчик

Send message

Спасибо за ваш комментарий и проявленный интерес к статье! 😉

Раздел про биометрические данные лучше удалить

Знаете, у меня тоже иногда возникает желание удалить кое-что… например, строчку кода, которая стала причиной бага, обнаруженного в 2 часа ночи. Но, как гласит народная мудрость, из песни слов не выкинешь (а из статьи – разделов). «Бабушки у подъезда» – это же кладезь народной мудрости и, между прочим, алгоритм "узнавания по походке" тоже серьёзный биометрический инструмент! 😄 Но если серьёзно – раздел, конечно же, можно дополнить и улучшить. Возможно у вас есть, что предложить? "... критикуешь – предлагай ...!" (с) Я с превеликим удовольствием добавлю в статью ваши наработки по теме биометрии!

знатные русофобы (sourceafis)

Ох уж эти ярлыки в наше неспокойное время! SourceAFIS – это, в первую очередь, библиотека с открытым исходным кодом (open-source) для распознавания отпечатков пальцев, причем имеющая реализации на Java. Видимо, «русофобия» проявляется в том, что она не на 1С написана? 😉 Но если отбросить шутки, то политику и технологии лучше не смешивать. Есть факты, которые указывают на то, что именно алгоритм (а не разработчик) проявляет признаки "русофобии"? С интересом ознакомлюсь.

Смешать OpenCV и Megamatcher

Каюсь, грешен, немного увлёкся. 😅 Это как в кулинарии: иногда хочется добавить в блюдо всего и побольше. OpenCV – это, действительно, библиотека компьютерного зрения общего назначения, эдакий "швейцарский нож" для обработки изображений. А Megamatcher – это уже профессиональный SDK, "набор инструментов", предназначенный для создания сложных мультибиометрических систем (включая, но не ограничиваясь, матчинг). Вы абсолютно правы: OpenCV предоставляет базовые возможности, а Megamatcher предлагает специализированные, оптимизированные (и закрытые) алгоритмы для решения конкретных задач. Учту ваше замечание и постараюсь в дальнейшем чётче разграничивать эти инструменты. (Если, конечно, сообщество Хабра не решит, что мои статьи тоже пора "удалить"! 😂)

В заключение хочу ещё раз поблагодарить вас за конструктивную критику. Статья обзорная, и, разумеется, невозможно в одном материале объять необъятное. Замечания сообщества ценны и помогут мне сделать статью лучше!

Спасибо за развёрнутый комментарий! Рад, что статья вызвала живую реакцию и послужила поводом для столь детального разбора. 😊

По поводу "смешались в кучу кони, люди" – да, возможно, есть немного. Статья и не претендует на звание фундаментального труда, скорее, это попытка "взглянуть с высоты птичьего полёта" на данные в контексте Java-разработки, попутно затронув и основы.

Что касается конкретных замечаний:

  • double и финансы: Согласен, использовать double для финансовых расчётов – не лучшая идея из-за особенностей представления чисел с плавающей точкой. Тут стоило бы упомянуть BigDecimal для точных вычислений.

  • Queue и FIFO: Вы абсолютно правы, Queue в Java – это интерфейс, и он не обязан быть FIFO. Есть, например, PriorityQueue, где элементы упорядочиваются по приоритету, и LIFO-очереди (стеки). В тексте, дай бог памяти, имелось в виду "как правило", но формулировка неточная.

  • ArrayList и O(n^2): Здесь, конечно, ошибка. Доступ к элементу ArrayList по индексу – это O(1), так как внутри используется массив. O(n^2) – это, скорее, про неудачный алгоритм поиска внутри списка.

  • Ranges: Да, Guava's Range может работать с любыми типами данных, для которых определено сравнение, не только с числами.

  • Sequences: Тут, видимо, вышло недопонимание. Sequence упоминается как струкутра данных в общем. А в Java, Streams и Sequences из Kotlin, решают похожие задачи.

В общем, есть над чем работать! Спасибо за ценные замечания, обязательно учту их в будущих публикациях. А долги зимней сессии – да, надо закрывать, кто же спорит! 😉

Да, обязательно добавлю. Вот только разберусь как это сделать корректно.

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Lead