Perlの画像処理モジュールメモ

僕はぜんぜん詳しくないのですが、Perlの場合はどれが一番モダンで使いやすいんですかね。 このブログを見てくださっている方はわかるかと思いますが、ブラウザ上で動く画像処理のサンプルを書く時はActionScriptを好んで使っています。その理由は簡単で、Flashは描画系が優れているから。また、最近だとChrome Developer Toolsの使い勝手がとても良いので、JavaScript(+ Canvas)でサンプルを書くことも増えてきました。 ただ、この2つの言語は仕事で使うわけでもない…

JavaScriptで決定木

前回のAS3でNaive Bayesによる文書分類に関連して機械学習による分類問題を扱います。 今回は決定木(Decision Tree)をCanvasに描いてみます。前回のナイーブベイズよりも決定木の方が解釈が簡単で、分類過程が見た目にも分かりやすいので手軽に試すことができました。今回も理論的な部分はWebや書籍の方を参考にしてもらって、ここでは試したことだけ書きます。 今回扱う問題は集合知プログラミングにある「サインアップを予測する」を取り上げます。これは、あるユーザーがあるWebサービスの…

AS3でNaive Bayesによる文書分類

自然言語処理は専門外なんですが、職種的(?にこの分野に精通している人がたくさん社内にいるので僕も少し影響を受け始めています。。 今回は単純ベイズ分類器(Naive Bayes:ナイーブベイズ)による文書分類を基礎の部分だけやってみます。単純(Naive)と呼ばれているのは、文書の出現確率を単語の出現確率の”積”で近似し、語順や単語間の相関関係を考慮しないためにそう呼ばれています。ベイズ理論については書籍がたくさん出ているのでそちらを参考にしてください。ここで説明するにはと…

CanvasとBitmapとよもやま話

久しぶりにフロントエンド寄りのこと。 ウチの会社の制作本部の人達と久しぶりに飲みに行ったので、彼/彼女らの仕事の進め方みたいなものを聞いてきた。一般的なWebサイト制作はもちろん、FlashやJavaScriptなどの技術力も僕より数倍上な人達だ。大きな組織の内でプロのデザイナーとしてたくさんの人と競争し続けてきたわけだから優秀で当たり前なのかもしれない。趣味程度にやってる僕なんかとは違う。 * CanvasとBitmapについて 彼らはしばらくCanvasを使ったアニメーションやゲームなどの案…

DotCloudでのMySQL,Redis,MongoDBの使い方

前回のエントリーDotCloudが素晴らしいに引き続きDotCloudで遊びます。 今回はDotCloudの「プログラミング言語やミドルウェアを自由に選べる」という特徴を活かしていろんな組み合わせを試してみたいと思います。 * メニュー  PHP + MySQL  Ruby + Redis (Sinatraを利用)  Python + MongoDB (Flaskを利用)   PHP + MySQL この組み合わせでのシステム開発はなんだかんだ言って仕事で慣れている方も多いのではと思います。もち…

DotCloudが素晴らしい

これからのPaaS注目株であるDotCloudを遅ればせながら少し試してみました。つい最近ベータ期間を終了し、正式サービスを開始したとのことです。ヒゲのおじさまカッコイイ。 * [追記] 各ミドルウェアも使ってみました。続きの記事はこちら。 DotCloudでのMySQL,Redis,MongoDBの使い方 DotCloudの特徴としては上のビデオや下の図を見て分かるように、プログラミング言語やミドルウェアを選択できるという点です。つまりユーザーはこれらの技術を自由に組み合わせてシステムを構築す…

RubyKaigi 2011に参加してきた

7月16日から18日までの3日間、RubyKaigi 2011に参加してきました。 最後のRubyKaigiということで、特に最終日はスピリチュアルな熱いセッションばかり。 如何に楽しくモノつくりができるか、それがなにより大切であると。 数々の熱いセッションを聞いているうちに情熱が湧き上がってくるのがわかりました。 僕自身は普段あまりRubyを書く機会に恵まれないのですが、それでもRubyKaigiに今年も楽しく参加できたのは、 Ruby言語の素晴らしさ故だけではなく、Rubyコミュニティとその…

libmemcached c++ interface

業務で libmemcached を利用した小さなモジュールを作ることになった。このライブラリにはC++インタフェースも用意されているのでCとC++の両方で試してみる。 環境は CentOS 5.6 (x86_64) , gcc4.4, libmemcached-devel * インストール remiレポジトリから新しいバージョンを入れる

* 各基本操作(set, get, delete)を行う C版 [crayon-6748e2…