睡眠学習的PHPer生活 (PHP Advent Calendar 2010 13日目)

こんにちは、cakephperです。PHP Advent Calendar 2010の13日目の担当です。


PHPを使っていると覚えきれない数の関数を目にしますね。その関数が何をするか、どういった引数を取るかなんて全部覚える必要はないですが、どんな名前のものがあるか覚えておくと、やりたいことがあったときにある程度推測で使えそうな関数が絞れることがあります。


じゃあ、どうやってその関数を覚えるのか。一番楽な方法は寝ながら覚えることですよね?じゃあやってみましょうか :)

MacOSにはsayコマンドというものがあって、英語の文字をしゃべらせることができます。今回はこのsayコマンドを使って音声ファイルを作成し、夜寝ている時にこの音声ファイルを再生させて覚えることにしましょう。たぶん毎日やれば来年の今頃はすらすらと関数名が出てくるはず!
ちなみにWindowsでも同じようなことができます




まずは、MacOSのsayコマンドで音声ファイルを作成する方法。ターミナルに下記のコマンドを入力してみてください。

say "hello" -o hello

これでhello.aiffファイルが作成されます。


同じように、phpの関数一覧を出力し、その情報をsayコマンドに渡します。

php -r '$funcs = get_defined_functions(); echo implode(",", $funcs['internal']);' | say -o allfunc


みなさんに今日から睡眠学習を実行してもらえるように、MP3形式のファイルを用意しました!
Download
mp3ファイルをダウンロード(17Mbyte)



男性の声じゃいや?では女性バージョンをどうぞ!
Download
mp3ファイルをダウンロード(17Mbyte)


声を変えるのは、say -v Agnes というように-vオプションを利用します。 -v Goodとかやると面白い声が聞けます(php側の出力文字をカンマ区切りにせずに、文字を連結させていくと歌っているように聞こえる)


このsayコマンド、色々と応用させると面白そうです。Twitterの英語タイムラインを読ませるとか、Macにサーバ監視させて異常時に"Warning!"ってしゃべらせるとか!夢が広がりますね。

明日のAdvent Calendarは @camelmasaさんです。