pattern:斑图
是一种构型,是一种系统,不关心是使用的什么物质去实现
把各种方法论抽取出来
complexity:复杂性科学
按照复杂性思维去设计虚拟世界
仿真 层次 初始条件的影响 时间之箭? 因果箭头 movie:黑客帝国,盗梦空间,时间之箭,超体,蝴蝶效应,前目的地
book:失控
我们需要对抗的是复杂系统
根据用户去决定复杂系统
设计的系统? 涌现的系统?
区块链:ai,算法管理社会
奇点,技术奇点
TCP的三次握手和四次挥手
三次握手: 为什么需要三次握手? 客户端:我可以发东西给你(确保客户端的发送能力) 服务器:我可以收到,你能收到么?(确保服务器的接受和发送) 客户端:我能收到!(确保能收到)
连接建立!
如果是四次握手? 没必要啊,第三次已经确认可以收到消息了
如果是两次握手? 当网络阻塞时,客户端会发送两次,第一次请求到达服务器的时间慢于第二次 如果当时通信结束,服务器又收到了第一次阻塞的消息,如果是两次握手,就会分配资源 然而客户端已经完成了通信,不需要再连接了,会造成资源的浪费和安全隐患
四次挥手: 客户端:我说完了,我想停止发送请求了 服务器:我知道你要停止发送了,我会停止接受消息 ( 服务器停止接受消息,但是 …
rust学习 所有权
Rust 的核心功能(之一)是 所有权(ownership)。虽然该功能很容易解释,但它对语言的其他部分有着深刻的影响。
所有运行的程序都必须管理其使用计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时不断地寻找不再使用的内存;在另一些语言中,程序员必须亲自分配和释放内存。Rust 则选择了第三种方式:通过所有权系统管理内存,编译器在编译时会根据一系列的规则进行检查。在运行时,所有权系统的任何功能都不会减慢程序。(其他的GC会不断运行来寻找垃圾)
因为所有权对很多程序员来说都是一个新概念,需要一些时间来适应。好消息是随着你对 Rust 和所有权系统的规则越来越有经验,你就越能自然地编写出安全和高效的代 …
Scala 入门之随便写写
import scala.util.control._ object HelloWorld{ def hello(name:String) = { s"Hello ,${name}" } def add(x: Int,y:Int) = x+y def main(args:Array[String]):Unit = { /** * 违反引用透明的例子: * 怎么样获得引用透明性:{ * 需要具有不变性,即为了获得引用透明性,任何值都不能改变 * } */ var x = new StringBuilder("Hello "); println(x); var y = …
SLAM 相机
以一定的速率采集图像,形成视频 各类相机的区别 单目:无深度,需要其他手段估计 双目:通过视差计算深度 RGB-D:通过物理方法测量深度 相机的特点 以二维投影的形式记录了三维世界的信息 该过程丢掉了一个维度:距离 深度即第三维信息,对SLAM来说至关重要 VSLAM框架 前端:Visual Odometry 通过传感器数据计算,估计临近时刻的相机运动 方法:特征点法和直接法
后端:Optimization 从带有噪声的数据中估计最优轨迹与地图 滤波器,图优化,最大后验概率估计 非线性优化
回环:Loop Closing 检测相机是否到达过之间的位置 判断与之前位置的差异 计算图像之间的差异性 词袋模型
建 …