TGTGInsighttelegram intelligenceLIVE / telegram public index
← GZ学习频道

TGINSIGHT SIMILAR POSTS

Find similar content

Source channel @olddriverGDstudy · Post #98 · Sep 12

#舔逼三步 第一步(初舔B) 亲阴唇时要把女性的明唇尽量吸吮到嘴里,用舌头轻扫轻舔,女性会觉得阴唇部位特别有点痒,她很想你亲更多位置,亲得更广些,别理她们,你亲你的就行了,你可以趁着她们正享受着的时候,轻轻的咬一下她的阴唇她肯定会“啊”的一下惊叫,身子抽动一下,在她还没来得及说话时,你快速把嘴唇整个贴在她的阴道口,这种做法可以让女性一下子感觉到整个阴部很温暖很舒服, 刚才的那声“啊”还没叫完就变成“噢”的一轻呼了。这时开始应该动手了,你应该用大拇指轻轻的将她的阴唇向两边分开蛋出女性的阴道口,用舌头在阴道口周围打转绕圈,时轻时重,时而整个嘴唇贴上。 这时候你可以稍为停下不亲阴道口,而是用湿润的舌尖轻轻撩几下她的阴蒂,把她的感觉从明蒂里撩拨起来,女性会轻叫几下,然后你再回去亲她的明道口和阴唇。 第二步(挑逗期) 不要在这时候再亲她的阴蒂,要让女性半吊在那种感觉里,而且男性要开始从女性的会阴处向阴蒂方向往上轻舔,慢点,舌头到达阴道口时左右拨动,把阴唇一边拨开一边向上继续舔,一点点向阴蒂部位接近。就是偏不要亲到阴蒂那,差不多到的时候你用舌尖轻轻的,越轻越好,只是在她的阴蒂上轻扫轻点一下(舌头要含点口水) ,随即反方向按上述亲法朝阴道口部位舔去。这样会把女性给急死的,她一急,自然就兴奋了。亲阴道口时,舌头长的男性可以尝试把舌头插入女性的明道内搅动。舌头宽厚的男性可以把舌头由阴道口自下往上扫动。 第三步(猛攻) 现在开始可以集中精力夺取“珍珠”了,清把舌头上移至女性的阴蒂处集中精力。女性的阴蒂是非常敏感的,如果你太大力舔动,她的痛感多过快感,就没意思了。亲吻阴蒂要注意几点,舌头一定要湿、轻、尖,一定要保持舌头湿润,亲舔阴蒂时一定要轻,要用舌尖来舔。进攻明蒂要用“点、挑、拨、压、搅”五字诀。点,是指用舌尖轻点轻触女性的阴蒂顶端;挑,是指舌头从阴蒂下面向上挑动;拔,是用舌头左右拨动女性的阴蒂;压,是时不时用舌头压女性的阴蒂,把它稍为压下即可;搅,是当你含住女性的阴蒂时用舌头在明蒂四周搅动。进攻明蒂要用“点、挑、拨、压、视员五字决,点,是指用舌尖轻点控用女性的阴蒂顶端;挑,是指舌头从阴蒂下面向上挑动; 拔,是用舌头左右拨动女性的阴蒂;压,是时不时用活头压女性的阴蒂,把它稍为压下即可, 搅,是当你含住女性的阴蒂时用舌头在阴蒂四周搅动。你可以感觉到她们的阴蒂下似乎有点筋会在跳动,这在你含着女性的阴蒂时感觉非常明显。不要随便中断女性的感觉,动作要平均,因为你突然而快节奏的动作很容易让女性到达高潮。觉得可以给对方高潮时,应该用整个嘴唇含住女性的阴蒂部位, 上嘴唇压在阴蒂上方的阴毛根部,下嘴唇左石分开女性的阴唇,尽量贴近阴道口,用口含住女性的阴蒂(留点空间),让女性觉得她的阴蒂是飘浮在你的嘴里的,用五字决发动进攻。让对方猛的一阵抽搐,看着她快到时,轻轻一放,然后马上又含上去。 (评论区附图解) 标签:#知识,#技巧

Results

9 similar posts found

Search: #dagger

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

@android_broadcast · Post #9343 · 07/18/2025, 06:24 PM

🤯Вышел Dagger 2.57 и из полезных изменений там... НИЧЕГО. Просто работают под капотом. Может над поддержкой KSP, может еще над чем Вам нужен Dagger? #dagger#di

Hashtags

Android Broadcast

@android_broadcast · Post #8888 · 04/02/2025, 06:00 AM

