タグ

ブックマーク / blog.livedoor.jp/gab_km (7)

  • #111 OOPで状態を持ち回る « Python « a wandering wolf

    副作用は極力排除したいというのは、副作用がきっかけのバグを作らないためにも大事です。 ですが、すべての副作用を排除することはとても難しい。 関数型言語であるHaskellなんかは、モナドを使って副作用をある手続きの中に閉じ込めることで対処していたりします。 一方、オブジェクト指向プログラミング言語では、副作用を前提としている操作も多いですよね。 いろんなメリット・デメリットがあると思いますが、オブジェクトの状態を変えながら操作を行うというのは良くあるやり方かと思います。 状態、と言って真っ先に思いつくのはStateモナドですよね?(そんなことはない) State モナド - All About Monad State Monad - HaskellWiki 今回は、上に上げた2番目のリンク先にあるコードを、Pythonを使って表現してみようと思います。モナドらないと言っても、今回Pytho

    kk6
    kk6 2012/02/06
  • #106 Mercurialでちょっぴりの歴史改変 « Mercurial « a wandering wolf

    Does a wandering wolf dreams of a wondering, sometimes programming sheep? この記事は、Mercurial Advent Calendar 2011 の10日目のエントリです。 以前、 @troter さんが興味深いaliasを書いていました。 hg fix "fixed message" # (hg 1.8.x only) - Gist どうやらコミットメッセージを書き換えるコマンドのようで、「おぉ!Mercurialでもコミットメッセージを改編できるんだ!」と興奮しました。 およそ4時間後、試行錯誤の末に、このaliasのWindows対応版ができあがりました。 hg fix "fixed message" - Gist このaliasを書く中で、MQとShelveというMercurial拡張を使っています。Mer

    kk6
    kk6 2012/01/14
    コレ見てmqの使い方覚えよっと #TokyoMercurial
  • #99 第1回東京F#読書会を開催しました « 勉強会 « F# « a wandering wolf

    Does a wandering wolf dreams of a wondering, sometimes programming sheep? 勢いだけで、こんなものを開催してしまいました。 東京F#読書会 20110902 - PARTAKE これは、名古屋でF#の読書会が開催されると聞いて、横浜の人と佐賀の人が羨ましがっていたところ、とんとん拍子に開催の方向で話が進んだのでした。 多くて10名程度の参加者だろうなと見込んで告知したんですが、想像以上に早く定員が埋まり驚きました。 ことF#の勉強会に関しては、名古屋と札幌の後塵を拝することの多かった首都圏ですが、意外と需要はあるんだなと実感しましたねヽ(´∀`)ノ 参加者当日の参加者は、Twitter IDで以下の方々です。(申込順、敬称略) @pocketberserker@gab_km@rane_hs@a_hisame@final

    kk6
    kk6 2011/09/05
  • #98 FunctionalでReactiveなGUIを作る « F# « Visual Basic « a wandering wolf

    Does a wandering wolf dreams of a wondering, sometimes programming sheep? まずは、これを読んでいただきたい。 関数型言語はGUIが苦手? - まぁ、そんなもんでしょう。 関数型言語では、やはり副作用というものには若干ナイーブになるかなと思います。 そしてGUIは、随所に副作用を盛り込んで動作するので、なかなか頭を悩ませるところ。 そんな時でも副作用がある箇所を十分小さく作ることで、関数型のやり方を使いやすくなる(引いてはバグの入りにくいGUIが作れる)んですよ、という話です。 せっかく関数型言語を使っているのに、手続き型チックな書き方をせざるを得ないのは残念ですもんね。 FRPとはこのエントリの最後の方に、FRP(Functional Reactive Programming)なる単語があります。 FRPって何なんで

  • #97 F#基礎最速マスター « F# « a wandering wolf

    2011/08/13 23:04:49 @nobuhisa_kさん、F# user group - Japanでお世話になっています。実はWikiにF#プログラミングのページ(http://t.co/ymLmpBt)を作って、初心者向け、クックブックなどのコンテンツを作っていきたいのですが、問題あれば削除します>< 良い流れですね。 ちなみに筆者は、F# User Group - Japanの新ページにしばらくアクセスしていませんでしたww で、そう言えばF#初心者向けのエントリとか書いたことなかったなぁということに気がつきました。 そこから「よし、書こう」と思うまでに、そう時間はかかりませんでした。 タイトルは釣りm9(^д^) そもそも私がF#をマスターしていないのに、なんちゃらマスターを書くというのは滑稽です。 私からのオススメは「実践F#」をよく読むことですよ!よ! 実践 F# 関

    kk6
    kk6 2011/08/15
    F#!F#!
  • #93 F#でIP Messengerにメッセージを投げる « F# « a wandering wolf

    みなさん、IP Messengerって使ってますか? IP Messenger 開発研究室 仕事を始めて最初にセッティングしたPCに、先輩からこいつもインストールするように言われてからずっと使い続けています。 簡単なLAN内メッセンジャーですが、メッセージを暗号化して送信していたり、ファイルも添付して送れてすごく便利です。 (社内でその他のメッセンジャーやIRCとか使えたら、また感想は違ったかもしれませんが…) IP Messengerにメッセージを投げる さて、今回のネタはタイトルにも書いてあるとおりです。 きっかけは、以下のブログエントリを読んで面白そうだと思ったからです。 今日の嫌がらせ ~IP Messenger で変態的にメッセージ送信~ - すちゃらか社員日記 これはPython 2.xで書いてあるんですが、私はこれをF#で実装してみたくなったんです。 基的には上記エントリの

    kk6
    kk6 2011/06/30
  • #91 [Python][TDD]テスト駆動開発でFizzBuzzしてみようず! « Python « a wandering wolf

    Does a wandering wolf dreams of a wondering, sometimes programming sheep? 前回投下したエントリを受けて、今回はPythonでテスト駆動開発(TDD)をやっていこうと思います。 タイトルをご覧になっていただければ分かりますが、今回作りたいのはFizzBuzzプログラムです。 「FizzBuzzって何?」と思われた方は、以前上げたエントリを読んでいただけるといいかもしれません。 ところで、テスト駆動開発をするに辺り、オススメの教科書をご紹介しておきます。 テスト駆動開発入門 著者:ケント ベック 販売元:ピアソンエデュケーション (2003-09) 販売元:Amazon.co.jp クチコミを見る 実は、まだ私はこれを読んでいませんw ですが、TDDに精通する多くの方が書を推しており、私も今年中には読みたいと思っていま

    kk6
    kk6 2011/05/26
  • 1