编程语言

来自康健生活
跳到导航 跳到搜索

返回上一级

规范

Ecma W3C RFC

编程语言

语言类型的介绍可以查阅维基百科Type_system的简介。

伪代码

PHP Node.js JavaScript 浏览器 CSS HTML LaTeX Ghostscript Go 小程序
KLatexFormula Regular BASH 解码器 .NET typeface Python MySQL Git
docker gulp EditorConfig MongoDB Redis   R bson protobuf 编译器 Lua
寄存器 TypeScript http SVG less sass Glob通配符 OCaml S3 cmm Objective-C
信号 AppKit
CouchBase Redis PostgreSQL SQLite elasticsearch

静态语言(Static Language)

statically-typed language。

AML Action! Ada Agda AssemblyScript Ateji PX
Ballerina Boo
C C++ C++23 C Sharp Carbon COBOL Crystal Cuneiform
D Dafny
EC Elm Euclid
F Sharp Fantom Fortran
Genie GNU Pascal Go
Hack Haskell Haxe Hope
JAVA JS++ Judoscript
Kotlin
Mesa ML Modula-2
Nim
Oberon OCaml
PascalABC.NET PEARL Plus PureScript
Reason Rust
Scala Seed7 SequenceL Solidity SPARK StaDyn Swift
Turing TypeScript
Umple
Vala Visual Prolog
Zig

动态语言(Dynamic Language)

脚本语言。可以参考 Dynamically Typed Languages[1] 一文。

ActiveVFP AgentCubes Apache Groovy APL AppleScript Arc
Ballerina BBN LISP BeanShell
Cecil Ciao Clipper Clojure Common Lisp
Dart
E ECLiPSe ECMAScript Erlang Euler EuLisp
F-Script FL FORTH
GDL(Geometric Description Language)
Hack Harbour
Icon Incr Tcl Io Itk
J JavaScript Joy Jsish Judoscript Julia
Keykit
Lasso Lisp Little b Little Smalltalk Logo Lua
Magik Mathcad MATLAB MDL MexScript MIIS MultiLisp MUMPS
NekoVM NewLISP NewtonScript NIL
Objective-C Obliq Oz
Parlog Perl Pharo PHP PicoLisp Portable Standard Lisp PostScript PowerShell
Prolog Pure Python Python for S60
Qore
R Rebol Renjin Revolution Ring Ruby
Scheme Scratch Self Smalltalk Source Squeak StaDyn *Lisp
StepTalk Strongtalk SuperCollider
Tcl
Urbiscript
Wolfram Language
ZPE Programming Environment

关系型数据库

文档型数据库

数据类型

abstract data types (ADT)

抽象数据类型

AST(abstract syntax tree)

AST 规范

ESTree 示例 示例

AST 组件参考

标题文字 标题文字 标题文字
css csstree 示例
js regexpp hast-util-parse-selector acorn babel esprima recast gogocode terser
html parse5 示例
jsx vue-ast

参考

detective 示例 示例
示例 示例 示例
示例 示例 示例

实践

vue-walk-exporter 示例 示例
示例 示例 示例
示例 示例 示例

引擎

GUI 引擎

awtk

转换

编译

概念

信号量(semaphore) 原子性
示例 示例 示例
示例 示例 示例

数据通信

json xml 示例

类型

  • 强类型
  • 弱类型

文本编辑

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

Mekko(市场矩阵细分图) 瀑布图 甘特图
示例 示例 示例
示例 示例 示例

资源处理

图片压缩

打包

nsis packages 示例
示例 示例 示例
示例 示例 示例

混淆加密

JShaman 示例 示例
示例 示例 示例
示例 示例 示例

数据结构

数据结构

数组
队列
链表 单链表 双端链表 双向链表 循环链表
二叉树 红黑树
散列表

算法

二分法 动态规划 单指针
双指针 示例
示例 示例 示例
尾递归 示例 示例
示例 示例 示例
示例 示例 示例

运算

取模运算 Modulo Operation 取余运算 Remainder Operation 示例
示例 示例 示例
示例 示例 示例

错误

捕获 ErrorEvent与Error 示例
示例 示例 示例
示例 示例 示例

设计模式

设计模式原则

SRP LKP OCP

模式

单例模式 代理模式 策略模式
状态模式 享元模式 职责链模式
发布订阅模式 装饰者模式

数据库

Gemfire 最左前缀原则 关系型数据库 磁盘寻道 冗余 竞态条件
物理模型(NDM) 逻辑模型(NDML) 概念模型(NDMC)

数据传输格式

安全

JWT

存储

块存储

文件存储

对象存储

语言

DSL(Domain Specific Language 领域特定语言) GPL(General Purpose Language 通用编程语言)

编码

中文编码 示例 示例

注释

JavaScript 注释规则 - jsdoc

命名

命名

认证

JSON Web Token(JWT) 示例 示例

其他

类型转换

前哨值(也称为标志值,跳闸值,流氓值,信号值或伪数据

百分号编码

加密

pem

生成 PEM 密钥。

[jian@kang /home/kangkk]$
openssl genrsa -out ryans-key.pem 2048
Generating RSA private key, 2048 bit long modulus
.......................................+++
...................................................................+++
e is 65537 (0x10001)

创建私钥

[jian@kang /home/kangkk]$
openssl genrsa -out rsa_private.key 1024
Generating RSA private key, 1024 bit long modulus
............................++++++
................................++++++
e is 65537 (0x10001)

创建公钥

[jian@kang /home/kangkk]$
openssl rsa -in rsa_private.key -pubout -out rsa_public.key
writing RSA key

加密解密

bcrypt 示例 示例
示例 示例 示例
示例 示例 示例

密码生成器

阿里云数据库密码生成器 示例 示例
示例 示例 示例
示例 示例 示例

坐标

getBoundingClientRect 示例 示例
示例 示例 示例
示例 示例 示例

特定属性

魔数 (Magic Number)

范式

第一范式(1NF) 2NF 3NF BNCF 巴克斯范式(Backus Regular)

约束 linter

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