置顶文章

2.1k 2 分钟

参考链接 https://shoka.lostyu.me/categories/computer-science/note/theme-shoka-doc/ # 配置搭建 在根目录下的站点配置文件,_config.yml 中修改 # 写作设置new_post_name: :title.md # 默认的文件名称default_layout: post # 默认的文章类型titlecase: false # Transform title into titlecase# 是否允许文章中放置外部链接external_link: enable: true field: site exclude:...

精选分类

文章列表

8k 7 分钟

# 背景图全屏 # 修改 Stylus 进入 themes\shoka\source\css\_common\outline\header\ 目录 在 brand.styl 文件的 #brand 内将 height 修改为 80vh 在 header.styl 文件的 #header 内将 height 修改为 100vh 在 image.styl 文件的 #imgs 内将 height 修改为 100vh 在 tool.styl 文件的 #tool 内将 top 修改为 90vh 在 waves.styl 文件的 #waves 内 将...
28k 26 分钟

# 六大原则 # 总原则 —— 开闭原则(Open Closed Principle) 在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等。 # 1、单一职责原则(Single Responsibility Principle) 一个类应该只有一个发生变化的原因。不要存在多于一个导致类变更的原因,也就是说每个类应该实现单一的职责,否则就应该把类拆分。 # 2、里氏替换原则(Liskov Substitution...
1.1k 1 分钟

# 简介 # 数据结构 # 数据库实现 # 数据类型 <img src="13eda52ea8480718461a53c17978a17b.png" alt="截图" style="zoom:100%;" /> <img src="fdd0602a7d6f49a807a60f2c44b07e94.png" alt="1679487357432.png"...
741 1 分钟

# 基础 # Buffer Pool # 索引 # 分类 联合索引的最左匹配原则,在遇到范围查询(如 >、<)的时候,就会停止匹配,也就是范围查询的字段可以用到联合索引,但是在范围查询字段的后面的字段无法用到联合索引 注意,对于 >=、<=、BETWEEN、like 前缀匹配的范围查询,并不会停止匹配 # 事务 # 特性 脏读:读到其他事务未提交的数据 不可重复读:前后读取的数据不一致 幻读:前后读取的记录数量不一致 # 隔离级别 「读提交」和「可重复读」隔离级别的事务通过 Read View...
5.8k 5 分钟

# 概览 操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机的基石。 操作系统本质上是一个运行在计算机上的软件程序 ,用于管理计算机硬件和软件资源。 操作系统存在屏蔽了硬件层的复杂性。 操作系统就像是硬件使用的负责人,统筹着各种相关事项。 操作系统的内核(Kernel)是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理。 内核是连接应用程序和硬件的桥梁,决定着系统的性能和稳定性。 # 系统调用 根据进程访问资源的特点,我们可以把进程在系统上的运行分为两个级别: 用户态 (user mode) :...
1.8k 2 分钟

# 概览 # OSI 七层 # TCP/IP 四层 <br/> # Linux 收发网络包 # HTTP # HTTP 和 HTTPS # 建立连接 # 安全性 HTTP 由于是明文传输,所以安全上存在以下三个风险: 窃听风险,比如通信链路上可以获取通信内容,用户号容易没。 篡改风险,比如强制植入垃圾广告,视觉污染,用户眼容易瞎。 冒充风险,比如冒充淘宝网站,用户钱容易没。 HTTPS 在 HTTP 与 TCP 层之间加入了 SSL/TLS...
472 1 分钟

# 右值引用 # 万能引用 根据传入变量的类型决定是左 / 右值引用 常见场景 函数模板的参数 T&& auto && # 引用折叠 引用的引用一般只会在类型别名或者模板类型参数中出现 除了右值引用的右值引用,其他引用的引用都会折叠为左值引用 # 完美转发 当我们将一个右值引用传入函数时,他在实参中有了命名,所以继续往下传或者调用其他函数时,根据 C++ 标准的定义,这个参数变成了一个左值。那么他永远不会调用接下来函数的右值版本,这可能在一些情况下造成拷贝。为了解决这个问题 C++ 11 引入了完美转发,根据右值判断的推导,调用...
1.6k 1 分钟

# 构建链表 struct ListNode {public: int val; // 节点值 ListNode* next; // 下一个节点 ListNode(int n) :val(n), next(nullptr) {} // 构造函数 ListNode(int n, ListNode* next) :val(n), next(next) {} };ListNode* getListNodemy(vector<int> &str)...
15k 13 分钟

# 排序 # 快速排序 void qsort(vector<int>& nums, int left, int right) { if (left < right) { // 随机选取哨兵并放到数组末尾 int index = rand() % (right - left + 1) + left; swap(nums[right], nums[index]); int i = left, j = right - 1, pivot = nums[right]; // 在当前子数组中确保 i...