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

TGINSIGHT SIMILAR POSTS

Find similar content

Source channel @olddriverGDstudy · Post #102 · Oct 18

游龙历险记 孔子云:食色性也。本人自然逃不出圣人所料。于是踏上了这条不归路。能看到这篇文章的估计都已经在此道初窥门径,我便不再规劝各位,望各位好自为之。以下我分享一下个人探索世界的经历,希望各位能从其中吸取教训,少上当,多开好车。 探索篇 人生初体验: 资源途径是朋友分享的专业招嫖软件,名为51品茶。一日恰逢休假,兴致大发,遂行动。QQ约好800/pp(上门)。到了宾馆之后给她拍房卡,发送手机号,坐等上门。约半小时后,人到。人图不一,想退货,奈何是个新手在小姐的忽悠下同意了(这个小姐外形也还行)。付钱开搞。服务非常简单,口硬了开干。态度奇差,一直玩手机。一炮结束后,大为扫兴,要求退钱。小姐没同意,说给推荐其他资源。让人走了,发消息不回。两百块没了。 事后反省: 招嫖软件上的基本都是代聊,鸡头,层层转包,八百最后到小姐手机可能只有四百。尽量不要通过软件找。根据另一次经历,推测出一个人软件发布资源,然后转给鸡头,鸡头联系小姐。对小姐不要心软,人图不一的全是代聊,直接拒绝。路费都不要给。这种小姐能拿到手的都非常少,不可能有好的体验。不要对小姐的人品抱有期待,和小姐的交易必须当面完成,人走账清。 人生再探索: 去找同学玩,同学介绍了一家洗浴中心,398半套,技师年纪偏大,服务一流。不满意的可以换,多换几个总能找到个还行的。熟人带着才有全套。 事后反省: 熟人带着可以搞大活,要么就装老嫖客,技师可以私聊带出来。级别翻倍。随便搞。 斗智斗勇篇 洗浴中心第二天,同学给了一个QQ号,加上之后网上选人。888/p,本人选了两个1600。留下联系方式和房卡。约好时间,时间到了之后让转账后小姐上楼。觉得号是同学给的诚信有保障,遂给888。转账后暴露,各种借口让付另一半,小姐没上楼。期间双方斗智斗勇,互相忽悠。我想让对面给我把钱转回来,对面忽悠我转剩下的一半。最终恼羞成怒,报上我的姓名,扬言砍我一只手,(猜测酒店前台泄露了我的信息)同时发来一段视频,西瓜刀寒光四射。本人放话:有种上来。同时戴上口罩开门跑路,110已经拨好,随时可打。 反省:任何时候都不要放松警惕,哪怕同学给的资源,不见小姐不付钱。面对卖淫团伙仙人跳威胁不要怂,他刚你更刚。报警挂嘴上。(报警流程有不熟悉的建议有机会找个小事试一下,一般会问一些信息,提前准备好,比如出警地点) 安魂舒缓篇 找同学玩回来,欲找个熟女安慰一下受惊的心灵。人来略坦,无奈大莱莱迷惑了我的双眼,上门后推荐闺蜜双飞,怦然心动。共计2400。无奈服务相当机车,身材走样,下面松垮垮,除了奶子可以,其余都不行。没射出来就软了。实在下不去鸡儿。 反省:不要相信鸡头嘴里熟女这种东西,玛德二十多的他说是学生,30多的他说是二十的,四五十的才是他们嘴里的熟女。再次强调不要在床上相信小姐任何话,这时候男人每个清醒的,要谈也是提上裤子以后。 同一个地方跌倒四次: 一日兴起,招嫖,谈好价格1000pp,人来看中,付钱后准备洗漱。小姐借口自己来之前已经洗漱过了,让我自行洗漱,于是洗漱,途中和小姐聊天,指挥我洗一下鸡儿,不然口的时候不卫生。遂用肥皂擦洗,泡沫正浓时,小姐夺路而逃。跑了。又一日兴起,约好后酒店等人敲门后端详良久,这特么不是上次跑路的那个小姐,遂激动指控,逼其退钱,无奈忘记堵门,又跑了。再一日兴起,来一未成年,吓我一哆嗦,赶紧换了一个,由于兴致大起,已经洗好澡等待,准备人来直接开干。来后小姐说已经洗过澡了,没多久,提枪上马,干到一半,小姐私处异味严重,大为影响兴致。某一日,兴致再起,欲探索酒店小卡片。打电话后,人来。500一次,没啥服务,催人,质量不行,隆胸,关键隆过以后也只有B-,还特么硬,我都不敢捏,害怕摸坏了。 反省:之所以是一个地方跌倒四次,是因为开房地点都在万达中心。怀疑此地有诈。各位谨慎。小姐来了以后一定要洗澡,不论她什么借口。一定要注意卫生。不健康不说,还特么影响兴致。如果洗澡前付了钱,就同时洗澡,要么洗澡之后付钱。针对上门小姐服务机车,不认真的情况,各位可以尝试事后付款。(这点要约之前就谈好,省的浪费时间),另外远离未成年,绝对不能精虫上脑。万一被抓就不是换个星球生活的事了 云南之行: 微信约好1600包夜,小姐来到后,外形颜值良好。遂付款开整态度良好。体验良好。两炮结束后,小姐借口上厕所,卫生间内偷偷穿戴整齐,趁机夺路而逃。一日游玩结束后,浑身酸痛,想洗个澡。打车告诉司机说去洗澡。无奈司机会错意,直接拉到一家养生馆,说有当地特色。于是体验一把。没有大活298,洗澡加按摩加轻色情服务,最后大飞机。技师相当漂亮。听话。云南少数民族农村的,后悔没加微信。 反省:包夜一定要谨慎小姐偷偷溜走,思来想去只有钱给一半这个办法,这种方法也得提前说好。省的浪费时间。养生馆的小姐姐,我怎么就没要微信呢。真特么后悔。 青岛之行: 是一家spa馆,只做特殊服务的那种,小姐质量超高,服务非常机车。1399打了个飞机摸了一下奶。 反省:不要让妹妹迷失了双眼啊,看到漂亮姐姐就付钱是可耻的。 门店会员: 一家我工作城市的足浴店,挺大的,技师日常上班三四十个。质量有好有差,不满意就换,服务分档次,1000的会员,3000的会员,10000的会员。我是3000的,3000的不给口,可以打奶炮。服务挺好,单次消费666,按摩,加胸推,调情之类的,不给口,不给日。 反省:足浴店的技师因为按摩脚丫子,稍有不慎就会沾染脚气,再摸你的蛋蛋,容易引起蛋蛋瘙痒,或者各种皮肤病。要谨慎啊,事后一定要用肥皂清洗自己的二弟,别图省事用纸擦擦了事。别问我怎么知道的。 大本营: 一个外围2000两小时,相当漂亮,服务温柔,身材也好。 反省:我怎么这么穷? 作者:王一 标签:#原创,#知识,#经验反省

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