- 博客(39)
- 收藏
- 关注
原创 [MIT6.824] Spring2021 Lab 2: Raft
总体来说,只看lecture对raft还是有些认知不到位的,就像我说我的疑问那里,还有很多不清晰的地方。但是一旦上手做了代码,就把细节的部分掰开弄清楚了。加上网上好心人写的博客很多,知乎也有各种细节问题的讨论,最终还是顺利完成了。最后就是一起测试了。这里的超时选举时间都是300∼900ms300∼900ms图一是每50ms发送一次心跳,图2是每100ms发送一次心跳。可以看到第一次的总时间较短,但CPU用时高。心跳间隔长的总时间较长,但CPU用短(因为等待时间多)。
2023-09-22 00:06:33 598
原创 MIT6.824 Spring2021 Lab 1: MapReduce
需要实现master和coordinator。MapReduce分为两个阶段:Map和Reduce阶段。Map阶段函数提供Key,比如是key,然后Worker通过这个Key获取Value。比如的具体内容。然后将Key和Value(在例子中是文章的内容),传递给map function。获取结果,并将结果分成R个Reduce内容。举个例子。假设我们要对和统计词频。那么就要有两个Map Task(不一定有两个Worker,比如有3个Worker,那么就是2个Worker干活一个围观;
2023-09-03 01:22:14 950 6
原创 [LeetCode] 128. 最长连续序列
感觉第三种实现比较有意思。虽然实际上写起来就感觉运行会很慢。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。的话,肯定不用进行这次遍历(因为结果肯定会小于从。然后想一下,可以枚举每个数字,比如x。但是需要维护集合大小。请你设计并实现时间复杂度为。进行排序,然后查找最大序列。给定一个未排序的整数数组。然后还可以使用并查集。朴素的话时间复杂度为。
2023-09-01 23:41:28 562
原创 ARIES,一种数据库恢复算法
比如物理操作是将x的400变为500,undo info是(x-100),表示撤销时应该将值减去100,而不是设为400(因为可能受到其他事务影响)如果该log的页不在脏页表中,或者更新日志记录的LSN小于脏页表中该页的rec lsn(该log已经落盘),就跳过该次记录。如果遇到一个更新日志记录,就用其进行物理undo,并产生一条CLR,将该CLR的UndoNextLSN设置为该日志的prev LSN。当一个操作在一行上执行多次,结果都是相等的,则该操作是幂等的。物理日志记录是幂等的,逻辑操作不是幂等的。
2023-07-31 01:25:07 628
原创 CMU 15-445 Project #3 - Query Execution 题解 关系型数据库执行器
CMU15-445 Project #3 - Query Execution 题解
2023-06-10 22:11:00 736
原创 Spring Security OAuth2 启动报错
问题描述spring-security-oauth2启动报错spring-security 5.5.0spring-boot 2.5.0java18报错日志java.security.PrivilegedActionException: null at java.base/java.security.AccessController.doPrivileged(AccessController.java:573) ~[na:na] at com.sun.xml.bind.v2.runtim
2023-06-05 14:11:16 1168 1
原创 Feign报错‘org.springframework.cloud.openfeign.FeignContext‘ that could not be found.
因为Spring Boot 3.0.0 中的Spring.factories被移除,所以之前的版本配置失败了。之前SpringBoot版本用的2.5.3没这个问题,升级到3.0.1之后报错[1]可能因为Feign的自动配置需要db依赖,我直接在pom中加上。
2023-05-29 18:26:08 3250 2
原创 期权价格计算
📊看涨期权(按照一定价格买入的权利)和看跌期权(卖出的权利)。美式期权在到期日之前可以被选择执行,欧式期权只能在到期日执行。头寸:期权也分多头空头。多头为买入期权方,空头为卖出期权(也叫做承约方)。如果K是执行价格,St为最终价格。看涨多头收益为max(St-K,0),看跌多头收益为maxK−ST0maxK−ST0。也即K>St是才会行权(按照K卖出股票),否则可以直接按照市场价卖出。股票期权货币期权指数期权期货期权期权被分为。
2023-04-08 00:45:43 1421
原创 [笔记] 查询计划及其优化
Rules:通过静态的条件判断,来重写查询。通过查看catalog而不是数据。Cost-based 枚举SQL的所有方案,并且预估成本然后选择成本低的。
2023-04-07 13:42:47 153
原创 Lucene测试出错:Provider org.apache.lucene.codecs.idversion.IDVersionPostingsFormat could not be instanti
然后复制官网api给出的demo都报相同错误,可能是和什么东西冲突了。调了一个下午不知道问题在哪,之前用的最新版Lucene。又通过测试了,不知道什么问题。
2023-03-22 17:41:14 197
原创 Spring Security logout注销问题
在整合Spring Security 之后,访问路径/logout,会自动变成/login?结论:不要用/logout,随便换个其他的。百思不得其解之后,换了个路径试试成功了。
2023-03-16 20:28:30 165
原创 缓存替换策略:LRU-K算法详解及其C++实现 CMU15-445 Project#1
LRU-K是对LRU算法的改进,规避了一些访问上实际的问题,同时带来的额外开销也是可以接受的,是一个值得学习的算法。
2022-12-27 16:39:56 10490 24
原创 CMU 15-445 (FALL 2022) Project #0 - C++ Primer 题解 Trie
CMU为外校的学生提供了自动测试平台和公开课,代价是什么呢?那就是不要直接公开代码在网上。还请大家遵守。这篇博客记录一些踩的坑,欢迎交流。
2022-11-13 20:26:20 2861 4
原创 GDB 必会的基础操作
如果你想要在没有debug支持的文件(例如没有使用-g)中设置断点。打上一个断点,然后continue多次后使用bt查看堆栈信息。通过command,你可以在达到指定断点时,执行指令。一般gdb还会显示指定位置之前的几行代码,如图所示。可以显示指定函数或行号开始的代码。在(当前文件的)指定行设置断点。在指定文件的行或者函数设置断点。p 变量(int,char等)函数第一行自动设置一个断点。也可以启动程序,但是会在。可以在指定的位置设置断点。来忽略指定断点指定次数。删除指定断点,单写一个。
2022-11-03 18:13:44 116
原创 [问题解决]Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: javax.servlet.http.H
在做SpringMVC时遇到了这个报错。应当是依赖包版本不对。
2022-10-11 00:32:36 1689
原创 Vue一把
Vue是一套前端框架开始使用 Vue - 学习 Web 开发 | MDN (mozilla.org)基于MVVM思想,实现数据的双向绑定。
2022-10-06 22:37:36 198
原创 MySQL Error Code: 2013. Lost connection to MySQL server during query解决
Error Code2013
2022-10-06 17:05:24 2925
原创 Servlet
实现Servlet方法实现接口然后在注解中配置访问路径方法每次请求被调用HttpServelet继承类,实现doGet和doPost方法的封装继承后需要重写doXxx类Servlet urlPattern一个Servlet可以配置多个urlPattern例如配置规则XML配置Servlet在Web.xml中配置Servlet这种方法较老,不推荐Request和Response对象RequestServletRequestHttpServletRe
2022-10-05 13:52:37 102
原创 MyBatis
MyBatis是一种持久层框架,用于简化JDBC开发持久层:将数据保存到数据库Java EE:表现层、业务层、持久层框架是一个半成品软件。在框架基础上构建软件编写更加高效、规范、通用、可扩展JDBC操作繁琐。
2022-10-04 15:59:35 314
原创 Maven入门
Maven是专门用于管理和构建Java项目的工具pom.xml描述对象信息仓库阿里云镜像仓库在maven/conf/settings.xml中配置。
2022-10-03 22:05:08 109
原创 数据库学习入门
SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。JDBC是用Java语言操作关系型数据库的一套API官方(sun)定义的一套接口。
2022-10-03 19:37:20 304
原创 VSCode 使用ssh远程链接服务器时报错 Downloading VS Code Server failed
之前VScode一直能用ssh连接服务器,后来被挖矿病毒攻击了一次,解决之后突然连不上了,提示。首先确认你能够用ssh连接到你的服务器,私钥没有错误。如果再次测试还没有用,尝试先卸载再安装。或者出于各种原因无法使用这个指令。完成后返回vscode,连接成功。删除远端的vscode服务器。检查有无安装这两个工具。...
2022-07-28 13:23:47 2912 1
原创 gitbook出现if (args[ii] == null) throw missingRequiredArg(ii 解决
Gitbook安装插件。
2022-07-24 21:43:54 1165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人