day3学习笔记

1.DDIA序列化和反序列化的作用

把基于内存的数据结构变成适合存储的格式,具体的有比如存储到数据库时,发送给其他进程时。

2.在数据库中向前兼容和向后兼容的必要性

向后兼容使得,一个进程能读自己先前写入的数据,向后兼容在滚动升级,部分进程使用新代码,部分进程使用旧代码时允许运行旧代码的进程读新进程写的数据。

基于数据流的模式中有基于数据库的、基于RPC远程调用和异步消息通信的,在这些地方都会用到编码和解码,模式的意义在于减少了需要存储的字段信息。

比如一个节点存储的都是一个模式的数据,则只需要在开始存储模式信息,另外一种方法是使用版本号来标记使用的是什么模式,在远程过程调用中可以在通信开始沟通双方使用的模式。

3.大模型api的使用

在使用大模型完成任务时,可以使用few shots的方法,即用少量的例子、要解决的问题和需求来作为prompt去生成我们想要的结果;除此之外大模型本质上是一个文本续写,可以使用QA的格式来让大模型回答我们的问题,这种给人的感觉就好像是claude去约束模型做事情的规范。

4.推荐系统的用户画像

用户画像不是形象上的一个很像人的画像,而是描绘人的一些特性,比如身高年龄兴趣爱好等等,在推荐系统中构建用户画像才能在此基础上去做推荐。

推荐系统中从文本到用户画像,这里涉及的文本有用户文本,有用户交互的物品的文本。

涉及两个问题分别是从非结构化的文本中提取出结构化的文本和把物品的文本信息传递给用户。

非结构化文本提取结构化信息的方法有很多,比如根据embedding等等。

5.分布式系统的复制和分片

复制和分片的含义在于,多节点能够提高吞吐量,使用多个节点进行读写;多节点冗余能预防因故障而导致服务不可用,增加容错;多节点可以使得就近访问而不用去访问远端的服务器。

复制和分片的区别是复制是冗余相同的数据多份,分片是把一份数据的不同部分存储在不同的节点。

在系统中,水平扩展和垂直扩展是不同 方向的扩展,垂直是指通过提升机器性能,比如增加cpu核数、增加磁盘大小、增加内存大小来提升性能,但是性能的增加是有限的,因为后期成本需要过多,而水平扩展需要的成本相对较少但是在复杂度上有一定的投入。

6.claude的使用

claude可以通过在当前项目目录配置.claude文件夹和Claude.md文件来约束模型的行为,这样和上下文的弱约束不同有一定的限制。

最近学到一个关于应该学习什么样的知识的思考,就是学习能为公司提供价值的技术。比如对于一名程序员来说,编译原理确实很有知识,但是不能直接作用于帮助公司开发,提升效率,所以对于公司的绩效,对于长期的升值效果就没有那么明显,最应该学习的是那些能直接知行合一,在工作中能用到的。

虽然这种方法可能有目的性的嫌疑,但是人生就是需要带着一点目的性,才能进步更快。对于同样的初级工程师,可能学习并发编程、网络编程就比编译原理有用的。

针对学习时间碎片化,个人的做法应该是在碎片化的时间学习系统化的知识,时间是碎片化的,但知识应该系统的,比如找一本书,找一门课一点一点的学,如果东看一篇文章西看一篇可能就会不知全貌。

相关推荐
千寻xun5 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
researcher-Jiang5 小时前
高性能计算之OpenMP——超算习堂学习1
android·java·学习
MartinYeung510 小时前
[论文学习]大语言模型安全综述:攻击、防御、对齐、度量与护栏的深度解析
学习·安全·语言模型
Piko61410 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记
AOwhisky11 小时前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环
心中有国也有家11 小时前
AtomGit Flutter 鸿蒙客户端:白噪音场景的视觉设计
学习·flutter·华为·harmonyos
心中有国也有家11 小时前
AtomGit Flutter 鸿蒙客户端:呼吸练习的完整生命周期
学习·flutter·华为·harmonyos
Zeeland11 小时前
构建护城河:自学习 Agent
学习
尼米棕熊11 小时前
大模型学习8上-推理部署框架llama.cpp与Ollama使用指北
学习·llama
brave_zhao11 小时前
nginx的进程架构
java·学习·nginx