Boost Searcher介绍 综述该项目使用了BS架构,实现了用户对Boost库进行站内搜索的功能 示例 去标签化,清理数据 将爬虫和下载的boost库的文件,进行提炼,去标签化,保留里面的有效数据 提取html文件 将提取到的html文件进行提炼有效数据 将有效数据的集合写入到一个文件中 构建索引 根据将去标签化后构建的内容集合 构建正排索引,形成对应的文档结构体 将形成的文档结构体进行 构建倒排索引,根据关键 2023-02-20 项目介绍
负载判题系统 综述该项目使用了 BS架构实现了可以在线的对用户的题目进行 负载均衡式的评判,同时可以对用户进行增删改查,以及用户的注册登陆功能 示例 编译服务器 在线服务器将用户需要进行判断的代码交给后端的判题服务器 判题服务器将获得的代码交给 compiler_runner类,来执行代码的编译和运行的功能 compile_runner 分别将代码先交给 compile类,进行代码的编译,生成一个 2023-02-20 项目介绍
gdb多线程 gdb测试代码 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758#include <iostream>using namespace std;#include <string>#include <mute 2023-02-07 Linux
单调栈 单调栈用途 查找下一个更大(小)的数 栈会呈现一个单调性 如果遍历一个数组,比栈顶的数更大(小),该数就是该栈顶元素的下一个更大的数,继续循环遍历,后往栈里面添加该元素 模板 123456789101112vector<int> ret(nums.size(),-1);//用来记录下一个更大的数的数组stack<int> st; for(size_t i=0;i& 2023-01-27
docker部署与dockerfile 应用的部署 搜索app的镜像 拉去app的镜像 创建容器 操作容器中的app MySql的部署 容器内的网络服务和外部机器无法直接通信 外部机器和宿主机可以直接通信、 宿主机和容器可以直接通信 容器中的服务需要被外部访问时,可以将 容器中提供服务的端口映射到宿主机的端口上,外部访问宿主机的端口,就能间接访问容器服务 称为 端口映射 搜索mysql镜像 1sudo docker search 2023-01-22 docker #docker 容器 dockerfile docker-compose
图 图的存储结构邻接矩阵边和边之间关系通过矩阵数组来保存关系 邻接矩阵适合稠密图(复杂的顶点关系) 邻接矩阵可以O(1)判断顶点的连接关系 不适合查看一个顶点连接的所有边O(N) A,B之间相连所以matrix[A][B]=1 1234567891011121314151617181920212223242526272829303132333435363738394041424 2023-01-07 数据结构 #图论
xv6 makefile详解 文章目录 makefile语法格式 生成qemu可执行文件 生成kernel可执行文件 生成kernel下的OBJS kernel.ld build OBJS_KCSAN build initcode 生成一个fs.img文件系统 mkfs 用户程序的编译 配置工具 makefile语法格式makefile就是一个深搜的过程,最上面的语句是顶级目标,顶级目标还有依赖 如果依 2022-12-17 mit6.1810 #网络
mmap 文章目录 使用示例 函数原型 mmap munmap 传统读写文件 mmap 原理 eager实现 lazy实现 缺点 使用示例123456789101112131415161718192021222324252627#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#in 2022-12-14 mit6.1810 #Linux java c++ 开发语言
基于xv6的Copy-On-Write 文章目录 为什么需要写时拷贝呢? page fault的执行流程 Copy-On-Write处理方法 PTE 引用计数 虚拟地址空间 核心代码 为什么需要写时拷贝呢?当 shell执行指令的时候会 fork(),而这个 fork()出来的进程首先会调用的就是 exec来执行对应的命令,如果我们将 fork()创建的进程对地址空间进行了完整的拷贝,那将是一个巨大的消耗 因为在实际应用中, 2022-12-10 mit6.1810 #risc-v xv6 OS