话说 Rust 本身确实是一门学习曲线陡峭的语言, 一时半会驾驭不了它. 相比于 Rust, 同期的 Go 语言似乎更受欢迎. Go 你随便花上两天就能追到手, 可是 Rust 你可能要花上两个月, 然后还不能流畅地书写. 感觉 Go 就是一个青楼女子的模样, 人人可上手. 而 Rust 像啥? 大家闺秀? 感觉更像性冷淡, 对你的追求也是视而不见. 不过呢, 你如果足够用心, 你会发现, 她是你的好妻子, 上得厅堂, 下得厨房. 啥事都能做, 而且运行速度快, 占用资源少. 在安全方面尤其地安全, 相比之下其他的语言多少有点浪, 放家里总觉得有那么点不安全, 而 Rust 的性冷淡特性决定了她非常安全, 完全不用胆小有西门庆上门搞出点啥个事情来.

废话说得有点多, 回归正题, 如何用 Rust 搞一个网站后端服务? 说实话, 相比 Golang 等语言下面的五颜六色的框架来说, Rust 下可供选择的网站后端框架有点寒碜. 现在最主流的解决方案是使用 Actix-web 和 Rocket 两个比较成熟的框架. 我感觉可能是我比较愚笨, Actix-web 觉得好难, Rocket 似乎也不能满足我需求, 也不觉得好用. 于是就有了 Salvo.

做 Salvo 这个框架的初衷就是简单, 尤其是路由要够好用. 我并不希望框架帮我干很多的事情, 比如, 像 Rocket 等会直接把传来的数据映射为本地的数据结构, 但是我并不想那么干, 我觉得这个是使用者自己的事情, 映射本身很简单, 而且我更希望在映射出错时提供自定义的错误提醒.

阅读全文

昨天, 老板问我一个问题, 大致内容是: “当你设立了公司的目标, 团队一起努力前进的时候, 总会有些队友因为某些挫折而产生消极的工作情绪, 而这种情绪又会很快影响周围的队友, 像传染病一样扩散, 如何化解这种负面影响?”

阅读全文

博客改用 Hugo

这两天看了一下 Hugo, 觉得还是一个很不错的静态页面系统, 结合 https://www.netlify.com/ 提供的服务. 部署博客还是很简单的. Netlify 的一个好处是支持 Let’s Encrypt, 自定义域名可以加 https, 这个比 github 强.

阅读全文

[转]面试智力题(下)

12. 两个机器人,初始时位于数轴上的不同位置。给这两个机器人输入一段相同的程序,使得这两个机器人保证可以相遇。程序只能包含“左移n个单位”、“右移n个单位”,条件判断语句If,循环语句while,以及两个返回Boolean值的函数“在自己的起点处”和“在对方的起点处”。你不能使用其它的变量和计数器。

阅读全文