• Для чего нужны 4 фазы на конце у провода питания molex?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Возможно scanf при попытки считывать 1 character читает предыдущий enter.

    Попробуй рецепт который пишут тут https://stackoverflow.com/questions/13542055/how-t...
    Ответ написан
    1 комментарий
  • Как сделать так, чтобы микрофон не слышал других людей в комнате?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для звукоизоляции можно повесить побольше ковров на стены. И можно между вами установить
    такую складную ширму. Я думаю что это будет очень полезно.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно пойти от проблемы. Собственно я здесь никакой проблемы не вижу. Давайте доступ. Пускай студенты
    рисуют почасовой план использования этого ресурса. Например Студент №1 с 10:00 до 12:00 по понедельникам.
    Следующий... и так далее. Сами следят и самоорганизуются.

    Проблема может быть в безопасности. Студенты могут хулиганить. И проблема может быть в накладках
    графика использования. Например кто-то в пятницу запустил расчет и в ПН этот расчет еще не закончился.
    Что делать? Убивать процесс пятничного студента?

    Тут вобщем больше я вижу организационных вопросов чем технических. Вы сначала разработайте цели.
    А уже от целей можно пойти к планировщикам.
    Ответ написан
    Комментировать
  • SQLite3 Как сделать таблицу с заранее переданным именем?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У тебя нет выбора. Вариант раз - это интерполяция строк.
    'create table {} ....'.format(...)
    Вариант 2 - это конкатенация строк. Ну и проверь что строка состоит или alpha-num. И все.
    'create table ' + ..... + '.....'
    Ответ написан
    Комментировать
  • На чем пишутся современные десктопные приложения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    java - "не подходит для десктопа"

    На платформе Java (Groovy, Kotlin) написана среда разработки Jetbrains Idea.
    Правда есть у меня подозрение что из библиотек там использован не Swing а SWT
    но я уж не помню я слишком давно этот вопрос изучал. За много лет многое могло поменятся.
    SWT не слишком кроссплатформенный.

    На Java написан менеджер закачек Vuze (Azureus) и такая векторная рисовалка как Yed
    которой я пользуюсь иногда.

    Еще OracleDeveloper, Beaver, SOAP-UI, и много всяких тулов программисткого толка.

    По поводу JavaFX но я честно говоря не видел чтоб кто-то
    активно что-то графическое на нем разрабатывал. Скорее всего это была наивная попытка
    исправить недостатки Swing. И сделать его ... более мультимедийным чтоли.

    Мы живем в эпоху сильного изменения подходов к разработке декстопов. В эпоху мобил
    и веба десктоп теряет свой смысл как бизнес-проект. Любой кто делает визуальную часть
    своего бизнеса вкладывается в мессенджеры, мобильный магазин и в классический веб-сайт.

    Для окон остается что-то очень хардовое типа Photoshop, 3dMax, AutoCad где можно грузить на 200%
    клиентский CPU и ты реально будешь хотя-бы чувствовать пользу от такой отдачи.

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

    Поэтому не звучит вопрос что на Java десктопы не пишут. А их щас реально уже НИ НА ЧЕМ не пишут.
    Даже на С++. Реально только игры и редкие приложения типа там 1С или какие-то клиент-банки.
    Ответ написан
    7 комментариев
  • Как описать коммит когда изменил структуру файлов проекта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Refactoring.
    Ответ написан
    Комментировать
  • Какая база данных подходит для частых UPDATE и сортировки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Подходит любая БД. Вопрос в том чем вы готовы пожертвовать ради скорости. Например вы можете хранить данные в backend (hashtable) и сбрасывать их в БД периодически. Эта схема идеально работает. Вам только надо с самим собой и с бизнесом поговорить о гарантиях. Что вы хотите? Чтоб любой вектор {id, data, user_date} сохранялся в ту-же микросекунду или вы можете эти изменения отложить на потом и применить их в БД через 15 минут например в виде
    batch-update.

    Поэтому вопрос оптимизации БД - это вопрос не только технически но и организационный. А запись в Postgress в через длинный сетевой стек да еще и с фиксацией транзакции это такое яростное безкомпромиссное решение
    которое не всегда и нужно.


    Договаривайтесь с ценностью бизнес-информацией и с компромиссами.
    Ответ написан
    Комментировать
  • Где найти org.hibernate.boot.MetadataSources jar file?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Подключай зависимости из проекта Hibernate отсюда https://mvnrepository.com/search?q=hibernate
    до тех пор пока зависимость не будет удовлетворена.
    Ответ написан
    Комментировать
  • Как дропнуть все таблицы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе проще новую базу создавать каждый раз. Я так делал. А старая пускай лежит как бекап.
    Создаешь db1, db2, db3.... Потом удаляешь которые уже не нужны.

    Или в докере разворачиваешь если пустая нужна.
    Ответ написан
  • Как помигать светодиодом на Linux?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут ничего нельзя сказать пока не будет известно что это за устройство и каким образом ОС его видит.

    Попробуй поищи его через

    $ lsusb
    
    $ lspci
    
    $ lshw
    Ответ написан
    Комментировать
  • Как оптимальнее всего организовать хранение тяжёлых данных и чтобы потом максимально быстро доставать оттуда данные для отчётов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я знаю два сильных пути оптимизации в БД.

    1) Минимизация IOps. Тоесть уменшить число дисковых чтений. Для таблиц это достигается через
    partitions by date. Вычисляешь экспериментально оптимальный размер partition (например 1 неделя).
    И твои запросы по диапазону должны попадать в 1-2 partitions. Это исключает full-table-scan.
    Ну и индекс попробуй построить по предикатам фильтров.

    2) Материализация ответов. Для данных которые уже не будут изменяться ты строишь где-то такую
    табличку (матрицу по сути) где хранишь уже заранее расчитанные данные. Эта технология по разному
    может называться. Materialized View. OLAP cubes. Витрины данных. Но суть одна.

    start_date    end_date     result 
    01-02-2023    03-02-2023   { "1":"65", "2":"45" }


    И индекс по двум датам.
    Ответ написан
    Комментировать
  • Как сгенерировать изображение с надписью?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сделай генерацию из двух частей. Подложку пускай сделает Midjourney.

    А надпись сделай сам программно. Более простой и более контролируемый способ.
    Ответ написан
    2 комментария
  • Существует ли в python библиотека для дополненной реальности?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Когда говорят о таких высоко-технологичных отраслях то язык разработки обычно не имеет значения.
    Лучше найди вообще доступные в open-source augment reallity libs и посмотри какой у них API.

    Дописать до них вызовы API из Python это уже не science а обычная работа инженера. И тут главное - поставить
    правильно цель. А идти от языка - это неправильная цель.
    Ответ написан
    2 комментария
  • Как написать мини приложения вк с базой данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существует только одна рекомендация по безопасности в таком случае. Ты не должен хранить ключи,
    токены, и пароли в исходнике самого приложения а ты должен его получать откуда-то из специального
    сейфа (Vault).


    API позволяет взять ключ по имени.

    Каждый хостинг-провайдер или платформа предоставляет такой сейф как услугу. Например для Microsoft
    Azure Cloud это Key Vault. Для облака Амазон это AWS Secrets Manager.
    Ответ написан
    Комментировать
  • Как перенести проект cargo на windows 10 to go?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Скопируй на другой диск и проверь работает или нет?
    Ответ написан
    Комментировать
  • Как копировать содержимое папки на корневое каталог?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно корневая папка защищена от любого пользователя. Делай сначала каталог и давай права.

    $ sudo mkdir /Test1
    $ sudo chown endless:endless /Test1


    И потом уже копируй или клонируй.
    Ответ написан
    Комментировать
  • Как симулировать сбои в файловой системе?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть два подхода.

    Нанести повреждения сырой файловой системе. Под суперпользователем открыть диск как блочное устройство
    (файл по сути) и случайным образом внести изменения в случайные блоки (тут надо владеть информацией о размере блока) 512 байт или 4К или еще какие-то возможны варианты. Записать рандомный шум по сути. Только не трогай первый блок. Там может быть вайжная инфа о файловой системе. Иначе вообще не смонтируешь .. ну хотя может для тебя это тоже кейс.

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

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

    UPD: Тут надо смотреть как собраны программные зеркала этой системы. Возможно исправить все таки можно но там будут куча условий. Целое дерево условие если это то это и так далее. Короче квест.

    Вообще очень сильно зависит от цели задачи. И от чего мы пытаемся защититься. Если ты меняешь первый блок файловой.

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

    Второй подход. Рассматривать обычный API файловой системы. Здесь можно просто проверить что будет когда inodes закончились. Ивестно что каждый файл (не hard-link) создает ровно 1 inode в таблице нодов. И эта таблица ограничена в ext3/ext4 кажется. Можно создавать миллионы файлов имеющих нулевой размер и мы постепенно заполним эту таблицу и получим какую-то ошибку. Эта ошибка технически имеет онлайн решение для XFS (там можно на ходу растягивать ФС и таблицы). Для ext3 нужно отмонтировать и что-то сделать в оффлайне.

    Про коррапченые файлы мы уже говорили. Если это вопрос файловой системы - то она не видит ничего скорее всего. Рандомное изменение тела файла - это легальная операция файлового API. Увидит только софт который будет этот файл открывать. Например word документ не откроется. JPEG картинка может открыться наполовину. Будем видеть мозаику из поврежденных блоков начиная от места повреждения. Почти все файлы архивы перестануть распаковываться с места повреждения и до конца. Тоесть им
    скорее всего смерть. Тестовые файлы - откроются но будем видеть "мусор" в месте повреждения.
    Ответ написан
    Комментировать
  • Текстовый калькулятор на Python. Как реализовать поддержку деления?

    mayton2019
    @mayton2019
    Bigdata Engineer
    А что здесь думать? Ты же не реализовываешь алгоритмы умножения и деления.
    Ты - пользователь Питона. Вот и дели на Питоне и округляй.

    Вот если бы ты реализовал 1/3 + 2/3 и получил бы точно единицу вот это было бы
    интересно и познавательно.
    Ответ написан
    Комментировать
  • Как переделать код под ООП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Программирование в ООП предполагает что мир состоит из "объектов".
    Например твоя программ (процесс) калькулятор это уже объект. Даже не имея декларации
    она уже является объектом с точки зрения ОС.

    Но если твой преподаватель - такой душный, то сделай

    class Calculator {
       ...
    }

    Можно сделать объектом число и операцию над ним (унарная или бинарная) но это уже немотивированное
    (или слабо мотивированное) действие. Теоретики ООП всегда пишут что введение объекта должно иметь смысл. Иначе так можно
    дойти до абсурда и объявлять объектом любую чепуху, что только усложнит написание кода
    и создаст бюрократию на пустом месте.

    Поясни это преподавателю если он будет сильно настаивать на том что мало объектов.
    Ответ написан
    Комментировать