AST.
FlakyDetector 2.0: Один комментарий, который перевернул моё представление о нестабильных тестах
Как мы с вашей помощью добавили анализ фикстур, подняли размерность признаков до 42 и научились видеть order dependency до того, как она рушит CI
FlakyDetector 2.0: Как я превратил сырое исследование в продакшен-инструмент с AST, ML и красивым дашбордом…
— История о том, почему половина ваших тестов падает «сама по себе», и как я научился находить виновников по исходному коду. Лид: Час на перезапуск билда — это норма?Представь: пятница, вечер. Ты запускаешь CI для последнего пулл-реквеста, идёшь наливать кофе, возвращаешься… а билд упал. Один тест. Ты перезапускаешь проходит. «Флаки», — вздыхаешь ты и ставишь лейбл flaky. На следующей неделе история повторяется. Потом ещё раз.Мы привыкли, что нестабильные тесты — это неизбежное зло
Lattelua — когда Lua уже мало
По мотивам CoffeeScriptЕсли вы хоть раз встраивали Lua в свой проект — будь то игровой движок, высоконагруженный веб-сервер на OpenResty или конфигуратор сложного сетевого оборудования — вы знаете, за что мы его любим:)
Обратная сторона Babel: как микроскопические языки помогают в изучении больших
В этой статье рассказывается, как крошечные, экспериментальные языки программирования, размером порой меньше 100 строк, могут неожиданным образом углубить понимание сложных промышленных языков. Будет показано, как микроязыки раскрывают суть концепций, скрытых в слоистых абстракциях Java, Rust или C++. Много примеров, кода и немного лирики.
«Клюква» — автоматизация документации проектов на Python
Привет! Меня зовут Алексей Фоменко. Я разработчик из Нижнего Новгорода.Сегодня хочу рассказать вам о своем сервисе "Клюква".Почему "Клюква" и "автоматизация документации"? Ответ на самом деле простой — потому что мне это название нравится.
Рефакторинг с помощью codemods для автоматизации изменений API
Если вы разрабатываете библиотеку, например, такую как lodash или React, ваша утилита может стать популярной и использоваться сотнями тысяч разработчиков ежедневно. Со временем могут появиться шаблоны использования, выходящие за рамки изначального замысла. В таких случаях может возникнуть необходимость расширить API, добавив параметры или изменив сигнатуры функций для обработки крайних случаев. Главная сложность — внедрить эти изменения, не нарушая работу пользователей.Именно здесь на сцену выходят codemods

