<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[漏网小鱼的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ClaireSy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ClaireSy]]></copyright><item><title><![CDATA[git常用命令汇总]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/125088309</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/125088309</guid><author>ClaireSy</author><pubDate>Wed, 01 Jun 2022 18:31:07 +0800</pubDate><description><![CDATA[git常用操作]]></description><category></category></item><item><title><![CDATA[SQL语句简单优化]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/124330120</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/124330120</guid><author>ClaireSy</author><pubDate>Thu, 21 Apr 2022 19:57:53 +0800</pubDate><description><![CDATA[总结笔记
1、避免使用‘*’，直接使用列名字
在解析过程中，会将‘*’一次转化为所有的列名，并通过查询字典完成，消耗更多时间。
2、多表查询时，尽量使用表的别名

可以更加精确的定义到哪张表的哪个字段，也避免相同列名的产生的问题。
3、Where子句中，把能快速缩小查询范围的语句放在最右边
因为where子句中的语句，是按照从右往左的顺序执行。

先把“=30”的找到，快速缩小了范围，然后再已经“=30”的范围里面找“&gt;10”的范围。
4、使用“≥”代替“&gt;”

如果使用“&gt;3”，第一个找]]></description><category></category></item><item><title><![CDATA[Python自定义排序规则：functools.cmp_to_key()]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/123762598</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/123762598</guid><author>ClaireSy</author><pubDate>Sat, 26 Mar 2022 20:13:34 +0800</pubDate><description><![CDATA[Python自定义排序规则：functools.cmp_to_key()
使用场景
fuctools.cmp_to_key()是用来自定义排序规则，类似于C++中的lambada函数一样，使得sort()函数可以按照自己定义的比较规则进行排序。
使用规则

以剑指offer45题为例：

def cmp(a, b):
    if a + b &gt; b + a:
        return 1
    elif a + b &lt; b + a:
        return -1
    else:]]></description><category></category></item><item><title><![CDATA[Python语法易混淆]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/123730120</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/123730120</guid><author>ClaireSy</author><pubDate>Fri, 25 Mar 2022 10:52:57 +0800</pubDate><description><![CDATA[Python语法易混淆

这一篇负责记录学习python基础语法时遇到的一些易混淆点，以及与C++语法不同的表达。

字符串

Python 访问子字符串，可以使用方括号 [] 来截取字符串，字符串的截取的语法格式如下：

变量[m:n]
# m为截取开始位置的字符编号
# n为从第一个字符开始数需要截取到第n个字符(包括第n个字符)
'''
str = "abcde"
str[0:3]  输出：abc
str[1:3]  输出：bc
'''

列表List
lt = [];

元组tuple

列表使用方]]></description><category></category></item><item><title><![CDATA[近四十场面试汇聚成的超全Web服务器面经总结]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/122436929</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/122436929</guid><author>ClaireSy</author><pubDate>Tue, 11 Jan 2022 17:08:12 +0800</pubDate><description><![CDATA[上期写了简历项目链接简历项目烂大街怎么办？教你最有谱的摆烂，有位读者照做以后，拿下了主管面，在群里宣传以后，最近多了不少小伙伴来催我更新服务器项目相关知识点。
这份总结是我之前秋招的时候，根据每次面试的问题，不断查漏补缺总结而成，迭代了很多次。每次遇到新的问题，自己在网上边查边总结，当时主要是自己看嘛，也没有什么版权问题，但是现在要发在微信公众号这个公开平台，就需要追本溯源的查一查当初内容来源，尊重原作者的成果。我会尽量确认出处，如有侵权烦请告知！
说在前面的话
每个人服务器项目实现的功能不同，可以延伸的方]]></description><category></category></item><item><title><![CDATA[CMU15-445：Lab1缓冲池管理器]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/121103484</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/121103484</guid><author>ClaireSy</author><pubDate>Tue, 02 Nov 2021 16:39:40 +0800</pubDate><description><![CDATA[Lab1缓冲池管理器
概览
实验的目标系统 BusTub 是一个面向磁盘的 DBMS，但磁盘上的数据不支持字节粒度的访问。这就需要一个管理页的中间层，但 Andy Pavlo 教授坚持不使用 mmap 将页管理权力让渡给操作系统，因此实验一 的目标便在于主动管理磁盘中的页（page）在内存中的缓存，从而，最小化磁盘访问次数（时间上）、最大化相关数据连续（空间上）。
该实验可以分解为相对独立的两个子任务：


维护替换策略的： LRU replacement policy


管理缓冲池的： buffer p]]></description><category></category></item><item><title><![CDATA[黑马——C++基础入门]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/120155878</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/120155878</guid><author>ClaireSy</author><pubDate>Tue, 07 Sep 2021 13:11:59 +0800</pubDate><description><![CDATA[抱歉很长时间没看了，才发现之前那篇C++基础入门被删掉了，在这里重新补上。大家加油啊！文末补上C++基础入门pdf版本，有需要自取，如果链接失效或者文章又被删了，记得私信我！

C++基础入门
1 C++初识
1.1  第一个C++程序
编写一个C++程序总共分为4个步骤

创建项目
创建文件
编写代码
运行程序

1.1.1 创建项目
​	Visual Studio是我们用来编写C++程序的主要工具，我们先将它打开
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w8id2.]]></description><category></category></item><item><title><![CDATA[《剑指offer》第五章 39-52]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/117481300</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/117481300</guid><author>ClaireSy</author><pubDate>Wed, 02 Jun 2021 20:00:05 +0800</pubDate><description><![CDATA[第五章 优化时间和空间效率
1. 时间效率
字符串多次拼接时，不要多次使用String的+来拼接字符串，这样会产生很多string临时实例。更好地是用append方法完成字符串拼接。s1.append(s2)把字符串s2拼接到s1后面。
查找：顺序查找需要O(n)，排序数组需要O(logn)，哈希表则是O(1)。
剑指 Offer 39. 数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。你可以假设数组是非空的，并且给定的数组总是存在多数元素。
输入: [1, 2,]]></description><category></category></item><item><title><![CDATA[《剑指offer》第四章 27-38]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/117372114</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/117372114</guid><author>ClaireSy</author><pubDate>Fri, 28 May 2021 19:08:06 +0800</pubDate><description><![CDATA[第四章 解决面试题的思路
1.画图让抽象问题形象化
剑指 Offer 27. 二叉树的镜像
请完成一个函数，输入一个二叉树，该函数输出它的镜像。
例如输入：
&nbsp; &nbsp; &nbsp;4
&nbsp; &nbsp;/ &nbsp; \
&nbsp; 2 &nbsp; &nbsp; 7
&nbsp;/ \ &nbsp; / \
1 &nbsp; 3 6 &nbsp; 9
镜像输出：
&nbsp; &nbsp; &nbsp;4
&nbsp; &nbsp;/ &nbsp; \
&nbsp; 7 &n]]></description><category></category></item><item><title><![CDATA[《剑指offer》第三章 16-26题解]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/117220150</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/117220150</guid><author>ClaireSy</author><pubDate>Mon, 24 May 2021 11:12:46 +0800</pubDate><description><![CDATA[第三章 高质量代码
1.代码的完整性
剑指 Offer 16. 数值的整数次方
实现 pow(x, n) ，即计算 x 的 n 次幂函数（即，xn）。不得使用库函数，同时不需要考虑大数问题。
输入：x = 2.00000, n = 10
输出：1024.00000

输入：x = 2.00000, n = -2
输出：0.25000
解释：2-2 = 1/22 = 1/4 = 0.25


初始解法：x*x重复n-1次。但这种情况下没有考虑n为负数和零。
完整解法：应该对负数进行-操作，对于零应该抛出异常。]]></description><category></category></item><item><title><![CDATA[《剑指offer》第2章 03-15题解]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/117081200</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/117081200</guid><author>ClaireSy</author><pubDate>Thu, 20 May 2021 16:22:37 +0800</pubDate><description><![CDATA[第二章 面试需要的基础知识
1. 数组
剑指 Offer 03. 数组中重复的数字
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0～n-1 的范围内。数组中某些数字是重复的，但不知道有几个数字重复了，也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
输入：
[2, 3, 1, 0, 2, 5, 3]
输出：2 或 3 



排序后扫描复杂度O(nlogn)


哈希表，空间复杂度O(n)，时间复杂度O(n)
原地哈希：有的元素多次重复，有的元素确实，使用原地哈希]]></description><category></category></item><item><title><![CDATA[B站杜老师数据库课堂笔记day03]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/116302585</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/116302585</guid><author>ClaireSy</author><pubDate>Fri, 30 Apr 2021 14:18:31 +0800</pubDate><description><![CDATA[MySQL day03
1、约束
1.1、唯一性约束（unique）
* 唯一约束修饰的字段具有唯一性，不能重复。但可以为NULL。
* 案例：给某一列添加unique
	drop table if exists t_user;
	create table t_user(
		id int,
		username varchar(255) unique  // 列级约束
	);
	insert into t_user values(1,'zhangsan');
	insert into t_user val]]></description><category></category></item><item><title><![CDATA[B站杜老师数据库课堂笔记day02]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/116302546</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/116302546</guid><author>ClaireSy</author><pubDate>Fri, 30 Apr 2021 14:17:00 +0800</pubDate><description><![CDATA[MySQL day02
1、关于查询结果集的去重？
mysql&gt; select distinct job from emp; // distinct关键字去除重复记录。
±----------+
| job       |
±----------+
| CLERK     |
| SALESMAN  |
| MANAGER   |
| ANALYST   |
| PRESIDENT |
±----------+
mysql&gt; select ename,distinct job from emp;]]></description><category></category></item><item><title><![CDATA[B站杜老师数据库课堂笔记day01]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/116004141</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/116004141</guid><author>ClaireSy</author><pubDate>Thu, 22 Apr 2021 10:49:01 +0800</pubDate><description><![CDATA[MySQL
1、sql、DB、DBMS分别是什么，他们之间的关系？
DB:
DataBase（数据库，数据库实际上在硬盘上以文件的形式存在）
DBMS: 
	DataBase Management System（数据库管理系统，常见的有：MySQL Oracle DB2 Sybase SqlServer...）

SQL: 
	结构化查询语言，是一门标准通用的语言。标准的sql适合于所有的数据库产品。
	SQL属于高级语言。只要能看懂英语单词的，写出来的sql语句，可以读懂什么意思。
	SQL语句在执行的时]]></description><category></category></item><item><title><![CDATA[N皇后看回溯套路]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/114736388</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/114736388</guid><author>ClaireSy</author><pubDate>Sat, 13 Mar 2021 11:37:20 +0800</pubDate><description><![CDATA[这个讲回溯套路的不错
我起初的思路
以 4 皇后为例，我画出一个搜索树，初始时棋盘的格子都是"."。

每一行，选一个格子置为"Q"，一行行往下选，第一行有四种选择。
在选下一行的皇后时，为了避免列的冲突，有三种选择。
继续选下去，构建完整解，可能会遇到对角线冲突。
遇到冲突，继续选下去没有意义，得不出合法的解。需要回溯。
回溯的套路

遍历枚举出所有可能的选择。
依次尝试这些选择：作出一种选择，并往下递归。
如果这个选择产生不出正确的解，要撤销这个选择（将当前的 “Q” 恢复为 “.”），回到之前的状态，]]></description><category></category></item><item><title><![CDATA[回溯算法]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/114701077</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/114701077</guid><author>ClaireSy</author><pubDate>Fri, 12 Mar 2021 17:20:42 +0800</pubDate><description><![CDATA[力扣题解中看到一个回溯算法讲的很清晰，记在这里。
「回溯算法」与「深度优先遍历」都有 不撞南墙不回头 的意思。我个人的理解是：「回溯算法」强调了「深度优先遍历」思想的用途，用一个 不断变化 的变量，在尝试各种可能的过程中，搜索需要的结果。强调了 回退 操作对于搜索的合理性。而「深度优先遍历」强调一种遍历的思想，与之对应的遍历思想是「广度优先遍历」。
与动态规划的区别
共同点
用于求解多阶段决策问题。多阶段决策问题即：
求解一个问题分为很多步骤（阶段）；
每一个步骤（阶段）可以有多种选择。
不同点
动态规划只]]></description><category></category></item><item><title><![CDATA[计算机操作系统基础知识总结]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/111228875</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/111228875</guid><author>ClaireSy</author><pubDate>Tue, 15 Dec 2020 18:40:33 +0800</pubDate><description><![CDATA[进程与线程的区别
进程：一个正在执行程序的实例，它有程序、输入、输出以及状态。
（程序：用适当形式描述的算法）
线程：运行在进程上下文中的逻辑流
所有的线程都有完全一样的地址空间，共享相同的全局变量，所以一个线程甚至可以读、写、清除另一个线程的堆栈。所有线程还共享一个打开文件集、子进程、定时器以及相关信号。
每个线程有自己的堆栈，供各个被调用但是还没有从中返回的过程使用。
进程的状态、切换
进程的状态
运行态、就绪态（可运行，但因其他进程正在运行而暂时停止）、阻塞态（除非某种外部事件发生，否则进程不能运行）]]></description><category></category></item><item><title><![CDATA[操作系统知识点自查]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/109864130</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/109864130</guid><author>ClaireSy</author><pubDate>Fri, 20 Nov 2020 20:42:46 +0800</pubDate><description><![CDATA[计算机操作系统部分收集以下内容，用以在学习过程中自查。


]]></description><category></category></item><item><title><![CDATA[《深入理解计算机系统》虚拟存储]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/109745469</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/109745469</guid><author>ClaireSy</author><pubDate>Tue, 17 Nov 2020 16:13:17 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[《深入理解计算机系统》链接]]></title><link>https://blog.youkuaiyun.com/ClaireSy/article/details/109711884</link><guid>https://blog.youkuaiyun.com/ClaireSy/article/details/109711884</guid><author>ClaireSy</author><pubDate>Sun, 15 Nov 2020 23:11:59 +0800</pubDate><description><![CDATA[]]></description><category></category></item></channel></rss>