• Где проходит граница между опенсорсом и коммерческим продуктом, основанным на опенсорсе?

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

    Но всегда вспоминайте создателя Nginx (Игорь Сысо́ев) который работая в Рамблер его писал. а потом Рамблер хитрожопо решил его отжать - хорошо что не вышло.
    Ответ написан
    Комментировать
  • Как проверить 500 000 файлов word,exel,pdf ,txt что они не битые?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я-бы поделил файлы word,exel,pdf ,txt на группы.

    1) Aрхивы docx, xlsx. Как выше заметил один джентльмен их можно проверить любой
    утилитой которая умеет читать zip и делать zip -t (test) с выводом статуса в errorlevel.
    Автоматизировать можно либо bash либо python скриптом.

    Если архив целый (контрольные суммы совпали) то и документ почти 100% не поврежден.

    2) Офисные документы старого формата (doc/xls). Здесь я-бы парсил их через apache POI
    (это java библиотека). Это разработка. Но простая. На 1 story point. Я думаю
    любой первокурсник напишет.

    3) Adobe документы. Масса вариантов. Есть автоматизация с помощью bash/python
    и консольными тулзами. Я перечислю тулзы которые есть под линукс и которые читают
    pdf.

    - pdfimages
    - pdfextract
    - pdftoppm

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

    4) Прочие текстовые документы. Неструктурированные. Я тут честно не знаю как их проверять.
    Но допустим если они содержат текст в кодировке win-1251 то любой криптохакер
    с cryptohack вам быстро напишет скриптик
    для проверки что гистограмма или биграмма
    соотвествует примерно тексту и национальным признакам. Если файл будет в нулях
    или в рандомном шуме то какой-то критерий не сработает. Здесь надо подумать
    и просто глазами посмотреть на эти документы. Возможно большая часть из них
    это бланки - и тогда надо чекать наличие просто каких-то шаблонов.
    Ответ написан
    2 комментария
  • Как проверить 500 000 файлов word,exel,pdf ,txt что они не битые?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    "Новые" офисные форматы (.docx, .xlsx, ...) - это по факту zip-архивы.

    Новый (пустой) документ Excel распакуется в виде, ЕМНИП, шести папок и примерно десятка файлов.

    Соответственно, их целостность можно проверить с помощью 7-Zip.

    Но с .pdf такой фокус не пройдёт.

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

    Анализаторы энтропии встроены в некоторые инструменты для data recovery, но они работают немного по-другому и с накопителями в целом.
    Утилиты для отдельных файлов я сходу не назову, хотя почти уверен, что она должна существовать. Поищите в составе инструментов для forensic в духе Kali Linux и подобного.
    Также посмотрите что используют те, кто анализируют прошивки, дампы чипов, и занимаются подобным реверс-инжинирингом.

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

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Скорее всего, можно, если телефоном не пользовались после их удаления, а не просто "пару лет".
    Т.е. вопрос в том, была ли удалённая информация перезаписана новой или нет. Если нет, то с достаточно высокой вероятностью данные можно восстановить.

    Кнопочные телефоны (особенно популярные модели) неплохо изучены, плюс в них нет различных ухищрений с шифрованием, распространённых в современных смартфонах.

    Как ориентир для поиска можете использовать наличие у специалиста инструментов наподобие "Мобильный криминалист" или Cellebrite UFED.

    Посмотрите какие предложения есть в вашем регионе, затем используйте вот эту краткую инструкцию для проверки на предмет того, можно ли доверять компании: восстановление-данных.рф
    Ответ написан
    Комментировать
  • Как написать игровой движок?

    @lea
    Jason Gregory "Game Engine Architecture" (три издания, третье точно есть на русском)
    Gabor Szauer "Hands-On C++ Game Animation Programming"
    David Wolff "OpenGL 4 Shading Language Cookbook" (есть издание на русском - "Open GL 4. Язык шейдеров")

    +можно поковыряться в опенсорсных движках, например, quake 3
    Ответ написан
    Комментировать
  • OpenWRT и VLESS как увеличить скорость?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Гигабит на обоих концах не означает, что между точками тоже будет гигабит, тем более с инкапсуляцией - гуглите "зависимость пропускной способности от RTT".

    Iperf между Москвой и хостингом гигабит выдаёт? В сколько потоков?
    Ответ написан
    2 комментария
  • Почему мой жесткий диск то умирает, то подает признаки жизни при странных обстоятельствах?

    15432
    @15432
    Системный программист ^_^
    Если вам действительно важны данные на нем - обратитесь в контору по восстановлению дисков. Каждый запуск, каждая подача питания, каждая ваша попытка что-то сделать уменьшает шансы на восстановление.
    Ответ написан
    Комментировать
  • Какие есть книги/руководства по разработке "простого языка программирования" для новичка?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я отметил совет Нестерова как решение. Но добавлю.

    Тебе нужно подойти к преподавателю и задать ему макимальное число вопросов
    по поводу того что он хочет на самом деле видеть. Желательно сузить постановку
    до такого уровня чтоб ты успела за семестр это сделать. Например делать
    транслятор сразу без файлов и сетевого I/O. Пускай это будет просто REPL
    консоль как в ранних версиях Haskell.

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

    Разработка Форт-подобного языка мне тоже кажется набиолее выгодной с точки
    зрения цена/производительность но Форт это достаточно нишевый язык и препод
    может быть недоволен. Возможно он хотел какие-то более развитые грамматики
    а не токько words and spacers.

    Можно разработать простейший Лисп но я не уверен что тут в семестр уложишся. Тем
    более что у тебя только базовый уровень всего остального. Но Лисп транслятор
    на минималках
    был бы самой красивой курсовой работой на потоке.
    Ответ написан
    Комментировать
  • Какие есть книги/руководства по разработке "простого языка программирования" для новичка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Руководитель дипломной работы предложил разработать "простой язык программирования для целей обучения". Я поняла его так - многие учебные задачи с использованием современных языков теряют смысл. (перевернуть массив? для этого есть готовая функция. написать сортировку - тоже есть. а если задача на динамических списках - студент сложит их в массив и радуется) только вручную проверять, правильно ли написал. А хорошо если есть язык в котором опцией выключаются массивы например или циклы. И конечно минимум готовых функций.


    А кто мешает написать свою структуру данных, и методы для работы с ней, и не "отключать массивы", а просто не пользоваться ими?

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

    Я бы на твоем месте уточнил бы детали у препода, на каком уровне требуется это сделать.
    Ответ написан
    2 комментария
  • Какие есть книги/руководства по разработке "простого языка программирования" для новичка?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Рекомендую начать с Форта: минимальный интерпретатор пишется за один-два вечера за чашкой чая. Форт очень простой, гибкий и очень мощный. Он позволяет реализовывать достаточно простым способом проблемно-ориентированные ЯП (DSL). У него крайне простой синтаксис - это просто слова, отделенные разделителем (пробелом). И всё! Проще не бывает. Для передачи аргументов используется стек. Математика реализуется обратной польской записью: число, число, оператор. Типа 1 2 +. Если смотреть с классической позиции, то Форт - это интерпретируемый И компилируемый процедурный ЯП высокого И низкого уровня. Почему одновременно и высокого и низкого? Потому что существуют Форт-процессоры в кремнии, для которых Форт - ассемблер (т.е. все слова сразу интерпретируются/компилируются в машинные коды без дополнительной прослойки). А ассемблер - это ЯП низкого уровня. Процедурный - потому что слово может как забрать любое число элементов со стека, так и оставить на стеке любое их число (а не только один аргумент как в функциях). Гибкость же языка реализуется открытостью его движка - можно на лету менять правила интерпретации, компиляции и даже в рантайме все это переписывать, перекомпилировать и прочее. Например, знаменитое сишное определение #define TRUE FALSE заиграет новыми красками, ибо его можно провернуть в рантайме не особо напрягаясь. А еще можно управлять стеком возвратов (это список адресов, куда продолжается поток управления после завершения процедуры) - GOTO в сравнении с этим в ужасе трясется под лавкой. Самое известное приложение для Windows, в котором раскрыты все возможности форта - это nnCron: один из мощнейших автоматизаторов для Windows.
    В качестве дипломной работы реализация Форта подойдет великолепно и чего-то лучше вы вряд-ли найдёте (проверено лично, если что).
    Литература


    Ссылки на англоязычные ресурсы из мана ннкрона:

    И наше русское Форт-сообщество находится вот тут: fforum.winglion.ru
    Ответ написан
    2 комментария
  • Решение для 3D симуляции физики?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут внизу список хороший есть https://en.wikipedia.org/wiki/Physics_engine
    Ответ написан
    Комментировать
  • Чем подобрать кириллический пароль из словаря к rar архиву?

    @maksam07
    Получить хеш пароля:
    rar2john archive.rar > hash.txt

    Пройтись словарем по хешу:
    hashcat -m 13000 -a 0 hash.txt dict.txt
    -m 13000 указывает, что вы работаете с RAR5 (если у вас архив создан в старой версии RAR, нужно использовать -m 12500).
    Ответ написан
    2 комментария
  • Почему, используя Bluetooth-адаптер серьёзной фирмы, интернет раздаётся на ПК, со смешной скоростью в 1.5 мегабита/сек?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Может потому что на оф. сайте пишут что этот адаптер поддерживает только BT 5.0, а не 5.3 ?

    https://www.tp-link.com/us/home-networking/usb-ada...
    Ответ написан
    Комментировать
  • Как сделать дополнительный источник света на нужный объект?

    @LanskoyGames
    У модераторов первое место, но только с конца...
    Culling Mask - Используется для выборочного освещения групп объектов; для получения дополнительной информации смотрите слои(https://docs.unity3d.com/ru/530/Manual/Layers.html).
    Ответ написан
    Комментировать
  • Как в Linux найти файлы одинакового размера?

    hint000
    @hint000
    у админа три руки
    Нужно получить список всех файлов с одинаковым размером. Чтобы потом уже вручную удалить дупликаты.
    Вы можете в несколько кликов искать и удалять дубликаты файлов, используя GUI-утилиту под названием FSlint. Находит не просто совпадение размера, а именно совпадение и размера, и содержимого. Имена файлов при этом могут быть разные. Просто добавляете несколько папок, по которым нужно искать дубликаты, потом среди найденных выделяете те, которые хотите удалить и удаляете. Т.е. вручную можно выбирать в какой из папок файл оставить, а в какой удалить. Можно все дубликаты оставить, можно все удалить (!).
    Утилита имеет и другие функции для поиска разных корявостей и неоптимальностей в папках (имена с "плохими" символами, пустые папки и т.д.)

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

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Вам нужна lock-free хеш таблица (гуглите Lock free unordered_map). В стандартной библиотеке таких структур нет. Или просто используйте свои мьютексы при каждом обращении к структуре.
    Ответ написан
    2 комментария
  • Как бэкапировать СХД RAIDIX?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Ну так там репликация есть
    66a13ab47c5b6369400869.png

    Ни на какую СХД вы не сможете поставить своё ПО, только использовать штатные средства.
    Ответ написан
    2 комментария
  • Можно ли собрать пк с 256гб озу на Ryzen/Intel?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    99% что нельзя. Обычно, если заявлена поддержка такого-то объема памяти - оно столько и будет. Кроме того, в материнских платах обычно 4 слота памяти и надо будет вам искать планки памяти на 64 гигабайта. А то, что материнские платы поддерживают больше памяти, чем процессоры - так это с запасом сделано, на случай, если выйдет процессор с поддержкой указанного объема памяти.
    Так что если надо много памяти - берите сразу риппер/эпик или зион. Меньше проблем с подбором железа. Если финансы ограничены - то вам остаётся только вариант покупки Б/У сервера. Ну или риппер первых поколений: 12 ядер за 9к рублей и лимит памяти в 2ТБ - вполне адекватное решение (правда, все остальное вот вряд ли будет так дешево).
    Ответ написан
    Комментировать
  • Можно ли использовать ОС, созданную в hyper-v, как основную?

    Задался недавно вопросом: можно ли создать виртуальную машину в hyper-v, пробросить в неё свою видеокарту и использовать данную гостевую ОС как основную (то есть работать/играть на данной системе)?

    Да, можно, эта фича Hyper-V называется Discrete Device Assignment.
    И какая Windows понадобится для этого (имеется ввиду, можно ли использовать Win 10 или нужна Win server)?

    На хосте - серверная Винда, в качестве гостя вполне сгодится клиентская Винда.
    И если пробрасывать видеокарту в виртуальную машину, то понадобится второй видеоадаптер для хост машины?

    В данный момент - да, понадобится второй адаптер, т.к. устройство пробрасывается целиком. В Windows Server 2025 появится GPU partitioning, но пока хз с какими видяхами и материнками это будет работать.

    Да, кстати, насчёт оборудования. Всё это замечательно, но вам на вашей материнке скорее всего понадобится поддержка SR-IOV, ну и соответственно IOMMU на матери и процессоре.

    Во-вторых, далеко не все видяхи официально поддерживаются технологией DDA, обычно для этого тестируются только pro-шные линейки карт. Может оно будет работать и с вашей картой. Драйвера карт потребительского сегмента могут блокировать запуск карты, проброшенной в виртуальную машину, или просто работать некорректно (блокируют запуск, т.к. не поддерживают сценарий проброса). Например, сейчас для работы ряда AMD-шных карт с пробросом в ВМ нужен костыль vendor-reset (это линуксовый модуль ядра, для Hyper-V не годится). И NVidia относительно недавно начала поддерживать проброс линейки GeForce в виртуалку (и то непонятно, как там с Hyper-V DDA).

    Я сам использую подобный сетап и пишу прямо сейчас с него, но у меня в качестве гипервизора KVM (использую дистр Proxmox), и материнка ASRock Rack ROMED8-2T, где есть вышеуказанные плюшки (кстати, в качестве адаптера для хоста прокатывает встроенный в мать ASPEED AST2500, поэтому полноценная карточка у меня только одна). В гостевую виртуалку с Windows 11 проброшена карточка Radeon RX 5500 XT, с учётом вышеупомянутого костыля в целом работает. Есть некоторая нестабильность, плюс иногда приходится вместе с виртуалкой перезагружать весь хост. Но это следствие того, что AMD не поддерживает для этих карт работу в пробросе (хотя и не блокирует искусственно), с нвидией возможно было бы получше.

    Ищите информацию по ключевым словам VFIO и PCI passthrough, на Реддите есть неплохое коммюнити. И да, готовьтесь копать много информации и перепроверять её (например мой ответ тоже стоит перепроверить, всё довольно быстро меняется) и покупать оборудование сильно дороже потребительского (если у вас его ещё нет). По Hyper-V DDA информации тоже не так много, советую рассмотреть дистры с KVM, если вам не так принципиально.
    Ответ написан
    1 комментарий
  • Возможно написать авто бота или кликер на JavaScript под онлаин игры по типу WoW или Lineage 2?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    В онлайн играх применяются и постоянно обновляются различные механики и даже шифрование против рерверсинга клиента, написания и применения ботов, кликеров и прочего. Да, такого бота вполне возможно написать и на JS, но вот от задач обратной разработки игрового клиента и написания низкоуровневого кода на ассемблере и C/C++ вас это не спасёт. Это всё равно придется делать. И даже добавит веселья при переносе/конвертации данных между разными ЯП. Кроме того, JS - язык интерпретируемый, хоть он и обладает достаточной производительностью, он может и, скорее всего, станет узким местом в боте, которое будет не успевать за работой игрового клиента или банально не хватит скорости работы при обработке больших массивов памяти (например анализ изображения в реальном времени или сканирование памяти приложения в поисках нужных данных).
    Типовые инструменты разработчика ботов - это WireShark и другие снифферы трафика, различные утилиты для исследования и дизассемблирования скомпилированного кода типа IDA, Resource Hacker и прочее, а так же различные среды разработки, в зависимости от индивидуальных предпочтений. Вообще, софта для реверсинга много разного и всякого для различного рода задач.
    Ответ написан
    Комментировать