技能树
- 编程基础
- 版本控制
- Git
- 版本控制
- 后端
- 语言
- Node.js
- 包管理
- NPM(Node.js)
- 框架
- Koa(Node.js)
- express(Node.js)
- egg(Node.js)
- LoopBack(Node.js)
- 数据库
- 关系型数据库
- MySQL
- 非关系型数据库
- MongoDB
- 关系型数据库
- Web Server
- Nginx
- 语言
- 运维
哈希表分为:哈希集合(非重复值) 哈希映射(键值对)
O(n)
降为O(1)
的两种方法: 1.交换 2.链表 O(n)
降到O(logN)
设计系统的组织,其产生的设计和架构,等价组织的组织架构。
技术中台
大中台小前台
Http Request -> pre filters -> router filters -> origin server -> router filters -> post filters -> Http Response
RPC | REST | |
---|---|---|
耦合性 | 强耦合 | 松散耦合 |
消息协议 | 二进制 thrift,protobuf | 文本 xml, json |
通讯协议 | TCP | HTTP/HTTP2 |
性能 | 高 | 一般低于RPC |
接口契约IDL | thrift,protobuf IDL | swagger |
客户端 | 强类型客户端,一般自动生成,多语言 | 一般HTTP客户端可访问,可自动生成强类型客户端,多语言 |
案例 | Dubbo,motan,Tars,grpc,thrift | spring mvc/boot, Jax-rs,drop wizard |
开发者友好 | 客户端比较方便,但二进制消息不可读 | 文本消息开发者可读 |
对外开放 | 对外一般需要转换成REST/文本协议 | 直接可以对外开放 |
1 | function Person(name, age) { |
1 | let someObjectLiteral = { |
1 | let someNamespace = (function () { |
1 | let someModule = (function (module1, module2...) { |
1 | let someRevealingModule = (function () { |
1 | let someSingleton = (function () { |
Redis三个特点
启动redis
1 | $ redis-server & |
查看redis是否启动
1 | $ ps -ef | grep redis |
关闭redis
1 | redis-cli> shutdown |
连接redis
1 | $ redis-cli -h host -p port -a password |
redis配置
config get
config set
redis数据类型
关于代码调试可查阅官方调试指南