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 在全世界的前景还是非常光明的(没有特指中国)。
另外我在 reddit/rust 也发了一条介绍性的帖子,upvote 数还可以,感兴趣的可以看看。 https://www.reddit.com/r/rust/comments/9ptvwq/show_reddit_a_rust_cli_tool_to_help_you_launch/