OSC Fukuoka

に参加しています。
速報みたいな感じで自分が聞いた分のメモを。(たぶん詳細は書かないです。)

Rails+WebAPI+OpenSocial - 手軽に作れるマッシュアップサービス

マッシュアップの定義-リミックスとの違い。混ぜるのがマッシュアップ
・地図と携帯のマッシュアップ
・昔は無理やりやっていた。HTMLを解析-スクレイピングRSSとかAPIがないときはよくある
・↑公開できないケースが多い
・Web2.0時代になってある程度自由にデータやシステムが使えるようになった。
・できるようになったのはなぜか?データを囲い込んでも商売にならない。
・NYタイムズは課金サービスをあきらめた。課金すると見に来てくれない。
・それよりも無料でみせて広告で稼いだほうがいい。
・サイトへ誘導するためにデータを使うという発想。

データの使い方−WEB API
・データ系 
	RSS、amazonnWEBサービス、Google検索、ホットペッパーじゃらん
	最も多い。
	制限もある。Amazon
・変換系?
	スクリーンショット形態素解析、テキスト→MP3
	データを投げると何らかの処理をしてくれる。

・表示系
	Gmaps、ChartAPI(昨日公開)、NiftyTimeLine、べつやくメソッド

ほとんどのAPIはMVに相当する
Cは?→LL言語などでやる。
非同期処理が多いので、PHPはやや不利。
Railsをつかう。
昨日Rails2.0が出た。
ActiveResourceAPIを使う仕組み。2.0に標準添付(Rails同士のみ)

何を作る?
OSC-北海道で募集。
→北海道温泉マップ
じゃらんの温泉情報+Gmap

今回は福岡温泉マップにする。
APIを使うには登録が必要
あとはURLをたたけばいい。→XMLでデータが帰ってくる。

Railsでは一発ではむり。(Twitterとかならいいのに。。Railsだから)
じゃらんAPIのラッパーソース公開→詳細はWebで!
GmapはRails用ラッパーがもうある。YM4/GM

じゃらんAPIは住所しか持っていない。ピンを打つために緯度経度が必要。
→GMapの機能(Geocoding)でとる

Googleのジオコーディングは「郡」に対応していない。「郡」を含む部分を取り除けばいい。

マッピングはできた。
次は温泉の写真を貼る。→Frickerからとる?温泉がヒットしない。
Frickerのラッパーは多い。
→Yahooの画像検索で。キーワードマッチできる。
先頭の検索結果を持ってくる。Xpathで指定する。
名前がかぶってたりして、写真が合わない場合が多い。→今後の課題

不満点
・遅い!リロードに30秒〜1分かかる。→外部へのアクセスが多い。
・キャッシュを使うなどして改善できる。
・福岡以外使えない→選べるようにする。
・コメントをつけたい。act_as_commentableを使うと簡単
・携帯対応→jpmobileで対応できる。GPSにも対応。GmapAPIは携帯対応していない。

OpenSocial
最近のAPI界の話題。SNSの標準WebAPI
・友達の一覧やブログのアドレスを取得できる。
・SNSに自分の作ったアプリを組み込める。SNSパーツ。
・mixiがやると言い出した。
・javascriptからアクセスできる。
・公開されているのはjavascriptAPIのみ
・今使えるのはOrkutのみ
・xmlJavascriptを書いて、対応したSNSに読み込ませるだけでよい。
・xmlJavascriptでできることは何でもできる。
・どんなデータが取れるかはSNS次第
                                                                                                                                            • -

Rubyビジネスコモンズとは?

いけてる勉強会開催。確かに題材はいけてる感じ。かっこよい。
JRuby開発者が設立総会に来たことを紹介したついでにJrubyのデモ。Swingの窓をirbから制御していた。
技術で夢をつかもう。
                                                                                                                                            • -

OSSはどこまで使えるのか? Firefoxが変えたOSS

IEよりもセキュアだよ。オープンのほうがプロプライエタリよりも対応早いよ。
                                                                                                                                            • -

Linux ベースの高性能・高信頼性ファイルサーバ製品の実現

めちゃくちゃ負荷の高い状態で対応できるよう、カーネルやハードウェアを含めてチューニング。
ネットワークリクエストをハードウェアで解析して直接アプリに渡したりする。
NECの製品だが、Linuxなどのソースを利用しているのでWebでソースは公開している。
だけど普通のハードじゃそのままではたぶんうごかないよ。
                                                                                                                                            • -

セキュアコーディングノススメ

C/C++のコーディングミスに起因するものがセキュリティホールの7割

脆弱性オークションサイトWabisabilabi
脆弱性の情報が売買されている。

C/C++セキュアコーディング
・普通のありふれた欠陥に起因
・バッファオーバーフローが繰り返し組み込まれる。
	開発者の知識が十分でない。
・組み込み機器の出荷後の脆弱性対策には莫大なコスト

C/C++の歴史
	今も仕様の策定が進んでいる。
	セキュアなライブラリ拡張。

