ブックマーク / motemen.hatenablog.com (3)

  • 『圏論の歩き方』が難しかったので『Basic Category Theory for Computer Scientists』を読んだ - 詩と創作・思索のひろば

    先日ウィッシュリストから『圏論の歩き方』を贈ってもらいました。圏論を使っているさまざまな分野の若手研究者がオムニバス形式でその紹介をするというもので装丁も可愛らしくとっつきやすそうな感じ(という甘い考えはすぐに砕かれますが)。 圏論の歩き方 圏論の歩き方 作者: 圏論の歩き方委員会出版社/メーカー: 日評論社発売日: 2015/09/09メディア: 単行この商品を含むブログ (1件) を見る このは「まえがき」がよくて、 このは[……] 情報処理能力をはるかに超えた量の情報の洪水と, トライ・アンド・エラーの機会 という,[圏論という数学の]コトバを習得するうえで有益だと思われる二つのことに力点を置いた「圏論の入門書」,ということになります。 [……] まず,決して最初から一つ一つ完全に理解していこうとしないでください.[……]むしろ,わからないこと・わかることの間から,ご自分なり

    『圏論の歩き方』が難しかったので『Basic Category Theory for Computer Scientists』を読んだ - 詩と創作・思索のひろば
    ikawaha
    ikawaha 2016/01/26
  • goiferr で Go のエラー処理コードを自動挿入する - 詩と創作・思索のひろば

    Go 言語には例外機構が備わっておらず、関数や手続きのエラー的な状況を表すには、返り値を多値にして来興味ある結果とともに error インターフェイスを返す、というのが一般的です。例をあげるまでもないですが、ファイルを開くという(失敗する可能性のある)処理を行うならこういう感じ: f, err := os.Open(filename) if err != nil { // handle err } 何ごとも明に書き下すことを求める Go らしい仕様ですね。文句ある人も多そうですが、呼び出し側が異常系を意識せざるを得なくなるので、よい効果も大きいと思います。 先の例のように、エラーを発生させるような処理を呼び出したあとは err をチェックする、というのは最初に学ぶイディオムと言ってもよいくらいよく書くことになるコードですが、ほんとうに何度も書くことになるのでこれは面倒。 go-iferr

    goiferr で Go のエラー処理コードを自動挿入する - 詩と創作・思索のひろば
    ikawaha
    ikawaha 2015/12/18
  • Wercker で Go のプロジェクトをクロスコンパイルし、GitHub にリリースする - 詩と創作・思索のひろば

    ghq をメンテナンスするにあたっていくつか無料の CI サービスを試してみたのですが、今回は Wercker を使うことにしました。いろいろ試行錯誤した結果表題のことがなんとか実現できた(ghq のリリースは GitHub 上 にあります)ので、ハマりポイントと共にこのエントリで紹介します。 Wercker Wercker は CI サービスのひとつで、ビルド環境やデプロイの 1 ステップを box および step という形でユーザが公開・共有し、それらを組み合わせることで CI の設定をシンプルにしようとしているところが特徴です。 ghq の wercker.yml を見てもらえばだいたい雰囲気は分かると思いますが、大まかに言って “box”, “build”, “deploy” の 3 項目をプロジェクトごとに設定します。 box はビルドが走る環境です。OS や、テストに必要なパ

    Wercker で Go のプロジェクトをクロスコンパイルし、GitHub にリリースする - 詩と創作・思索のひろば
    ikawaha
    ikawaha 2014/06/27
  • 1