Skip to content

Commit e621a75

Browse files
authored
Merge pull request #2 from CyC2018/master
拉取更新
2 parents 4c0f325 + f3d69c3 commit e621a75

26 files changed

+598
-551
lines changed

BOOKLIST.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
- [STL 源码剖析](https://book.douban.com/subject/1110934/)
5555
- [深度探索 C++ 对象模型](https://book.douban.com/subject/1091086/)
5656

57-
# 网站架构/分布式
57+
# 系统设计
5858

5959
- [大规模分布式存储系统](https://book.douban.com/subject/25723658/)
6060
- [从 Paxos 到 Zookeeper](https://book.douban.com/subject/26292004/)

README.md

+18-18
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
<!-- [![](https://img.shields.io/badge/>-gitter-blue.svg)](https://gitter.im/CyC2018-Interview-Notebook/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link) [![](https://img.shields.io/badge/_-gitbook-4ab8a1.svg)](https://legacy.gitbook.com/book/cyc2018/interview-notebook/details) -->
1313

14-
## :pencil2: 算法
14+
### :pencil2: 算法
1515

1616
- [剑指 Offer 题解](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/剑指%20offer%20题解.md)
1717

@@ -25,7 +25,7 @@
2525

2626
排序、并查集、栈和队列、红黑树、散列表。
2727

28-
## :computer: 操作系统
28+
### :computer: 操作系统
2929

3030
- [计算机操作系统](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/计算机操作系统.md)
3131

@@ -35,7 +35,7 @@
3535

3636
基本实现原理以及基本操作。
3737

38-
## :cloud: 网络
38+
### :cloud: 网络
3939

4040
- [计算机网络](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/计算机网络.md)
4141

@@ -49,7 +49,7 @@
4949

5050
I/O 模型、I/O 多路复用。
5151

52-
## :couple: 面向对象
52+
### :couple: 面向对象
5353

5454
- [设计模式](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/设计模式.md)
5555

@@ -59,7 +59,7 @@
5959

6060
三大原则(继承、封装、多态)、类图、设计原则。
6161

62-
## :floppy_disk: 数据库
62+
### :floppy_disk: 数据库
6363

6464
- [数据库系统原理](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/数据库系统原理.md)
6565

@@ -81,7 +81,7 @@
8181

8282
五种数据类型、字典和跳跃表数据结构、使用场景、和 Memcache 的比较、淘汰策略、持久化、文件事件的 Reactor 模式、复制。
8383

84-
## :coffee: Java
84+
### :coffee: Java
8585

8686
- [Java 基础](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20基础.md)
8787

@@ -103,7 +103,7 @@
103103

104104
NIO 的原理以及实例。
105105

106-
## :bulb: 系统设计
106+
### :bulb: 系统设计
107107

108108
- [系统设计基础](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/系统设计基础.md)
109109

@@ -129,7 +129,7 @@
129129

130130
消息处理模型、使用场景、可靠性
131131

132-
## :hammer: 工具
132+
### :hammer: 工具
133133

134134
- [Git](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Git.md)
135135

@@ -147,7 +147,7 @@
147147

148148
构建工具的基本概念、主流构建工具介绍。
149149

150-
## :speak_no_evil: 编码实践
150+
### :speak_no_evil: 编码实践
151151

152152
- [重构](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/重构.md)
153153

@@ -161,49 +161,49 @@
161161

162162
Google 开源项目的代码风格规范。
163163

164-
## :memo: 后记
164+
### :memo: 后记
165165

166-
### About
166+
#### About
167167

168168
这个仓库是笔者的一个学习笔记,主要总结一些比较重要的知识点,希望对大家有所帮助。
169169

170170
笔记不是从网上到处复制粘贴拼凑而来,虽然有少部分内容会直接引入书上原文或者官方技术文档的原文,但是没有直接摘抄其他人的博客文章,只做了参考,参考的文章会在最后给出链接。
171171

172172
[BOOKLIST](https://github.com/CyC2018/Interview-Notebook/blob/master/BOOKLIST.md),这个书单是笔者至今看的一些比较好的技术书籍,虽然没有全都看完,但每本书多多少少都看了一部分。
173173

174-
### How To Contribute
174+
#### How To Contribute
175175

176176
笔记内容是笔者一个字一个字打上去的,难免会有一些笔误,如果发现笔误可直接在相应文档进行编辑修改。
177177

178178
如果想要提交一个仓库现在还没有的全新内容,可以先将相应的文档放到 other 目录下。
179179

180180
欢迎在 Issue 中提交对本仓库的改进建议~
181181

182-
### Typesetting
182+
#### Typesetting
183183

184184
笔记内容按照 [中文文案排版指北](http://mazhuang.org/wiki/chinese-copywriting-guidelines/) 进行排版,以保证内容的可读性。
185185

186186
笔记不使用 `![]()` 这种方式来引用图片,而是用 `<img>` 标签。一方面是为了能够控制图片以合适的大小显示,另一方面是因为 GFM 不支持 `<center> ![]() </center>` 让图片居中显示,只能使用 `<div align="center"> <img src=""/> </div>` 达到居中的效果。
187187

188188
笔者将自己实现的文档排版功能提取出来,放在 Github Page 中,无需下载安装即可免费使用:[Text-Typesetting](https://github.com/CyC2018/Markdown-Typesetting)
189189

190-
### Uploading
190+
#### Uploading
191191

192192
笔者在本地使用为知笔记软件进行书写,为了方便将本地笔记内容上传到 Github 上,实现了一整套自动化上传方案,包括文本文件的导出、提取图片、Markdown 文档转换、Git 同步。
193193

194194
进行 Markdown 文档转换是因为 Github 使用的 GFM 不支持 MathJax 公式和 TOC 标记,所以需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。
195195

196196
笔者将自己实现文档转换功能提取出来,方便大家在需要将本地 Markdown 上传到 Github,或者制作项目 README 文档时生成目录时使用:[GFM-Converter](https://github.com/CyC2018/GFM-Converter)
197197

198-
### Statement
198+
#### Statement
199199

200200
本仓库不参与商业行为,不向读者收取任何费用。(This repository is not engaging in business activities, and does not charge readers any fee.)
201201

202-
### Logo
202+
#### Logo
203203

204204
Power by [logomakr](https://logomakr.com/).
205205

206-
### Acknowledgements
206+
#### Acknowledgements
207207

208208
感谢以下人员对本仓库做出的贡献,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与笔者联系。
209209

@@ -229,7 +229,7 @@ Power by [logomakr](https://logomakr.com/).
229229
<img src="other/10072416.jpg" width="50px">
230230
</a>
231231

232-
### License
232+
#### License
233233

234234
在对本作品进行演绎时,请署名并以相同方式共享。
235235

notes/Docker.md

+10-22
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* [三、优势](#三优势)
55
* [四、使用场景](#四使用场景)
66
* [五、镜像与容器](#五镜像与容器)
7+
* [参考资料](#参考资料)
78
<!-- GFM-TOC -->
89

910

@@ -15,11 +16,6 @@
1516

1617
Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主操作系统和其它隔离的进程。使用 Docker 可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其他机器中。
1718

18-
参考资料:
19-
20-
- [DOCKER 101: INTRODUCTION TO DOCKER WEBINAR RECAP](https://blog.docker.com/2017/08/docker-101-introduction-docker-webinar-recap/)
21-
- [Docker 入门教程](http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html)
22-
2319
# 二、与虚拟机的比较
2420

2521
虚拟机也是一种虚拟化技术,它与 Docker 最大的区别在于它是通过模拟硬件,并在硬件上安装操作系统来实现。
@@ -40,30 +36,22 @@ Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程
4036

4137
而 Docker 只是一个进程,只需要将应用以及相关的组件打包,在运行时占用很少的资源,一台机器可以开启成千上万个 Docker。
4238

43-
参考资料:
44-
45-
- [Docker container vs Virtual machine](http://www.bogotobogo.com/DevOps/Docker/Docker_Container_vs_Virtual_Machine.php)
46-
4739
# 三、优势
4840

4941
除了启动速度快以及占用资源少之外,Docker 具有以下优势:
5042

5143
## 更容易迁移
5244

53-
Docker 可以提供一致性的运行环境,可以在不同的机器上进行迁移,而不用担心环境变化导致无法运行。
45+
提供一致性的运行环境,可以在不同的机器上进行迁移,而不用担心环境变化导致无法运行。
5446

5547
## 更容易维护
5648

57-
Docker 使用分层技术和镜像,使得应用可以更容易复用重复部分。复用程度越高,维护工作也越容易。
49+
使用分层技术和镜像,使得应用可以更容易复用重复部分。复用程度越高,维护工作也越容易。
5850

5951
## 更容易扩展
6052

6153
可以使用基础镜像进一步扩展得到新的镜像,并且官方和开源社区提供了大量的镜像,通过扩展这些镜像可以非常容易得到我们想要的镜像。
6254

63-
参考资料:
64-
65-
- [为什么要使用 Docker?](https://yeasy.gitbooks.io/docker_practice/introduction/why.html)
66-
6755
# 四、使用场景
6856

6957
## 持续集成
@@ -80,11 +68,6 @@ Docker 具有轻量级以及隔离性的特点,在将代码集成到一个 Doc
8068

8169
Docker 轻量级的特点使得它很适合用于部署、维护、组合微服务。
8270

83-
参考资料:
84-
85-
- [What is Docker](https://www.docker.com/what-docker)
86-
- [持续集成是什么?](http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html)
87-
8871
# 五、镜像与容器
8972

9073
镜像是一种静态的结构,可以看成面向对象里面的类,而容器是镜像的一个实例。
@@ -95,9 +78,14 @@ Docker 轻量级的特点使得它很适合用于部署、维护、组合微服
9578

9679
<div align="center"> <img src="../pics//docker-filesystems-busyboxrw.png"/> </div><br>
9780

98-
参考资料
81+
# 参考资料
9982

83+
- [DOCKER 101: INTRODUCTION TO DOCKER WEBINAR RECAP](https://blog.docker.com/2017/08/docker-101-introduction-docker-webinar-recap/)
84+
- [Docker 入门教程](http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html)
85+
- [Docker container vs Virtual machine](http://www.bogotobogo.com/DevOps/Docker/Docker_Container_vs_Virtual_Machine.php)
10086
- [How to Create Docker Container using Dockerfile](https://linoxide.com/linux-how-to/dockerfile-create-docker-container/)
10187
- [理解 Docker(2):Docker 镜像](http://www.cnblogs.com/sammyliu/p/5877964.html)
102-
88+
- [为什么要使用 Docker?](https://yeasy.gitbooks.io/docker_practice/introduction/why.html)
89+
- [What is Docker](https://www.docker.com/what-docker)
90+
- [持续集成是什么?](http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html)
10391

notes/Git.md

+16-16
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<!-- GFM-TOC -->
2-
* [学习资料](#学习资料)
32
* [集中式与分布式](#集中式与分布式)
4-
* [Git 的中心服务器](#git-的中心服务器)
5-
* [Git 工作流](#git-工作流)
3+
* [中心服务器](#中心服务器)
4+
* [工作流](#工作流)
65
* [分支实现](#分支实现)
76
* [冲突](#冲突)
87
* [Fast forward](#fast-forward)
@@ -11,16 +10,10 @@
1110
* [SSH 传输设置](#ssh-传输设置)
1211
* [.gitignore 文件](#gitignore-文件)
1312
* [Git 命令一览](#git-命令一览)
13+
* [参考资料](#参考资料)
1414
<!-- GFM-TOC -->
1515

1616

17-
# 学习资料
18-
19-
- [Git - 简明指南](http://rogerdudler.github.io/git-guide/index.zh.html)
20-
- [图解 Git](http://marklodato.github.io/visual-git-guide/index-zh-cn.html)
21-
- [廖雪峰 : Git 教程](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
22-
- [Learn Git Branching](https://learngitbranching.js.org/)
23-
2417
# 集中式与分布式
2518

2619
Git 属于分布式版本控制系统,而 SVN 属于集中式。
@@ -33,11 +26,13 @@ Git 属于分布式版本控制系统,而 SVN 属于集中式。
3326

3427
分布式版本控制新建分支、合并分支操作速度非常快,而集中式版本控制新建一个分支相当于复制一份完整代码。
3528

36-
# Git 的中心服务器
29+
# 中心服务器
3730

38-
Git 的中心服务器用来交换每个用户的修改。没有中心服务器也能工作,但是中心服务器能够 24 小时保持开机状态,这样就能更方便的交换修改。Github 就是一种 Git 中心服务器
31+
中心服务器用来交换每个用户的修改,没有中心服务器也能工作,但是中心服务器能够 24 小时保持开机状态,这样就能更方便的交换修改。
3932

40-
# Git 工作流
33+
Github 就是一个中心服务器。
34+
35+
# 工作流
4136

4237
<div align="center"> <img src="../pics//a1198642-9159-4d88-8aec-c3b04e7a2563.jpg"/> </div><br>
4338

@@ -54,22 +49,22 @@ Git 版本库有一个称为 stage 的暂存区,还有自动创建的 master
5449

5550
<div align="center"> <img src="../pics//17976404-95f5-480e-9cb4-250e6aa1d55f.png"/> </div><br>
5651

57-
可以跳过暂存区域直接从分支中取出修改或者直接提交修改到分支中
52+
可以跳过暂存区域直接从分支中取出修改,或者直接提交修改到分支中。
5853

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

6257
# 分支实现
6358

64-
Git 把每次提交都连成一条时间线。分支使用指针来实现,例如 master 分支指针指向时间线的最后一个节点,也就是最后一次提交。HEAD 指针指向的是当前分支
59+
使用指针将每个提交连接成一条时间线,HEAD 指针指向当前分支指针
6560

6661
<div align="center"> <img src="../pics//fb546e12-e1fb-4b72-a1fb-8a7f5000dce6.jpg"/> </div><br>
6762

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

7065
<div align="center"> <img src="../pics//bc775758-89ab-4805-9f9c-78b8739cf780.jpg"/> </div><br>
7166

72-
每次提交只会让当前分支向前移动,而其它分支不会移动
67+
每次提交只会让当前分支指针向前移动,而其它分支指针不会移动
7368

7469
<div align="center"> <img src="../pics//5292faa6-0141-4638-bf0f-bb95b081dcba.jpg"/> </div><br>
7570

@@ -155,4 +150,9 @@ $ ssh-keygen -t rsa -C "[email protected]"
155150

156151
比较详细的地址:http://www.cheat-sheets.org/saved-copy/git-cheat-sheet.pdf
157152

153+
# 参考资料
158154

155+
- [Git - 简明指南](http://rogerdudler.github.io/git-guide/index.zh.html)
156+
- [图解 Git](http://marklodato.github.io/visual-git-guide/index-zh-cn.html)
157+
- [廖雪峰 : Git 教程](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
158+
- [Learn Git Branching](https://learngitbranching.js.org/)

0 commit comments

Comments
 (0)