home.social

#ассемблер — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #ассемблер, aggregated by home.social.

fetched live
  1. Как я простенький keygen писал

    Это моя первая статья подобного рода(да и в целом любого рода), в которой я покажу как писал keygen для простенького приложения. Я использовал динамический анализ через x96 dbg, плюсы для keygen'а, и, конечно же, родненький ассемблер. Статья предназначена для новичков в реверсе и всех, кто хочет что‑то вспомнить. Если зайдет — это может превратиться в серию статей с повышающимся уровнем сложности реверса, но это в мечтах, а пока к сути. Да давай уже

    habr.com/ru/articles/1097676/

    #ассемблер #c++ #hacking #отладчик #crackme #crackmesde #reverseengineering #крякми #динамический_анализ

  2. Палеокомпьютинг, часть 1: процессор Вирта, проект Оберон, новая архитектура в Qemu и KubeVirt и запуск в Cozystack и K8s

    1 января 2024 года умер Никлаус Вирт, человек, который придумал Pascal, Modula-2 и Oberon, получил премию Тьюринга и всю жизнь упрямо воевал с раздутым софтом. Мало кто знает, что уже глубоко за семьдесят он сел и спроектировал собственный процессор, маленький и простой, чтобы на нём можно было показать студентам компьютер целиком, от логических вентилей до окон на экране. В сентябре 2026 года я взял этот процессор и попробовал запустить его везде, куда смог дотянуться. Сначала прямо во вкладке браузера, причём не в эмуляторе, а в виде той самой схемы, которую нарисовал Вирт. Потом в QEMU, как обычную виртуальную машину. Потом в Kubernetes, где вообще-то живут совсем другие виртуалки, с Ubuntu и базами данных. И в конце концов в Cozystack, нашей облачной платформе, где машину Вирта теперь можно поставить кнопкой из каталога, как какой-нибудь PostgreSQL. По дороге я наконец измерил то, о чём программисты спорят десятилетиями, — сколько на самом деле стоит проверка выхода за границы массива. Ещё запустил на процессоре Вирта маленькую языковую модель. И, раз уж честно, одним неосторожным движением отправил в переезд все виртуалки рабочего кластера (никто не пострадал, но было неприятно). Статья получилась очень длинной, потому что за девять дней случилось очень много всего, и значительная часть случившегося — это мои собственные ошибки, которые пришлось находить и исправлять. Я старался писать так, чтобы её мог читать человек, который про Оберон никогда не слышал, а всё, что интересно только специалистам, спрятал под спойлеры. Читать можно подряд, а можно прыгнуть сразу в интересную часть. Сначала будет рассказ про сам Оберон, потом про то, как разваливался мой первоначальный план, потом про процессор и проверку границ, про браузер и лабораторные, про QEMU, Kubernetes и Cozystack, а в самом конце про языковую модель и про то, как всё это поставить себе.

    habr.com/ru/articles/1087928/

    #cozystack #webassembly #wasm #оберон #никлаус_вирт #операционные_системы #ассемблер #виртуализация #процессоры #архитектура_пк

  3. [Перевод] Как я запустил Bad Apple с частотой 20 fps на E-Ink дисплее за $71

    Мне удалось запустить полноценное чёрно-белое видео на стоковой плате ESP32-S3 с экраном на электронных чернилах: никакой ПЛИС и никакого ПК — панель управляется напрямую по параллельной шине. В статье я подробно расскажу, как работает этот драйвер. Если коротко, то в нём используется векторный блок, принимающий по 64 пикселя за раз; управляющие сигналы (waveforms), которые хранятся в регистрах, а не в таблицах, и дельта-движок, который обрабатывает только изменения. При этом точность всей системы контролировалась с помощью планшетного сканера.

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #программирование_микроконтроллеров #bad_apple #esp32s3 #ассемблер #diy

  4. Ассемблер смыслов: от алгоритмов Маркова к кириллическому байткоду

    Как естественный язык может стать мнемоническим интерфейсом для низкоуровневых вычислений.* Между человеческой мыслью и машинным кодом всегда лежала пропасть. Чтобы заставить процессор выполнить действие, мы проходим через синтаксис высокого уровня, компиляцию, линковку и виртуальные машины, но так было не всегда. В середине XX века Андрей Марков предложил нормальные алгоритмы , названные впоследствии НАМ, где вычисления описывались как последовательность подстановок символов. Позже появились предметно-ориентированные языки (DSL), пытавшиеся адаптационно приблизить код к задаче. Суть идеи была ясна, чем ближе язык описания к смыслам операции, тем лучше сама трансляция. Я пошел по этому пути дальше ,не сразу и сейчас, уже много лет идея крутилась в голове и все никак не могла достучаться до реализации. И вот наконец предположил, что нам не нужно изобретать новый синтаксис. Достаточно поновому использовать уже существующий инструмент — русский язык. Оказалось, что 33 буквы русского алфавита обладают удивительным свойством: они могут служить готовыми мнемониками для базовых операций процессора (x86/ARM). Это не новый язык программирования. Это семантический метаязык , позволяющий человеку выступать в роли компилятора, а машине — в роли интерпретатора чистого смысла.

    habr.com/ru/articles/1083132/

    #ассемблер #архитектура_процессора #dsl #алгоритмы_маркова #семантический_анализ #компиляторы #нейросимволический_ии

  5. Маленькие тонкости большого дела

    В наше время, а дальше больше, знание умножения и сложения становится стратегическим. Вот то самое умножение в столбик, знакомое с начальной школы и сложение с переносом, знакомое еще раньше умножения, теперь стратегический ресурс. И причина простая как 2х2. Весь обмен информацией теперь шифруется и подписывается. А это, как ни крути, умножение и сложение больших чисел Любая передача информации, денег, команд и знаний нынче требует стандартных шагов: зашифровать-расшифровать и проверить. А это, в основном, именно те самые умножения и сложения больших чисел в большом количестве. Ну и поскольку самый наш любимый размер это 256 битовые числа, то попробуем кое-что тут посмотреть интересного. глянем в суть

    habr.com/ru/articles/1080876/

    #криптография #математика #алгоритмы #умножение #ассемблер #cuda

  6. [Перевод] Микрокод внутри сопроцессора Intel 8087: обмен регистрами

    В 1980 году Intel 8087 стал первым массовым математическим сопроцессором компании и заложил основу для современных вычислений с плавающей точкой. Сегодня его уже не встретить в компьютерах, но внутри этого чипа скрыта интересная инженерная история: сложные операции выполнялись с помощью микрокода, записанного в собственном ПЗУ. В этой статье разберём, как устроен микрокод одной из инструкций 8087 — FXCH, которая меняет местами значения в стековых регистрах. На первый взгляд операция кажется простой, но внутри она превращается в последовательность из 14 микроинструкций с проверкой тегов, обработкой исключений и обменом данных через временные регистры. Посмотрим, как исследователи восстановили эту логику по фотографиям кристалла и что можно узнать о внутреннем устройстве процессора спустя десятилетия после его выхода. Разобрать 8087

    habr.com/ru/companies/otus/art

    #Intel_8087 #микрокод #реверсинжиниринг #процессор #сопроцессор #архитектура_процессоров #FPU #ассемблер #цифровая_схемотехника #устройство_компьютера

  7. Пишу алгоритм FFT на Си для процессора Эльбрус: прямая векторизация

    Данная статья является продолжением предыдущей статьи . Здесь рассматривается вариант прямой векторизации алгоритма FFT . Перед чтением рекомендуется бегло ознакомиться с предыдущей статьёй.

    habr.com/ru/articles/1080522/

    #эльбрус #e2k #vliw #simd #интринсики #ассемблер #си #оптимизация_кода #fft

  8. Положил http:// в строку, и ассемблер молча собрал 0 байт

    Мой ассемблер резал исходник построчными правилами: срезал комментарий, искал двоеточие, делил по запятым. Я заменил это одним проходом с состоянием и попутно проверил, нельзя ли было обойтись заплатками. Нельзя: вторая заплатка ломает то, что починила первая. Куда делись байты?

    habr.com/ru/articles/1080490/

    #лексер #токенизатор #разбор_текста #ассемблер #RISCV #комментарии #строковые_литералы #регрессия #RV32I

  9. Написал свой ассемблер, чтобы понять, откуда берётся ff010113. Почти половину моей программы он выдумывает

    Написал свой ассемблер, чтобы понять, откуда в дизассемблере берётся ff010113. Заодно посчитал, сколько строк моей программы процессор вообще не умеет исполнять, и проверил это на четырёх наборах команд, включая живой ESP32 на столе. На кристалле первая программа серии сломалась: она пишет в UART быстрее, чем провод успевает передавать, и в эмуляторе этого не видно. Что сказала плата?

    habr.com/ru/articles/1076022/

    #RISCV #ассемблер #кодирование_инструкций #псевдоинструкции #RV32I #компоновщик #релокация #bare_metal #QEMU

  10. [Перевод] skitter-creek-bath-salts – обход аппаратной изоляции памяти в современных CPU

    Или как получить полный доступ к изнанке CPU через скремблирование DRAM — PSP, C6, микрокоду, среде SMM и всему остальному, что не попало на страницы спецификации. Всё-таки не всегда &x == &x ... Через вмешательство в работу контроллера DRAM можно сделать так, что обращение по определённому адресу будет вести в любую нужную область памяти. skitter-creek-bath-salts изменяет нижние слои структуры памяти, перестраивая трансляцию физический адресов DRAM. Такой скрэмблинг раскрывает защищённые области памяти, в том числе изолированные зоны, которые не видит даже само ядро. Когда ломается трансляция памяти, следом рушатся построенные на ней механизмы безопасности, и мы получаем доступ буквально ко всему.

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #ассемблер #информационная_безопасность #обход_защит_cpu #процессоры #низкоуровневое_программирование #работа_с_памятью

  11. [Перевод] wake up: демо в 16 байтах

    В детстве я учился программированию на старом IBM PC с монохромным зелёным монитором, поэтому давно хотел создать программу для этой системы. За последние пятнадцать лет я написал более чем сотню небольших интро. В последнее время я был не так активен, но потрясающее интро «Rainbow Surf» автора Plex размером всего 16 байт мотивировало меня снова вернуться к старым наброскам и взяться за работу. Создание этой программы сопровождалось привычными экспериментами. Я развлекался с клеточными автоматами в графике и звуке, а также исследовал трюки sizecoding. В частности: а) полиморфные ассемблерные команды (наподобие add [bx+si],al , имеющую машинный код 0x0000 ) б) переход в середины команд для экономии байт и многократного использования опкодов. Из сотен мелких экспериментов мне приглянулся один, интересный одним только своим названием. Когда я дополнял всё это и избавился от лишнего, мне трудно было понять, что же происходит. Я чесал в затылке, глядя на простую формулу, оставшуюся после удаления код‑гольфингом кучи байт. Я и сам не ожидал, что объяснение этих считанных байт окажется настолько глубоким. В моём интро «M8trix» 2014 года по экрану уже бегали псевдослучайные буквы (в 8 байтах, а потом и в 7), но мне всегда было интересно, как добавить к ним красивый звук. Но хронологически в разработке «wakeup» я сначала занимался звуком. Хорошим подзаголовком к статье мог бы быть «16 байт, превращающие звук треугольника Серпинского в дождь символов из „Матрицы“». Примечание: на каждом такте времени новая строка треугольника Серпинского а) воспроизводится через динамик б) отрисовывается на экране с шагом 56. Можно ощутить движение, но не увидеть его, потому что оно имеет «ширину» 8192 пикселей, но одна строка символов состоит всего из 80 байт. Если бы экран был гораздо больше, то можно было бы увидеть треугольник. Или если не пропускать пиксели и рисовать и все одновременно, он тоже был бы виден.

    habr.com/ru/articles/1067818/

    #ассемблер #кодгольфинг #sizecoding #intro #demo #demoscene #демосцена

  12. «Bro, what…?» #1. Первый контакт с crackme на Linux x86-64

    Вы запускаете программу, о которой ничего не знаете. Она вежливо просит строку, а в ответ на ваш ввод насмешливо отвечает: «Bro, what are you trying to do?» И правда, что мы пытаемся сделать? Пытаемся понять ее. Перед нами crackme – программа-головоломка, написанная для тренировки навыков обратной разработки: бинарник под Linux x86-64 без исходников и документации, который издевается над каждым, кто не смог его разгадать. Это первая статья цикла из трех о гибридном анализе крякми Getting Started Keygen (Mazzottis). Мы осмотрим файл штатными утилитами, найдем main в Ghidra, расшифруем «бессмысленные» имена переменных в реальную раскладку стека и подтвердим гипотезы в GDB. По пути встретим оптимизированный пролог без RBP, «хитрое» беззнаковое условие и std::string , спрятавшийся в трех переменных, которые на первый взгляд никак не связаны. Во второй части цикла – мутационное тестирование и реконструкция скрытой структуры, в третьей – полный разбор хеш-функции и восстановление алгоритма на Python. Читать первую часть

    habr.com/ru/articles/1068160/

    #реверсинжиниринг #Ghidra #GDB #ассемблер #x8664 #crackme #CTF #отладка #Linux #C++

  13. 64 байта и одна константа: разбор переключения контекста в ядре на Rust

    В прошлый раз я писал про потерянное пробуждение и получил в комментариях справедливое замечание, что примитив там классический. Так и есть. Сегодня про место, где классики меньше: как в моём ядре устроено переключение контекста, и почему ассемблер там знает смещение поля в структуре Rust. Это неприятная связь. Ассемблеру нужен байтовый доступ к сохранённым регистрам, а раскладку структуры определяет компилятор. Если эти двое разойдутся во мнениях, вы не получите ошибку компиляции. Вы получите ядро, которое пишет регистры мимо и падает где-то далеко от места ошибки.

    habr.com/ru/articles/1068066/

    #rust #ассемблер #переключение_контекста #ядро #операционные_системы #системное_программирование #x8664 #no_std #fpu #xsave

  14. Моя рекурсия зависла навсегда, и это был правильный результат

    Написал рекурсию тем же приёмом, что во второй статье, и программа повисла навсегда: возвращаться ей было некуда. Чиню, завожу стек и по дороге выясняю, что регистра sp в наборе команд нет вовсе. А потом урезаю стек до 128 байт, и сборка об этом не говорит ни слова. Ломать второй раз!

    habr.com/ru/articles/1067662/

    #RISCV #QEMU #bare_metal #ассемблер #стек #рекурсия #соглашение_о_вызовах #переполнение_стека #psABI

  15. Мой код терял бы 230 байт из 231. Чтобы это увидеть, пришлось патчить QEMU

    Через четыре часа после первой статьи пришёл комментарий: в моём коде не хватает трёх инструкций, и на настоящей плате он рассыплется. Читатель arteast был прав. Сел воспроизводить поломку. Собрал два варианта, свой и правильный, прогнал на строке в 231 байт. Вывод побайтово одинаковый. Замедлил линию до предела. Ничего не изменилось. Написал программу, которая смотрит, бывает ли передатчик занят хоть когда-нибудь. При выводе в консоль не бывает. Моя ошибка внутри эмулятора не проявляется вообще. Проверить себя было нечем. Пришлось чинить эмулятор. Ну, чини!

    habr.com/ru/articles/1065662/

    #riscv #qemu #baremetal #uart #ассемблер #эмуляция #отладка

  16. Двенадцать символов, двадцать один байт: как я научил голый RISC-V говорить «Привет, мир!»

    Без библиотек, без обвязок, без операционной системы под ногами. Реальный код на реальном железе — ну, почти реальном. Пустая эмулируемая машина RISC-V, десяток строк ассемблера, и в терминале: Сначала думал вывести «hello», как все. Пусть будет «Привет, мир!» Ну, привет!

    habr.com/ru/articles/1065554/

    #RISCV #QEMU #bare_metal #UART #ассемблер #UTF8

  17. Легенда о хардкоре: Duke Nukem 3D, Watcom и FreeBSD

    Как утверждают психологи «все проблемы человека происходят из детства» — все что не дали родители в юном возрасте потом обязательно проявит себя во взрослой жизни. В моем, весьма специфическом случае такой нереализованной мечтой детства долгое время оставался.. компилятор Watcom , дорваться до которого удалось лишь спустя почти тридцать лет. Рассказываю об этом удивительном проекте.

    habr.com/ru/companies/timeweb/

    #watcom #openwatcom #freebsd #duke3d #ассемблер #dosbox #cpp #хардкор #timeweb_статьи

  18. Копируем ключ без ключа: умный дубликатор 1-Wire на ассемблере AVR с ручным вводом и контролем CRC

    Здравствуйте, уважаемые хабровчане! И снова новое устройство. И снова древний чип и ассемблер — на радость комментаторам. 😊 Сразу хочу расставить все точки над «i». Да, я знаю, что можно было взять чип поновее или вообще что-то типа Raspberry Pi, прикрутить к нему экран 640х480, подсоединить мышь, клавиатуру, модуль GSM для выхода в глобальную сеть и сохранения ключей на сервере. Да и код можно было написать не на ассемблере, а на Си, Python, Rust, «навайбкодить» или добавить искусственный интеллект. Всё это я прекрасно знаю, так что давайте не будем на это отвлекаться. Данный проект — чистый DIY. Его цель — показать, что можно сделать на довольно старом (не буду говорить «устаревшем») контроллере. Относитесь к этой статье как к видео о выживании в лесу. Знаете, есть такие ролики, где блогер сознательно уходит в тайгу, имея при себе только топор, спички, соль и чистый энтузиазм. Он строит себе жилье, находит пропитание и отлично отдыхает. А ведь мог бы на вертолете долететь до турбазы, выйти из дверей прямо к телевизору, попивать пивко и закусывать шашлыком, глядя на красиво постриженные сосны за окном…

    habr.com/ru/articles/1053762/

    #atmega8 #ассемблер #avr #1wire #ds1990 #wh1602 #копировщик_ключей #diy #электроника #схемотехника

  19. [Перевод] Ghidra для реверса прошивок: практический гайд по восстановлению логики бинарника

    В прошивках редко есть удобные символы и понятная точка входа, зато почти всегда остаются следы: строки, таблицы адресов, магические значения, обработчики прерываний и вызовы RTOS. Разбираем, как использовать эти зацепки в Ghidra, чтобы постепенно превратить сырой бинарник в осмысленную карту функций, данных и связей между ними. Понять Ghidra

    habr.com/ru/companies/otus/art

    #реверсинжиниринг #Ghidra #прошивки #анализ_бинарников #FreeRTOS #RTOS #декомпиляция #ассемблер #BSim

  20. Remoded: разбираем демо-эффекты (часть 2)

    И снова приветствую всех любителей олдскула, демосцены и олдскульной демосцены. Это вторая часть разбора DOS-демки "Remoded" и соответственно эффектов, основанных на аппаратных особенностях видеоадаптера VGA. Сегодня мы продолжим разбираться с аппаратным скроллингом, узнаем, что такое "xorfill" и как его правильно готовить, как эмулировать 12 тысяч цветов в 256-цветном режиме, а также познакомимся с другими технологиями прошлого столетия. MOV AX, 13h; INT 10h

    habr.com/ru/articles/1043888/

    #demoscene #олдскул #демосцена #assembler #кодинг #компьютерная_графика #ассемблер #dos

  21. Пишу алгоритм FFT на Си для процессора Эльбрус

    Примерно полгода назад я познакомился с VLIW ‑процессором Эльбрус-8СВ. На тот момент у меня уже был опыт написания кода на ассемблере для VLIW‑процессора TMS320C66. Поэтому я захотел написать нечто похожее для Эльбруса. А именно, реализовать алгоритм FFT на ассемблере. Но из‑за нехватки документации на инструкции процессора мне пришлось начать с реализации какого‑нибудь простого алгоритма на Си, чтобы изучать его ассемблерный вывод. По результатам той деятельности была написана предыдущая статья . После написания той статьи я решил попробовать реализовать алгоритм FFT на Си для Эльбруса. Работа ещё не завершена, но определённые успехи уже есть (сравнение с EML присутствует). В этой статье я хочу поделиться полученными на данный момент результатами.

    habr.com/ru/articles/1045901/

    #эльбрус8св #эльбрус #e2k #vliw #simd #интринсики #ассемблер #си #оптимизация_кода #fft

  22. Relocation-Based Predicate — врём в IDA по-новому

    Базовые механизмы Windows создавались для защиты программ, но сегодня мы заставим их работать против реверс-инженеров. Показываю новую технику обфускации: как с помощью ASLR и таблицы релокаций создать ложную ветку выполнения, которая сейчас остаётся абсолютно невидимой для статических анализаторов.

    habr.com/ru/articles/1043458/

    #reverse_engineering #ASLR #обфускация #PE #релокации #opaque_predicate #IDA_Pro #антианализ #ассемблер

  23. [Перевод] Что именно делал компилятор: как ассемблер помогает разобраться в производительности кода на C++

    Расскажу вам одну историю о том, как смог прокачаться в качестве C++-программиста. Мне в этом помогло не чтение стандарта. Я тогда ещё не понимал до конца метапрограммирование с использованием шаблонов (честно говоря, прямо сейчас эту тему изучаю). Нет, просветление наступило, когда я всмотрелся в целую простыню кода на ассемблере x86–64, но не запаниковал, а подумал: “O, нет, нет. ЧТО ТАМ сделал компилятор?” Читать вывод компилятора — это не какое-то мистическое тёмное искусство, которое практикуют только подстриженные в барбершопах разработчики компиляторов, с закрытыми глазами разбирающиеся в выделении регистров. Это навык. Его можно усвоить, затем в нём напрактиковаться, и результат вас очень удовлетворит. Овладев этим умением, вы больше никогда не будете писать «умные» абстракции как раньше.

    habr.com/ru/articles/1041902/

    #программирование #компиляторы #ассемблер #высокая_производительность #оптимизация #c++

  24. Remoded: разбираем демо-эффекты (часть 1)

    Приветствую всех ценителей больших пикселей и выпуклых мониторов. Мы продолжаем разбираться с технологиями демосцены 90-х. В этой статье: недокументированные режимы VGA, аппаратный скролл, fake mode, удивительный алгоритм закраски, и многое другое, о чем бесполезно спрашивать у ChatGPT. BEGIN

    habr.com/ru/articles/1028782/

    #демосцена #олдскул #oldschool #assembler #ассемблер #кодинг #компьютерная_графика

  25. [Перевод] Золотой стандарт оптимизации: разбираем реализацию RollerCoaster Tycoon

    Недавно, благодаря удачному стечению обстоятельств, меня пригласили на один из крупнейших немецких игровых подкастов, Stay Forever , где мы обсуждали метод разработки RollerCoaster Tycoon (1999). Это было крутое интервью, которое можно целиком послушать здесь — конечно, если вы понимаете немецкий. Если же нет, то ничего страшного — в этой статье я перескажу его основное содержание и затрону другие интересные моменты.

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #rollercoaster_tycoon #openrct2 #ассемблер #c++ #крис_сойер #оптимизация

  26. Ржавый ассемблер

    При написании высокопроизводительных приложений на Расте иногда возникает необходимость проанализировать машинный код на уровне инструкций ассемблера, под катом мы возьмём несложный пример и проанализируем во что компилируется код на Расте и как можно повысить производительность. Окунуться в небезопасный код

    habr.com/ru/articles/1026218/

    #раст #ассемблер #производительность

  27. Ротозумер: разбор классического демо-эффекта

    Разбираемся с классическим демо-эффектом из начала 90-х. Когда и в каких демо он появился? Как работает? Почему всё не так просто, как может показаться на первый взгляд? Как написать самый быстрый ротозумер и зачем это нужно в 2026 году? На эти и другие вопросы современности я попробую ответить в этой статье. Никаких ИИ при создании данного материала не использовалось! Продукт ассемблеро-содержащий, с натуральными картинками и витаминами! Читать дальше

    habr.com/ru/articles/993976/

    #ретро #демосцена #ассемблер #олдскул #dos #кодинг #ретрокомпьютеры #ретроспектива #процедурная_графика #demoscene

  28. [Перевод] Как обстоят дела с WebAssembly?

    Когда заходит разговор про WebAssembly, где-нибудь в начале дискуссии обычно появляется комментарий в духе «А что, собственно, произошло?» Этот язык преподносили как нечто поворотное. Неужели это просто был яркий маркетинг? А может, очередной случай с обречённым на провал апплетом JVM? И я хочу подойти к этой теме немного со стороны, так как подобные вопросы содержат ошибочные предположения, которые следует прояснить.

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #webassembly #javascript #jvm #ассемблер #браузеры

  29. [Перевод] Как обстоят дела с WebAssembly? Когда заходит разговор про WebAssembly, где-нибудь в начале дискуссии обычно п...

    #ruvds_перевод #webassembly #javascript #jvm #ассемблер #браузеры

    Origin | Interest | Match
Share on Mastodon

Enter the server where you have an account.