240 發(fā)簡(jiǎn)信
IP屬地:廣東
  • 一個(gè)更加簡(jiǎn)單的實(shí)現(xiàn)方式是:

    package dummy

    import scala.quoted.*

    object Describer:

    enum ShowType:
    case TYPE_TREE
    case TYPE_REPR
    case OTHER

    inline def describe[T](showType: ShowType): String = showType match
    case ShowType.TYPE_TREE =>
    describeTree[T]
    case ShowType.TYPE_REPR =>
    describeRepr[T]
    case ShowType.OTHER =>
    "Not Supported"

    inline def describeRepr[T]: String = ${ describeReprImpl[T] }
    inline def describeTree[T]: String = ${ describeTreeImpl[T] }

    def describeTreeImpl[T: Type](using Quotes): Expr[String] =
    import quotes.reflect.*
    val tpt = TypeTree.of[T]
    Expr( tpt.show(using Printer.TreeStructure) )

    def describeReprImpl[T:Type] (using Quotes): Expr[String] =
    import quotes.reflect.*
    val tpe = TypeRepr.of[T]
    Expr( tpe.dealias.widen.show(using Printer.TypeReprStructure) )

    ?? Scala3 macro & tasty 獲取 TypeClass 描述信息

    1.概述 Scala3的Macro基于其引入的新的抽象類型結(jié)構(gòu) tasty,即:Typed Abstract Syntax Trees,其可以在編譯之后正什,保留方法和類上的類型...

  • 這個(gè) API 設(shè)計(jì)得很優(yōu)雅梧税。
    1. 將 API 拆分成可以多個(gè)原子性的職責(zé)(接口)规丽,每個(gè)職責(zé)都可以靈活的泛化實(shí)現(xiàn)傲须,并自由組合。
    2. 鏈?zhǔn)?API 讓代碼更為簡(jiǎn)潔惦费。

    命名方面兵迅,還有優(yōu)化的空間,也可能是你的API文檔寫得還不夠清晰:

    HttpUtils
    .createApi(waxiaoApi.class)
    .getBanner() // 不夠通用
    .compose(... ) // compose的語義是什么薪贫?
    .subscribe(

    2022-01-25

    蛙笑網(wǎng)絡(luò)請(qǐng)求優(yōu)化方案 優(yōu)化目的 解耦網(wǎng)絡(luò)請(qǐng)求恍箭,解決嵌套地獄,減少內(nèi)存泄漏 方案對(duì)比 原始請(qǐng)求方式: 改造完成的請(qǐng)求方式HttpUtils .createApi(...

  • 這套框架可以開源一下

    基于akka-actor的流計(jì)算引擎

    0 背景 術(shù)語表 術(shù)語備注akka一套運(yùn)行于JVM上實(shí)現(xiàn)了Actor模型的Scala類庫,用于構(gòu)建高并發(fā)瞧省、基于消息驅(qū)動(dòng)的分布式高性能應(yīng)用YStream基于akka-clust...

  • 兩種方式可能都存在一定的問題:例如 getClass( Map[String, String]() ) 是沒獲得更多的信息的扯夭,并不一定能夠提供對(duì)應(yīng)用用好的API。 scala 中更多使用 Context Bound 來應(yīng)對(duì)鞍匾。

    Scala 類型系統(tǒng)

    協(xié)變 Covariance https://docs.scala-lang.org/zh-cn/tour/variances.html[https://docs.scala-...

  • 發(fā)一個(gè)pr給scala-sql唄构拳。

    使用 Macro 給 scala sql 增加 ORM 插入模式

    類似于 Hibernate 或者 JPA,定義一個(gè) case class,例如 Person置森,然后實(shí)例化這個(gè) case class后斗埂,直接調(diào)用 dataSource.save...

  • 使用 Macro 給 scala sql 增加 ORM 插入模式

    類似于 Hibernate 或者 JPA,定義一個(gè) case class暇藏,例如 Person蜜笤,然后實(shí)例化這個(gè) case class后,直接調(diào)用 dataSource.save...

  • 記一次Jedis連接池泄漏的分析

    1. 背景 隨著業(yè)務(wù)的快速發(fā)展盐碱,公司使用redis cluster+本地緩存的模式來化解大流量下對(duì)系統(tǒng)的沖擊。redis客戶端驅(qū)動(dòng)采用的是市面上流行的jedis沪伙,版本為2.6...

  • 更準(zhǔn)確的說法應(yīng)該是predef的一個(gè)方法

    詳解 Scala 中的 Context Bounds

    What is Context Bounds? 這是Scala 2.8 引入的新特性瓮顽,通常與類型類模式(type class pattern)一起使用。一個(gè) Context ...

  • implicitly 不是關(guān)鍵字

    詳解 Scala 中的 Context Bounds

    What is Context Bounds? 這是Scala 2.8 引入的新特性围橡,通常與類型類模式(type class pattern)一起使用暖混。一個(gè) Context ...

  • 這個(gè)是 Idea 編輯器的鍋。 sbt compile 是沒有問題的收擦。 估計(jì)也是被兩個(gè)T給 搞暈了贮配。

    關(guān)于 Scala-Sql 庫源碼一處疑惑

    背景 本文使用的 scala-sql 是一個(gè)輕量級(jí)的 scala jdbc 庫,它是一個(gè)簡(jiǎn)單的JDBC的封裝塞赂,以提供類型安全的泪勒、簡(jiǎn)潔的scala API。整體使用上非常方便快...

  • Show code?

    關(guān)于 Scala-Sql 庫源碼一處疑惑

    背景 本文使用的 scala-sql 是一個(gè)輕量級(jí)的 scala jdbc 庫宴猾,它是一個(gè)簡(jiǎn)單的JDBC的封裝圆存,以提供類型安全的、簡(jiǎn)潔的scala API仇哆。整體使用上非常方便快...

  • Scala 實(shí)用 Tips

    1.多條件過濾 使用尾遞歸的形式對(duì)給定值和多個(gè) filter 條件來進(jìn)行過濾沦辙,只要滿足其一,即可返回 true 尾遞歸條件過濾 func 使用例子 該例子給定一個(gè) Strin...

  • 非常全面的整理??

    redis學(xué)習(xí)

    最近學(xué)習(xí)了一段時(shí)間的redis讹剔,以下是筆記油讯,歡迎各位大佬們留言評(píng)論,若有不對(duì)的地方請(qǐng)指出辟拷,我會(huì)及時(shí)更正撞羽!蟹蟹大家! 目錄: 1.redis簡(jiǎn)介 2.redis豐富的數(shù)據(jù)結(jié)構(gòu) ...

  • 很有價(jià)值的總結(jié)∮绶可以補(bǔ)充一下jvm對(duì)類初始化的控制邏輯邻奠,以及如何使用jstack發(fā)現(xiàn)鎖等待笤喳,死鎖的方法,就更完美了碌宴。

    一個(gè)Lambda引發(fā)的坑

    1. 背景 上周有小伙伴反饋zk連接很慢杀狡。整理出zk連接的關(guān)鍵邏輯如下: 上面的代碼造成第一次調(diào)用ClientZkAgent.getInstance的時(shí)候,需耗時(shí)10s贰镣, 這...

  • 120
    任何不講方法的頭腦風(fēng)暴都是在強(qiáng)奸(創(chuàng)意)

    提筆“怒起”寫下這篇文章是因?yàn)樽蛲碛直豢偙O(jiān)召集開了一場(chǎng)Brainstorming呜象,喚名為“頭腦風(fēng)暴”,實(shí)質(zhì)上通常這一輪風(fēng)暴都會(huì)將我們的大腦回路攪成一團(tuán)漿糊碑隆。 Brainsto...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品