GPG 相信很多人都折腾过,Yubikey 也有很多人买过;

但是好像只有老外折腾过 Yubikey + GPG 的;

最近刚折腾完毕,因为自己不慎还把一个老钥匙搞丢了,现在只能随它去了;

这里就写写我折腾过程中遇到的坑,前车之鉴,后事之师。

阅读全文 »

本文着重介绍一下如何解决 Travis CI 在进行自动集成的时候,总是会更新旧博客的问题。

之前有想过要把这篇文章合并到上一篇里面,不过这个问题比较隐蔽,而且较难解决,最后还是新开一篇文章来详细讲一下该怎么做,防止以后有人再被这个问题困扰。

阅读全文 »

这个想法是我在折腾 Hexo Next 6.0 的时候发现的,有位仁兄在 Next 的新 repo 问如何处理 CI 问题,受到他的启发,我就开始折腾使用 Travis CI 进行博客的自动部署了。

阅读全文 »

Solidity 是运行于以太坊(Ethereum) 区块链上的智能合约语言,它是图灵完备的,意味着可以用它写一些任意复杂度的程序并运行于区块链中。

阅读全文 »

最近这部 FD 发售之后就忍不住玩了一下;

会结合本篇《近月少女的礼仪 2》(月に寄りそう乙女の作法2) 来谈一谈感想;

内有剧透,慎点

阅读全文 »

之前提到枚举实现是单例的最佳实现,这毋庸置疑;

不过,对比枚举和静态内部类,好像它们的区别就在于防止了反射攻击;

那么,都『攻击』了,为啥偏偏没事去改你的单例呢?直接获取更有意思的信息不是更好吗?

阅读全文 »

Retrofit 和 Rxjava 结合应该算得上是 Rxjava 在 Android 应用得最广泛的一个方面了。

这里就来讲讲关于这两个库具体组合的用法。

阅读全文 »

Rxjava,是一个响应式的(Reactive),基于观察者模式的异步框架。

除此之外,还有其他的 RxScala 和 RxSwift 等。

说起来现在已经 2017 年了,应该没有什么 Java 工程师不知道什么是 Rxjava 了吧

阅读全文 »

在 Kotlin 的 Standard.kt 中提供了一些特殊的高阶函数;

它们被称作 Scoping 函数,此类函数通过使用一个函数 block,将你需要对某对象进行的一系列操作限制在 lambda 作用域内;

这样,对于该对象操作的代码就不会泄露到外层作用域,使得代码更为干净整洁。

例如:

1
2
3
DbConnection.getConnection().let { connection ->
}
// connection is no longer visible here

可以看到,对于 connection 的操作就仅局限于 let 的 lambda 区域,而在 lambda 区域外是不可见的;

这就可以保证对 connection 的操作,不会影响到接下来的作用域。

阅读全文 »
0%