Собираем веб-сервер на голом ARM64 ассемблере: для тех, кто считает C слишком высокоуровневым

Когда надоели фреймворки и хочется почувствовать себя настоящим хакером — добро пожаловать в мир ассемблера ARM64.
Помните то чувство, когда вы пишете console.log и понимаете, что под капотом происходит магия? Один смельчак решил заглянуть под самый капот и написал веб-сервер на голом ARM64 ассемблере. Без libc, без операционной системы, только регистры и syscall'ы.
Это как собирать IKEA-мебель без инструкции и отвертки — только вместо шурупов у вас байты, а вместо ключа — отладчик. Проект показывает, как обрабатывать HTTP-запросы на самом низком уровне: открыть сокет, принять соединение, прочитать данные, отправить ответ. Спойлер: код не резиновый, но образовательный — огонь.
Конечно, для продакшена такой сервер не годится (разве что вы хотите, чтобы ваш деплой превратился в квест по выживанию), но для понимания того, что на самом деле происходит при каждом curl localhost:8080, это бесценно. Особенно когда осознаешь, что современные фреймворки делают за нас тонны работы, а мы жалуемся на лишние 10 миллисекунд.
В общем, если вам надоело, что очередной JS-фреймворк снова сломал CI, и хочется вспомнить, как это — контролировать каждый бит, добро пожаловать в мир ассемблера. Там хотя бы понятно, почему всё сломалось: потому что вы забыли сохранить регистр.
Комментарий студии METABYTE: Мы, конечно, не предлагаем писать продакшен-сервера на ассемблере, но понимание низкоуровневой магии помогает даже в высокоуровневых проектах. А если ваш сервер всё же упадёт — мы поможем поднять его быстрее, чем вы успеете сказать "segmentation fault".