Разработчик из Ozon делится опытом, как организовали с помощью фич языка Kotlin хранилище Dagger-компонентов, доступное из любого модуля, управляющее их жизненным циклом и забравшее другую рутину на себя. #android#dagger#di

Android Broadcast

@android_broadcast · Post #8910 · 04/06/2025, 05:51 PM

Как найти неиспользуемые зависимости в Dagger Component (EN,11м) С помощью Dagger SPI автор написал анализатор графа Dagger c целью поиска неиспользуемых зависимостей и описал подход в статье. Также подход можно использовать для визуализации графа зависимостей, считать разные метрики графа и пр. 🐱Исходный код на GitHub 🔗Альтернативная ссылка #dagger#di#opensource

Android Broadcast

@android_broadcast · Post #8639 · 02/05/2025, 04:15 PM

🤯Не нужно делать инжект всех зависимостей в конструктор Встретил код в проекте: class MyViewModel( ... private val sendDataUseCase: SendDataUseCase, ... ): ViewModel() { // Вызывается, когда пользователь в UI нажмёт на "Send" fun onSendClicked(...) { viewModelScope.launch { sendDataUseCase.invoke(...) // либо sendDataUseCase(...) } } } sendDataUseCase не нужен сразу при создании объекта, а нужен только если пользователь нажмёт на кнопку "Send" в UI, что может и не произойти. Так как эта зависимость нужна в конструкторе, то при получении в DI будет сразу происходить создание этой зависимости, что приводит к ненужной нагрузке. Я рекомендую делать отложенное получение зависимостей с помощью механизма Provider или Lazy. Первый будет ходить за зависимостью в граф каждый раз, а второй - при первом обращении и сохранит её. // При использовании Dagger или Hilt class MyViewModel( ... private val sendDataUseCase: javax.inject.Provider<SendDataUseCase>, // или dagger.Lazy ... ): ViewModel() { fun onSendClicked(...) { viewModelScope.launch { sendDataUseCase.get() .invoke(...) } } } Если вы используете Koin на момент написания поста (актуальная версия 4.0), делать отложенный инжект в конструктор возможности нет: // При использовании Koin class MyViewModel(): ViewModel() { // отложенное получение зависимости в Koin private val sendDataUseCase: SendDataUseCase by inject() fun onSendClicked(...) { viewModelScope.launch { // аналог Provider - получение зависимости каждый раз из графа val sendDataUseCase: SendDataUseCase = getKoin().get() sendDataUseCase.invoke(...) } } } Результат оптимизации ✅ более быстрый старт экранов (зависит от сложности графов) ✅ уменьшение расхода памяти ❌ KOIN потеря явной зависимости в конструкторе. Мне бы очень хотелось увидеть аналог Provider и Lazy в Koin через конструктор, но пока приходится делать свои обертки 😔 #dagger#di#лучшиепрактики

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#лучшиепрактики

Android Broadcast

@android_broadcast · Post #9738 · 12/09/2025, 12:05 PM

🚀Cash App перевел Android-приложение на Metro — новый DI фреймворк для Kotlin Команда Cash App (Block) успешно мигрировала своё Android-приложение с Anvil/Dagger на Metro — современный фреймворк для dependency injection, разработанный Zac Sweers. Metro — это compile-time DI фреймворк, вдохновленный Dagger и Anvil, но реализованный как Kotlin compiler plugin. Он Kotlin-first, поддерживает K2 и работает значительно быстрее традиционных решений. Вобрал в себя всё лучшее от Dagger, Anvil и Kotlin-Inject Почему перешли на Metro? - Скорость сборки — ускорение инкрементальных сборок на ~60% - Поддержка Kotlin K2 — возможность использовать новейший компилятор Kotlin - Упрощение стека — отказ от kapt и Java-ориентированных инструментов - Современный подход — Kotlin-first дизайн и улучшенный DX - Более строгая валидация DI-графа - Улучшена безопасность типов (нуллабельность) - Поддержка KMP 📊 Результаты по скорости сборки: - Инкрементальные сборки → ускорение на 58-60% - Чистые сборки → ускорение на 17% - ABI-изменения → сборка за 11.9s вместо 28.8s Миграция 1500 модулей проводилась постепенно с двойной поддержкой двух DI фреймворков для безопасного перехода. В зависимости от настройки Gradle менялся DI и генерация кода. Впервые вижу подход, когда был описан граф для 2 разных DI с целью постепенной миграции. Миграцию с Koin на Metro так не сделать, но вот с Koin Annotations на Metro вполне может получится. #DI#KMP#Dagger#Metro#Android#AndroidDev#Anvil