タグ

ブックマーク / qiita.com/koher (2)

  • JavaのOptionalのモナド的な使い方 - Qiita

    NullPointerException 嫌いですよね!そんなときに頼りになるのが Java 8 から導入された Optional です。 でも、 null の代わりに Optional を積極的に使うとコードが Optional だらけになり、特に次のような場合に面倒くさいです。 Optional<Integer> a があるとき、 a の値を二乗したい。ただし、 a が empty の場合は empty を得たい。 Optional<Double> a があるとき、 a の平方根を計算したい。ただし、 a が empty または負の数の場合は empty を得たい。なお、 Math.sqrt を安全にした(負の数を渡すと empty を返す)関数 Optional<Double> safeSqrt(double) があるものとして考えて良い。 Optional<Integer> a と

    JavaのOptionalのモナド的な使い方 - Qiita
    surume000
    surume000 2016/11/15
    足し算するためだけに“a.flatMap(x -> b.map(y -> x + y))”は、十分地獄なんだが
  • 絶対に見逃せない投稿が、そこにはある - Qiita

    Qiita の 「見逃せない投稿」 を独自に評価してランキングするサービス Qaleidospace を作りました。 投稿では、そのようなサービスを作ろうと思った理由、投稿を評価するアルゴリズム、システム構成について書きます。 余談ですが、今なら Yearly Ranking がほぼ 2015 年の投稿ランキングとなっており、眺めていて楽しいです。 TL;DR Qiita の「見逃せない投稿」をランキングするサービス Qaleidospace を作った。 適切な評価システムがあれば、書き手も読み手もみんな幸せになれるはず。 ストック数だけで評価すると、初心者向けの投稿やキャッチーなキーワードを散りばめただけの投稿が注目されやすい。誰がストックしたのかを重視して「見逃せない投稿」を評価する。 風変わりなシステム構成: GitHub Pages でホスティング + Swift で書かれたバッ

    絶対に見逃せない投稿が、そこにはある - Qiita
    surume000
    surume000 2016/01/07
    システム構成が変態的で面白い
  • 1