用 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 |
|