Задать вопрос
  • Какие существуют методы сравнения качества изображения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я помню что в умных статьях, которые сравнивают алгоритмы сжатия типа JPEG/J2k/Lurawave
    часто приводили параметр PSNR (Peak signal-to-noise ratio) и на базе него пытались
    построить какие-то выводы. Период этих революций сжатия приходился примерно на 2000-е годы.

    Но при этом у них был известен оригинал изображения и всем было понятно что с чем сравнивают.
    Таблицы сравнения прилагались и читатель мог видеть числовое значение PSNR как метрику качества.
    Ну еще и сгруппированоо по коэффициенту сжатия.

    В случае когда картинок много и мы не можем определить где оригинал то я-бы предложил
    смотреть спектры высоких частот. Где их больше - там и предположительно оригинал.
    Если с изображением работали (scale, фильтры) то обычно метрика высоких частот будет
    слабее выражена.

    Вобщем сравнивать вам придется не по 1 параметру а по вектору. Увы-увы... в наше современное
    время маш-обучения сравнение векторов это нормально. Так и должно быть.
    Ответ написан
    3 комментария
  • Что нужно знать начинающему системному администратору?

    @brar
    ///После недельного простоя, мне звонят и приглашают на стажировку////
    Значит, опытные спецы за ту зп, которую они предлагают даже не откликаются. Взяли Вас "На стажировку". Это и правда и нет, одновременно. Вы друг друга нашли, скажем так.
    Выжмите максимально опыт в практике из этой хитрой конторки. Главное - не сильно себя вините, если что-то сломается, а на вас будут наезжать. Отвергайте любые обвинения в случае простоя. Далее, как поднатореете, через месяцев 12 ищите нормальную, которая понимает объёмы и ответственность IT-специалиста за простои в работе и платит в ~2 раза больше.

    По теме вопроса: первое, на что обратить внимание - на критичность того ии иного сервиса. Прям подойти к боссу и спросить - "что должно работать весь рабочий день?". Телефония? БД? 1с? Без чего прям кранты? К тому сервису и направьте своё максимальное внимание. Смоделируйте на практике восстановление БД из резервной копии. Файловый сервер. Сотрудник уволился, грохнул все свои наработки/файлы, логины на торговых площадках, почтовую переписку etc. Промониторить доступы предыдущих сотрудников на администратиыный доступ к каким-либо сервисам/серверам/роутерам/площадкам.
    Ответ написан
    Комментировать
  • Почему модуль rust не видит другой модуль?

    GONJY_MONJY
    @GONJY_MONJY Автор вопроса
    В поисках новых горизонтов
    Ответ оказался до жути простым
    Я забыл добавить модуль своих моделей в main.rs файл:
    mod entities;
    Ответ написан
    Комментировать
  • Какие решения существуют для индексированного поиска по десяткам полей огромных таблиц?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В реляционных БД нельзя сделать серебрянную пулю которая всегда будет успешно стрелять.
    Чаще всего в БД делают так. Анализируют какие группы запросов наиболее тяжелые
    и пытаются материализовать по 1 mat view на каждую группу.

    Можно сделать более детальный партишенинг (у вас шардинг) тами образом чтобы искомые данные
    всегда лежали в маленькой части таблицы.

    Поиск идет в одной из шард, определяемой по дате.

    Попробуйте более детальную дату. От суток - к часам. От часов к минутам.

    Для поиска используется 2-3 поля, которые являются какими-либо идентификаторами, сильно сужающими выборку (до нескольких записей в пределах нужной даты).


    Если у вас есть тренд на использование 1-2 дней (оперативная информация)
    то отгрузите этот опер-период в отдельную свехр-быструю БД (Redis)
    и сгенерируйте все возможные комбинации запросов и ответов.

    Звучит странно но такая материализация может быть выгоднее чем точечные
    запросы (которые у вас не являеются OLTP т.к. возвращают в общем случае
    более чем 1 строку).

    Есть несколько отделов: операционный центр, диспуты, коллекторы, бухгалтерия, аудит, комплаенс, профильные отделы по разным группам транзакций, сопровождение бизнеса и другие. В отделах есть разделение на функции, и в итоге им нужны множества атрибутов для поиска. Всего получается заметно больше 50 множеств, что делает невозможным создание частично индексированных реплик под каждую такую группу пользователей.

    Здесь я не очень понял, является ли указание отдела взаимоисключающим. Но попробуйте
    подумать направлении фасетов (facets). Это почти тот-же партишенинг-шардинг но ключ
    партишенинга будет сочетанием нескольких атрибутов.
    Ответ написан
    Комментировать
  • Утечка DNS или как соц. сети узнают мое местоположение?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существуют базы (IPLocation) которые связывают IP адрес и локацию (Обычно Страна-Регион).
    Точность связности при этом очень грубая. Вряд-ли можно узнать что-то подробное.

    Как узнают соц-сети - это загадка. В простейшем случае они извлекают coockies из твоих
    сеансов браузера в ПК и телефоне а там может лежать информация о другой локации.

    А само приложение Инстаграм и Тик-ток не знаю... Проходило ли хоть раз проверку на безопасность.
    Какую информацию приложение знает о профиле телефона? Что оно передает по своему протоколу?
    Да что угодно. Вот я-бы и передавал что угодно если-бы был заинтересованным в сборе сведений.

    Бесплатные VPN/Proxy и прочие анонимайзеры здесь не помошники а скорее инсайдеры.
    Забезплатно они скорее вас сольют быстрее чем окажут помошь. Поэтому им ни на копейку
    доверять нельзя.
    Ответ написан
    Комментировать
  • Плавный переход анимации атаки от шага до бега?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут - сложно. Физика я имею в виду. Шаг от бега отличается тем что шагающий всегда касается земли.
    А бегущий как-бы делает прыжки по воздуху.
    Ответ написан
    Комментировать
  • Как ведут себя данные при удалении?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В реляционных БД не существует гарантий относительно порядка записей внутри таблицы. Этот порядок
    - это особенности технической реализации хранения данных внутри блоков и сегментов. Это - "know how"
    и это будет зависеть от типа DBMS (Postgres, MySQL, Oracle) и от типа таблицы (heap, index-organized, clustered e.t.c)

    Если говорить грубо, то записи (data-rows) лежат не плотно а вразнобой с пробелами с выравниванием
    к блокам. Ну тоесть вообще-вообще не так как в Excel. Удаление data-rows в Postgres насколько я помню
    физически не удаляет запись а помечает ее мертвой используя служебные поля. Впоследствии VACUUM
    делает работы по уплотнению.

    Поэтому порядок ты сам обеспечиваешь, делая запрос с опцией ORDER BY some_date_time.
    Ответ написан
    1 комментарий
  • Как часто стоит открывать и закрывать соединение при записи в БД из Kafka?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В самом вопросе есть какой-то конфликт интересов. С одной стороны сессии БД надо экономить.
    Тоесть нужно их закрывать. С другой стороны реакция на это сообщение в БД должна быть быстрой.

    Мне кажется что без какого-то дополнительного SLA или штрафов со стороны бизнеса, этот вопрос
    просто невозможно решить.

    Я-бы еще этот вопрос рассмотрел в суточной нагрузке. Если например событие с кафки приходят
    от кассовых аппаратов то их надо обработать обязательно в течение дня. Тоесть БД должна быть
    открыта всегда. Ну а на ночь можно изменить режим работы косньюмеров и сделать их более
    вялыми и дать возможность ночным джобам поработать в БД спокойно.
    Ответ написан
    Комментировать
  • Почему начинает прыгать скорость торрента?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поскольку торрент это не протокол скачивания с сервера а скачивание с таких-же как ты
    владельцев файла, то вопрос переходит в другую плоскость.

    Надо спросить почему канал между тобой и другими владельцами ресурса стал прыгать.
    Торрент здесь скорее всего непричем. А причем может быть провайдер, который регулирует
    (shaper) скорость к частным направлениям.

    Или причем могут быть условия. Вечернее время. Час наибольшей нагрузки. Другие
    пользователи роутера которые тоже в этот момент с тобой что-то качают.

    Вот иди и проверяй все эти версии.
    Ответ написан
    Комментировать
  • Как выводить цифры числа слева направо?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно делать накопление числа в строку а потом в конце перевернуть ее

    >>> "".join(reversed("улыбок тебе дед макар"))
    Ответ написан
    1 комментарий
  • Причина падения ЛВС?

    martin74ua
    @martin74ua Куратор тега Компьютерные сети
    Linux administrator
    не используйте неуправляемые коммутаторы. Используйте управляемые, читайте их логи, смотрите за их состоянием. Это если в двух словах.
    Ответ написан
    Комментировать
  • MikroTik, есть ли инструкция по правильной настройке IS-IS?

    @Strabbo
    вот какие порты использует данный протокол, чтоб ему разрешать передачу трафика через firewall

    Он не использует IP протокол, соответственно никаких портов там нету. IS-IS использует протокол CLNS.
    можно ли огранить отправку маршрутов по аналогии с OSPF filter rules или же данный протокол работает совершенно по-другому

    По стандарту фильтрация работает из одной area в другую или же с Level 2 в Level 1 и наоборот. + может какой то вендор добавил свои методы фильтрации.

    P.S. как ISIS работает в микротике понятия не имею :)
    Ответ написан
    1 комментарий
  • Какое сетевое оборудование выбрать: Mikrotik или Zyxel?

    @Zerg89
    150+ про Zyxel точно можно забыть а микротик брать от rb40xx в паре с 7мя 48 портовыми коммутатрами минимум
    Объясню сразу два простых правила
    1)1 место 2 розетки пк +sip
    2)2 правило смотри первое правило
    А для 300+ сразу смотрите в сторону chr в нормальном сервере
    Ответ написан
  • Как правильно использовать внешние библиотеки на Java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тебе надо обязательно прочитать что такое манифест
    https://docs.oracle.com/javase/tutorial/deployment...

    Большинство ответов на твои вопросы лежит там. Существуют разные методики упаковки
    приложения в jar-артифакт. Можно делать зависимости внешними. А можно создавать
    так называемый fat-jar (толстый jar) куда будут перепакованы все внешние зависимости.
    Shade plugin, jar plugin и еще много плагинов этим занимаются для maven сборщиков.

    Почитай еще что такое Java9 modules. Это тоже полезно.
    Ответ написан
    Комментировать
  • Как ослуществляется выборка данный в модульной или микросервисной архитектуре?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Т.к. мы не можем сделать выборку всех заказов в статусе X, т.к. их очень много, но мы и не можем сделать выборку с лимитом т.к. не знаем точно, что данные заказы будут оплачены платёжной системой Y и наоборот, если будем строить выборку от оплат. В общем получается, что мы решаем вопросы, которые легко решены в БД, но мы их пытаемся решить в коде. Как поступать то?

    Это типичная проблема которая возникает после распила монолита на части. Если раньше
    монолит ходил в базу и делал любые SQL, то после разделения отвественностей уже такие
    игры не работают.

    Вы говорите что не знаете точно какие заказы оплачены. Вам нужно создать новый метод
    который в правильном сервисе выдает только оплаченные заказы. А в базу ходить не надо.
    Она вообще может быть недоступная по инфо-безопасности для прочих модулей.

    Вот и есть правильная микросвервисная архитектура.
    Ответ написан
    Комментировать
  • Как избавляться от ненужных записей в бд?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если использовать такие БД как DymanoDb, CosmosDb, Cassandra или кеш Redis, то там сразу
    можно создавать записть с отметкой TTL и указывать сколько времени запись будет актуальна.
    Впоследствии эту отметку можно продлить или сделать живщуей вечно.

    По поводу реляционок типа Postgres.

    В хранении ненужных записей я не вижу проблемы до тех пор пока вы в состоянии такие
    токены идентифицировать и почистить отдельно с помощью джоба который запускается
    раз в сутки например и просто удяляет их по признаку например "состояние ожидания
    ввода числа из СМС". Трекайте это состояние и все будет ОК.
    Ответ написан
    Комментировать
  • Как избавляться от ненужных записей в бд?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    У записи в БД есть отметка времени создания. В кроне/планировщике создается задача на запуск скрипта раз в сутки для очистки устаревших записей.
    Ответ написан
    5 комментариев
  • Как избавляться от ненужных записей в бд?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    В дальнейшем это повысит нагрузку на бд при поиске записей.
    Когда записей будет под миллион, запустите 1 раз удаление старых неактивированных аккаунтов и выиграете еще аж 500 (а может даже 5тыщь!) записей, это сильно поможет...
    Ответ написан
    Комментировать
  • Как можно запаковать bash скрипт в rpm пакет?

    #!/bin/bash
    [ -x /usr/bin/rpmbuild ] || { echo 'rpmbuild not found'; exit 1; }
    
    mkdir -p /tmp/rb
    cd /tmp/rb
    
    echo 'Name: testpackage
    Version: 999
    Release: 111
    Summary: test summary
    License: qwe
    %description
    test package
    %install
    cp $HOME/your_file %buildroot
    %files
    /your_file' > temp.spec
    
    rpmbuild -v --target noarch --define "_topdir $PWD" -ba temp.spec


    после этого в /tmp/rb/RPMS будет собранный rpm
    Ответ написан
    Комментировать