Erlang

httpstatusコマンドで、HTTPのステータスコード(

一般的なWeb Programmerならば、HTTP Status codeはすべて暗記していると聞きました。しかし、僕は初心者なので、なかなか覚えきれていないので、HTTPのステータスコードをさがすのに便利なツールを用意しました。httpstatus.erlです。インストール方法は: $…

ErlangでTwitterのUserStreamを受け取る

以前もErlangでTwitter Streaming APIを使うといったエントリを書いたのですが、いかんせん情報が古すぎます。UserStreamではなく、素のStreaming APIなのはともかく、認証がベーシック認証だったりします。その割にはどうやら最近参照されているらしい。htt…

Twitterの発言中に現れるハッシュタグを抜き出す関数

Twitter側がどのようなカタチをハッシュタグと認識するのかよくわからないけど, とりあえず書いてみた. ちなみにめんどくさいので正規表現とかは使ってません.使い方は: $ erl 1> twitter_status:hashtags("ほげほげ #banana_#mango#highschool"). ["banana…

名前空間つきのモジュールを使う

いつからこうなっているか知らないんですけど, Erlangって名前空間があるらしいです. -module(ffhh.followers.director). こんな感じでモジュールを任意の名前空間に属させるコトができます. アンダースコアで長ったらしい名前をつけなくてもいいワケですね!…

新しいふぇらほい forefrontの構造

単なる走り書きです.(やべぇ, 透過しっぱなしだ)灰色の四角形は全部モジュールで, 太めの字はモジュール名, その下に書かれた小さな字は使用しているビヘイビアの名前です(存在しないのはビヘイビアを使っていない). 水色で囲われたところはsupervision tree…

Twitter Streaming APIをErlangから使ってみる

TwitterさんはたくさんAPIを公開しており, 開発者からしたら頭が下がる想いですが, その中でもちょっと特殊なStreaming API.Twitter API Wiki / Streaming API DocumentationPublic Timeline上を流れるつぶやきを次々と受け取るAPIですね. 種類があるのでと…

Twitterのしつこいフェ○アイコンを自動でブロックするサービスを作ったよ

こちらでーす.ふぇらふぇらほいほい名前に関してはいろいろありますが, とりあえずBritney Fuckedのせいにしておいてください. あ, ごめんなさいすみません, あ, あ. 悪ふざけです.使い方はOAuthの方で許可していただければそれだけでOKです. 詳しいコトはふ…

関数が定義されているか判断する

特定のモジュールに関数が定義されているかはerlang:function_exported/3という関数で判断できる(正確にはエクスポートされているかどうか). だけどコレ, モジュールがロード済みじゃないと効果ないんだよねー. 今まで"それなら使えないじゃん!"とか思ってい…

シングルクォートとダブルクォート

PerlやRuby, JavaScriptなどでは文字列をシングルクォートで囲もうが, ダブルクォートで囲もうが, どちらも文字列リテラルには変わりないですよね. 当然変数展開などが行われる/行われない, などの差異はありますけども.んで, Erlangでも差がないと思ってい…

Mac OS XにErlyWebをインストール

ErlyWebはErlang用のWebフレームワーク. ちょいと使い心地を試してみたかったのでそのインストールメモ. Mac OS X Leopardにインストールしまうす.参考はKLabさんところ. Erlangのインストール なにはなくともErlangをインストール. Macportsで楽ちんだぜ. $…

JSONをエンコード/デコードする

id:Voluntasさんのおかげでhttp:requestは使えるようになった!で, TwitterのAPIを介していろいろ情報を取ろうとしたワケなんですが, レスポンスの形式が大体XMLかJSON. Erlangに標準でXMLのライブラリxmerlがついているようだけど, なんだかイケていないと聞…

httpモジュールでHTTPリクエスト

のつもりだったが, エラーでちゃう. > http:request("http://twitter.com/statuses/show/842308856.xml"). ** exception exit: {noproc, {gen_server,call, [httpc_manager, {request, {request,undefined,<0.39.0>,0,http, {"twitter.com",80}, "/statuses/…

バイナリを数値に変換する

この日記でWAVEファイルのサイズだけ取り出してみた. だけどどう変換してもサイズがおかしいなぁー, ってなった.んで, 調べてみたら上位ビットから順番に格納されているワケじゃないのね. 下位ビットから順番に入っているとのコト. コレLittle Endian. 名前…

WAVEファイルを解析する

はじめに なんとなく音声の波形を取ってみたいと思った! とりあえずWAVEファイルから! 言語はなんでもいいけど, バイナリ扱うのが得意なErlangでやってみようと思う. WAVEファイルのフォーマット バイト数 内容 4 RIFF 4 以降のファイルサイズ(だから全体の…

プロセスを作るとき

コレとコレの違いがわからない. spawn(anymod, anyfunc, [X, Y]). spawn(fun() -> anymod:anyfunc(X, Y) end). プログラミングErlangではほとんど後者で書かれている(全部読んでいないけど).たしか前者が途中でモジュール入れ替えてもちゃんと対応するだった…