Задать вопрос
  • Как организовать систему обновлений БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Хорошая архитектура БД должна быть толерантной миграции версий. Например
    если состояние пользователя хранится в XML то можно договориться что поле
    "coins" (количество монет имеет дефолтное значение = 0) и не требует
    принудительного обновления всех записей. Фактически это поле сохранится
    в save файл только когда игрок заработает не нулевое число coins.

    <player name="Иванов" coins=12 />
    <player name="mayton" />


    При моем подходе никакая миграция БД не нужна.

    Мне эта модель также напоминает "schema evolution" из области BigData.
    Ответ написан
    Комментировать
  • Сисадмины, занимаетесь ли вы резервным копированием данных на рабочих ПК сотрудников?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В ситуации когда в компании - бардак, все понятно.

    Но имеет смысл проанализировать действия пользователя и понять зачем они хранят те или иные документы.
    Например если это бухгалтерия, то почему они до сих пор не в системе а в рассыпухе Excel.

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

    Короче проведите анализ использования десктопов и после этого - плановое обучение всех как использовать
    корпоративные ресурсы вместо своего ХДД.
    Ответ написан
  • Как генерировать пароль по кодовой фразе и восстанавливать обратно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это вообще задача не техническая а организационная. Сделайте участкового
    админа
    и дайте ему все прививлегии. Зачем играть в эту игру с придумыванием
    запутанных схем? Опыт инфо-безопасности показывает что все эти схемы просто
    не работают. Про это Керхкофс писал.

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

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Будет использован invokevirtual
    class MyClass
    {
       public void method()
       {
         System.out.println("OK");
       }
    
    
       public static void main(String[] args) {
         MyClass obj = new MyClass();
         obj.method();
    
       }
    }


    Compiled from "MyClass.java"
    class MyClass {
      MyClass();
        Code:
           0: aload_0
           1: invokespecial #1                  // Method java/lang/Object."<init>":()V
           4: return
    
      public void method();
        Code:
           0: getstatic     #7                  // Field java/lang/System.out:Ljava/io/PrintStream;
           3: ldc           #13                 // String OK
           5: invokevirtual #15                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
           8: return
    
      public static void main(java.lang.String[]);
        Code:
           0: new           #21                 // class MyClass
           3: dup
           4: invokespecial #23                 // Method "<init>":()V
           7: astore_1
           8: aload_1
           9: invokevirtual #24                 // Method method:()V
          12: return
    }
    Ответ написан
    Комментировать
  • Как обнаружить высокое потребление CPU?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сложно судить о проблемах только по CPU.

    Например если у тебя система, которая делатет рендеринг картинок или кодирует видео то она
    обычно забирает столько CPU сколько есть в наличии.

    Если у тебя event-like система, которая обслуживает события от бизнеса то ты можешь мерять
    какие-то бизнес-метрики. Например - сколько сообщений в секунду система пропустила и на основании
    этого делать выводы.

    А очередь диска или загрузка ядер CPU в данной задаче не говорят ни о чем обычно. Может они - высокие
    но бизнес чувствует себя нормально. А может быть 1 % CPU занят но база в блокировках и эта проблема не
    видима со стороны системных метрик.
    Ответ написан
    Комментировать
  • Скрипт для передачи данных, в поисках простого решения. кто может помочь?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если вы используете хранилище типа S3 то там есть опция - при сохранении файла (объекта в терминологии
    S3), можно задать атрибут Time-To-Live

    Вся прочая автоматизация - поверх обычных файловых систем требует чтоб был отдельный процесс
    который по плану (раз в минуту например) удаляет все файлы по дате создания. Это cron, про который
    выше уже сказали или это какой-нибудь quartz в парадигме Spring-Java-разработок например.
    Ответ написан
    Комментировать
  • Как найти все файлы содержащие нули?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не уверен что регулярки помогут. Но я-бы видел поиску нулей как-то такой интеграцией.

    find . -name '*bills*' -exec is_file_contains_zeroes {} \;


    здесь find - стандартная утилита а is_file_contains_zeroes вам напишет любой программист за 15 минут.

    Но если битый винт содержал именно ДОКУМЕНТЫ то правильнее всего их искать именно валидатором
    документов а не искателем нулей. Выше Adamos вобщем-то дал правильную линку на дубль этого вопроса.

    Ну и на будущее чтоб не "бились винты" - делай бекапы. Потому что игры в восстановление - это не
    production ready сценарий и за такие документы уже никто не даст цену. Грубо говоря они стали
    мусором. Сомневаюсь что валидаторы закроют 100% сценариев разрушения.
    Ответ написан
  • Не удается решить проблему, что делать?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Говорит нет такого сайта https://repo.implario.dev

    Тут ничего не поделать. Доктор сказал - в морг.
    Ответ написан
    Комментировать
  • Как организовать отправку сообщений в множество микросервисных нод?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если у тебя будет 100 нод-получателей то полюбому хотя-бы одна из них будет недоступна в момент отправки.
    Такова природа вещей. И не стоит требовать от сетей перфекционизма. Сети работают как погода. Как дождь
    или снег. Надо это учитывать.

    Поэтому брокер сообщений на базе Kafka или Apache Pulsar или Rabbit будет вполне себе реальным решением.

    Ты пишешь про p2p. Но какой ценой этот p2p ты собираешся поддержать на продюсере? Ты создашь 100 сокетов
    и 100 буферов отправки сообщений?

    Потому что другого выхода у тебя на самом деле нет. Или у тебя просто не пройдет транзакция я гарантирую
    это.
    Ответ написан
    Комментировать
  • Почему падает скорость при скачивании торрента через qBittorrent?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Очень похоже на шейпер со стороны провайдера. Попробуй понять как его обнулить.
    Например закрой торрент клиент и посмотри чтоб все сокеты закрылись. А потом запусти
    снова. Будет ли первоначальная картинка? Или там может шейпер сбрасывает по времени.
    Через 5 минут. Через час.
    Ответ написан
    Комментировать
  • Чем смазать кабели, чтобы крысам было противно их грызть?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Кошки или некоторые породы собак могут эффективно душить крыс.

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

    Выше оди чел написал про то что запах кошачьей мочи отпугивает крыс. Подтверждаю.
    Я это слышал про мышей. Но думаю что эффет на крыс будет тоже подобный.

    Еще где-то слышал что в первую мировую крыс в окопах эффективно душили
    собаки питбуль.

    Советовать сов и мангустов я не буду. Иначе в топике это уже будет как явный перебор.
    Но в целом - хороший совет использовать исторический опыт поколений.
    Ответ написан
  • Есть что то проще чем php?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Еще есть "усы" https://mustache.github.io/
    Ответ написан
    Комментировать
  • Может ли юзер нести ответственность за просматриваемый контент?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На предприятии есть локальные правила касающиеся использования интернета. Но
    максимум что грозит - это разговор с менеджером на тему - зачем ты пошел на порносайт
    когда у тебя есть работа? И вообще почему работа стоит и так далее.
    Ответ написан
  • Удаление стабильных точек в сети Хопфилда?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Википедия пишет

    Достижение устойчивого состояния не гарантирует правильный ответ сети. Это происходит из-за того, что сеть может сойтись к так называемым ложным аттракторам, иногда называемым «химерами» (как правило, химеры склеены из фрагментов различных образов).


    Скорее всего это просто особенность этого вида сети.

    Попробуй повторить обучение сети с усилением количества тех образов, которые максимально
    далеки от этих твоих точек.
    Ответ написан
    Комментировать
  • Как сделать Slice Database более 20TB?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если важна скорость. То я-бы предложил такой вариант. Делай полностью клон БД.
    Физически копируй. Потом выключай constraints. И удаляй те 95% данных которые надо удалить.
    Справочники - не трогай. Они маленькие обычно и роли не играют в объеме.

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

    P.S. Очень жаль что ты не указал тип DBMS. Там есть разные варианты. Экспорт. Бэкап. Горячий холодный.
    Ответ написан
  • Как правильно организовать передачу проекта другому сотруднику?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Knowledge transfer лучше всего делать с включеной трансляцией экрана и с записью.
    Вопросы и ответы. Все должно быть на видео. Как всегда у вас будет нехватка времени
    и этих двух недель не хватит на документирование всего. Да и невозможно это все писать
    в спешке. Поэтому голосом передавайте. Потом будете пересматривать. Вопросы
    должна спрашивать вся команда. Потому что новичек может ничего не спросить по причине
    перегрузки информаций.

    Таких Knowledge transfer должно быть несколько штук. Хотя-б по 1 за 2 дня. Тоесть за две
    недели вы можете 5 раз встретится.
    Ответ написан
    1 комментарий
  • Как и на чем написать мини систему видеонаблюдения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    1) Надо сначала нарисовать архитектурную диаграмму безотносительно языка программирования.
    В виде кубиков и стрелочек. Например главным кубиком этой системы может быть сервер и система
    хранения. Отдельно например рабочее место оператора или пользователя системы. Перечислить
    что каждая часть делает. Нарисовать ограничения. Например если сервер обязан транслировать
    2 канала по 4К то его СХД должна в номинальном режиме успевать это передавать.

    А язык программирования появится уже потом как следствие из этой диаграммы.

    Сам по себе Python - подходит как оркестратор или запускатель процессов в этой системе.
    В самом простейшем варианте python может запускать например ffmpeg и контролировать
    heartbeat например.

    2) Зачем здесь автор хочет OpenCV - пока непонятно. Лучше сначала построить прототип без
    этой фичи а потом уже написать некое дополнение к задаче чтобы включить туда машинное зрение
    как отдельную часть. В противном случае ТЗ выходит слишком завязанным где все-от-всего зависит
    и непонятно с чего начинать. А начинать надо с простого а не со сложного.
    Ответ написан
    Комментировать
  • Почему сравнение файлов по содержимому существенно медленнее для сетевых шар, чем для USB?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Total Commander - это хитрая штука. Она например может копировать файлы в несколько сессий.
    Иногда это дает буст к скорости копирования а иногда может оказать "медвежью услугу" для некоторых
    источников которые плохо параллелятся.

    Провертье настройки Total Commander.

    Вообще comparison требует сравнения всего содержимого файлов поэтому по сложности он эквивалентен
    копированию "со всех шар" к себе в память. И срезать здесь углы нигде невозможно.
    Ответ написан
  • Как правильно использовать гит, если нужны данные из другой ветки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Гит всегда разрешает параллельную разработку. Никто не заблокирован никогда.
    Другой вопрос, если ты просто сделал бранч из branchOne, то ты сам как-бы принял риски
    того что этот бранч еще может изменится.

    И в целом это вопрос не про гит а про организацию процессов и риски.
    Ответ написан
    Комментировать
  • Как сделать Linux более безопасным?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Без конкретного моделирования угрозы это невозможно.
    Самая безопасная ОС как правило это бесполезная и неудобная ОС. Или вообще
    отключенная от сети.

    По поводу Manjaro. С моей точки зрения бесплатые ОС - всегда хуже чем платные.
    Бесплатность в данном случае можно рассматривать как площадку для бета-тестинга.
    Где лично вы, пользователь это и есть бета-тестер. Не удивляйтесь если вам будут
    прилетать сырые обновления а RedHat Enterprise - будут более зрелые и проверенные.
    Поэтому имеет смысл потратить денег на лицензию.
    Ответ написан
    6 комментариев