Andrey Nagikh @AndreyNagih
✌ Webmaster, Radio-Engineer, Father, Husband, Son
Information
- Rating
- Does not participate
- Location
- Новосибирск, Новосибирская обл., Россия
- Works in
- Date of birth
- Registered
- Activity
✌ Webmaster, Radio-Engineer, Father, Husband, Son
Спасибо за замечание. Возможно я неправильно понимаю сложные взаимоотношения KVM и QEMU. Я ориентировался на данные Википедии.
Насколько я понимаю, KVM использует QEMU для паравиртуализации. Как-то так?
Кстати, необязательно брать Sentry целиком. Можно взять только их клиент Raven.js, а приёмную сторону написать самостоятельно.
Месяц назад ребята из ВК на митапе в Новосибирске рассказывали о том, как они провернули такое у себя. Даже на их гигантских масштабах это сработало.
Это действительно так. То о чем вы говорите называется Host bindings и сейчас над ними ведётся активная работа. Когда их реализуют любой бэкенд компилирующийся в wasm сможет с низкими накладными расходами обращаться к функциональности хоста (это не обязательно будет браузер).
Но. В практическом смысле, подобное уже можно делать прямо сейчас. (Что мы и сделали в нашем проекте Bytefog. Оценить работу технологии можно, например, на сайте peers.tv). Технически, действительно, происходит проброс через JS. Но всю эту работу берет на себя Emscripten. На вход мы ему даём указания что именно мы хотим пробросить. Сделать это можно аж тремя разными способами. Мы выбрали Embind, и я подробно разбираю как его использовать в своём докладе.
assets.metacade.com/emulators/win311vr.html
Рекомендуется смотреть в FireFox.
А также, классный пример синтеза WebAssembly и Electron: Windows 95, аккуратно упакованная в Electron приложение, и доступная для запуска где угодно. (Можно рассматривать как альтернативу DOSBox).
github.com/felixrieseberg/windows95
Про неё кстати уже была статья здесь, на Хабре.
FFMpeg в браузере уже реализовали, да не один раз. Думаю, вам будут полезны вот эти ссылки:
github.com/bgrins/videoconverter.js
github.com/sopel39/audioconverter.js
github.com/Kagami/ffmpeg.js
Буду благодарен вам, если расскажете о результатах своих экспериментов с ними.
Вы имеете в виду, что-то похожее на Sentry, но своё и заточенное под конкретный проект?
Цитата из вашей статьи:
Это совпадает с нашими выводами. И об этом я и говорил в интервью. Инструменты слабые, отлаживать сложно, хорошо помогает нативная версия, чтобы использовать привычные инструменты.
И ещё раз проясню позицию по шаблонам C++: я неправильно сказал, что мы их не используем. Используем, и ещё как. Из библиотек. Но вот своих шаблонов у нас немного.
Нет смысла доказывать что шаблоны это плохо, и использовать их нельзя, здесь я просто неудачно пошутил. Остальное лежит в области соглашений по стилю кода.
Тем не менее, WebAssembly это скомпилированный двоичный файл, и ваш софт распространяется именно в скомпилированном виде. Также, при компиляции может хорошо поработать оптимизатор (всё, как и в обычном C++). Поэтому несмотря на то, что ассемблерный листинг видно прямо в DevTools браузера, разобраться в таком коде гораздо сложнее, чем, например, в минифицированном JS.
Фактически, это такая же задача реверсинга, как и при изучении вирусов, или других нативных программ.
Пожалуй, осложняет её сейчас только то, что для WebAssembly нет (пока?) средств подобных IDA.
Вот, что говорит наш архитектор по этому поводу:
Расскажите, вы говорите о нативной разработке, или используете шаблоны в Wasm?
А мне понравилась конференция! Спасибо большое организаторам: я видел изнутри насколько это тяжёлая работа — организовать и провести конференцию. А особенно, две конференции подряд!
А если вы уже такой сеньёр, что вам скучно слушать доклады, то у меня для вас новость — вам пора выступать. Поверьте, это будет глраздо веселее. Новый уровень веселья!
Поразительно! Статья об учреждении JS Day, и без даты!
Удобнейшая утилита, но слегка конфликтует с Windows 10 (решается установкой раскладки no_rub_sign без знака рубля).
Может быть кому-нибудь она тоже понравится, и он возьмется её сопровождать.
При наличии наблюдателя, гораздо проще проявить все навыки, о которых вы сказали.
И вообще, блоки аналоговой электроники, возможно, полировались десятилетиями, и один блок может содержать в себе несколько изобретений разных авторов. А может и работу целых НИИ.