VolgaVolga, надо посмотреть. Создайте exception в работе любого контроллера и посмотрите что в стеке. И по dependency надо глянуть. Я лет 5 со Spring уже не работал. Не знаю как оно щас. Но Tomcat уже вроде не обязателен. Это хорошо.
Вобщем грибокс внизу всё верно написал. Но боже мой почему авторы вопросов настолько ленивы что даже
не могут поставить задачу в терминах блок-схем, псевдо-языков или скечтей программ. Что им даёт эта
словесная гуманитарная болтовня? Будьте-же вы инженерами разработки а не тик-токерами туды вас в качель!
Есть две задачи. Одна - админская. Это используя tcpdump/wireshark и их шаблоны наблюдать за сетью и логать все в текстовый файл. Потом этот текстовый файл разбирать текстовыми утилитами grep, awk e.t.c.
И есть задач программирования которая более сложная и комплексная. Она требует на входе больше исходных данных. Например бинарного описания структур которые содержат IP, MAC.
Вот реши какой вариант тебе нужен. Просто если тебе будет достаточно админского подхода - то бери и пользуйся.
Тебе для решения этой задачи понадобиться часы который тикают раз в секунду. И функция которая вызывается раз в секунду. Это пожалуй самое сложное. Все остальное - просто как репа.
В языках программирования в 99% случаев хешом будет целое 32х битное число integer.
Хотя хеш функции определены для результата типа MD5, SHA1, SHA256 , но на практике нас будет интересовать простота применения. Атомарный тип удобнее чем byte-array.
Кроме того многие реализации хеш таблиц ограничены 32х битным числом части бакетов. Для Java это поряка 1 млрд. (2 << 30). И это ограничение я встречал даже 64х битных языках программирования. Видимо создатели решили что не найдется такого безумца который создаст больше 1 млрд бакетов.
Для моего кейса с социальными номерами всех жителей планеты Земля обычная Java HashMap не подойдет. Уже не будет масштабирования. Хотя мне сложно себе представить такую таблицу. В момент реорганизации она может потребовать в 3 раза больше памяти чем занимает.
Я не понимаю. Автор хочет чтобы мы взяли его код и воспроизвели в своих средах (ботах) базах?
Я не умею компилировать и запускать в уме. Для меня это слишком большое мозговое напряжение. И было-бы замечательно если-бы автор все таки написал что за проблема и что за ошибка.
И читай про SQL injection. Взял бота "из интернета" - это конечно хороший шаблон разработки но не забывай что баги и дыры там никто не фиксит. Грубо говоря всем пофиг на чужой забагованный сорс.
Для гугла уже нет никакого резона поддерживать SMTP. Им пользуются только владельцы толстых клиентов (таковых остались единицы и любители рассылать рассылки).
Кирилл Трифин, решение с изолированным пользовалем чем тебе не подходит?
А про сетевые атаки это ты мил человек что-то краски сгущаешь.
Браузер работает пока работает JavaScript. Это тезис. И браузер
работает пока есть сеть. Это тоже тезис.
Ты согласен с этими тезисами. Просто у меня сложилось впечатление
что ты начитался науч-попа.
Робин Уилсон - Введение в теорию графов. Она маленькая на 200 стр. Там все что надо то есть.
Никлаус Вирт - Алгоритмы и С.Д. - это самый базис чтобы уметь оценивать сложность задач на глазок.
Новиков - Дискретка для программистов - самое интересное здесь. Тут можно не все читать. Что сможешь.
Гмурман - Теорвер и мат-статистика. Тоже желательно. Чтоб знал что такое Байес.
Есть сборник задач по олимпиадке с ответами. У меня такой был еще 2000 х годов с решениями на Delphi и Pascal. Очень рекомендую посмотреть готовые решения. Я забыл название.
Еще заведи акк на codewars и решай задачки по немногу. Там когда ты решил одну - то тебе открываются на просмотр решения других участников. И там есть реально перлы. Для все языков codewars имеет набор задач. Я находил даже для экзотических brainfuck, clojure, lambda-calculus.
А математика как таковая тебе не нужна. И ты ей тоже не нужен. В такой постановке что была описана.