Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

2011年10月29日のブックマーク (6件)

  • つくってわか(った気にな)る STM - steps to phantasien t(2007-06-23)

    最近みた TechTalks の中で STM (Software Transactional Memory) の話が面白かった. 紹介しようと思ったものの, まず STM の認知度はどれほどなのだろうか. 日語でぐぐると CPU 会社の宣伝くらいしか見当たらない. 友達にたずねたら "そんなので騒いでいるのは君と Haskell ユーザくらいだよ" とのたまう. 私の脳内では STM 派とメッセージ通信派が激烈な争いを繰り広げていることになっているけれど, 気のせいなのかもしれない... 念のため TechTalks を眺める前に少し STM の話を書いてみる. そのあと話の肴に作ってみた STM のトイ実装 (500行くらい) を紹介したい. Software Transactional Memory の話 ではさっそく STM のことを簡単に説明してみよう. 専門家による一次資料を読

    mooz
    mooz 2011/10/29
  • いいかげんな人のためのTransactional Memory Primer

    2. はやみず ゆうと (早水 悠登) id:hayamiz, @hayamiz 修士課程 入院1年目 研究室:情報爆発の爆心地 就職活動中 だれか雇って! 卒論:Transactional Memory関係 現在:データベース関係 Transactional Memory Primer 2 3. 1. Transactional Memory(TM)とは 2. 現状(のような話) 1. Hardware TM 2. Software TM 3. STMメリット、デメリット 4. (時間があったら)おまけ Transactional Memory Primer 3

    いいかげんな人のためのTransactional Memory Primer
    mooz
    mooz 2011/10/29
  • スマホアプリとプライバシーの「越えてはいけない一線」 - @IT

    スマートフォンアプリは果たしてどこまで、端末に関する情報を取得してもいいのだろうか。 位置情報と連動してお勧め店舗情報を表示したり、過去の検索履歴を基に商品を提案したりと、端末の情報やユーザーの行動履歴を活用するスマートフォンアプリが登場している。中には便利なものも多いが、一歩間違えれば、ユーザーのプライベートな情報が筒抜けになりかねない。結果として、スマートフォンを活用したビジネスやそれを支える広告市場までもが、否定的な目で見られ、発展を阻害される恐れもある。 この議論が起こったきっかけの1つは、ミログが公開していた「AppLog」と「app.tv」というアプリだ。AppLogはSDKの形で提供され、これを自前のアプリに組み込むと、Android端末にインストールされているアプリの情報やその起動回数を収集し、同社のアプリケーション分析サービスに送信するようになっていた。開発者にはインスト

  • Ruby のコーディングスタイルガイドあった - ヤルキデナイズドだった

    Perl には perlstyle が、 Python には PEP-8 があるということで、 Ruby にもコーディングスタイルのガイドラインを作ろうという話があるようです:no title ひとつイイナッと思ったのが“Do not program defensively”という言葉、これは Erlang のプログラミングルールからの引用のようですが、つまり「入力を信用しないコードを書くな」ということです。一度バリデーションを通った入力は常に正しいものとして扱え、と。 Erlang のプログラミングルールは他の言語を使うときでも参考になるので読んでみるといいかもしれません。

    mooz
    mooz 2011/10/29
    perlstyle, PEP-8, ruby-style-guide
  • モナドとモナド変換子のイメージを描いてみた - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    最初に言っておくと、モナドって何なの?っていう答えは一切ないです。 自分にとってモナドは「とりあえず型さえ合わせておけば何かいろいろしてくれる奴」程度としか認識できていないので、そんな説明できないです。 で、そんな自分が脳内でどういう風にイメージしてモナドやモナド変換子の混ざったコードを書いているかというのを図に表してみました。 ここら辺の話を図にした感じです。 モナドを触ってみた - melpon日記 - HaskellもC++もまともに扱えないへたれのページ モナド モナドには return 関数と >>= 関数があります。 こんなイメージです。下側の線が普通の関数型の世界、上側の線がモナドの世界です。 どちらもモナド側の出力しか無いので、どちらかの関数を使ったら、モナドから脱出することはできません。 ただ、>>= 関数の右側が点線の箱になっていることが分かるでしょうか。 ここには、太

    モナドとモナド変換子のイメージを描いてみた - melpon日記 - HaskellもC++もまともに扱えないへたれのページ
  • モナドを触ってみた - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    で、こんな風に考えることにしました。 モナドは箱 モナドは単に値をくるんでるだけであると。 a をモナド化すれば m a。 でもってこうするための関数が return。単に m を付けるだけ。 モナドから値を取り出す なぜか知らないのですが、m a -> a なる関数は存在してないようです。 謎です。 ただ、do 記法というのを使えば取り出せるようです。 main = let ma = return "hoge" in do a <- ma print a return "hoge" でモナド化された ma は、do 内のみにおいてだけ a <- ma とすることで不思議な力が働いて値が取り出せます。何でこんなややこしいことするのか分かりませんが、とにかくそういうことらしいです。 モナド悲しみの連鎖 m a -> a なる関数が無いということは、一度モナド化したら、それを戻すことはできない

    モナドを触ってみた - melpon日記 - HaskellもC++もまともに扱えないへたれのページ