- 博客(91)
- 收藏
- 关注
原创 Json-RPC项目框架(二)
主题的请求处理, 继承JsonRequest, 里面check主要对主题名称, 主题操作类型进行处理, 以及在主题操作类型是TOPIC_PUBLISH时候但是主题信息不存在或错误的处理, 其次就是对主题名称, 主题操作类型以及主题消息进行返回或者设置.对数据是否可以处理, 足不足够进行处理, 算出总长度, 类型, id长度, 正文长度, 找到类型以及id, 接着就是对消息进行处理, 调用对应的消息函数, 进行反序列化, 以及设置id和类型.进行检查, 接着就是对请求方法以及请求参数的返回或者处理.
2025-02-10 18:33:00
1223
原创 Json-RPC框架项目(一)
RPC是远程过程调用, 像调用本地接口一样调用远程接口, 进行完成业务处理, 计算任务等, 一个完整的RPC包括:序列化协议, 通信协议, 连接复用, 服务注册, 服务发现, 服务订阅和通知, 负载均衡, 服务监控, 同步调用, 异步调用(1)序列化: 将数据对象全部一种形式存放在value里面. 可以包含任何类型int, string, 等等.
2025-02-10 16:11:24
1072
原创 网络(三) 协议
网际互连协议, 网络层是进行数据真正传输的一层, 进行数据从一个主机传输到另一个主机. 网络层可以将数据主机进行传送, 那么传输层保证数据可靠性, 一起就是TCP/IP协议.路径选择: 确认目的主机之后, 就要找到最短路径将数据给主机. 这里是不是和图数据结构很类似, 找到最短路径. 找寻的时候和路由器来确认目的主机的位置.主机和路由器: 主机配有IP地址,但是不进行路由控制的设备. 路由器: 既配有IP地址,又能进行路由控制.是数据链路层协议, 将数据转到到下一跳主机。
2025-01-23 21:40:53
1181
原创 数据结构(一)顺序表和链表
计算折半查找, 设数据总量为x, x/2/2/2/2.../2 = --->x = 2 * 2 * 2 * ... * 2;计算: F(n) = n * ((n-1) + (n-2) + (n-3) + ... + 1)) ----> n * (n-1) --->使用上面的规则: f(N) = N^2 + N 运用(1)+(3) ---> f(N) = N^2 运用(2);计算: F(N) = (N-1) + (N-2) + (N-3) + ... + 1 ---> F(N) = N;
2025-01-23 16:56:08
840
原创 网络(二)协议
是一个超文本传输协议, 一个请求应答的协议.UDP协议格式: 16位源端口号: 数据从哪里来, 16位目的端口号:数据到哪里去,16位udp长度: 数据加报文的长度, 16位udp检验和: UDP报文的检验和出错,就会直接将报文丢弃. 加上数据.UDP如何决定将有效载荷交付给上层的哪一个协议?因为udp有端口号, 可以通过目的端口号找到应用层对于应用的进程id. 报文分用就是根据报文前8个字节找到目的端口号, 再找到对应上层的进程id进行交付的.TCP是传输控制协议。
2025-01-23 16:50:36
772
原创 数据结构(四) B树/跳表
(1) B树: 有序数组和平衡多叉树;(2) B+树: 有序数组链表和平衡多叉树;(3) B*树: 一个饱满, 均匀, 空间利用率高的B+树.
2025-01-21 20:59:05
1148
原创 数据结构(三) 排序/并查集/图
首先找到两个元素结点的集合结点,如果在一个集合里面就不用插入了,不是的话,将parent1作为元素个数大的集合,parent2进行合并到parent1里面.然后改变parent1值的个数以及parent2集合的新集合结点.在查找数据的时候就进行压缩路径,找到该元素的集合结点,以及它的父结点,然后进行将这个结点一条路的元素都直接插入到集合结点里面.而且一般使用于数据量比较大的时候.每趟找到比最小的数,遍历全数列的那种,然后进行交换i和最小数值的位置.时间复杂度是O(N^2);
2025-01-20 11:23:11
987
原创 数据结构(二)栈/队列和二叉树/堆
只允许一端进行数据插入和删除, 进行数据插入删除的叫栈顶, 另外一段就是栈底.特点是先入数据后出来, 后入数据先出来.(先入后出只允许一边插入数据, 另外一边出数据. 特点是先进去的数据可以先出掉, 但是后进入的数据后面出掉(先入先出进数据是队尾, 出数据是队头. 而且一般使用链表结构来封装队列。
2025-01-16 23:23:15
723
原创 在线文档搜索服务测试报告
1.1 在线搜索服务的前端主要一下几个功能, 分别是进入搜索引擎界面(有提示输入关键词信息);进行输入关键词的界面, 以及显示有关关键词的文档url, 点击跳转至目标文档的界面;1.2 该在线搜索服务的文档可以实现用户进行输入关键字查询, 跳出检索文档, 进行选择文档再跳转目标文档的功能.2.1 首先是进入搜索引擎界面, 有请输入搜索关键词的提示;2.2 删除原本关键词, 再输入目的关键词进行搜索, 弹出相关内容和链接;
2024-09-23 22:03:30
387
原创 MySQL(终章)视图, 用户管理, C连接MySQL.
root账户进行修改: set password for '用户名'@'主机名'=password('新的密码');e. 视图可以和表一起使用, f. 视图中如果有select 和order by会覆盖后者.c. 视图没有索引也没有默认值. d. 视图可以提高安全性,必须具有足够的访问权限;修改用户密码: 自己修改: set password=password('新的密码');删除视图: drop view 视图名;修改视图: update set;*_priv: 用户的权限.
2024-07-19 23:35:11
377
1
原创 MySQL(6)内置函数,复合查询.
select concat(name, '的语文是',chinese,'分,数学是',math,'分') as '分数' from student;查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的。🌰显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号--empno)🌰: 查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人。⭐md5是对字符串进行加密, password是对用户进行加密.2. 按照部门号升序而雇员的工资降序排序。
2024-07-17 14:43:08
623
原创 MySQL(5)表的查询
实际MySQL不会对数据进行处理, 不是真正的事物所以没有回滚.而且会重置auto_increment的值.insert into students(id, sn, name) values(102, 1002, '曹孟德');数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩。后言: 球球三联, 博主这两天肝肝肝上火啦!由于主键冲突或者唯一键冲突, 选择性进行同步更新的方式.(3)🌰 英语不及格的同学及英语成绩 ( < 60 )语文成绩在 [80, 90] 分的同学及语文成绩。
2024-07-17 00:29:53
1076
原创 MySQL(4)表的约束
1. 商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)3. 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums). mysql指令的正确输入以及数据类型等都是一种约束, 倒逼程序员正确的使用, 保证数据是可预料的, 正确的.特点: a. 自增长的类型是整形;特性: a.主键约束, b. 如果表创建好没有主键还可以追加.
2024-07-16 17:52:29
675
原创 项目日记(3) boost搜索引擎
上次在项目日记(2)写了index索引, 这次就可以进行search搜索了. 不多说快看. 先点个一键三联. 蟹蟹!!!
2024-05-25 11:55:10
544
原创 项目日记(2): boost搜索引擎
建立索引包含正排和倒排索引, 首先参数input是文档内容的引用, 打开输入文件流进行在input里面写入, 从in里面获取字符串放到line里面, 然后建立正排索引, 再建立倒排索引.: 获取正排索引, 一个文档id和文档内容相关联, 输入doc_id进行查找, 因为下标和doc_id是对应关系, 所以返回forward_list文档详细内容.(2) JiebaUtil封装jieba, 实现创建jieba, 封装jieba单例, jieba的初始化, jieba的分词;封装jieba的分词.
2024-05-24 15:34:15
634
原创 数据的存储详解
例如: int: [0 ~ 2^15-1][-2^15 ~ -1] = [0 ~ 32,767] [-32,768 ~ -1];输出就是9, 8, 7, 6, 5, 4, 3, 2, 1, 4294967295, 4294967294....所以*pFloat解读出来就是0000 0000 0000 0000 0000 0000 0000 1001;9的补码就是: 0000 0000 0000 0000 0000 0000 0000 1001。(4)E全为1: M如果为0,则是+/-无穷大.
2024-04-27 17:21:27
643
原创 特殊类的设计
目录1. 设计一个不能被拷贝的类2. 设计一个只能在堆上创建的类3. 设计一个只能在栈上创建的类4. 设计一个不能被继承的类5. 单例模式(设计一个类只创建一个对象)1. 设计一个不能被拷贝的类拷贝只会出现在拷贝构造函数和赋值重载函数里面; 想要防止拷贝就要从这两个函数入手.有c++98和c++11两种处理方法:c++98直接将这两个函数变成私有成员(外部无法使用)的并且只声明不定义(防止内部拷贝);c++11是不是有个关键字delete.class Non
2024-04-26 09:18:30
272
原创 c++异常详解
return str;private:throw SqlExecption("权限不足", 100, "select * from name = '张三'");throw CacheException("权限不足", 100);
2024-04-24 21:15:46
829
原创 哈希表详解
还有就是已经遍历完了一个桶,那么就要找下一个桶. 然后前面传hashi就是这个用的, 找到哈希下标, 如果结点挂链表就赋给node, 直到遍历完还没有就nullptr;的, 但是负载因子如果太大,就很容易冲突加剧, 效率就低, 负载因子太小冲突降低但是空间利用率就低了.所以合适的负载因子很重要,一般设置为。: 当发生哈希冲突的时候, 如果哈希表没有满,那么就还有可以存放数据的位置,就将这个数据放到冲突位置的下一个空位置即可.插入数据: 先使用哈希函数找到下标,然后判断状态为非exist,最后插入数据即可.
2024-04-22 21:31:29
863
2
原创 红黑树封装map和set超详解
这篇博客完全是根据上篇博客红黑树来扩展的,代码的修改也是在红黑树那篇,大家可以先看看那篇代码再过来看看这篇更好食用哦!目录1.红黑树迭代器代码2.红黑树的insert代码3.map和set的封装4.最后代码总和5.最终测试1.红黑树迭代器代码将代码分成这几个.h / .cpp文件;
2024-04-18 19:48:02
724
2
原创 红黑树详解
红黑树是一个搜索二叉树,给结点进行添加颜色(红色和黑色);对给条路径的结点进行颜色的限制,达到每条路径不会超过其他路径的两倍。红黑树是一种相对平衡的搜索二叉树。
2024-04-15 21:35:29
691
1
原创 蓝桥杯第十三届c++大学B组详解
1.九进制转十进制2.顺子日期3.刷题统计4.修剪灌木5.x进制的减法6.统计子矩阵7.积木画8.扫雷9.李白打酒10.砍竹子。
2024-04-11 20:27:39
1099
原创 蓝桥杯第六届c++大学B组详解
看了很多博客以及视频讲解,感觉都不是很清楚,比较模棱两可,所以干脆自己一边想,一边写博客,也可帮助到其他人,都是根据自己的逻辑来尽量清楚简单的讲清楚题目,喜欢的不要吝啬三连,给博主点动力。
2024-04-07 19:44:45
4429
2
原创 蓝桥杯第十届c++大学B组详解
1.组队2.年号字符3.数列求值4.数的分解5.迷宫6.特别数的和7.完全二叉树的权值8.等差数列9.后缀表达式10.灵能传输。
2024-04-06 00:27:45
1106
2
原创 蓝桥杯第十一届c++大学B组详解
1.字符串排序2.门牌制作3.即约分数4.蛇型填数5.跑步锻炼6.七段码7.成绩统计8.回文日期9.字串分值和10.平面切分。
2024-04-05 21:58:08
531
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人