Я написал собственный язык программирования на Node.js — и вот что из этого вышло
Привет, Хабр! Меня зовут SlywerX, я студент 3 курса кафедры Программной инженерии МТУ (Алматы) и fullstack-разработчик. Несколько месяцев назад я задался вопросом: а как вообще работают языки программирования изнутри? Лучший способ разобраться — написать свой. Так появился SWX (Shadow Web eXploit) — скриптовый язык ...
Привет, Хабр! Меня зовут SlywerX, я студент 3 курса кафедры Программной инженерии МТУ (Алматы) и fullstack-разработчик. Несколько месяцев назад я задался вопросом: а как вообще работают языки программирования изнутри? Лучший способ разобраться — написать свой. Так появился SWX (Shadow Web eXploit) — скриптовый язык на базе Node.js с собственным синтаксисом, криптографией и даже HTML-рендерингом.Сейчас SWX на версии 7.0.0. В этой статье расскажу как всё устроено, что было сложно и зачем это вообще нужно было делать.
Связанные теги
Компании и люди
Линия сюжета
Exploit
Последние материалы и связанный контекст по теме Exploit.
Habr
Последние материалы и связанный контекст по теме Habr.
Habr
Последние материалы и связанные ссылки по теме Habr.
Node.js
Последние материалы и связанные ссылки по теме Node.js.
Shadow
Последние материалы и связанные ссылки по теме Shadow.
Продолжить следить за темой
Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.
Кратко о CVSS: как правильно оценивать критичность уязвимостей
Разбираем Common Vulnerability Scoring System – что скрывается за цифрой от 0 до 10, как читать базовые, временные и контекстные метрики, и где искать актуальную информацию об у...
Все, что известно о GeForce RTX 6000: разбираем утечки характеристик, сроки выхода и цены
Серия RTX 5000 на архитектуре Blackwell едва успела обосноваться на рынке, а вокруг следующего поколения уже вовсю кипят страсти. Недавно ютуб-канал Red Gaming Tech опубликовал ...
Организация как Код: как описывать подразделения как исполнимые сервисные контракты
В большинстве компаний подразделение до сих пор описывается двумя способами. Первый — оргсхема, где есть прямоугольник с названием отдела и стрелками подчинённости. Второй — пол...
Децентрализованная оркестрация на RabbitMQ вместо Apache Camel
В этой статье мы расскажем о библиотеке оркестрации обработки данных, которая использует RabbitMQ как децентрализованный механизм передачи объектов между микросервисами. Ее зада...
[Перевод] Ты не можешь построить жизнеспособную дизайн-систему на Tailwind — Часть 1
Tailwind отлично работает для быстрого прототипирования, но становится проблемой когда проект растёт. Разбираю три подхода к построению дизайн-системы на Tailwind — CVA, CSS-пер...
[Перевод] Присяжные решили: Meta* и Google нанесли вред ребенку. Что дальше?
Почему радикальные меры вроде возрастных цензов и отмены «Раздела 230» не сделают соцсети безопаснее.От переводчика: ниже выжимка из этого длинного подкаста. Главные мысли и инс...
Рекламный слот
Встроенный блок в статье
Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Кратко о CVSS: как правильно оценивать критичность уязвимостей
Разбираем Common Vulnerability Scoring System – что скрывается за цифрой от 0 до 10, как читать базовые, временные и контекстные метрики, и где искать актуальную информацию об у...
Все, что известно о GeForce RTX 6000: разбираем утечки характеристик, сроки выхода и цены
Серия RTX 5000 на архитектуре Blackwell едва успела обосноваться на рынке, а вокруг следующего поколения уже вовсю кипят страсти. Недавно ютуб-канал Red Gaming Tech опубликовал ...
Организация как Код: как описывать подразделения как исполнимые сервисные контракты
В большинстве компаний подразделение до сих пор описывается двумя способами. Первый — оргсхема, где есть прямоугольник с названием отдела и стрелками подчинённости. Второй — пол...
Децентрализованная оркестрация на RabbitMQ вместо Apache Camel
В этой статье мы расскажем о библиотеке оркестрации обработки данных, которая использует RabbitMQ как децентрализованный механизм передачи объектов между микросервисами. Ее зада...
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Кратко о CVSS: как правильно оценивать критичность уязвимостей
Разбираем Common Vulnerability Scoring System – что скрывается за цифрой от 0 до 10, как читать базовые, временные и контекстные метрики, и где искать актуальную информацию об у...
Все, что известно о GeForce RTX 6000: разбираем утечки характеристик, сроки выхода и цены
Серия RTX 5000 на архитектуре Blackwell едва успела обосноваться на рынке, а вокруг следующего поколения уже вовсю кипят страсти. Недавно ютуб-канал Red Gaming Tech опубликовал ...
Утечка Claude Code, Cursor 3 и конец халявы от Anthropic
Восьмой выпуск еженедельных IT-новостей от OpenIDE. Самая громкая неделя за всё время выпусков: Anthropic слили полные исходники своего флагманского агента, Cursor выпустил трет...
Организация как Код: как описывать подразделения как исполнимые сервисные контракты
В большинстве компаний подразделение до сих пор описывается двумя способами. Первый — оргсхема, где есть прямоугольник с названием отдела и стрелками подчинённости. Второй — пол...
Дополнительное покрытие этой темы
Похожие публикации и близкие по смыслу материалы по этой же теме.
Node.js → Rust: 5-10x ускорение без знания Rust
На своём MacBook M4 я не замечал проблем. Два скрипта на Node.js 18 собирали информацию по проекту, обходили файлы, считали строки, агрегировали данные и отрабатывали за пару се...
AbortController в Node.js: отмена чего угодно
Пока асинхронный код в Node.js работает штатно, про отмену операций обычно не вспоминают. Но как только запрос зависает, клиент разрывает соединение, а фоновая задача продолжает...