day3学习笔记

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

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

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

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

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

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

3.大模型api的使用

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

4.推荐系统的用户画像

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

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

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

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

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

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

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

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

6.claude的使用

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

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

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

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

相关推荐
YM52e5 小时前
鸿蒙ArkTS项目实战 - 门店陈列巡检台:完整代码与运行效果
学习·华为·harmonyos
老当益壮梁奶奶6 小时前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
sunoo-2296 小时前
C 语言文件 IO 全攻略:从基础函数到实战踩坑(BMP 读取 + 词典查询)
linux·c语言·前端·笔记·vscode·学习
蒸蒸yyyyzwd7 小时前
cpp选手秋招学习笔记 day12
笔记·学习·oracle
Wang's Blog7 小时前
PostgreSQL笔记38:慢查询定位与优化的系统方法论
数据库·笔记·postgresql
GeekPlusA7 小时前
ai-opendesign学习
学习
XiaQ09197 小时前
Linux 常用命令学习笔记(用户管理篇):用户、组与权限的钥匙
linux·开发语言·笔记·学习
He BianGu8 小时前
【笔记】使用Assembly.LoadFrom和AssemblyLoadContext加载插件对比,以及有没有更合适的加载插件方案
笔记
hhwyqwqhhwy8 小时前
正点原子-ZYNQ7020 开发笔记
笔记
LuminousCPP8 小时前
栈和队列专题(四):LeetCode 232. 用栈实现队列|双栈分工 + 按需迁移 + 摊还 O(1)
c语言·数据结构·笔记·算法·leetcode