整数オーバーフローの脅威
	C/C++セキュアコーディング(という本がある)でも指摘されている
	整数に起因する脆弱性は増えつつあり、しかも軽視されている。

予期せぬ値
	机上の計算で期待されていた値とは異なる値のこと。

セキュアコーディングセミナー

整数編
	整数の表現
	符号つき絶対値表現−最高位ビットで符号を表現(0→+、1→-)
	1の補数→負の数は正の数のビットを反転させたもの
	2の補数→一般的。負の数は1の補数+1で表現する。
なんで2の補数表現がうれしいのか
	4ビットの場合、整数をインクリメントすると1,2--7,-8,-7..-1となる。
	負の数に正の数を加える処理に便利
     以上より、signed charは-128〜127。よって
	x = -128;
	y = -x;  //yの値は128?
	のとき、yの値は-128になってしまう。。

整数に関する脆弱性の例
	bash
	char * 型として宣言された変数に起因する。
	unsigned char * にして修正。(ホントはC++の仕様上、unsigned char *の宣言は駄目。代入時にキャストするのがいい。)

	rsync2.5.6(時間がない)
	大きな値を渡すと変な領域の値を読んでしまう。範囲チェックをちゃんとするべき。

・すべてのサイズ、長さにsize_t,rsize_tを使用すると、回避できる。

JPCERT/CCの活動
書籍・C/C++セキュアコーディング
	JPCERT/CCで翻訳。
セキュアコーディングのセミナー、トレーニングの開催(出張セミナーもやる)
セキュアコーディング規則の有効性実証研究。ツール開発。→規則の日本語版を公開準備中
                                                                                                                                            • -

YARV Maniacs in 福岡 - Ruby 1.9

いきなりQ&Aのみ?と思ったら冗談だった。(東京のOSCではホントにやったらしい。10分ほどのセッションで。)
クリスマスリリースの噂の真相について。
自己紹介
	海外の人からすると、まつもとさんと笹田さんの見分けがつかないらしい。
	東大の「創造情報学」専攻。ソフトウェア開発によって学位が取れる。
	研究室は秋葉原ダイビル13F 。ぜひ寄ってください。現在冬季受験者募集中。社会人学生も。
	福岡は2度目
	RubyVM開発者(言語設計はしていない。実装担当)
	日本Rubyの会 理事
	るびま 編集
	日本Ruby会議開催、運営 2008年は筑波の予定(もう1度松江でやるかも?)。6/20〜6/22。スポンサー募集中。

Ruby1.9
	Q. 本当に今年のクリスマスに出るの?
	A. おとといまつもとさんが「出す」といっていた。

	Q. バージョンは?
	A. Ruby1.9.1

	Q. 安心して高速なRubyが使えるのか?
	A. まだ高速なRubyは安定していない。ごめん。人柱向け?

	Q. ちゃんとRubyアプリは動くのか?
	A. かなり動かない。Railsなど。Rails側に移植をお願いしたいところ。

	Q. そんな無責任な
	A. 1.8は安定版として引き続きメンテされます。

YARV
	2004/1/1開発開始(4年目)ベイパーウェアといわれてもしょうがない。でもParrotよりはまし。
	構文木を一個づつ見ていくのでなく、コンパイルする。
パフォーマンス
	今回は評価データなし。
	パフォーマンスに一言。ベンチが早くなっても実際のアプリはそれほど早くならない。
	YARV用に(YARVが早くなったところを見せるための)笹田さんが作ったベンチをJRubyの人とか使っているのでYARVのほうが早いに決まっている。

YARV Maniacs
	2004年春のOSC TokyoでYARVの内部構造を解説した。ドン引きだった。今回はもっとやわらかい話を。。

Native Thread
	マルチコアで並列実行とかはできない。
Syntax
	結構追加された。削除されたものもある。
組み込みライブラリ
	Enumrator#next
		例 )e = 10.times;loop{p e.next}
		Javaイテレータみたいな機能
	など
M17N
	近寄らないようにしています。
	各文字列がエンコーディング情報を持つ
	lengthの返す値が文字数になる。
	$KCODEがなくなる。→じゃあどうするのか?は割愛

Ruby gems標準添付
	標準添付がいくつかgem化する。
	require 'rubygems'しないと最新版gemを利用する。
その他
	ファイルIOの部分がちょっと変わった
	CAPIの部分が変わった
Ruby1.9試してバグレポートお願いします。

質問コーナー
	Q. gems標準添付の影響についてメモリや起動速度に悪影響があるのでは?
	A. まさに添付の是非の論点。今のマシンならそこまで厳しくない。gemsの読み込みをスキップするオプションもある。

	Q. stdioが使えなくなるが。影響は?(橋本にはよくわからなかった)

	Q. 文字列の扱いで遅くなることは?
	A. 遅くなる。

今後の動き
	Rubyを使った研究
		Precompiled Ruby もう少しでできるところまで来ている。あんまり趣味じゃない。
		JIT
		Multi VM
		Parallel Ruby 並列実行。排他がポイント。すごく大変。
		組み込みRuby	ハードウェア向け・アプリ向け。