Алгоритм Ахо-Корасик на Java

Пример реализации алгоритма Ахо-Корасика на Java. При реализации использовался следующий материал: https://e-maxx.ru/algo/aho_corasick https://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%90%D1%85%D0%BE-%D0%9A%D0%BE%D1%80%D0%B0%D1%81%D0%B8%D0%BA Данный алгоритм был опробован на задаче: https://www.hackerrank.com/challenges/determining-dna-health/problem Пример использования: List<AhoCorasick.Entry> entryList = new ArrayList<>();   List<String> list = Arrays.asList("b", "c", "aa", "d", "b");   for (String s : list) { AhoCorasick.Entry entry = new AhoCorasick.Entry(); entry.setValue(s); entryList.add(entry); }     AhoCorasick ahoCorasick
Читать далее…

Sublime gcc docker

При разработке на C++ может возникнуть ситуация, когда ваша ОС не подходит. Например, в моем случае у меня MacBook, но нужно использовать epoll, который не подджерживается в Mac OS. Можно выйти из ситуации следующим путем, если вы пишите и билдите код в редакторе Sublime. В Sublime выберите Tools > Build System > New Build System…
Читать далее…

Понимание OpenID Connect (OIDC)

Превосходная статья по пониманию OpenID Connect: https://habr.com/ru/post/422765/ В данной статье в пункте 6 указано, что хранение токенов (access_token и refresh_token) в браузере не очень секьюрно, лучше это делать на уровне бэкенда. Но это требует сессию, к которой будут крепится токены. Сессия хранится в Cookie, Cookie передаются во всех запросах к одному хосту, даже с других
Читать далее…

Понимание Kerberos

Отличное видео-объяснение протокола Kerberos https://www.youtube.com/watch?v=_44CHD3Vx-0 (Продолжительность: 6 минут) Цербер (Кербер) — трехголовый пес. Примечательно, что протокол построен на симметричной криптографии с использованием трех различных закрытых ключей.

TAG:

Отличный курс по Active Directory

Всегда казалось, что Active Directory — это что-то супер сложное для понимания. Но найдя понятный и простой курс по AD, уже так не думаю 🙂 Курс состоит всего из 4 модулей общей продолжительностью чуть больше часа. Название модуля Ссылка на youtube Продолжительность Введение в Active Directory https://www.youtube.com/watch?v=fojHlsyGQqA 20 мин. Создание первого домена https://www.youtube.com/watch?v=rJJKYe5VECk 10 мин.
Читать далее…

Исследование Keycloak

Если у вас уже установлен keycloak и настроен realm, то запросить open-id конфигурацию данного realm можно командой: curl http://{KEYCLOAK_HOST}:{KEYCLOAK_PORT}/auth/realms/{YOUR_REALM}/.well-known/openid-configuration | jq ‘.’ Результат будет представлен в виде JSON. Чтобы удобочитаемо отформатировать JSON, можно воспользоваться утилитой jq (https://stedolan.github.io/jq/), которую нужно будет дополнительно установить. Небольшое описание полученных данных issuer — базовый адрес realm’а; authorization_endpoint — конечная точка
Читать далее…

TAG: ,

Highload табличка

Часто возникает необходимость оценки скорости работы системы или какой-нибудь утилитки. Приходится брать калькулятор делить/умножать на секунды, минуты, часы и дни. Расчеты получаются, конечно же, приблизительные. Поэтому хотелось бы иметь примерную табличку, чтобы реже пользоваться калькулятором. Кол-во операций, транзакций и т.д. За 24 часа (86 400 секунд) За 10 часов (36 000 секунд) За 10 часов
Читать далее…

Слетели и не работают bash alias

В один день на серваке почему-то перестали работать алиасы (alias) Долго так промучались. Пока не нашел такое решение. Выполняем команду и алиасы работают: source ~/.bashrcsource ~/.bashrc Чтобы это работало при новом входе: Добавляем: source ~/.bashrcsource ~/.bashrc в файл ~/.bash_profile

Сборка и установка турника 3 в 1

Выложим на ровную поверхность компоненты турника: Распакуем все детали: Наденем ручки. Половину ручек нужно разрезать пополам. Чтобы дело пошло быстрее смачиваем ручки водой, а сам турник мыльным раствором: В сборке турник выглядит следующим образом: Размечаем на стене отверстия для креплений гвоздем или чем-то еще, чтобы была выемка для точного высверливания отверстия. Вcего четыре крепления, каждое
Читать далее…

Проверка DNS-балансировки

host -t a google.comhost -t a google.com