Привет! Меня зовут Денис Попов, и я iOS-разработчик в QIC digital hub. В этой статье я расскажу о кодогенерации в мобильной разработке: кто действительно нуждается в ней, как она применяется на практике и какую ценность можно извлечь из этого процесса.
Рубрика «кодогенерация»
Кодогенерация: кому нужна и как настроить
2025-01-18 в 13:14, admin, рубрики: android, android development, codegeneration, iOS, кодогенерацияЕВРАЗ доверил ревизию кода ИИ
2024-12-11 в 6:00, admin, рубрики: генеративный ии, ИИ, код, кодогенерация, Программирование, ревизия кода, хакатонНедавно прошёл Хакатон ЕВРАЗа 3.0, на котором участникам поставили задачу упростить и ускорить важный процесс разработки — code review. Эта сложная и трудоемкая часть работы программистов, которая требует предельной концентрации и широкого опыта специалистов.
Хакатон предоставил возможность не только найти новые идеи для автоматизации, но и продемонстрировать потенциал ИИ для повышения качества кода. Если тема цифровых технологий в металлургической промышленности интересует и вас, приглашаем поближе познакомиться с решениями победителей.
Использование ChatGPT для автоматизации генерации кода в JS-проекте
2024-10-15 в 13:05, admin, рубрики: chatgpt, grammy, javascript, llm, nodejs, regexp, teqfw, кодогенерацияВ своих предыдущих статьях о разработке телеграм-ботов я делился опытом создания базового функционала и работы с командами через аргументы (раз, два). На этапе подготовки третьей статьи передо мной встал вопрос генерации однотипного кода для новых команд, что превратилось в рутинную задачу. Чтобы избежать этого и ускорить процесс, я решил задействовать ChatGPT. К моему удивлению, его помощь оказалась значительно весомее, чем я ожидал.
Как перестать писать код для взаимодействия с бэкендом
2021-07-03 в 14:29, admin, рубрики: api, dart, flutter, open source, openapi, swagger, кодогенерацияПривет! Начну с главного - я лентяй. Я очень-очень ленивый разработчик. Мне приходится писать много кода - как для бэка, так и для фронта. И моя лень постоянно терзает меня, говоря: Ты мог бы не писать этот код, а ты пишешь... Так и живем.
Но что делать? Как можно избавиться от необходимости писать хотя бы часть кода?
Есть много подходов к решению этой проблемы. Давайте посмотрим на некоторые из них.
OpenAPI
Оживляем деревья выражений кодогенерацией
2021-01-01 в 20:27, admin, рубрики: .net, C#, expression trees, fody, linq, module initializer, roslyn, source generators, uno, Visual Studio, xamarin, деревья выражений, кодогенерация, рефлексияДеревья выражений System.Linq.Expressions
дают возможность выразить намерения не только самим кодом, но и его структурой, синтаксисом.
Их создание из лямбда-выражений — это, по сути, синтаксический сахар, при котором пишется обычный код, а компилятор строит из него синтаксическое дерево (AST), которое в том числе включает ссылки на объекты в памяти, захватывает переменные. Это позволяет манипулировать не только данными, но и кодом, в контексте которого они используются: переписывать, дополнять, пересылать, а уже потом компилировать и выполнять.
Описание архитектур процессоров в LLVM с помощью TableGen
2019-11-04 в 17:57, admin, рубрики: LLVM, open source, кодогенерация, Компиляторы, Программирование, Процессоры, системное программированиеНа данный момент LLVM стала уже очень популярной системой, которую многие активно используют для создания различных компиляторов, анализаторов и т.п. Уже написано большое количество полезных материалов по данной тематике, в том числе и на русском языке, что не может не радовать. Однако в большинстве случаев основной уклон в статьях сделан на frontend и middleend LLVM. Конечно, при описании полной схемы работы LLVM генерация машинного кода не обходится стороной, но в основном данной темы касаются вскользь, особенно в публикациях на русском языке. А при этом у LLVM достаточно гибкий и интересный механизм описания архитектур процессоров. Поэтому данный материал будет посвящен несколько обделенной вниманием утилите TableGen, входящей в состав LLVM.
Причина, по которой компилятору необходимо иметь информацию об архитектуре каждой из целевых платформ вполне очевидна. Естественно, у каждой модели процессора свой набор регистров, свои машинные инструкции и т.д. И компилятору нужно иметь всю необходимую информацию о них, чтобы быть в состоянии генерировать валидный и эффективный машинный код. Компилятор решает различные платформенно-зависимые задачи: производит распределение регистров и т.д. К тому же в бэкендах LLVM также проводятся оптимизации уже на машинном IR, который больше приближен к реальным инструкциям, или же на самих ассемблерных командах. В подобных оптимизациях нужно заменять и преобразовывать инструкции, соответственно вся информация о них должна быть доступна.
Читать полностью »
Реализуем AutoMapper при помощи Roslyn и кодогенерации
2019-07-12 в 11:28, admin, рубрики: .net, C#, roslyn, Visual Studio, кодогенерацияВ прошлой статье я описал способ организации кодогенераци при помощи Roslyn. Тогдашней задачей было продемонстрировать общий подход. Сейчас я хочу реализовать то, что будет иметь реальное применение.
И так, кому интересно посмотреть на то как можно сделать библиотеку на подобие AutoMapper прошу под кат.
Кодогенерация при помощи Roslyn
2019-06-13 в 9:14, admin, рубрики: .net, C#, nuget, roslyn, Visual Studio, кодогенерацияВремя от времени, когда я читал о Roslyn и его анализаторах, у меня постоянно возникала мысль: "А ведь этой штукой можно сделать nuget, который будет ходить по коду и делать кодогенерацию". Быстрый поиск не показал ничего интересного, по этому было принято решение копать. Как же я был приятно удивлен, когда обнаружил что моя затея не только реализуемая, но все это будет работать почти без костылей.
И так кому интересно посмотреть на то как можно сделать "маленькую рефлексию" и запаковать ее в nuget прошу под кат.
Общая игровая логика на клиенте и сервере
2018-11-12 в 10:40, admin, рубрики: ecs, entity component system, unity3d, Блог компании Pixonic, геймдев, игровая логика, игры, код, кодогенерация, конференции, проектирование, Проектирование и рефакторинг, разработка, разработка игр, рефакторингНа Pixonic DevGAMM Talks выступал еще наш DTO Антон Григорьев. Мы в компании уже говорили, что работаем над новым PvP-шутером и Антон поделился некоторыми нюансами архитектуры этого проекта. Он рассказал, как построить разработку, чтобы изменения в игровой логике клиента появлялись на сервере автоматически (и наоборот), и можно ли не писать код, но при этом минимизировать трафик. Ниже — запись и расшифровка доклада.