REST 以及 RESTful 辨析
从REST
概念提出到现在已经20年了,业界的主流实践采纳借鉴了其部分原则,但与其最核心的架构设计渐行渐远。
实际上那个去中心化的、面向全世界开放的万维网时代正在落幕,构建在其基础之上的REST
架构思想,也无可避免地被冷落或者被误解。
从REST
概念提出到现在已经20年了,业界的主流实践采纳借鉴了其部分原则,但与其最核心的架构设计渐行渐远。
实际上那个去中心化的、面向全世界开放的万维网时代正在落幕,构建在其基础之上的REST
架构思想,也无可避免地被冷落或者被误解。
所有权(ownership)系统是 Rust 最与众不同的特性,让Rust实现了既要保障内存安全又要无GC,运行时高性能的目标。
官方给出的定义是:
Manage multiple runtime versions with a single CLI tool
大家在日常开发时,经常遇到需要对同一个编程语言/框架安装不同版本的情况,比如 python 2/3 ,ruby 1.8/1.9,scala 2.11/2.12/... ,gradle 4.x/5.x 等等。虽然已经有pyenv,rvm,sdkman 等等针对这些语言进行多版本的管理,方便不同版本的环境切换,但是:
Git
使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议。
为了能够顺畅使用GitHub
,我们需要为 HTTPS
SSH
配置代理。
一个系统是由一个状态和一些转换该状态的操作组成的。当系统运行时,它通过一些操作记录从一个状态转换到另一个状态。
You must really master the concept of:
HTTP
HTTPS
TLS
RSA
AES
mio 是 Metal IO,Rust语言生态比较底层的I/O库,官网的介绍:
Mio is a lightweight I/O library for Rust with a focus on adding as little overhead as possible over the OS abstractions.
mio目前已经发布了v0.6.19版本,这次分析代码版本选择 master
分支,commit id
14f37f283576040c8763f45de6c2b2bbcb82436d
我们从官方自带的example进行源码跟踪分析。
一个普通人如何具有强大的能力,做到某些他原本无法做到的事情呢?