Практическое применение трансформации AST-деревьев на примере Putout
#JavaScript #NodeJS #Компиляторы #javascript #nodejs #ast #parser IV
https://habr.com/ru/post/439564/
#JavaScript #NodeJS #Компиляторы #javascript #nodejs #ast #parser IV
https://habr.com/ru/post/439564/
t.me
Практическое применение трансформации AST-деревьев на примере Putout
Введение Каждый день при работе над кодом, на пути к реализации полезного для пользователя функционала, становятся вынужденные (неизбежные, либо же просто желате...
Что такое MagicString и настолько ли эти строки волшебные?
#JavaScript #javascript #magicstring #ast #nodejs #nodejs #parser IV
https://habr.com/ru/post/502760/
#JavaScript #javascript #magicstring #ast #nodejs #nodejs #parser IV
https://habr.com/ru/post/502760/
t.me
Что такое MagicString и настолько ли эти строки волшебные?
MagicString — это малоизвестная библиотека. Не смотря на это она решает одну из насущных проблем — изменение исходного кода с использованием его структуры (AST —...
«Оптимизируем» функции на уровне AST
#БлогкомпанииДомКлик #Ненормальноепрограммирование #Python #python3 #ast #метапрограммирование #декораторы IV
https://habr.com/ru/post/576032/
#БлогкомпанииДомКлик #Ненормальноепрограммирование #Python #python3 #ast #метапрограммирование #декораторы IV
https://habr.com/ru/post/576032/
t.me
«Оптимизируем» функции на уровне AST
Python предоставляет программисту огромное пространство свободы. Увы, обычно это довольно дорогая в плане производительности свобода, зато при правильном применении иногда она позволяет творить сущую...
Как мутировать код в Angular-схематиках и не поседеть
#БлогкомпанииTINKOFF #TypeScript #Angular #JavaScript #angular #typescript #ast IV
https://habr.com/ru/post/582120/
#БлогкомпанииTINKOFF #TypeScript #Angular #JavaScript #angular #typescript #ast IV
https://habr.com/ru/post/582120/
t.me
Как мутировать код в Angular-схематиках и не поседеть
Чтобы использовать Angular CLI на полную, разработчики должны знать, что такое схематики. Например, команды ng add, ng update и ng generate используют схематики для добавления, обновления и настройки...
Антиплагиат исходного кода: гибридный подход с использованием парсера ANTLR
#Алгоритмы #УчебныйпроцессвIT #плагиатисходногокода #AST #ANTLR #сравнениесхожестипрограмм #антиплагиат IV
https://habr.com/ru/post/583882/
#Алгоритмы #УчебныйпроцессвIT #плагиатисходногокода #AST #ANTLR #сравнениесхожестипрограмм #антиплагиат IV
https://habr.com/ru/post/583882/
t.me
Антиплагиат исходного кода: гибридный подход с использованием парсера ANTLR
Работая при университете, недавно столкнулся с интересной задачей, связанной с поиском академического плагиата во внутренней системе контестов по программированию, ставшей основой для преподавания...
Технологии статического анализа кода PVS-Studio
#БлогкомпанииPVSStudio #staticcodeanalysis #pvsstudio #codequality #dataflow #ast IV
https://habr.com/ru/post/645071/
#БлогкомпанииPVSStudio #staticcodeanalysis #pvsstudio #codequality #dataflow #ast IV
https://habr.com/ru/post/645071/
Хабр
Технологии статического анализа кода PVS-Studio
PVS-Studio предоставляет статические анализаторы для языков C, C++, C# и Java на платформах Windows, Linux и macOS. Несмотря на некоторые различия, накладываемые особенностями отдельных языков, в...
Как правильно написать калькулятор на питоне с помощью eval()
#Python #Программирование #python #ast IV
https://habr.com/ru/articles/749574/
#Python #Программирование #python #ast IV
https://habr.com/ru/articles/749574/
Хабр
Как правильно написать калькулятор на питоне с помощью eval()
В комментариях к статьям по синтаксическому анализу я иногда вижу такие: на питоне калькулятор пишется проще простого — print(eval(input())) Ну, вобщем‑то — да, но если,...
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 1. Знакомимся с содержимым синтаксического древа
#БлогкомпанииFirstVDS #F #Fantomas #синтаксическоедерево #myriad #ast IV
https://habr.com/ru/companies/first/articles/772734/
#БлогкомпанииFirstVDS #F #Fantomas #синтаксическоедерево #myriad #ast IV
https://habr.com/ru/companies/first/articles/772734/
Хабр
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 1. Знакомимся с содержимым синтаксического древа
В этом многословном, но сравнительно простом цикле я дам введение в генерацию F#-кода. Как правило, для этих целей в сообществе рекомендуют использовать Myriad , что, по-моему, не совсем правильно,...
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 3. Модули и типы
#БлогкомпанииFirstVDS #NET #F #fantomas #fluentapi #ast IV
https://habr.com/ru/companies/first/articles/797447/
#БлогкомпанииFirstVDS #NET #F #fantomas #fluentapi #ast IV
https://habr.com/ru/companies/first/articles/797447/
Хабр
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 3. Модули и типы
В прошлых двух частях мы ознакомились с синтаксической моделью F#-кода и с инструментами для неё . Объёмный пример туда уже не влез, но необходимость в нём осталась. Так родились ещё две...
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 4. Расширения, обобщения и методы
#БлогкомпанииFirstVDS #NET #F #fantomas #fluentapi #ast IV
https://habr.com/ru/companies/first/articles/799233/
#БлогкомпанииFirstVDS #NET #F #fantomas #fluentapi #ast IV
https://habr.com/ru/companies/first/articles/799233/
Хабр
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 4. Расширения, обобщения и методы
В прошлой части мы научились определять собственные типы и модули. Мы облекли все достопримечательности в конкретные типы и теперь можем снабдить их индивидуальными свойствами-ребрами: В этой части...
Мощь AST в действии, или как переписать код 10 летней давности на ES6-модули и ничего не сломать
#БлогкомпанииiSpring #JavaScript #Проектированиеирефакторинг #javascript #jscodeshift #ast #рефакторинг
https://habr.com/ru/companies/ispring/articles/822975/
#БлогкомпанииiSpring #JavaScript #Проектированиеирефакторинг #javascript #jscodeshift #ast #рефакторинг
https://habr.com/ru/companies/ispring/articles/822975/
Хабр
Мощь AST в действии, или как переписать код 10 летней давности на ES6-модули и ничего не сломать
Всем привет! Меня зовут Кирилл и я работаю фронтенд-разработчиком. Я расскажу о том, как мы перевели несколько тысяч файлов, написанных на JavaScript, с легаси кода, который использовал goog.module ,...
В поисках хорошего стиля. Часть 1. Зачем нам свои линтеры на Go в Островке
#БлогкомпанииОстровок #Программирование #Go #островок #линтеры #golang #ast
https://habr.com/ru/companies/ostrovok/articles/839514/
#БлогкомпанииОстровок #Программирование #Go #островок #линтеры #golang #ast
https://habr.com/ru/companies/ostrovok/articles/839514/
Хабр
В поисках хорошего стиля. Часть 1. Зачем нам свои линтеры на Go в Островке
Мы написали свои линтеры для Go, которые умеют находить пустые инициализации и проверять экспортируемость полей и методов типов. Сегодня мы поговорим о том, как наша команда пришла к собственному...
Генерация кода валидации из спецификации OpenAPI: как мы синхронизировали валидаторы данных между бэкендом и фронтендом
#openapigenerator #генераторкода #jsonschemavalidator #codesplitting #ast #openapispecification #api
https://habr.com/ru/companies/outlines_tech/articles/860566/
#openapigenerator #генераторкода #jsonschemavalidator #codesplitting #ast #openapispecification #api
https://habr.com/ru/companies/outlines_tech/articles/860566/
Хабр
Генерация кода валидации из спецификации OpenAPI: как мы синхронизировали валидаторы данных между бэкендом и фронтендом
Представьте ситуацию: ваша команда закончила интеграцию с API, все протестировала и подготовила релиз. А тут внезапно серверная команда меняет формат ответа. Фронтенд падает, QA злится, пользователи...
Как приготовить обфускацию в JavaScript и не сжечь лабараторию: AST, babel, плагины
#javascript #reverseengineering #obfuscation #ast #babel #deobfuscation
https://habr.com/ru/articles/870152/
#javascript #reverseengineering #obfuscation #ast #babel #deobfuscation
https://habr.com/ru/articles/870152/
Хабр
Как приготовить обфускацию в JavaScript и не сжечь лабораторию: AST, babel, плагины
Вступление Вероятно каждый программист или компания, сталкивались с мыслями о своей крутости или хотя бы крутости своих алгоритмов 😎. Разумеется, в этом случае может возникнуть соответствующее...