用 Markdown 做笔记
对于一个电脑新手来讲,与其说 Markdown 是一个专门为文档而生的编程语言,还不如是个文档规范,相比 Word 的繁杂,Tex 的晦涩,它就是个非常简单的文字游戏规则。
对于一个电脑新手来讲,与其说 Markdown 是一个专门为文档而生的编程语言,还不如是个文档规范,相比 Word 的繁杂,Tex 的晦涩,它就是个非常简单的文字游戏规则。
| 指令 | 说明 |
|---|---|
| ADC | 带进位加法(and with carry) |
| ADD | 二进制数加法(add) |
| DEC | 减一(decrease 1) |
| DIV | 无符号数除法(divide) |
| IDIV | 带符号数整数除法(integer divide) |
| IMUL | 带符号数整数乘法(integer multiplication) |
| INC | 加一(increase 1) |
| MUL | 无符号数乘法(multiplication) |
| NEG | 求补(negative) |
| SBB | 带借位减法(substract with borrow) |
| SUB | 二进制减法(substact) |
| XADD | 交换并相加 |
位的集合可以表示任何数字的值。 - 二进制数的值是由为 1 的位及其相关的位置所决定的。
| 位编号 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 位的值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||
| 位置的值 | 2048 | 1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 十进制 | 二进制 | 十六进制 | 峘进制 | huán |
|---|---|---|---|---|
| 0 | 0000 | 0 | 零 | |
| 1 | 0001 | 1 | 壹 | |
| 2 | 0010 | 2 | 贰 | |
| 3 | 0011 | 3 | 叁 | |
| 4 | 0100 | 4 | 肆 | |
| 5 | 0101 | 5 | 伍 | |
| 6 | 0110 | 6 | 陆 | |
| 7 | 0111 | 7 | 柒 | |
| 8 | 1000 | 8 | 捌 | |
| 9 | 1001 | 9 | 玖 | |
| 10 | 1010 | A | 拾 | |
| 11 | 1011 | B | 屲 | wā |
| 12 | 1100 | C | 亗 | suì |
| 13 | 1101 | D | 岌 | jí |
| 14 | 1110 | E | 岄 | yuè |
| 15 | 1111 | F | 岪 | fú |
| n+1位定点数表示 | \(D \geq 2^n\) | \(D<2^n\) | \(D \geq 0\) | \(D \leq 0\) | \(\times 2,D<0\) | \(\div 2,D<0\) | \(\times 2,D>0\) | \(\div 2,D>0\) |
|---|---|---|---|---|---|---|---|---|
| 无符号数 | \(D\) | \(D\) | \(D\) | 不存在 | 不存在 | 不存在 | 低位补0 | 高位补0 |
| 原码 | \(2^n-D\) | \(D\) | \(D\) | \(2^n-D\) | 低位补0 | 符号位后补0 | 低位补0 | 高位补0 |
| 反码 | \(D-(2^{n+1}-1)\) | \(D\) | \(D\) | \(D+(2^{n+1}-1)\) | 低位补1 | 符号位后补1 | 高位补0 | 低位补0 |
| 补码 | \(D-2^{n+1}\) | \(D\) | \(D\) | \(D+2^{n+1}\) | 低位补0 | 符号位后补1 | 低位补0 | 高位补0 |
| 移码 | \(D-2^n\) | \(D-2^n\) | \(D+2^n\) | \(D+2^n\) |
\([A+B]_补=[A]_补+[B]_补\) \([A-B]_补=[A]_补+[-B]_补\)
| A | NOT |
|---|---|
| A | \(\overline{A}\) |
| 0 | 1 |
| 1 | 0 |
| 符号特征 | 三角形小圆圈 |
| A | B | AND | OR | NAND | NOR | XOR | XNOR |
|---|---|---|---|---|---|---|---|
| A | B | 与 | 或 | 与非 | 或非 | 异或 | 同或 |
| A | B | \(A \cdot B\) | \(A + B\) | \(\overline{A \cdot B}\) | \(\overline{A + B}\) | \(A \oplus B\) | \(A \odot B\) |
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
| 输入端是直线 | 输入端是曲线 | 与门小圆圈 | 或门小圆圈 | 或门输入端多条曲线 | 异或门小圆圈 |
\(\overline{ A + B }=\overline{A} \cdot \overline{B}\) \(\overline{A \cdot B} = \overline{A} +\overline{B}\) ## 5. 带标志加法器
向高位的进位 \(C_i=A_i \cdot B_i+(A_i \oplus B_i) \cdot C_{i-1}\) 本位和 \(S_i=A_i \oplus B_i \oplus C_{i-1}\) 有符号数溢出 \(OF=C_n \oplus C_{n-1}\) 有符号数为负 \(SF=S_n\) 零标志 \(ZF=\sum S\) 无符号数溢出 \(CF=C_n \oplus C_0\)
PC 的主要组成部分是它的主板。它包括
处理器、协处理器、主存储器、接插件以及为可选电路卡用的扩展槽。这些槽和接插件为下面部件提供了出入口,比如只读存储器 ROM、随机存取存储器 RAM、硬盘、CD-ROM 设备、附加的主存储器、显示设备、键盘、鼠标、并行与串行设备、声音合成器以及高速缓冲存储器等。处理器利用高速缓冲存储器,减少对较低速主存储器的访问。
处理器
处理器,也称中央处理器或 CPU ,用来完成所有的指令执行与数据处理。
| 标志 | 名称 |
|---|---|
| CS | 代码段(Code Segment) |
| DS | 数据段(Data Segment) |
| SS | 堆栈段(Stack Segment) |
| ES | 附加段指针(Extra Segment) |
| FS | 附加段指针 |
| GS | 附加段指针 |
| 寄存器 | 名称 | 说明 |
|---|---|---|
| EAX | 主累加器(accumulator)寄存器 | |
| EBX | 基址(base)寄存器 | |
| ECX | 计数(count)寄存器 | |
| EDX | 数据(data)寄存器 | |
| EDI | 目的变址(Destination Index)寄存器 | |
| ESI | 源变址(Source Index)寄存器 | |
| ESP | 堆栈指针(Stack Pointer)寄存器 | |
| EBP | 基址指针(Base Pointer)寄存器 | |
| EIP | 指令指针(Instruction Pointer)寄存器 | 下一条指令的偏移地址 |
| 位编号 | 符号 | 标志(Flag) | 置位符号 1 | 复位符号 0 |
|---|---|---|---|---|
| 0 | CF | 进位(carry)标志 | CY(carry) | NY(no carry) |
| 1 | 1 | |||
| 2 | PF | 奇偶校验(parity)标志 | PE(parity even) | PO(parity odd) |
| 3 | 0 | |||
| 4 | AF | 辅助进位(auxiliary carry)标志 | AC(auxiliary carry) | NA(no auxiliary) |
| 5 | 0 | |||
| 6 | ZF | 零(zero)标志 | ZR(zero) | NZ(no zero) |
| 7 | SF | 符号(sign)标志 | NG(negative) | PL(plus) |
| 8 | TF | 陷阱(trap)标志 | ||
| 9 | IF | 中断允许(interrupt)标志 | EI(enable interrupt) | DI(disable interrupt) |
| A | DF | 方向(direction)标志 | DN(down) | UP(up) |
| B | OF | 溢出(overflow)标志 | OV(overflow) | NV(no overflow) |
| C | IOPL | I/O 特权级(I/O Privilege Level) | ||
| D | IOPL | I/O 特权级(I/O Privilege Level) | ||
| E | NT | 嵌套任务(Nested Task)标志 | ||
| F | 0 | |||
| 10 | RF | 恢复(Resume)标志 | ||
| 11 | VM | 虚拟8086模式(Virtual 8086 Mode) | ||
| 12 | AC | 对齐检查(Alignment Check) | ||
| 13 | VIF | 虚拟中断(Virtual Interrupt)标志 | ||
| 14 | VIP | 虚拟中断挂起(Virtual Interrupt Pending) | ||
| 15 | ID | 标志(Identification)标识 |
Babel Archived downloads 使用“”>Help“Install New Software...”打开安装向导 添加Babel p2存储库:http://download.eclipse.org/technology/babel/update-site/R0.16.0/photon/ 选择/安装您选择的语言包(Babel Language Packs in Chinese (Simplified)),一路同意 完成后,重启Eclipse,你应该得到一个翻译的Eclipse
Nginx设置expires设定页面缓存时间 不缓存或一直使用缓存
1 | # wget http://nginx.org/download/nginx-1.14.0.tar.gz |
1 | Configuration summary |
- NGINX 官网 www.nginx.org
- NGINX docs nginx.org/en/docs
- NGINX configure nginx.org/en/docs/configure.html
- tar 命令 man.linuxde.net/tartar
JSON(JavaScript Object Notation) 是一种轻量级数据交换格式,可以对复杂数据进行表达和存储,易于阅读和理解。
在 shell 中输入命令运行程序,程序的正常输出信息(标准输出)和一些出错信息(标准错误)会通过 shell 显示在屏幕上。
有时候我们并不需要把这些输出信息(包括标准输出和标准错误)显示在屏幕上,或需要把这些输出信息保存在一个文件中,这时就需要进行输出重定向。输入重定向也是如此。
执行重定向操作的是 shell ,而不是程序。 shell 把重定向符号解释成指令,将标准输出(或标准错误)指向文件,而不是当前显示设备。输入重定向也是如此。
shell将<、>、>>解释成指令,用来把一条命令的输入或输出重定向到一个文件。
| 类型 | 操作符 | 用途 |
|---|---|---|
| 重定向标准输入 | < | 将命令中接收输入的途径由默认的键盘更改为指定的文件 |
| 重定向标准输出 | > | 以替换的方式将命令的执行结果输出到指定的文件,而不是直接显示在屏幕上 |
| - | >> | 将命令执行的结果追加输出到指定文件 |
| 重定向标准错误 | 2> | 清空指定文件的内容,并将标准错误信息保存到该文件中 |
| - | 2>> | 将标准错误信息追加输出到指定的文件中 |
| 重定向标准输出和标准错误 | &>或>& | 将标准输出、标准错误的内容全部保存到指定的文件中,而不是直接显示在屏幕上 |
shell在解释命令遇到 | 时会创建管道,并创建两个进程,把标准输入输出重 定向到管道,前一个进程向管道写数据,后一个进程从管道读数据。
查找名称含有gcc的文件并使用wc计数 sudo find / -name gcc | wc –l
查找名称含有ssh的进程 ps -ef | grep ssh
分页查看内容 ls –l –R /usr/share | less
排序文件 ls | sort –r
| 按键 | 含义 |
|---|---|
| ^A | 光标移到行首 |
| ^B | 光标非破坏退格 |
| ^C | 中断前台程序 |
| ^D | 退出shell |
| ^E | 光标移到行尾 |
| ^F | 光标右移 |
| ^G | |
| ^H | |
| ^I | |
| ^J | 新行 |
| ^K | 删除光标后所有字符 |
| ^L | 清屏 |
| ^U | 删除光标前所有字符 |
| ^R | 搜索历史命令,利用关键字 |
| ALT+. | 引用上一个命令的最后一个参数 |
| ESC+. | 引用上一个命令的最后一个参数 |
| !$ | 引用上一个命令的最后一个参数 |
表中命令从上往下执行即可,部分需要先切换目录,下同。本文为学习笔记,仅供参照,详细流程请阅读参考文章和官方文档。
| 操作 | 命令 | |
|---|---|---|
| - | 创建虚拟环境 | python3 -m venv /www/venv |
| - | 激活虚拟环境 | source /www/venv/bin/activate |
| - | Windows下激活 | .\venv\Scripts\activate |
| - | 使用 uwsgi 部署 | pip install uwsgi |
| - | 使用 Gunicorn 部署 | pip install gunicorn |
| - | 安装环境包 | pip install -r requirements |
| - | 生成环境包 | pip freeze > requirements.txt |
| - | 退出环境 | deactivate |
| 操作 | 命令 | 备注 | |
|---|---|---|---|
| - | 创建 django 项目 web | django-admin startproject web |
生成项目目录 |
| - | 创建应用 count | python manage.py startapp count |
开发使用 |
| - | 创建超级账户 | python manage.py createsuperuser |
开发、部署使用 |
| - | 生成迁移文件 | python manage.py makemigrations |
在 migrations 生成文件 |
| - | 执行迁移 | python manage.py migrate |
|
| - | 同步静态文件 | python manage.py collectstatic |
部署使用 |
| - | 启动开发服务器 | python manage.py runserver |
开发、测试使用 |
.py- LANGUAGE_CODE = 'zh-Hans'
- TIME_ZONE = 'Asia/Shanghai'(视情况配置)
- ALLOWED_HOSTS = ['公网ip',域名'](部署前配置)
- DEBUG = False(NGINX 后配置)
- 删除 migrations 下数字开头的所有 python 文件
- uwsgi.ini
1
2
3
4
5
6
7
8
9
[uwsgi]
chdir = /www/web
module = web.wsgi:applocation
home = /www/venv
socket = 172.18.173.33:8099
stats = 172.18.173.33:9191
master = true
processes = 5
vacuum = true
- 开发服务器测试 `python36 manage.py runserver 172.18.173.33:80`
- uwsgi 部署测试 `uwsgi uwsgi.ini`
- Gunicorn 部署测试 `gunicorn -b 172.18.173.33:80 web.wsgi`
1 | # 安装 uwsgi |
测试
nginx -t
1 | ssh [-p 22] [user@]host |
说明: - 默认端口22可省略 - 用户名与本地用户名相同时可省略
1. 生成公钥
1 | # 格式 |
说明: - 私钥口令 passphrase,若担心私钥的安全,设置一个 - 公钥 id_rsa.pub,私钥 id_rsa 2. 复制公钥至主机
1 | cat pub_file_path | ssh root@host 'cat >> .ssh/authorized_keys' |
1 | host ecs(主机别名) |
1 |
|