- 博客(3)
- 收藏
- 关注
原创 用 Rust 写一个声控小动画
某一天,朋友发给我这样一张图:这张图片原本的目的是用于介绍一种深度学习算法,这种算法能够识别不同角度的长条形物体。这张图片用来表示识别时所用到的先验框。虽然图形本身的绘制原理比较简单,但很适合作为 2D 向量几何的入门范本,因为其中可以把所有 3 种简单仿射变换(平移,旋转,缩放)都用上。并且如果能够给这个图形加上一个旋转效果(类似下图),应该也会很有趣。碰巧,这天朋友希望我推荐一门面向底层的编程语言。作为一名 Rustacean(Rust 语言使用者),当然会毫不犹豫地推荐 Rust。于是当时就
2020-12-01 20:40:19 876
原创 Haskell 中的 Monad 和 IO
对于 Haskell 初学者来说,Monad 和 IO 或许是掌握 Haskell 之路上的第一大难关。本文将会以尽量浅显的方式介绍 Monad 和 IO 背后的原理和设计思想,希望能够给 Haskell 初学者们一些思考与启发。本文假设您对函数式编程有一定的理解,因为这是讨论 Monad 和 IO 的理论基础。同时,本文会使用到一些 Haskell 基础语法,比如函数类型定义等。本文需要您对偏函数和柯里化(currying)有所了解。如果您对此不了解,您可以参考网络上的其它文章。为了减轻读者的理解负担
2020-12-01 20:27:20 648
原创 CPU 中的微程序(以 x86 为例)
微程序(microcode,又称微代码)是一种代替单周期或多周期的 CPU 设计方案,通常用于解决 CISC 处理器的设计问题。一条 CISC 指令通常需要被分解成很多个动作来完成,如果完全用逻辑电路来表示这些动作,就会使得 CPU 的设计变得过于复杂且低效。因此 CPU 设计者们想到,在 CPU 中嵌入一段特殊的程序,用来代替控制器发出控制信号。这样的程序就被称为微程序。
2020-11-20 18:33:56 3419
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人