本を読む

読書やコンピュータなどに関するメモ

Yokohama.pm#6×PerlCasual#3に参加

 PerlのコミュニティであるYokohama.pmとPerlCasualが合同開催したイベントに参加してきました。すごい人気で、オシャレな会場にぎっしりと人が集まってました。PerlCasualの芸風なのか、勉強会やコミュニティに参加したことがない人でも参加しやすそうな感じでした。

 内容も、Yokohama.pmトラックによる新ネタ紹介と、PerlCasualによる初級者もやってみたくなる親切な説明とがそれぞれ並んでて、ちょっと独特の雰囲気でした。中でもいちばん盛り上がったのは、sugyanさんの全裸botライブコーディングかな。あとやっぱりUSTRICTかw

 以下、メモ。

Yokohama.pmトラック

Introduction to CloudForecast(kazeburo)

 ライブドアに転職したkazeburoさんが、リソース監視のツール/フレームワークであるCloudForecastを紹介しました。

 サーバー監視は死活監視とリソース監視に分けられて、CloudForecastは後者のほう。特徴は分散処理と高速動作で、ライブドアでは実際に3000個ぐらいのサービスを監視してて15秒ぐらいで一周できるとか。構成としては、GearmanでFetcherやupdateのworkerを非同期で動かしていて、遅いサーバーの監視に他のサーバーの監視が待たされたりすることがないそうです。

 あとは、YAMLの設定とかプラグインの拡張とかグラフの定義とかそれぞれ紹介。「Perlが書けてrrdtoolが使える管理者には使いやすい」という話でした。

iPhone Programming for Web Developer(typester)

 iPhone開発はWebプログラマにもやりやすい、ということで、twitterクライアントのサンプルで解説してました。出力はまにあわなくてログ出力だけとのことでしたが。

 HTTPアクセスやJSONパース、XMLパースのライブラリがいろいろある中で、これはハマる、これが使いやすい、などを紹介。さらに、iOS4限定でいいならBlocks構文とGCD(Grand Central Dispatch)が最強に楽とのことでした。Blocks構文はObjective-Cの無名関数みたいなので、GCDは処理をキューに突っ込んで非同期(や同期)で動かすものの様子。確かにLLっぽい感じでした。

Any::Moose入門(gfx)

 MouseメンテナのgfxさんがMooseというかAny::Mooseを紹介しました。Any::MooseはMouseまたはMooseのラッパーで、以降の話で「ムース」はAny::Mooseから使うMouseのこと、とw Mouseの互換性は、クラスビルダーとして使うぶんには違わないとのことでした。

 話の中心は、Mooseの紹介。Mooseはコンストラクタやアクセサを作ってくれるクラスビルダーで、「Mooseは使うべきかという質問に対しては、便利なので、使ったことがなればまず試してみる価値はあると答える」とのことでした。アトリビュート指定を中心に、オプションとかデフォルト値とか遅延評価とかを解説しました。あと、MooseX::StrictConstructorおすすめ、と。

(Yappo)

 HTML5のGeolocation APIを使ってライブドアのロケタッチとマッシュアップする、というストーリーで、Yappoさん作のGeo::Coordinates::Converterを紹介してました。測地系の違いとか、緯度経度からiAreaへの変換とか。

PerlCasualトラック

PerlでWeb API、Web APIでPerl(yusukebe)

 yusukebeさんが、「LWP::*を使ったことがない人向け」に、Web APIにアクセスするプログラムの作り方を易しく解説しました。やることは、GETメソッドでアクセスして、JSON形式で情報を取得、それをパースする、の3つ。Twitter Search APIを題材に、まず、WebブラウザでURIを叩いてみて、URIモジュールでURIを組み立てて、LWP::UserAgentモジュールでアクセスして、JSONモジュールでパース、というのを順番に説明。また、WebAPIを楽にgetしてパースできるというWebService::Simpleモジュールも紹介しました。ちなみに、「APIを使うには公式ドキュメントを読むことが重要。利用規約も書いてあるし」とのこと。

 なお、この内容は、今度の「WEB+DB PRESS」vol.58に掲載予定だとか。

(sugyan)

 sugyanさんは、全裸bot相当のプログラムをほぼゼロからその場でライブコーディングで作ってみせました。だいたいこんな(↓)流れだったはず。

  1. cpanmでNet::Twitter。使い方はperldocで
  2. まずpublic_timelineをとってみる。warnで表示。あれ、arreyref、じゃYAMLでDump
  3. mentionsをとる。認証エラー。認証情報をConfig::Pitで。Net::TwitterのtraitsでoAuthを指定
  4. テキストを改変するために形態素解析。Yahoo!の日本語形態素解析APIをWebService::Simpleを使って呼ぶ
  5. 動詞のときだけ前に「全裸で」を入れる。use utf8。改変できた
  6. 関数にする。zenrize関数w。statusの内容にzenrizeをかまして@repliesにpushして後で1つ取る
  7. 改変したテキストをtwitterでつぶやく。update()
  8. 動詞が入っていないポストは除外する。zenrizedフラグ

LT

use Encode;(xaicron)

 みんな大好きEncodeということで、Encodeの基礎を説明。結論は「decodeしていじってencodeする」と。「これでみんな幸せになれる」とのことでした。

use strict fast;(piarra)

 「use strict」とタイプする時間を計るUSTRICTを紹介してウケてましたw。twitterに結果を流す機能もあって、さっそくLT中から#yokohamapmに結果が続々と。

夏コミ新刊Perl同人誌の宣伝(まかまか)

 ダラク本の新版「Acme大全2010」の紹介でした。Acmeな364ディストリビューションをすべて解説。LTでは、Mooseを使いたくない人のためのモジュールAcme::Erc(Mooseをインポートしてるだけ)などを紹介してました。さらに今年は用語集とかcpanmの使い方とかlocal::libの使い方とかperlbrewの使い方とかも充実しているとか。欲しい人続出の予感。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/786-97528139

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad