赞过的人: @SFL_YQ
要不要再学学下面的文章?
Agent是如何工作的:概念及LangChain实现 (it.deepinmind.com)
LLM(大型语言模型)在自主Agent领域的应用受到了广泛关注。你可能已经在诸如Auto-GPT、BabyAGI等流行应用中了解过它们的用法,这些应用几乎每天都层出不穷。

理解这些应用的基本原理并不复杂,因为大多数工具的工作流程大致相同。
by @技术头条 2024-03-31 21:13 查看详情
周刊(第8期):技术配图的一些心得 (www.codedump.info)
简单总结了一下个人技术配图的一些心得,总的大原则是:
1、区分:将组件、流程、趋势等之间的”区分“尽可能在图示中通过各种手段(如不同的颜色、形状、箭头)表达出来。
2、联系:组件之间的数据流动、状态切换等,都是它们之间的联系,也需要通过各种手段表达出来。
3、说明:可能的话,要在图中加上一些说明文字,如步骤说明、分类说明,等等。
by @技术头条 2024-03-31 21:06 查看详情
IM服务器设计-如何解决消息的乱序 (www.codedump.info)
IM消息需要面对的另一个难题:如何保证收到的消息不乱序。下面先展开看看要解决这个难题有哪些障碍。
by @技术头条 2024-03-21 23:00 查看详情
IM服务器设计-网关接入层 (www.codedump.info)
IM服务系列文章: IM服务器设计-基础 IM服务器设计-消息存储 网关接入层负责维护与客户端之间的长连接,由于它是唯一一个与客户端进行直接通信的服务入口,
by @技术头条 2024-03-21 23:00 查看详情
聊聊 Go 的边界检查消除技术 (colobu.com)
在翻译的从慢速到SIMD一文中, SourceGraph工程师其中的一个优化就是边界检查消除(BCE,bounds check elimination)技术,同时他也抛给了读者一个问题:

为啥在使用 a[i:i+4:i+4] 而不是 a[i:i+4]?

本文第一部分先回答这个问题。 第二部分介绍更好的边界检查消除方法。 第三部分再全面梳理Go的边界检查消除技术。
by @技术头条 2024-03-21 23:00 查看详情
IM服务器设计-消息存储 (www.codedump.info)
这部分专门讲述IM消息存储的设计。消息存储的难度在于,要考虑以下的场景:

1、离线消息存储。即发送消息时对方不在线该怎么处理。
2、单聊、群聊消息。
3、随着用户量越来越大,应该以后如何扩展。
by @技术头条 2024-03-13 13:33 查看详情
IM服务器设计-基础 (www.codedump.info)
IM做为非常经典的服务器系统,其设计时候的考量具备代表性,所以这一次花几个篇幅讨论其相关设计。

主要内容相当部分参考了 一套海量在线用户的移动端IM架构设计实践分享一文,在此之上补充了更好的消息存储设计以及集群设计。

by @技术头条 2024-03-13 13:32 查看详情
防止数据泄露的高效策略-翻译整理 (ixyzero.com)
简单来说,就是数据安全左移,在每一个阶段都做卡点和检测,提高入侵/获取敏感数据的成本,减少后续阶段的日志告警量,提高告警检测准确率,利用自动化工具/平台提高响应的速度和效率。
未授权不可访问;有账号凭证要检测是否正常(常用设备、常用网络、常见时间、常见操作行为、……);有账号也仅知其所需最小权限;梳理出的高权限账号的敏感操作进行重点关注。
数据尽量不落地,大部分操作在线即可完成,系统埋点要全面和准确;对于数据下载和外发格外关注,下载设备的DLP的健康状态和策略的有效性需要及时检查。
by @技术头条 2024-03-12 22:56 查看详情
基于接口数据变异的App健壮性测试实践 (tech.meituan.com)
本文主要介绍了对网络返回数据进行变异的客户端健壮性测试实践经验。文章第一部分介绍客户端健壮性测试的基本概念;第二部分分享了基于接口返回数据变异的App健壮性测试方案设计的思路;第三部分主要解读了变异数据的构造和异常检测方案设计;第四部分介绍了精简变异数据的探索方案。
by @技术头条 2024-03-12 22:45 查看详情
为 log 实现的无锁 Ringbuffer (blog.codingnow.com)
这两天在改 log 模块。我们需要一个并发写 log 的模块,它有多个 log 生产者一个消费者,这个唯一的消费者在 log 线程中把 log 数据持久化。

大多数 log 生产者是在第三方库的 callback 函数中调用的,比如 bgfx ,如果写 log 不够快的话,就会阻塞渲染。这个 callback 需要自己保证线程安全。因为 bgfx 支持多线程渲染,所以写 log 的 callback 可能在不同的线程触发。

过去在实现 bgfx 的 luabinding 时,我实现了一个简单的 mpsc 队列,get_log 这个函数就是那个单一消费者,它取出队列中所有的 log 信息,返回到 lua 虚拟机中。

它是用 spin_lock 实现的。这两天,我想应该可以实现一个更通用的无锁版本。

在我的需求中,log 信息是允许丢掉的。所以我开了一个固定大小的 ri
by @技术头条 2024-03-12 22:45 查看详情