Skip to content

Commit f33c01e

Browse files
committed
auto commit
1 parent 6687ef8 commit f33c01e

23 files changed

+27
-23
lines changed

docs/notes/Git.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
Git 属于分布式版本控制系统,而 SVN 属于集中式。
2121

22+
<div align="center"> <img src="pics/fac3dfd6-1656-4329-9a80-7f6c51ef30c5_200.png"/> </div><br>
23+
2224
集中式版本控制只有中心服务器拥有一份代码,而分布式版本控制每个人的电脑上就有一份完整的代码。
2325

2426
集中式版本控制有安全性问题,当中心服务器挂了所有人都没办法工作了。
@@ -35,49 +37,49 @@ Github 就是一个中心服务器。
3537

3638
# 工作流
3739

38-
<div align="center"> <img src="pics/a1198642-9159-4d88-8aec-c3b04e7a2563.jpg"/> </div><br>
39-
4040
新建一个仓库之后,当前目录就成为了工作区,工作区下有一个隐藏目录 .git,它属于 Git 的版本库。
4141

42-
Git 版本库有一个称为 stage 的暂存区,还有自动创建的 master 分支以及指向分支的 HEAD 指针
42+
Git 的版本库有一个称为 Stage 的暂存区以及最后的 History 版本库,History 中存有所有分支,使用一个 HEAD 指针指向当前分支
4343

44-
<div align="center"> <img src="pics/46f66e88-e65a-4ad0-a060-3c63fe22947c.png"/> </div><br>
44+
<div align="center"> <img src="pics/0f9b9d2a-c5cc-4a3f-b138-2c1035950f39_200.png"/> </div><br>
4545

4646
- git add files 把文件的修改添加到暂存区
4747
- git commit 把暂存区的修改提交到当前分支,提交之后暂存区就被清空了
4848
- git reset -- files 使用当前分支上的修改覆盖暂存区,用来撤销最后一次 git add files
4949
- git checkout -- files 使用暂存区的修改覆盖工作目录,用来撤销本地修改
5050

51-
<div align="center"> <img src="pics/17976404-95f5-480e-9cb4-250e6aa1d55f.png"/> </div><br>
51+
<div align="center"> <img src="pics/11a786f0-5e02-46a6-92f0-f302c9cf6ca3_200.png"/> </div><br>
5252

5353
可以跳过暂存区域直接从分支中取出修改,或者直接提交修改到分支中。
5454

5555
- git commit -a 直接把所有文件的修改添加到暂存区然后执行提交
5656
- git checkout HEAD -- files 取出最后一次修改,可以用来进行回滚操作
5757

58+
<div align="center"> <img src="pics/b48b9a7a-f9f8-4cf9-90f1-5cddd685b782_200.png"/> </div><br>
59+
5860
# 分支实现
5961

6062
使用指针将每个提交连接成一条时间线,HEAD 指针指向当前分支指针。
6163

62-
<div align="center"> <img src="pics/fb546e12-e1fb-4b72-a1fb-8a7f5000dce6.jpg"/> </div><br>
64+
<div align="center"> <img src="pics/84d496d7-54b0-4a9b-9499-ce232057e499_200.png"/> </div><br>
6365

6466
新建分支是新建一个指针指向时间线的最后一个节点,并让 HEAD 指针指向新分支表示新分支成为当前分支。
6567

66-
<div align="center"> <img src="pics/bc775758-89ab-4805-9f9c-78b8739cf780.jpg"/> </div><br>
68+
<div align="center"> <img src="pics/7c5bcdbf-e656-4b7c-be82-b247a3589ed5_200.png"/> </div><br>
6769

6870
每次提交只会让当前分支指针向前移动,而其它分支指针不会移动。
6971

70-
<div align="center"> <img src="pics/5292faa6-0141-4638-bf0f-bb95b081dcba.jpg"/> </div><br>
72+
<div align="center"> <img src="pics/13783e94-b481-4aea-9fa2-9d1973abd47e_200.png"/> </div><br>
7173

7274
合并分支也只需要改变指针即可。
7375

74-
<div align="center"> <img src="pics/1164a71f-413d-494a-9cc8-679fb6a2613d.jpg"/> </div><br>
76+
<div align="center"> <img src="pics/15699a17-5a69-4fbe-852e-9d2b7cf05e80_200.png"/> </div><br>
7577

7678
# 冲突
7779

7880
当两个分支都对同一个文件的同一行进行了修改,在分支合并时就会产生冲突。
7981

80-
<div align="center"> <img src="pics/58e57a21-6b6b-40b6-af85-956dd4e0f55a.jpg"/> </div><br>
82+
<div align="center"> <img src="pics/7e82ce01-2afb-4c15-b720-b81049c875c2_200.png"/> </div><br>
8183

8284
Git 会使用 <<<<<<< ,======= ,>>>>>>> 标记出不同分支的内容,只需要把不同分支中冲突部分修改成一样就能解决冲突。
8385

