• Как восстановить данные с дампа f2fs?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Посмотри утилиты scalpel, foremost. Они восстанавливают файлы с какой-то вероятностью основываясь на сигнатуре известных файлов а не разметке ФС. Эта техника называется data carving.

    Успех этих утилит будет зависеть от известности файловых форматов. Я думаю что mp3, jpg будут легко восстановлены. А какие-то неизвестные проприетарные форматы будут поскипаны.
    Ответ написан
    5 комментариев
  • Как математически расчитать ресурсы сервера?

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

    Это - как численные методы. Или как обучение простой нейросетки.
    Ответ написан
    Комментировать
  • Как замедлить размагничивание hdd?

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

    А если ты озабочен гарантиями. Почитай про стриммеры. На их кассеты производитель давал гарантии
    и в 20 лет и более.
    Ответ написан
  • Как возможно автоматизировать импорт данных из CSV в XML файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Задача больше похожа не на импорт а на конвертирование.
    Коробочных утилит нету, потому что XML - это сложный документ,
    который обычно имеет схему. И ты должен предоставить маппинг
    между CSV полем и value тегов или value атрибутов.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Так-же как и в индексировании документов. Строится некое векторное представление документа.
    И потом похожие векторы - указывают на одинаковые (99.9%) документы. Методик векторизации
    много. В основном это токенизация слов и свертывание их к хешу.
    Ответ написан
  • Возможно ли объединение воксельной и полигональной графики в одной игре?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В игре Outcast, было использование и вокселов и полигонов. Ладншафт рисовался вокселами,
    а персонажи и вода и все остальное - полигонами.

    Да. Разрушаемость - это главное преимущество вокселов. Но это скорее оптимизация хранения
    и расчетов. С визуальной точки зрения можно сделать полигоны и вокселы неотличимыми.
    Яркий пример - Minecraft. Его модель мира основана на вокселах, но видим мы просто полигоны.
    Ответ написан
    Комментировать
  • Как создать объектную модель содержимого файла?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты можешь работать на JavaScript/Node языках. С их точки зрения JSON (JavaScript Object Notation) это и есть
    объект и никаких других преобразований уже делать не надо.
    Ответ написан
  • Что стоит учить с или c++ или c#?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Добрый вечер! Столкнулся с такой проблемой: Мне очень нравятся семейство языков Си, у меня есть выбор учить C++ либо C#, хочу разрабатывать ПО для ПК. Подумал начать с C++ и говорят что сначала поучить чистый СИ, а после переходить на C++, так что же из этого правильно? Надо ли учить Си? Или может лучше начать с C#, а дальше уже выучу C++?

    Тема сравнения С/C++/C# в публичном пространстве - опасная тема. Она обычно заканчивается
    топиком в 1000 страниц и великой войной всех против всех. Я видел много таких войн.
    Они ничем не заканчиваются. Специалисты остаются при своих мнениях. А зритель просто развлекается.

    Сам по себе выбор языка ставят только новички. Професиионалу безразличен язык (почти). Его может больше интересует отрасль, стек технологий, стандарты и протоколы. С моей точки зрения сегодня
    таким стандартом может быть выбор облака (AWS, Azure, GCP).

    Чистый СИ учить смысла нет. Учи сразу С++. Но даже его создатель Бьорн Страуструп считает что С++ это
    сложный язык и он настаивает чтобы новички не брались учить все фичи сразу. Исключение по языку
    СИ может быть в том случае, если ты собрался быть инженером по разработке микро-контроллеров
    и у тебя скорее всего будет только СИ как основной (на 80-90%) инструмент взаимодействия с таким железом. Выйти на мидловый или синьорный уровень в С++ очень тяжело. Тяжелее чем в других языках.
    Поэтому будь готов терпеть. Вот когда виски станут седые - тогда и будешь господин-синьор.

    C# - это очень сильно корпоративный стандарт от Microsoft. Никакой связи с С++ он не имеет. Он конечно
    внешне похож но это сходство обманчиво. Да изучать его тоже можно. Он учится легко. Существуют книги
    вроде ".... C# за 14 дней". Разработка бизнес-приложений на шарпах идет гораздо быстрее чем на С++
    например. И завалить систему в синий экран в этом языке гораздо труднее. В нем реализованы методы
    защиты памяти и нельзя грязно трюкачить с указателями как это любят в С или С++. Производительность
    шарпов в численных методах будет слабее чем в С++ но обычно бизнес не ставит таких задач и чаще
    надо будет писать веб-хендлеры или хендлеры MQ-систем. Кач уровней синьорити идет быстрее в шарпах.
    Ответ написан
    2 комментария
  • Почему SVG с вложенным PNG внутри не отображается в Safari?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно png преобразвать в векторную картинку. И будет такая нативная интеграция. SVG внутри SVG.
    Ответ написан
  • Как сделать так чтобы бот понимал какой сегодня день недели?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почитай про structural pattern matching в Python.

    И почитай про шаблон RCWP (Replace Condition With Polymorphism)
    Ответ написан
    Комментировать
  • Как построить векторное поле из массива случайных точек?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я плохо знаю вышку. Но я-бы смотрел на эту задачу с точки зрения инструментов инженерной графики.
    А инструменты там такие. Полигоны. Вокселы. И particles (частицы).

    Для вокселов проще всего наверное. У тебя есть напреженность поля как функция F(x,y,z). Вот и рисуй
    воксел когда напряженность выше уровня и не рисуй иначе. Будет такая картинка вроде Minecraft.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Посмотри как в Spark/Databricks работает HashingTF https://spark.apache.org/docs/3.5.0/ml-features.ht...

    И еще посмотри ссылки от Feature Hashing https://en.wikipedia.org/wiki/Feature_hashing
    Ответ написан
  • Полезные книги/ресурсы по архитектуре компьютера?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос - просто замечательный. Если говорить простым языком - Хочу Все знать!

    Мне кажется что тебе лучше пойти от практики. Тоесть начать делать игру под Windows/Android
    на том языке который ты знаешь и уже потом пойти "от проблемы". Например, ты пишешь
    как оптимизировать. Оптимизиация графики или основных алгоритмов игры или оптимизация I/O
    это такие себе три разные задачи по каждой из которых можно книгу написать.

    Короче будешь распылятся - еще лет 20 будешь читать умные книжки.
    Ответ написан
    Комментировать
  • Как синхронизировать базу данных и python?

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

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

    Использовать здесь Python или Java или С++ - без разницы. Все они играют по правилам сетевого протокола БД.

    Возможно существуют технологии типа MQ/CDC которые нативно реализованы в конкретной БД , но это очень узкая, и специфичная тема, и ее точно не стоит рассматривать в тегах БАЗЫ ДАННЫХ.
    Ответ написан
    Комментировать
  • Как эффективно хранить и раздавать миллиарды мелких файлов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На ум приходит идея - разделить файлы. По размеру и по роду доступа.
    Например картинки - положить не в файловую систему а во внешнее хранилище типа S3.
    Здесь мы исходим из предположения что размер файла будет - как средний размер фотографии в jpeg.
    Потому что за более мелкими - будет дорого ходить по сети кудато.

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

    XFS - хорошая система. Я все магнитные блины в нее переформатировал но не было такого опыта с мелкими.
    У меня как раз очень большие файлы лежат. Датасеты.

    Еще я-бы предложил посмотреть на саму прикладную задачу с точки зрения коррелированного доступа.
    Например каждый пользователь читает свой index.htm, avatar.jpg, e.t.c. Имеет смысл этот сет файлов
    запаковать в очень быстрый архив. По сути в пакет даже без сжатия чтобы по заказу быстро отдавать
    эту пачку по сети (user_id.pack). А там уж браузер разберется. Пришлем лишнее - не страшно. Все равно пакет летит.
    Главное что теперь у нас нет россыпи мелких файлов а есть среднего размера упаковки на каждого
    пользователя по user_id.
    Ответ написан
  • Есть ли свободные нейросети улучшающие качество звука?

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

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

    hash(file1, file) <> hash(file2, file1)

    поэтому порядок важен.

    Мы не можем доверять естественному порядку файлов. Потому что для NTFS - он (допустим) лексикографический.
    А для флешки (FAT32) файлы могут лежать в рандомном порядке и поэтому хеш такого фолдера может
    быть разным.
    Ответ написан
  • Как вызвать поток дважды поочерёдно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Используй join() для последовательного выполнения потоков.
    Ответ написан
    Комментировать
  • Как сравнить структуры двух БД и создать скрипт миграции?

    mayton2019
    @mayton2019
    Bigdata Engineer
    быстро сравнить структуры БД и сделать скрипт, который приводит одну БД к структуре второй?

    В этой задаче - большое количество подводных камней. Например что делать если в двух БД есть одинаковые
    поля но имеющие разный тип (NUMERIC / VARCHAR). Дилемма... Что делать с исчезающими полями?
    Удалять? Дилемма...

    Я вообще не видел коробочных решение которые бы работали на "раз-два-три". Всегда есть нюансы.
    И есть conditions которые нужно вбить или вкрутить в эти решения.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вы можете материализовывать дашборд. Тоесть фактичекски делать его хард-копию.
    Он ведь не меняется? Верно? И отдавать статический html.

    А в базе - отслеживать бухгалтерию вот как предлагали уже.
    Ответ написан
    5 комментариев