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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Скрипты выросли. И у них появилась общая часть (shared). Которая не меняется. И вариативная часть которую
    можно спокойно менять под каждого клиента
    . Как выделить общее и частное - это великая тайна.
    И понять ее можно только с опытом.

    Я-бы предложил следующую стратегию. В общее (shared) должны зайти интерфейсы и абстрактные классы
    или какие-то сущности которые почти никогда не меняются. В вариативные части (client1, client2 ...)
    зайдут реализации или то что просто сильно меняется.

    Преимущества данного подхода - будет меньше кода в перспективе. Но есть и недостаток.
    Некоторые клиенты могут почувстовать странное (немотивированное) изменение версии
    в (shared) части которое они не заказывали. Впрочем это может быть редко или вообще никогда.
    Ответ написан
    Комментировать
  • Какие книги есть по эффективной работе в технической поддержке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не совсем понимаю зачем здесь упор идет на софт-скилы. Эффектвность техподдержки - это
    закрытие технических issues. Например - не печатает принтер. Чтоб решить эту проблему надо
    очень быстро задать ряд вопросов. Модель принтера. Условия. Что предшествовало поломке.
    И дальше просто идти по инструкциям. Это вобщем-то хард-скилы. И не лишним будет
    просто выучить некоторые поломки принтеров.

    Софт-скилы - это другое. Это знание иностранных языков. Коммуникации. Умение вести переговоры.
    Убеждать. И зачем вам это в тех-поддержке?
    Ответ написан
  • Как сделать так, чтобы при работе двух ботов, написанных на модуле telebot, то один из них выключался(кто получит раньше предупреждение или ошибку)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Синхронизация в облаке - это известная проблема. Вам нужно найти один разделяемый объект
    в сети и использовать его как Mutex. Этим объектом может быть база данных. Так работает
    механизм SpringBatch например для предотвращения двойных запусков джобов.
    Но в роли такого объекта вобщем может быть любая сетевая штука. Веб-сервер. Файловый
    сервер. Что угодно лишь-бы оно было доступно с двух ботов.
    Ответ написан
    3 комментария
  • Почему видеокарта и процессор не нагружаются выше 60%?

    mayton2019
    @mayton2019
    Bigdata Engineer
    С играми - вообще ситуация интересная. Собственно производитель не ставит задачи грузить твой
    камень на 100%. Как раз задача другая. Обеспечить нужное число FPS для игрока. Это - разные вещи.
    Как чайник вскипятить и сжечь лес например.

    Понимаешь? Полезный эффект? И эффект простого сжигание киловаттов.
    Ответ написан
  • Как работать с вложенными json?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На базе PL/SQL скорее всего ничего нельзя сделать. Там даже строка ограничена в 32К.
    Поэтому тебе надо написать приложение на C#/Java/Python или любом другом языке
    который делает необходимые ETL действия.
    Ответ написан
    Комментировать
  • Хранится ли в файле(скрин, фото, картинка) информация о его редактировании (ретушь, обрезка и тд)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Зависит от формата. В старые времена ходили трюки с JPEG. Можно было из thumbnail извлечь оригинал
    картинки. Правда не в очень идеальном разрешении.

    Смотрите мануал по exiftool.

    Не знаю делают ли thumbnail сейчас. Это было актуально для быстрой загрузки в браузерах во время
    модемного инета.

    По всем прочим форматамм - надо читать документацию. Фотошопный PSD хранит много преобразований
    и там шансов восстановить слои больше. Но PSD проект редко публикуется вообще.
    Ответ написан
    Комментировать
  • Безопасная система пруфов при открытии лут-боксов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существует два механизма подписывания информации.
    - электронные подписи на базе RSA, ECDA
    - HMAC

    Все остальное таковым не является.
    Ответ написан
    Комментировать
  • Как правильно возвращать значение из геттера?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Желательно возвращать либо иммутабельные объекты (LocalDateTime вместо java.util.Date)
    либо клонировать.

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

    Разумеется жизнь полна исключений и тут главное чтоб вся команда разработчиков ПОНИМАЛА что
    ты сделал и для чего. Иначе будут конфликты и война правок в коде проекта.
    Ответ написан
    Комментировать
  • Есть готовый EditText для ввода размеров изображение?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Ты можешь сделать два edit box и поставить их рядом слева-направо.
    Ответ написан
  • Как создать exe из jar файла javafx приложения?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    С помощью исходников и Graalvm компиллятора можно собрать выполнимый файл для Java приложений.
    Но надо внимательно читать про стек технологий которые использованы в самом приложении.
    Graal компиллятор не гарантирует поддержку всех модулей Java. Для каждого конкретного случая
    надо смотреть и тестировать на месте.

    https://www.graalvm.org/

    С launch4j я не работал. Я подозреваю что это не компиллятор а просто упаковщик который собирает
    обертку для Java Runtime и нужного артефакта.

    Судя по доке есть опции вывода детальной информации по запуску. Смотрите там https://launch4j.sourceforge.net/docs.html

    --l4j-debug-all
    Ответ написан
    Комментировать
  • Как построить логические схемы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Все языки программирования (может быть кроме SQL) имеют поддержку булевой алгебры и битовых операций.

    В языке С++ например твоя формула будет такая.

    int C = A && B || !A;

    Здесь я пользуюсь аналогией между int/boolean. Предполагается что 0 == false и любое не нулевое число
    будет true.

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

    Например

    int C = A ^ B;

    Здесь С равно сложению по модулю 2 для всех битов из А и Б.

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

    Аналогичный похожий набор операций есть и в JavaScrip и в Python.
    Ответ написан
    Комментировать
  • Можно ли сделать предварительный торрент файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно ли как то создать предварительно торрент файл или Magnet ссылку, не привязанную к файлам (то есть неизвестно что будет в содержании торрента при раздаче). Не ставить её на раздачу, а наполнить содержанием/фалами уже перед раздачей в нужный момент в будущем.

    Непонятно зачем обычному пользователю такая ссылка нужна? С его точки зрения - это битая ссылка
    и он ее удалит.

    Вообще если вам нужна информация которая появляется к нужной дате автоматически то возможно
    такие фичи существуют в контрактах Etherium. Я не спец в них но вроде-бы такое должно поддерживаться.
    Дата публикации наступила - кино релизнулось.
    Ответ написан
  • Как раздать интернет по Dial-up?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сомнительно что софт под Windows 10 для этого существует. Сама технология диал апов умерла
    еще во время 32х битных архитектур. А Microsoft очень быстро удаляет старые протоколы.
    Так-же сейчас чорта с два установишь найдешь telnet, gopher, tftp, e.t.c. на Windows. Все по умолчанию выключено
    и убрано из дистрибутивов.

    А вот где может осталось так это в Linux. Там и можно искать.
    Ответ написан
    Комментировать
  • Поиск шпиона. перехват траффика, как правильно анализировать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Путем сравнения. Берешь любой другой телефон. И начинаешь собирать сведенья (хотя-бы в течение суток)
    на какие адреса тот ходит. После сбора такой биг-даты еще хорошо-бы парочку других телефонов проверить.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тоже самое можно спросить про синус или логарифм. Все они вычисляются через числовые ряды.
    Делая итерации.

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно в git коммитах писать комментарии с тегом. И задача хранения уже будет решена.
    Задача поиска - это тоже интересный вопрос. Ну как вариант можно список коммитов раз
    в сутки сливать в текстовый отчет и индексировать через ElasticSearch.
    Ответ написан
    Комментировать
  • Как правильно удалять элементы хэш таблицы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Судя по всему метод открытой адресации - это проосто нехороший метод для решения проблем хеширования. Я не знаю, толи преподаватели пошли очень душные. Толи студенты любопытные, но всех
    тянет как магнитом к open addressing (OA), хотя многие продуктовые библиотеки коллекций C++/C#/Java
    просто не используют OA по дефолту. Они берут Separate Chaining и это работает всегда хорошо.

    Я-бы сделал следующую рекомендацию. Поскольку удаление элемента при OA - тяжелая операция,
    которая требует перепроверки всех элементов цепочки ключа
    , то лучше вообще не удалять а
    пере-создавать новую таблицу или отказаться от OA в пользу Separate Chaining.
    Ответ написан
  • Как ведут себя данные при удалении?

    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 комментарий
  • Плавный переход анимации атаки от шага до бега?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Попробуй запуск приложения в docker container. Потом поищи средства поиска
    изменений в файловой системе контейнера. Кажется docker diff.
    Ответ написан
    Комментировать