時計を捨てて過ごしたい

空から10億円降ってくることを夢見ながらシステムエンジニアやってます。

5巻以内で連載中のオススメラブコメ漫画

エンジニアだし技術記事縛りにすべきかと思ってたんですが、
ネタ切れが早かったので、趣味の記事もバンバン書くことにしました。
無くは無いんですが、記事にする程かと言われると…な具合の内容なので。

ということで、今回は

  • 連載中である
  • 単行本の発売が5巻以内である
  • ブコメディ系統

に絞って漫画を紹介します。

続きを読む

本郷三丁目のボードゲームの交流会に参加してきました

(恐らく不要かと思われますが、一応交流会の名前は伏せます)
8/7(日)に本郷三丁目で開催された、ボードゲームの定期交流会に参加してきました。
その体験レポートを軽く書きたいと思います。

続きを読む

「それはオレの魚だ!」が予想外に面白かった

表面と裏面から「あまり面白く無さそうだ…」と思っていてスルーしていましたが、
実際遊んでみたらかなり盛り上がったので、ちょっと感想を語ります。

続きを読む

仕事中に音楽を聴くこと

実家の仙台に帰省中です。
こちらは昼はそれなりに暑いのですが、夜は冷房いらずでかなり快適です。
帰省中は都内のイベントに参加出来ないのが悲しい所ですが…。
夏コミに一度行ってみたかった。

続きを読む

初心者向けボードゲームのススメ

ボードゲーム未経験の知り合いと一緒にプレイしたボードゲームを紹介します。
ボードゲームに興味があるけど…」
「知り合いに布教したいけど…」
といった方への参考になれば幸いです。

続きを読む

いろんな書き方

    // Killer.kill(Survivor)で条件を満たす人間を殺す
    caseA()
    {
        Survivor survivor = new Survivor("alice", "bob", "carol");
        Killer killer = new Killer(str -> str.contains("c"));
        killer.kill(survivor);
    }

    // Survivor.killed(Killer)で条件を満たす人間が殺される
    caseB()
    {
        Survivor survivor = new Survivor("alice", "bob", "carol");
        Killer killer = new Killer(str -> str.contains("c"));
        survivor.killed(killer);

        assertThat(survivor.getSurvivors(), is(ImmutableList.of("bob")));
    }

    // Survivor.survival(Survivor, Killer)で生き残った生存者を持つ新たなSurvivorを作成する
    caseC()
    {
        Survivor survivor = new Survivor("alice", "bob", "carol");
        Killer killer = new Killer(str -> str.contains("c"));
        Survivor nextSurvivor = Survivor.survival(survivor, killer);
    }

Survivorは生存者の名前を保持し、Killerは条件を満たす(この場合は名前に"c"が含まれる)人間を殺す役割を持ちます。
とりあえず思いついた例を3つ挙げてみました。

この程度の前提条件でもいろんな書き方が出来るのがプログラミングの面白さだと思っています。

関数インターフェース

public class Main
{
    public interface Converter<T>
    {
        T convert(T target);
    }

    public static void main(String[] args)
    {
        Converter<String> converter = target -> "[" + target + "]";
        System.out.println(converter.convert("hoge"));
    }
}

そういえばこんな書き方出来るんでした。
最初見た時けっこう戸惑いました。