编程语言
跳到导航
跳到搜索
目录
- 1 规范
- 2 方言
- 3 编程语言
- 4 类型
- 5 文本编辑
- 6 脚本
- 7 资源处理
- 8 打包
- 9 混淆加密
- 10 数据结构
- 11 算法
- 12 错误
- 13 设计模式
- 14 数据库
- 15 数据传输格式
- 16 安全
- 17 存储
- 18 语言
- 19 编码
- 20 注释
- 21 命名
- 22 其他
- 23 加密
- 24 坐标
- 25 特定属性
- 26 范式
- 27 约束
- 28 约定
- 29 神奇
- 30 插件
- 31 编程风格
- 32 策略
- 33 运行环境
- 34 项目版本
- 35 优化的抉择
- 36 性能指标
- 37 编辑器
- 38 测试工具
- 39 测试服务器
- 40 CI
- 41 证书
- 42 表达式
- 43 其他
- 44 设计软件
- 45 压缩混淆加密
- 46 面试题
- 47 编辑器
- 48 链接器
- 49 概念
- 50 场景
- 51 缓存
- 52 备份
- 53 版本
- 54 发布脚本
- 55 扩展
规范
Ecma | W3C | RFC |
方言
lisp | scheme |
编程语言
CouchBase | Redis | PostgreSQL | SQLite | elasticsearch |
类型
- 强类型
- 弱类型
文本编辑
markdown | 示例 |
脚本
sh | bat |
查看解释器
➜ /home
ls -al /bin/sh
-rwxr-xr-x 1 root wheel 31440 10 31 2020 /bin/sh
查看当前解析器。
➜ /home
echo $0
-zsh
➜ /home
echo $SHELL
/bin/zsh
➜ /home
env | grep SHELL
SHELL=/bin/zsh
➜ /home
ps -p $$
PID TTY TIME CMD
27069 ttys005 0:00.39 -zsh
查看系统支持的解析器
➜ /home
cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
修改默认解析器
➜ /home
chsh -s /bin/sh
➜ /home
chsh
ubuntu系统默认使用dash。
[jian@kang /home/kangkk]$
sudo dpkg-reconfigure dash
资源处理
图片压缩 |
打包
nsis | packages | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
混淆加密
JShaman | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
数据结构
数组 | ||||
栈 | ||||
队列 | ||||
链表 | 单链表 | 双端链表 | 双向链表 | 循环链表 |
树 | 二叉树 | 红黑树 | ||
散列表 | ||||
堆 | ||||
图 |
算法
二分法 | 动态规划 | 单指针 |
双指针 | 示例 | 示例 |
示例 | 示例 | 示例 |
尾递归 | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
错误
捕获 | ErrorEvent与Error | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
设计模式
设计模式原则
SRP | LKP | OCP |
模式
单例模式 | 代理模式 | 策略模式 |
状态模式 | 享元模式 | 职责链模式 |
发布订阅模式 | 装饰者模式 |
数据库
Gemfire | 最左前缀原则 | 关系型数据库 | 磁盘寻道 | 冗余 | 竞态条件 |
物理模型(NDM) | 逻辑模型(NDML) | 概念模型(NDMC) |
数据传输格式
安全
JWT |
存储
块存储
文件存储
对象存储
语言
DSL(Domain Specific Language 领域特定语言) | GPL(General Purpose Language 通用编程语言) |
编码
中文编码 | 示例 | 示例 |
注释
JavaScript 注释规则 - jsdoc |
命名
命名 |
其他
前哨值(也称为标志值,跳闸值,流氓值,信号值或伪数据
百分号编码
加密
bcrypt | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
坐标
getBoundingClientRect | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
特定属性
范式
第一范式(1NF) | 2NF | 3NF | BNCF | 巴克斯范式(Backus Regular) |
约束
JSLint | JSHint | ESLint |
约定
命名约定 | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
神奇
数字0 | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
插件
photoshop | sketch | figma |
编程风格
函数式 | 尤达标记法 | 面向对象 |
策略
Backpressure | Flow Control | 时间复杂度 | 时间频度 |
示例 | 示例 | 示例 | |
示例 | 示例 | 示例 |
运行环境
REPL(Read-Eval-Print-Loop 可交互运行环境) |
development | 生产环境 | 回归环境 | 预发布环境 | 示例 |
项目版本
alpha | 内测版本、预览版 | bug 多、不稳定、内部版本、不断迭代 |
beta [n] | 测试版、公测版本 | 同上 |
RC | 侯选版本、最终测试版本 | 经过测试和迭代,相对稳定 |
GA | 正式版本 | 示例 |
RELEASE | 示例 | 示例 |
STABLE | 稳定版 | 来自预览版本释出使用与改善而修正完成 |
FINAL | 示例 | 示例 |
gray | 灰度测试、灰度发布 | 某项产品或应用正式发布前,选择特定人群试用,逐步扩大其试用者数量,以便及时发现和纠正其中的问题 |
项目阶段
α | 第一阶段,一般只供内部测试使用,基本处于开发测试阶段 | 示例 |
β | 第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用 | 示例 |
λ | 第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行 | 示例 |
优化的抉择
性能优化分为两种,一种是开发者认知的程序性能优化,另一种是用户感知的优化,用户感知到的优化要考虑用户的心理活动等多重因素。
性能指标
编辑器
sublime | vscode | webstorm |
测试工具
Lighthouse | 示例 | 示例 |
测试服务器
weinre | 移动端开发调试工具 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
CI
Jenkins | Drone | 示例 |
证书
keystore | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
表达式
波兰表达式 | 逆波兰表达式 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
其他
时间戳 | Lambda 表达式 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
设计软件
压缩混淆加密
uglify | babel-minify | terser |
面试题
2020 | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
编辑器
在线编辑
链接器
概念
D2C(Design To Code) | C2D(Code To Design) |
场景
登录 | 示例 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
缓存
本地缓存 | 分布缓存 | 示例 |
分布一致性的问题。
备份
完全备份
完全备份是指对有效数据进行备份。
增量备份
自上一次备份(包含完全备份、增量备份)之后有变化的数据。
差异备份
上一次完全备份之后变化的数据。
按需备份 =
版本
标题文字 | 标题文字 | 标题文字 |
---|---|---|
Release Candidate | 候选发布版本 | 示例 |
Alpha | 示例 | 功能为主 |
Beta | 示例 | UI |
Release | 终版,Release不会以单词形式出现 | 示例 |
示例 | 示例 | 示例 |
示例 | 示例 | 示例 |
发布脚本
扩展
Formal language | Chomsky hierarchy | Code Conventions | Javadoc | Icons |
微服务,应用于使用浏览器插件检查本地文件
npm i http-server