- 博客(12)
- 收藏
- 关注
原创 软件体系结构
架构攸关需求(ASR)是指对系统架构有深远影响的需求。这些需求的重要性和难度通常会显著影响系统的架构设计。如果没有这些需求,架构可能会有很大的不同。架构模式是一组在实践中反复出现的设计决策,具有可重用的已知特性,并用于描述一类架构。上下文 (Context):世界中反复出现的常见情境,该情境会导致特定问题。问题 (Problem):在给定上下文中出现的、经过适当概括的问题。解决方案 (Solution):对该问题的成功架构解析,并经过适当抽象。包含元素+关系+约束。(Broker好像考的挺多)
2025-11-04 14:01:22
910
原创 软件系统设计
-代表private+代表public#代表protected类的静态方法要加下划线Example一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。编辑变为:一个软件实体应当对扩展开放,对修改关闭。也就是说在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,即实现在不修改源代码的情况下改变这个模块的行为。可以通过可变性封装原则(Principle of Encapsulation of Variation, EVP)来描述(见1.8补充)编辑所有引用基类的地方必须能透明地使用其子
2025-11-04 13:56:26
556
原创 MIT6.824课程Lab3笔记:raft共识协议的实现
问:在raft共识协议中,假如有一台机器与其他机器失联一段时间,他不断的发起选举导致term变的很大,然后突然他恢复了和其他机器的通信,他向其他机器发出选举,这时会怎么样?创建一个周期为ExpirationTime的定时器,在本项目中选举周期为随机时间,因此参数可以是一个返回随机值的函数RandomElectionTimeout()。答:其他节点会先更新自己的term,并将自己的状态切回follower,但后续仍要检查日志是否最新,因此不会投赞成票。永久的停止该定时器,直到下一次被重新启动。
2025-09-26 22:55:14
544
原创 (八股-场景题)一些遇到的场景题积累
SYN 洪水是典型的协议攻击,攻击者发送大量 SYN 请求但不回复 ACK,导致服务器维护大量半连接,耗尽资源。假设使用id作为主键索引,bigint占用内存8B,一个指针占用6B,那么一条索引就是14B,16KB / 14B = 1170。客户端长轮询请求,一个长轮询默认超时时间为30s,询问配置是否有变更。假如一行数据是1KB,那一个节点有16行,那么深度为2的B+树就是16*1170。维护一个堆,大小为10,复杂度为nlogk,k=10,接近线性复杂度。初创公司预算有限,,,业务规模也不大。
2025-09-26 22:51:59
713
原创 南京大学软件学院研究生统计模型课程
同一簇中的成员彼此接近/相似不同簇中的成员彼此不相似点位于高维空间中相似度通过距离度量来定义使用的距离度量包括欧几里得距离、余弦相似度、杰卡德相似度、编辑距离等通过逐步合并或分割数据点来构建一个层次结构的树状图(通常称为树状图或dendrogram这种方法不需要预先指定簇的数量,而是通过不断地合并(自底向上)或分割(自顶向下)来形成聚类结果。Eps:邻域的最大半径MinPts:一个点的 Eps-邻域内的最小点数NEps(p)
2025-09-26 22:49:14
957
原创 软件安全课程问题总结
零日漏洞是指未被公开披露的软件漏洞,没有给软件的作者或厂商以时间去为漏洞打补丁或是给出建议解决方案,从而攻击者能够利用这种漏洞破坏计算机程序、数据及设备。利用零日漏洞开发攻击工具进行的攻击称为零日攻击。软件自身的安全(软件漏洞)、恶意代码、软件侵权在未被授权的情况下,以破坏软硬件设备、窃取用户信息、干扰用户正常使用、扰乱用户心理为目的而编制的软件或代码片段。蠕虫、特洛伊木马、后门、恶意广告、流氓软件、逻辑炸弹、僵尸网络、勒索软件等。
2025-09-26 22:46:10
768
原创 Mit6.824课程Lab2笔记:一个简单的KVServer
lab2应该是824的四个lab中最简单的一集,提前看了下后面两个,包括lab1的MapReduce,只有lab2的两个task全都是easy。
2024-11-01 15:10:29
1142
原创 Mit6.824课程Lab1笔记:一文读懂Lab1中的MapReduce
Status int //worker's status 0工作中 1map工作完成 2reduce工作完成 3请求工作MapNum int //map任务编号ReduceNum int //reduce任务编号WorkType int //0等待工作 1map任务 2reduce任务 3结束Filename string //如果是map任务,对应split的文件名Content string //文件内容ReduceNum int //reduce任务编号。
2024-10-18 13:42:23
1226
原创 idea配置了maven私服后改不回去了
之前大作业里要求自己在服务器上部署一个maven私服,然后用自己的私服来完成项目。大作业做完之后,服务器也就没有继续续费,但后来发现idea里每次加载pom时,还是会从之前maven私服的地址来找依赖,这也导致总是会爆红找不到依赖。在maven的setting.xml里把maven仓库的地址改过了,idea也清缓存重启了,都是没用。最后突然反应过来是这里的override没有勾选。
2023-10-26 14:28:22
204
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