Anyshortcut是我发布于2017年12月的Chrome/Firefox效率插件,一直坚持订阅制收费, 到目前为止注册用户将近1000位,使用信用卡订阅用户接近3%吧。
大半年前接触到Rust,被这门语言深深折服,于是从官方文档开始学习Rust,入门之后写了一个Anyshortcut CLI版。
https://github.com/anyshortcut/anyshortcut-cli
自认为这个项目很适合Rust初学者学习。
因为Anyshortcut的快捷键是可以同步的,对于CLI程序是通过Access token来访问后端API来同步快捷键的。Access token可以在官网用户中心找到。
用Access token登录之后即可把所有快捷键同步下来,然后可以使用命令行快速打开网页。
比如,我给https://www.google.com 绑定了快捷键G,那就可以输入as g快速用默认浏览器打开Google。
$ as g
Url: https://www.google.com/
其他的混合快捷键、二级快捷键也是类似,就不再介绍了。
当然这里的命令as是anyshortcut的别名,要不然名字太长了,根本就算不上效率工具了。
alias as=$(which anyshortcut)
cargo install anyshortcut
brew install anyshortcut
申明:除了Rust 之外我个人熟悉的编程语言只有C++ 2003, Java, Python, Javascript, Groovy,我并没有研究过各种编程语言, 甚至Ruby、Go、Swift、Kotlin、Scala,Haskell等我都一律没有去学过,所以这些只能算比较浅显的感想。
相识恨晚。 其实我大概16年的时候才知道的Rust,当时认识几个不错的程序员在写一些Rust的项目,不过我还不以为然,以为又是一门什么赚噱头的新语言,就没有太多的关注它。直到今年初机缘巧合才真正的激发我学Rust的强烈兴趣。目前我也看到了好几位和我一样学了Rust之后发表Rust真香的赞叹!
概念很多,门槛很高。 Rust是一门对标C/C++的系统级编程语言,它在既能处理好内存安全、线程安全的这些问题的同时也支持各种现代编程语言的特性,比如函数式、错误处理、并发处理、依赖管理等。写起来还是比较优雅的。当然Rust没有自动GC,所以它引入了很多Rust独有的新概念,比如生命周期、所有权、借用等让初学者非常不适应。
优秀的依赖管理和文档生成工具。 Rust的Cargo绝对是我用过的所有语言里面最好的依赖管理工具,非常省心人性化。Cargo提供的文档生成体验也很棒,这才是现代化的编程语言应该具有的。
越写越爱不释手。 写Rust最难过的一关就是编译器,你会被它折磨的心累,太严格太死板了,稍微不对就会编译不过。当然Rust官方也在优化这一点,比如NLL。但是只要你过了编译器这一关,编译没问题,线上运行绝对没有问题(Unsafe的代码、内存泄漏或溢出除外),不像Java编译过了,线上还有可能出现NPE啊啥的。编译成功之后非常放心,几乎不需要花时间去线上复现解决那些诡异的bug。
国内很冷门,但前景很看好。 Rust在国内确实太冷门了,目前社区也很少,Rust相关的会议更是寥寥无几,招聘Rust的职位非常少,除了蚂蚁金服、今日头条、Pingcap和区块链公司,其他公司的职位几乎没有。另外Rust也还缺少明星级的项目,这些都需要时间去沉淀吧。目前国内学Rust的基本上都是出于情怀和对这门语言的喜爱。Rust不管是在系统级编程、网络编程、并发编程、嵌入式、WebAssembly等方面都在发力,德国越来越多的公司在使用Rust应用于他们的工业4.0,甩我们多少条街?Github发布的2018年终总结提到Rust是增长速度最快的编程语言第五位。我学Rust也是出于情怀,但是我还是相信Rust在全世界的前景还是非常光明的(没有特指中国)。