TGTGInsighttelegram intelligenceLIVE / telegram public index
← GitHub Trends

TGINSIGHT SIMILAR POSTS

Find similar content

Source channel @githubtrending · Post #15521 · Feb 25

#rust#ai_gateway#ai_gateway_support#envoy#envoyproxy#gateway#generative_ai#llm_gateway#llm_inference#llm_proxy#llm_routing#llmops#llms#openai#prompt#proxy#proxy_server#routing Plano is an AI-native proxy server that handles key tasks for agentic apps like routing between agents, smart LLM model selection, safety guardrails, and automatic traces for observability. Define agents in simple YAML, write basic HTTP code in any language, and start Plano to run multi-agent systems without custom plumbing or framework lock-in. You benefit by building and shipping reliable agents to production much faster, focusing on core logic while gaining safety, low latency, and easy scaling. https://github.com/katanemo/plano

Results

4 similar posts found

Search: #hilt

当前筛选 #hilt清除筛选
Android Broadcast

@android_broadcast · Post #9806 · 01/18/2026, 12:22 PM

🤯Dagger Hilt блокирует переход на AGP 9.0 UPD. 21 января вышел Dagger 2.59 с поддержкой AGP Android Gradle Plugin 9.0 официально зафиксировал новый стабильный конфигурационный API (вышла стабильная версия с релизом AS Otter FD 3) — это одно из самых значимых изменений в инфраструктуре Android и Kotlin Multiplatform за последние годы. Цели понятны и правильные лучше работа с кэшем и общая скорость сборок. Подробнее про все изменения я писал в отдельном посте Google несколько релизов подряд аккуратно готовил экосистему к этому переходу, заранее добавив новый API и дав время авторам плагинов адаптироваться. Но на практике всё упирается в плагины. Я столкнулся с тем, что Gradle-плагин Dagger Hilt до сих пор использует старую модель конфигурации и несовместим с новым DSL из AGP 9.0. В результате проект нельзя перевести на новую версию без отключения Hilt или включения режим совместимости. Иронично, что именно официальный инструмент от Google сейчас становится блокером для обновления. Да, в AGP оставили compatibility-флаги, позволяющие продолжать сборку по старым правилам. Это спасает проекты от немедленного падения, но полностью отключает все ключевые преимущества AGP 9.0 — configuration cache, ускоренную конфигурацию и новую модель плагинов. 💬 Вы уже пробовали миграцию на AGP 9.0? Что блокирует? Делитесь в комментариях мнением. UPD. По заявлениям подписчиков также есть проблемы в работе KAPT и KSP #Android#AndroidDev#Gradle#Dagger#Hilt

Android Broadcast

@android_broadcast · Post #9550 · 10/08/2025, 11:50 AM

🤖 Если вы искали альтернативу Dagger/Hilt, но с поддержкой Kotlin Multiplatform, то как раз вышла свежая версия Koin Annotations, которая значительно упрощает миграцию! #dagger#hilt#koin

Android Broadcast

@android_broadcast · Post #8901 · 04/05/2025, 10:43 AM

🤖Альтернативный способ обработке one-off событий из ViewModel (EN, 10м) В статье рассказывается в чем сложность с обработкой одноразовых событий, которые надо передать из ViewModel в UI. Автор рассматривает способ через callback интерфейс в конструкторе ViewModel @HiltViewModel class MyViewModel @Inject constructor( // inject the interface private val toastMessages: ToastMessages, ) : ViewModel() { fun doSomething() { viewModelScope.launch { try { // execute async operation here } catch (e: CustomException) { // initiate a one-off event toastMessages.showToast(e.localizedMessage) } } } } 🔗 Альтернативная ссылка на статью #android#viewmodel#dagger#hilt

Android Broadcast

@android_broadcast · Post #9569 · 10/17/2025, 07:58 AM

‼️Не тяните зависимости из графа сразу! Одна из частых ошибок при использовании DI — получать все зависимости из графа сразу (например, в конструкторе класса). Так делать не стоит 😬 Получение зависимости из графа — это каскадный процесс, и он должен выполняться только в момент использования. Поэтому я всегда рекомендую инжектить зависимости для Dagger/Hilt через Lazy (не путайте с kotlin.Lazy) или Provider. class ViewModel @Inject constructor( // Зависимость получается из графа сразу при создании private val useCase: DataUseCase, // Получаем зависимость из графа каждый раз при обращении Provider.get() private val useCaseFactory: Provider<DataUseCase>, // Получаем зависимость из графа при первом обращении // и затем она кэшируется в Lazy объекте private val useCaseLazy: Lazy<DataUseCase>, ) 💡 Чтобы перейти на Lazy без боли в существующем коде — можно использовать делегаты свойств в Kotlin: // Вариант использования без Lazy class ViewModel @Inject constructor( private val useCase: DataUseCase ) // Миграция на Lazy без потери API совместимости class ViewModel @Inject constructor( useCaseFactory: Lazy<DataUseCase>, ) { private val useCase: DataUseCase by useCaseFactory } И небольшой хелпер, чтобы это работало красиво 👇 // Функция расширения для использования property делегата operator fun <T> Lazy<T>.getValue(thisRef: T, property: KProperty<*>): T = get() Таким образом, вы снижаете нагрузку на DI граф, откладываете инициализацию и избегаете ненужных каскадов при старте компонентов. #di#dagger#hilt#лучшиепрактики