@@ -99,7 +101,7 @@ Creating a new branch is quick AND simple.
99101
$ git merge --no-ff -m "merge with no-ff" dev
100102
```
101103

102-
<div align="center"> <img src="pics/dd78a1fe-1ff3-4bcf-a56f-8c003995beb6.jpg"/> </div><br>
104+
<div align="center"> <img src="pics/fa1dc552-8501-439e-b85a-3d9eac704880_200.png"/> </div><br>
103105

104106
# 分支管理策略
105107

docs/notes/HTTP.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@
3535
* [多部分对象集合](#多部分对象集合)
3636
* [虚拟主机](#虚拟主机)
3737
* [通信数据转发](#通信数据转发)
38-
* [六、HTTPs](#六https)
38+
* [六、HTTPS](#六https)
3939
* [加密](#加密)
4040
* [认证](#认证)
4141
* [完整性保护](#完整性保护)
42-
* [HTTPs 的缺点](#https-的缺点)
42+
* [HTTPS 的缺点](#https-的缺点)
4343
* [七、HTTP/2.0](#七http20)
4444
* [HTTP/1.x 缺陷](#http1x-缺陷)
4545
* [二进制分帧层](#二进制分帧层)
@@ -650,17 +650,17 @@ HTTP/1.1 使用虚拟主机技术,使得一台服务器拥有多个域名,
650650

651651
使用 SSL 等加密手段,在客户端和服务器之间建立一条安全的通信线路。
652652

653-
# 六、HTTPs
653+
# 六、HTTPS
654654

655655
HTTP 有以下安全性问题:
656656

657657
- 使用明文进行通信,内容可能会被窃听;
658658
- 不验证通信方的身份,通信方的身份有可能遭遇伪装;
659659
- 无法证明报文的完整性,报文有可能遭篡改。
660660

661-
HTTPs 并不是新协议,而是让 HTTP 先和 SSL(Secure Sockets Layer)通信,再由 SSL 和 TCP 通信,也就是说 HTTPs 使用了隧道进行通信。
661+
HTTPS 并不是新协议,而是让 HTTP 先和 SSL(Secure Sockets Layer)通信,再由 SSL 和 TCP 通信,也就是说 HTTPS 使用了隧道进行通信。
662662

663-
通过使用 SSL,HTTPs 具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。
663+
通过使用 SSL,HTTPS 具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。
664664

665665
<div align="center"> <img src="pics/ssl-offloading.jpg" width="700"/> </div><br>
666666

@@ -688,9 +688,9 @@ HTTPs 并不是新协议,而是让 HTTP 先和 SSL(Secure Sockets Layer)
688688

689689
<div align="center"> <img src="pics/39ccb299-ee99-4dd1-b8b4-2f9ec9495cb4.png" width="600"/> </div><br>
690690

691-
### 3. HTTPs 采用的加密方式
691+
### 3. HTTPS 采用的加密方式
692692

693-
HTTPs 采用混合的加密机制,使用非对称密钥加密用于传输对称密钥来保证传输过程的安全性,之后使用对称密钥加密进行通信来保证通信过程的效率。(下图中的 Session Key 就是对称密钥)
693+
HTTPS 采用混合的加密机制,使用非对称密钥加密用于传输对称密钥来保证传输过程的安全性,之后使用对称密钥加密进行通信来保证通信过程的效率。(下图中的 Session Key 就是对称密钥)
694694

695695
<div align="center"> <img src="pics/How-HTTPS-Works.png" width="600"/> </div><br>
696696

@@ -702,7 +702,7 @@ HTTPs 采用混合的加密机制,使用非对称密钥加密用于传输对
702702

703703
服务器的运营人员向 CA 提出公开密钥的申请,CA 在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公开密钥证书后绑定在一起。
704704

705-
进行 HTTPs 通信时,服务器会把证书发送给客户端。客户端取得其中的公开密钥之后,先使用数字签名进行验证,如果验证通过,就可以开始通信了。
705+
进行 HTTPS 通信时,服务器会把证书发送给客户端。客户端取得其中的公开密钥之后,先使用数字签名进行验证,如果验证通过,就可以开始通信了。
706706

707707
<div align="center"> <img src="pics/2017-06-11-ca.png" width=""/> </div><br>
708708

@@ -712,9 +712,9 @@ SSL 提供报文摘要功能来进行完整性保护。
712712

713713
HTTP 也提供了 MD5 报文摘要功能,但不是安全的。例如报文内容被篡改之后,同时重新计算 MD5 的值,通信接收方是无法意识到发生了篡改。
714714

715-
HTTPs 的报文摘要功能之所以安全,是因为它结合了加密和认证这两个操作。试想一下,加密之后的报文,遭到篡改之后,也很难重新计算报文摘要,因为无法轻易获取明文。
715+
HTTPS 的报文摘要功能之所以安全,是因为它结合了加密和认证这两个操作。试想一下,加密之后的报文,遭到篡改之后,也很难重新计算报文摘要,因为无法轻易获取明文。
716716

717-
## HTTPs 的缺点
717+
## HTTPS 的缺点
718718

719719
- 因为需要进行加密解密等过程,因此速度会更慢;
720720
- 需要支付证书授权的高额费用。

docs/notes/Leetcode 题解.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
```html
6868
Input: numbers={2, 7, 11, 15}, target=9
6969
Output: index1=1, index2=2
70-
```
70+
```3
7171

7272
题目描述:在有序数组中找出两个数,使它们的和为 target。
7373

@@ -403,8 +403,10 @@ public List<Integer> topKFrequent(int[] nums, int k) {
403403
}
404404
List<Integer> topK = new ArrayList<>();
405405
for (int i = buckets.length - 1; i >= 0 && topK.size() < k; i--) {
406-
if (buckets[i] != null) {
406+
if (buckets[i].size() <= (k - topK.size())) {
407407
topK.addAll(buckets[i]);
408+
} else {
409+
topK.addAll(buckets[i].subList(0, k - topK.size()));
408410
}
409411
}
410412
return topK;
53 KB
Loading
23 KB
Loading
20 KB
Loading
20 KB
Loading
17 KB
Loading
24 KB
Loading
15 KB
Loading

0 commit comments

Comments
 (0)