2011-12-01から1ヶ月間の記事一覧

モナドという言葉を使うことなく、純粋関数型言語の入出力を解説する。Rubyで。

これはRuby Advent Calendarの21日目の記事です*1。20日目は@sasata299さんのHerokuって便利だし利用までたった3ステップですお!!でした。 はじめに 本当は「Pure Rubyで動くかっこいい形態素解析エンジンができた!!!」みたいな記事を書く予定でしたが、目標…

GuavaのFiles#deleteRecursively/deleteDirectoryContentsは使わないほうが良い(と言うか10.0.1ではdeprecated)

「シンボリックリンクは追わない」という処理を実現するために、 if (!directory.getCanonicalPath().equals(directory.getAbsolutePath())) { return; } という処理をしてるんだけど、directoryが相対パスの場合 "/currentDir".equals("/currentDir/./") み…

Mac、同一画面内でウィンドウを切り替える

環境 Mac OSX 10.6 概要 Spaces使って各画面にコンテキストごとのアプリを配置してる場合、ショートカットで画面切り替えてから同一画面内でタスクスイッチできたほうが効率が良いのでCmd-Tabをどうにかしたい。 Witchでもできないしどうしたものかと思ったら*…

第5回さくさくテキストマイニングで、形態素解析アルゴリズムについて発表しました

今やってる仕事の関係で、形態素解析アルゴリズムについてちょっと調べる必要があったので、ついでにRubyで形態素解析ライブラリを作ってみた。という内容の発表です(のはずだが、Rubyのコードが一文字も書いてないですね……)。 スタート形態素解析 View more pres…

人月がクソな理由

人月商売が悪だと思っている、イノセントなあなたへ - GoTheDistanceメリットとして挙げられているのが「開発側がリスクを取らなくていい」しかない…… お前らそんなに金が欲しいか、私は欲しいですが、しかも多少クソなプロダクトを作っても金もらえるとか最高…

Java、特定の正規表現パターンで容易にStackOverFlowErrorを起こせる

環境: Java1.6 ideone java.util.regex.Pattern.compile("(.|.)+").matcher(longStr).matches(); 1000文字くらいの食わせたら落ちた。JS(FireFox,Node.js)、Ruby(1.9.2)で試したら落ちなかったので、内部の実装に依存するようですね。こわい。 関連資料 Bug …

JSP、EL式内でメソッドを呼ぼうとすると「デフォルトの名前空間が指定されていない時には、関数 xxx はプリフィクス付きで使用しなければいけません」というエラーになる

EL式内でメソッドを呼べるのはJavaEE 6以降だそうです。 Tomcat7では対応、Tomcat6では非対応。

MacBook Airをピカールで磨きました

タイトル通り。 手触りがすべすべしていて気持ちいい、深みのある光沢が得られる。 見た目の変化はすごく地味、地味すぎて写真アップロードがはばかられる。 ちなみにこれが参考画像です(わかりにくい) http://twitpic.com/7reb4i 400番耐水ペーパー→600→800→1200…

Make:Tokyo Meeting 07に人体用電流源を出品しました

人体用電流源とゆうのは人体に電流を流すための装置で、入手可能な部品で簡単に作れるように工夫されています。 三半規管に電流を流すことで身体が傾いたように感じられてたのしい!!!(フラフラ)、みたいな用途に使いますが、危険すぎて他の人に体験してもらうこ…

git、ファイルのモード変更をコミットに反映しない

cygwinだとモードが644->755に突然変わったりして困るので。 $ git config core.filemode false