Run-dream Blog

Try Catch Finally

深入了解大语言模型,例如 ChatGPT

引言 最近随着龙虾 OpenClaw 越来越火,大家对 Agent 的讨论也明显多了起来。不过我也发现,很多同学虽然天天听到 Agent 这个词,但对它到底是什么、为什么能工作,其实还没有形成一个比较清晰的认识。 前几天我和产品同学吃饭的时候,也聊到了很多 Agent 相关的问题。聊完之后我就觉得,这件事值得专门整理一下。因为只有先把底层的东西想明白,我们后面在工作里用 Agent,才不...

Feed 流

背景 Feed 流在 游戏内 UGC 内容社区(朋友圈,关卡)中有着广泛应用,比如首页推荐、关注页、话题页等。本文结合我们在 UGC 系统中的实践,说明不同架构模式与实现要点。 Feed 是指状态或消息,Feed 流是一个持续更新、并按照特定排序策略向用户展示的个性化内容序列。 基于时间:全局时间线与关注创作者时间线。 基于热度/权重:按互动数据(点赞、评论、转发等)计算...

Elasticsearch 基础与实践

引言:为什么 Elasticsearch 是后端开发的利器 在我们的日常开发里,Elasticsearch(之后都简称 ES) 可能 是我们用的最多的搜索引擎。根据 Elastic 公司官方文档的描述,其定义是: Elasticsearch 是一个分布式的、开源的搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。 ES 在后端技术...

Golang

代码和项目组织 意想不到的变量隐藏 关键词 变量的作用域 解决方案 临时变量 赋值操作符 不必要的嵌套代码 关键词 可读性 预期的执行流 解决方案 Fast Fa...

K8S 基础使用

先从使用者的角度来学习下k8s的基本概念。 环境 kubenetes 环境已经由SA搭建好了,我们只要使用和部署。 安装 kubectl 参考 https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-linux/ 配置 kube config mkdir ~/.kube/ cp your_...

如何用 golang 里实现一个通用的缓存,关于泛型和反射

背景 在编写业务代码的时候,经常会有使用redis对热点数据进行缓存的需求,这里的逻辑可以抽象为: 为不同的查询条件生成不同的缓存key (getKey) 从 redis 里读取对应key的内容 (getFromCache) 如果能获取到则直接返回 如果redis里不存在对应的内容,则改从数据源里获取 fetchDataSource 将数据源里获取到的内容写回redi...

git 开发规范

背景 部门引入了新的发布系统,对代码和分支的提交加强了管理。 规范 git commit log 目前社区主流的是 Angular 规范。 具体规则: 每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。 其中,Header 是必需的,Body 和 Footer 可以省略。 He...

Redis 集群

为什么 Redis 需要集群化 每时每刻都拥有非常大的写入量的情况下,此时如果只有一个主节点是无法承受的。 这就需要集群化!简单来说实现方式就是,多个主从节点构成一个集群,每个节点存储一部分数据,这样写请求也可以分散到多个主节点上,解决写压力大的问题。同时,集群化可以在节点容量不足和性能不够时,动态增加新的节点,对进群进行扩容,提升性能。 有哪些方案 为了实现集群的功能,从服务端、客户端分...

会好的

关于好与坏有关的心理学的效应 四比一定律 What: 要想超出平均水平,每一个坏日子应至少对应4个好日子。 How: 与其追求完美,一旦碰壁便万念俱灰,不如把目标定为在至少五分之四的时间里执行计划。 风险厌恶 What: 负面偏差导致我们更容易明确的短期收益左右,而不去考虑不确定的长期收益。 How 当你要做潜在代价高昂的决定时,不管决定属于何种类型,你都可以...

HTTP CORS 相关知识

什么是CORS? 为什么需要 CORS CORS 全称 Cross-Origin Resource Sharing, 即跨域资源共享。 出于安全考虑,浏览器限制了跨域的 HTTPS 请求。 CORS 机制 具体来说, CORS 机制 使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。 允许...