自学笔记(1)
大一寒假的自学笔记,由两门计算机导论课程组成。
一、Crash Course : Computer Science
1. 计算机底层
- 晶体管
- 逻辑门
- 半加器、寄存器
- $\mathrm{ALU}$、$\mathrm{RAM}$
- 二进制编程
- $\mathrm{CPU}$
- 汇编语言
- 操作系统
- 文件系统
- 编译型语言
- 解释型语言
2. 计算机硬件
- 存储器:延迟线 $\Rightarrow$ 磁芯 $\Rightarrow$ 磁带 $\Rightarrow$ 磁盘 $\Rightarrow$ 光盘 $\Rightarrow$ 固态硬盘
- $\mathrm{IO}$
- 电传打字机 $\Rightarrow$ 阴极射线管 $\Rightarrow \mathrm{LCD}$
- 矢量扫描、光栅扫描
- $\mathrm{3D}$
- 正交投影、透视投影
- 多边形渲染、扫描线、抗锯齿
- 画家算法、深度缓冲
- 表面法线、纹理映射
3. 计算机软件
- 网络
- 物理层
- 数据链路层:$\mathrm{MAC}$、载波侦听多路访问、指数退避
- 网络层:交换机、路由、跳数限制
- 传输层:报文、数据包、$\mathrm{IP}$、$\mathrm{UDP}$、$\mathrm{TCP}$
- 会话层:$\mathrm{URL}$、$\mathrm{DNS}$、$\mathrm{HTTP}$、$\mathrm{HTML}$
- 信息安全
- $\mathrm{Bell-LaPadula}$ 模型
- 攻击方式:社会工程学、钓鱼、假托、木马、暴力、$\mathrm{NAND}$ 镜像
- 漏洞利用:缓存区溢出(边界检查、金丝雀)、$\mathrm{SQL}$ 注入、蠕虫、僵尸网络
- 加密:$\mathrm{Diffie-Hellman}$ 密钥交换(模幂)、非对称加密
- 人工智能
- 分类:决策边界、混淆矩阵 $\Rightarrow$ 决策树 $\Rightarrow$ 森林 $\Rightarrow$ 支持向量机
- 神经网络:加权、求和、偏置、激活
- $\mathrm{CV}$:颜色跟踪 $\Rightarrow$ 特征检测(核、卷积)$\Rightarrow$ 卷积神经网络
- $\mathrm{NLP}$:分析树、知识图谱、语音识别($\mathrm{FFT}$)、语音合成
二、MIT Missing Semester
4. Shell
- 以
/或盘符开头的是绝对路径,否则是相对路径;Linux,MacOS 用/,Windows 用\ - 命令:
which,sudo su,cat,curl,grep,tee cd需要权限x;ls需要权限r'不转义变量,"转义变量$0脚本名,$1-$9脚本参数,$@所有参数,$#参数个数,$?返回值,$$PID,!!上一个命令,$_最后一个参数- 标准错误流
2>;不等于-ne;比较时用[[ ]] - 通配符:
*任意字符,?单个字符,[]字符集,{}多个字符 find:-name文件名,-type文件类型,-size文件大小,-exec执行命令,path路径,-mtime修改时间- 正则表达式:
^开头,$结尾,.任意字符,*0-多次,+1-多次,?0-1次,[]字符集,()分组,|或,\1,\2捕获组 - 数据整理:
awk,sed,sort,uniq,paste,wc,head,tail - 终止:
^C=SIGINT,^D=EOF,^\=SIGQUIT,kill=SIGTERM,^Z=SIGTSTP,SIGKILL立刻结束 - 进程管理:
fg前台继续,bg后台继续,jobs查看,pgrep查找,$!最后一个进程,nohup后台运行 - 常用参数:
--verbose,-v,-vvv,--quiet,-,-r,-- -r - 常见目录:
/etc,/var,/tmp,/dev,/bin,/sbin,/opt,/lib
5. VIM
- 切模式:
i插入,v可视,V行可视,^V块可视,R替换,:命令,a插入 - 移动:
hjkl,w,b,e,0,^,$,gg,G,H,M,L,^U,^D - 搜索:
%找配对括号,f,t,F,T查找,/搜索,,,;,n,N导航匹配 - 编辑:
o,O,r,d,x,s,y,p,u,~,.,i内部,a周围,ci[
6. GIT
- 命令:
init,status,add,commit,log,diff,checkout,branch,merge - 远程:
remote add,push,pull,clone,fetch
7. 杂项
- tmux:
tmux,tmux ls,tmux a,^A+d,c,1,n,p,,,w,",%,x,y,z - ssh:
ssh,scp,ssh-keygen,ssh-copy-id - 配置文件:
~/.bashrc,~/.gitconfig,~/.vimrc,~/.tmux.conf,~/.ssh/config - 版本管理:主版本号.次版本号.补丁号
- 元编程:Makefile,CMake,CI,GitHub Pages,Jekyll
- 密码学:Hash 函数,盐,对称加密,密钥交换,非对称加密,加密邮件,数字签名
- 其他:VM,Docker,Jupyter Notebook
自学笔记(1)
https://sqzr2319.github.io/CSDIY-1/