# CS-Notes-PDF **Repository Path**: CoderYangJin/CS-Notes-PDF ## Basic Information - **Project Name**: CS-Notes-PDF - **Description**: https://github.com/CyC2018/CS-Notes PDF版本离线阅读 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CS-Notes-PDF 用于提供 https://github.com/CyC2018/CS-Notes 项目的离线阅读 **pdf 使用 cmd-markdown 的付费工具手工进行 pdf 的转换。** 原作者已经制作好 gitbook 地址:https://legacy.gitbook.com/book/cyc2018/interview-notebook/details ~~**那么为什么还需要本仓库?** 我个人认为**cmd-markdown 工具所转化的 pdf**相比 gitbook 直接生成的 pdf 拥有**更好的阅读体验!**~~ 项目不更新了。原有 repo 已经开始提供自制 pdf 功能了。 而且现在原有 repo 把很多文件都拆开了(也打上了自己公众号的信息),对我更新仓库来说太麻烦了。 # 额外资料推荐 - 新增[机器学习小抄 ](https://pan.baidu.com/s/1XvwRLqgAnUtMqjNsJT-wTQ), 文件较大,已放在百度云盘。不过 README 一般也没啥人看,就当个小彩蛋? - 新增[深度学习 500 问 ](https://github.com/scutan90/DeepLearning-500-questions) - [100-Days-Of-ML-Code 中文版 ](https://github.com/MLEveryday/100-Days-Of-ML-Code) - [阿里 Java 手册 1.4.0 版本 ](https://pan.baidu.com/s/1le0nvGP6GIpnczOZldrBGQ) - [计算机网络-自顶向下 第七版英文原版 ](https://pan.baidu.com/s/1VPzcjXc0TR1SPIkexM1YTw) - [用动画的形式呈现解LeetCode题目的思路](https://github.com/MisterBooo/LeetCodeAnimation) - [effective-java 第三版中文开源翻译](https://github.com/sjsdfg/effective-java-3rd-chinese) - [深入理解操作系统 第三版英文版原版-CSAPP 3rd](https://pan.baidu.com/s/1yJLb6EHRa0bjka7ryfr6mw) - [【精校中英字幕】2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频](https://www.bilibili.com/video/av31289365) - [《机器学习》(西瓜书)公式推导解析](https://github.com/datawhalechina/pumpkin-book) - [Treen Pool](http://treenpool.com/#/home):知识体系分享网站(脑图分享) - [从程序员到CTO,从专业走向卓越,企业内部分享文档pdf与PPT整理](https://github.com/0voice/from_coder_to_expert) ## 品牌衣服一折购
# 简历 - [冷熊简历](http://cv.ftqq.com/) - [简历模板](https://github.com/geekcompany/ResumeSample) # 电子书索引区 - https://github.com/royeo/awesome-programming-books - https://salttiger.com/ - https://www.foxebook.net/ - https://www.jiumodiary.com/ - [免费优质电子书下载](https://epubw.com/) - http://www.allitebooks.org/ - http://www.dcsdn.com/ # 绘图工具 - [cloudcraft](https://cloudcraft.co/):Visualize your cloud architecture like a pro.
--- 分割线 以下就可耻的抄袭原有仓库的内容介绍吧 | Ⅰ | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ | Ⅶ | Ⅷ | Ⅸ | Ⅹ | | :--------: | :---------: | :---------: | :---------: | :---------: | :---------:| :---------: | :-------: | :-------:| :------:| | 算法[:pencil2:](#算法-pencil2) | 操作系统[:computer:](#操作系统-computer)|网络[:cloud:](#网络-cloud) | 面向对象[:couple:](#面向对象-couple) |数据库[:floppy_disk:](#数据库-floppy_disk)| Java [:coffee:](#java-coffee)| 系统设计[:bulb:](#系统设计-bulb)| 工具[:hammer:](#工具-hammer)| 编码实践[:speak_no_evil:](#编码实践-speak_no_evil)| 后记[:memo:](#后记-memo) | ### :pencil2: 算法 - [剑指 Offer 题解](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/剑指%20offer%20题解.md) - [Leetcode 题解](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Leetcode%20题解.md) - [算法](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/算法.md) ### :computer: 操作系统 - [计算机操作系统](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/计算机操作系统.md) - [Linux](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Linux.md) ### :cloud: 网络 - [计算机网络](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/计算机网络.md) - [HTTP](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/HTTP.md) - [Socket](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Socket.md) ### :couple: 面向对象 - [设计模式](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/设计模式.md) - [面向对象思想](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/面向对象思想.md) ### :floppy_disk: 数据库 - [数据库系统原理](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/数据库系统原理.md) - [SQL](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/SQL.md) - [Leetcode-Database 题解](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Leetcode-Database%20题解.md) - [MySQL](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/MySQL.md) - [Redis](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Redis.md) ### :coffee: Java - [Java 基础](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20基础.md) - [Java 容器](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20容器.md) - [Java 并发](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20并发.md) - [Java 虚拟机](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20虚拟机.md) - [Java I/O](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20IO.md) ### :bulb: 系统设计 - [系统设计基础](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/系统设计基础.md) - [分布式](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/分布式.md) - [集群](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/集群.md) - [攻击技术](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/攻击技术.md) - [缓存](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/缓存.md) - [消息队列](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/消息队列.md) ### :hammer: 工具 - [Git](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Git.md) - [Docker](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Docker.md) - [构建工具](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/构建工具.md) - [正则表达式](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/正则表达式.md) ### :speak_no_evil: 编码实践 - [代码可读性](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/代码可读性.md) - [代码风格规范](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/代码风格规范.md) ## Java Programer Suggestion 在 Java 中除了最为基础的东西之外,你只要看三样东西就可以了: Java 中有三大支柱,在 java.util.concurrent、java.security、javax.cropty、javax.security 四个包中就占了两个(多线程、安全) 还有一个网络在 java.net、javax.net 中,呵呵 掌握了上面 6 个包及其子包中内容的话,那 Java 水平可以说达到了另一种境界。 PS:三大支柱是我之前给 Java 中多线程、网络和安全取的代号,嘿嘿 这三样中的东西非常多,基本上就是 Java 的核心所在。 **多线程(multi-threading and concurrent)** 1. 关键词:volatile, sychronized 2. 传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#notify, Object#notifyAll 3. JDK 5 并发包(java.util.concurrent)API:线程池、任务执行器、计数信号量、倒计数门闩、并发集合(并发 Map、阻塞队列等)、基于 CPU CAS 指令的原子 API(java.util.concurrent.atomic)、锁 API(java.util.concurrent.lock)和条件对象等。 4. 作为个人知识提升,还需要理解诸如自旋锁、分离锁、分拆锁、读写锁等的同步锁策略,以及可重入锁、锁的公平性的意义。以及各种并发锁的算法,比如:Peterson锁、Bakery锁 等等,以及现代 CPU 体系结构 涉及多线程及并发的 API 在 java.lang 中及 java.util.concurrent.* 中。 **网络(network communication)** 1. 阻塞 TCP 通信、阻塞 UDP 通信、组播 2. 非阻塞 TCP 通信、非阻塞 UDP 通信 3. 客户端通信 API(java.net.URL, java.net.URLConnection 等类库) 涉及网络通信的 API 都在 java.net 和 java.nio.channels 包中。这里的网络已经将 RMI 相关包 java.rmi, javax.rmi 都排除了。 **安全(security, cryptography and AAA)** 1. Java 加密类库 JCA 2. Java 加密类库扩展 JCE 3. 涉及密码学知识点的消息摘要、消息认证码、对称加密、非对称加密、数字签名 4. 涉及网络通信证书管理工具(keytool)及 API(PKI、X.509证书) 5. 基于 SSL/TLS 的安全网络通信 API(JSSE),包括:密钥库管理、信任库管理、阻塞 SSL 通信和非阻塞 SSL 通信等等 6. Java 认证及授权服务(JAAS)API 涉及安全的东西都在: - java.security(JCA、JCE、数字证书,以及 JCE 的 SPI) - javax.net(SSL/TLS) - javax.security(JAAS) - javax.crypto(密码学) - keytool 的 JDK 工具 --- # 文档转换步骤 ## 1. 删除目录 ``` *** ``` ## 2. 字符串替换 ### 2.1 图像路径替换 对于所有的图片地址进行替换 例如: `src="../pics//f5757d09-88e7-4bbd-8cfb-cecf55604854.png"` 替换为 `src="https://github.com/CyC2018/Interview-Notebook/raw/master/pics/f5757d09-88e7-4bbd-8cfb-cecf55604854.png"` ### 2.2 图像宽度替换 所有的`width=""`都需要删除 使用正则表达式 `width="[0-9]*"`进行替换 ### 2.3 公式替换 所有公式需要替换为遵守 `MathJax`语法,代码为 ``` public static void main(String[] args) { // 使用最小匹配 String templete = ""; Pattern pattern = Pattern.compile(templete); String testStr = "为每个用户分配 m bit 的码片,并且所有的码片正交,对于任意两个码片 有"; Matcher matcher = pattern.matcher(testStr); while (matcher.find()) { String str = matcher.group(0); System.out.println(str); String newStr = str.substring(str.indexOf("?") + 1, str.length() - 3); System.out.println("$" + newStr + "$"); testStr = testStr.replace(str, "$" + newStr + "$"); } System.out.println(testStr); } ```