Реконструкция AST: Как мы вручную пришивали Out-Of-Line методы в libclang
Почему строгий нативный парсер теряет методы, и как мы собирали разбитый C++ код по кускам.
Открытая разработка: архитектурные заметки, инженерные решения и обновления прогресса.
Почему строгий нативный парсер теряет методы, и как мы собирали разбитый C++ код по кускам.
Почему нативный парсер C++ не мог распарсить 'Hello World', и как мы писали систему автоматического поиска заголовков.
Как мы отказались от тяжелой зависимости в облаке и почему архитектура Intermediate Representation спасла нас от переписывания половины проекта.
Как безобидный шаблонный трюк std::enable_if заставлял генератор документации молча удалять классы из проекта.
Поучительная история о том, почему негласные строковые контракты превращают микросервисы в распределенный монолит.
Как безобидный фронтенд на Next.js заставил нас сражаться с хостингами, устаревшими документациями и неявными конвенциями.
Как мы строили Free-Tier, защищались от Abuse-нагрузки и почему выбрали Clerk вместо дешевого Supabase Auth.
Рассказываем, как безобидный файл конфигурации чуть не стал вектором RCE, и почему мы перешли на архитектуру Zero-Trust.
Как мы поняли, что дистрибуция бинарных файлов убьет наш публичный бизнес, и почему нам пришлось разделить продукт на две ветви.
Разбираемся, почему разделение одного семейства рендереров на отдельный приватный плагин было ответом не на архитектурный зуд, а на юридический вопрос.