Blog

Page 8 - Showing 5 of 80 posts

  • Redis知识杂谈
    Redis知识杂谈
    Arrow right

    Redis底层手搓了很多数据结构,更加适合`Redis`的应用场景,提高了高性能和低存储消耗。

    🕒1 min read
      RedisString数据结构QuickListHashZset
  • 疑难错误:/usr/bin/ld: cannot find -lxxx
    疑难错误:/usr/bin/ld: cannot find -lxxx
    Arrow right

    本文讲述了在开发过程中遇到的一个编译错误,即`/usr/bin/ld: cannot find -lLLVM-13-rust-1.58.0-nightly`。原因是该库的路径被写入了zshrc的配置文件中的`LD_LIBRARY_PATH`位置,导致编译器无法找到。通过查阅资料,发现`LIBRARY_PATH`和`LD_LIBRARY_PATH`的区别,并了解到它们在编译和运行时的作用及影响工具。同时,文章还提供了如何同时使用这两个变量的建议,以及在使用时应考虑的安全性问题、调试问题和持久化配置。

    🕒2 min read
      编译错误LD_LIBRARY_PATHLIBRARY_PATHgcczshrc
  • Java和Go的内存管理学习
    Java和Go的内存管理学习
    Arrow right

    本文介绍了Java和Go的内存管理学习,通过GC实现自动内存管理,有助于深入理解性能瓶颈。GC分为三种:Series GC、Parallel GC和Concurrent GC,各有其特点和适用场景。GC策略包括Copying GC、Mark-sweep GC和Mark-compact GC,每种策略都有其优缺点。引用计数是判断死亡对象的一种方法,但存在缺点如线程不安全和无法处理环形结构。Java内存管理技术经过多代发展,采用分代回收法,根据对象的存活时间长短选择不同的清理策略。Golang采用三色标记法来追踪死亡对象,通过白色、灰色和黑色分别表示可以回收、正在检查和不能回收的对象。

    🕒1 min read
      JavaGoGC内存管理分代回收法三色标记法
  • jq_schema基础语法
    jq_schema基础语法
    Arrow right

    本文介绍了如何使用LangChain对JSON文件数据进行RAG处理时遇到的jq_schema语法。jq_schema是jq工具的查询语法,用于解析、过滤和转换JSON数据。文章记录了常见的jq_schema语法,包括选择整个JSON数据、特定键的选择、嵌套对象中的键选择、数组元素的选择以及数组中特定元素的选择等。同时,文章还提供了高级语法,如筛选和条件、管道操作符`|`、字符串处理、计算和数学运算等。最后,通过案例分析展示了如何提取JSON对象中的多个字段以及将数组元素提取为特定格式。

    🕒2 min read
      JSONjq_schemaLangChainRAGJSON数据处理
  • Oauth2和SSO登录疑难点
    Oauth2和SSO登录疑难点
    Arrow right

    本文介绍了OAuth2.0和单点登录的实现方法,以及它们在现代应用中的使用。文章首先解释了SSO(Single Sign-On)的概念及其核心流程,接着讨论了单点注销的功能和挑战。此外,还探讨了JWT(JSON Web Tokens)作为认证登录方式的优势与局限性,包括其无状态特性带来的权限更新问题。最后,文章详细描述了微信、飞书等第三方授权平台的实现原理及安全性考量。

    🕒1 min read
      OAuth2.0单点登录SSOJWT权限更新