天然パーマです。

WEB+DB PRESS Tech Meeting に行ってきました

雑誌って俺あんまり買わないんだけど、ひとつだけちゃんと発売したら大体買っているのがある。 それが「WEB+DB PRESS」。Web周りの技術を紹介する、まぁ一般からすればコアな雑誌。 以前は、そこで扱うプログラミング言語としてはJavaが多く、また全体としてDBの話が結構多かった。 ところが最近になって、PerlやJavaScriptといった、ライトウェイトな言語でかつ、 俺が現在進行形で使っているものも扱ってくれるようになり、勉強できるのでかなり重宝している。 何より、記事を書いている人がその業界では名が通っていて実力のある方がほとんどというのが、 「発売が近づくとわくわくさせてくれる」要因になっている。

その「WEB+DB PRESS」は今回7周年を向かえた。そこで、「ラッキーセブン」という名目をつけ、読者感謝祭的位置づけで、イベントを行ったというのが昨日の「WEB+DB PRESS tech meeting」です。

WEB+DB PRESS tech meeting

紙面で記事を執筆しているような方を招いてのセッション、その後は懇親会で執筆者や読者との交流もありました。セッションは以下のような具合です。

  • JavaScript Tips & Technique:天野 仁史氏(サイボウズ・ラボ)
  • SIビジネスに未来はあるか!?:羽生 章洋氏(スターロジック)
  • うちではこんな感じです - Linuxロードバランサの活用事例:ひろせ まさあき氏(KLab)
  • 受託開発を楽しむ 岡島 幸男氏(永和システムマネジメント)アルファギークに逢いたい[LIVE]:小飼 弾氏、伊藤 直也氏(はてな)

セッションの内容について、「アルファギークに逢いたい[LIVE]」はひとつの前の記事、 残りはこのエントリーの最後に、当日メモったラフなログを載せて置きます。

皆さん、プレゼンが上手で、内容ももちろん面白く、どんどんとのめり込んでしまいました。 例えば、羽生さんの「SIビジネスに未来はあるのか!?」の場合は、聞く前SIに関してあまり知識も関係も無いので、興味ナスかなと思っていたんですが、羽生さんのしゃべりの勢いにびびって、さらに中身もSIに限らず、エンジニア全ての人に対してのメッセージ的な要素もあり非常に楽しめました。 また、それぞれの話が、例えば、羽生さんの話を岡島さんの「受託開発を楽しむ」で引用(?)したりと、微妙にリンクしあっているのがなかなか雑誌を読むだけでは味わえない感覚です。

発表者の皆さん、ブーンで集合写真
WEB+DB PRESS tech meeting

個人的に注目していたのはやはりトリの「アルファギークに逢いたい[LIVE]」です。 dankogaiさんがアルファギークと呼ばれる人達に彼独特の突っ込み具合でゆるくインタビューしていく、 個人的にもお気に入りなWEB+DB PRESS内の企画「小飼弾のアルファギークに逢いたい」をライブでやる試みです。しかも、その相手が憧れている、はてなのCTO、id:naoyaこと伊藤直也さん。 「はぁはぁ。初生naoyaさんだー」、ということで興奮。 時間の都合上、尻つぼみっぽくなってしまった感ありですが、いい時間を過ごさせてもらいました。

WEB+DB PRESS tech meeting

セッションが終わったら、懇親会。 そこへ移動する途中に、naoyaさんと名刺交換。うはー、naoyaたん、いい人、そしてイケメソ。 他にも、いろんな初めて会う方とおしゃべりできて楽しかったです。 日経ソフトウェアの編集をやっている矢崎さんという方がこの日記を見ていただいていて、面白いって言ってくれてチョー嬉しいっす。あと、amachang が記念でもらえるDave Thomas氏サイン入りT-shirtsに、さらにいろんな人のサインをしてもらいに回ってて、最終的にはかなりカオスになりいい感じです。

俺もサイン頼まれて、naoyaさんのネタをパクらせてもらってカオス
WEB+DB PRESS tech meeting

最終系
WEB+DB PRESS tech meeting

ってなことで、今回もいい出会いに出会えました。 WEB+DB PRESSのvo.l42も発売するので、アサマシリンクを張って、レポート終わりとします。 また、当日ログったメモを以下に、載せておきますので、よろしければどーぞー。

WEB+DB PRESS Vol.42
posted with yusukebe.com::AmazonSearch on 2007.12.21
  • WEB+DB PRESS編集部
  • 大型本 / 技術評論社 (2007/12/22)
  • Amazon 売り上げランキング: 180
Amazon.co.jpで詳細を見る

ログ

■JavaScript&Technique amachang
2つスライド用意してきたよ

▼それ、JSでできるよ、JSerの逆襲

Rediscover Javascript
FlashとJavaScript
	同じ言語形式で記述する
	永遠のライバルでよき友
	今、JavaScriptの逆襲が始まっている
実はJSでもできること
	ラスターグラフィックス、ベクターグラフィックス、アニメーション
	これらもできるよ
ラスターグラフィックス
	画像はるんじゃなくて、書くことができるよ
	canvasを使って書くことができるよ
ベクターグラフィックス
	SVG、VMLとかを使って書くことができるよ
	チョウチョとかもかけるよ
アニメーション
	ラスターやベクターのグラフィックスを時間で操ることができる
	Googleのサンプルからとってくることができる
今でもFlashじゃないとできないこと
	音楽を聴く
	動画を見る
	Cross-domain通信
しかし、HTML5とかでXMLHttpRequest Level2とかいろいろ考えられているよ
	JavaScriptからvideo要素でビデオを再生したり
	XMLHttpRequest Level2、AJAXの次のヴァージョン
	セキュリティもアクセスコントロールの仕様がw3cである
これらは仕様策定中
	選考実装で
	Opera10、Firefox3のどこかのヴァージョンでvideo要素が入る
	Firefox3からはXMLHttpRequest level2が使える
JavaScriptの利点
	マシンリーダブルである
	マイクロフォーマットとかにも対応できる
	GRDDL、HTMLからRDFを作るとかにも対応
まとめ
	現在JSでは昔できなかったことができようとしている
	そのうちインタラクティブコンテンツの覇者になるでしょう


▼JSDeferred による非同期処理
非同期処理が必要な場面
	イベント処理、重い処理、アニメーション
JavaScriptにはスレッド処理などがないよねー
	だから煩雑になる
	DOMイベントを作ったり、ライブラリを使ったり
あのイベントと、この処理の両方が終わった時点でこれをしたい、とかエラーハンドリングとか
こったアニメーションでもきれいにコード書きたい
そういうライブラリ
JSDeferredとは
	作者cho45!
	おまえが話せよ、という話だがすばらしいので僕が話す
wait(0); とかできる
	Javaのsleep(0)やyeildと同じ
loop
	のなかに
	return wait(0)とか入れると処理がぶつ切りにされてレンダリングが走るようになる
	ループ3回やったらレンダリングするとかかける
parallel
	ふたつのループを同時に処理して、2つが完了したら次の処理に行くとかができる
ソースコードは40数行なので、読んで勉強してください
■SIビジネスに未来はあるか!? 羽生章洋さん
SIの関係者が結構多い
いきなり結論、SIビジネスに未来はある
上流工程のコンサル、発注側、開発、エンドユーザー、いろいろとやっていた
最多登板数を誇る
創刊号からVol.34から皆勤賞
株式会社スターロジック、14名
ほぼすべて元受でやっている
JavaとFlashを中心とした業務システム開発
DISられっぱなしのSI業界だけど
3Kはどこにでもあるんじゃないか
問題は、経営不在!それに尽きる
	→自分で客を取れない
	→自前できちんとモノを作ることができない
		→肉体労働の時間売りしかできない
お客さんはいる
SIビジネスをIT化して進化する
このシステムを作って提供したら、うらやましくなるようなものを作る
隗より始めよ
自分がアウトプットするということを考えないと変わらない
普通のひとりより64倍やれるようりする
	普通の人の8倍
	生産性をあげる
	普通の人が3ヶ月でやることを1日でやれる
商売のできる人と組め

今すぐできること
自社の愚痴を言うな・書くな
間に地ちゃんと会社の連中とあいさつしろ
「具体的に」考えろ
	いいもん知ったら、これをあの案件につかえるなとか考える
できたらそれをブログに書く

役に立つプログラムを多くの人に
良いプログラムが生産性を高めることを私たちは知っている
良いプログラムが仕事を楽しくすることを私たちは知っている
その喜びを普通の人々の普段の仕事にも
そんなSIは最高じゃないか

▼質問: 技術力が高いとはどういうことをいうのか?
簡単に言うと、自分の思っていることを実現することができること
きちんとアウトプットできる
どんな状況でも、例えば自分の体調が悪くても80点を出せる
■うちではこんな感じです - Linuxロードバランサの活用事例 K-lab ひろせまさあきさん
最初は、ロードバランサ無し、サーバーが落ちたら即呼ばれるとう状況だった
ロードバランサを商用の入れた
	ドキュメントがしっかりしていてよかった
	サーバーが落ちる心配がなくなったがロードバランサが面白くて寝る時間が削れた
DSAS1.0期
	サーバ増加、DBをMySQLに乗り換え
	常に改良を続ける
LVSとの出会い
	2004年くらい
	Linuxでロードバランサが作れるらしいよ、mjd
DSAS2.0
	本番環境でLVS
	メタ情報の管理の一元化
		サーバロール: MATRIX
	ネットワークブート
	DRDB + keepalive、ストレージサーバの冗長構成
	12時間くらい寝ててもOKになった
もう少し詳しく、ロードバランサ
やっていること、HTTPのバランシングがほとんど
基本的な構成
	keepalivedを使用している
	L4のロードバランス
	VRRPによる冗長化をしている
keepalived.confを自動生成するPerlのプログラムを書いた
	Apacheのhttpd.confとかもその元情報を使って生成している
LVSの負荷は?CPU:1.00%以下、で余裕
MySQLスレーブへの分散アクセス
	MySQLでもLVSを使っている
まとめ
	LVSのいいところ: 金銭的コストが低く、中身までいじくれて、安定している
	はじめは最小構成からでおk
	WEB+DB Press vo.37 にも特集組んであるよ
■受託開発を楽しむ。岡島幸男さん
福井県の英和システムマネジメント
「プロジェクトを成功させる、現場リーダー技術」という本を書いた
角谷さんがアジャイル開発者の習慣という記事を書いている
私はピンチヒッターではない
リーダーの話をします

受託開発の醍醐味
Productive Bugsを意識したテスト
ソーシャル志向のチーム

▼受託開発の醍醐味
Quality縛りに燃える、「今回はいいところに落としたな」
「Productive Bugs」を増やす
=生産的バグ、プロジェクトに貢献するバグ
スモールベースボールにおける概念、アウトの生産性に触発された俺用語
送りバント、犠牲フライなど、勝利に貢献する生産的アウトを増やすことを重視する
生産的なバグは多く持った方がいい、最後は収束
しかし、現実は最後まで収束しない
TDDで「非生産的バグ」を減らす、生産的なバグもわかる

▼ソーシャル志向のチーム
質の高い、テストケースをどんどん増やす
お客様との関係の多さが最終的なソフトウェアの質、生産的なバグを増やすことになる
強いリーダーシップ型だと、リーダーの下の人が、お客さんにからは影になってしまう
弱いリーダーシップ型を提唱
	コラボレーション、メンバーの主体性
	開発者はお客様のシステムに関心がなくてはいけない
タイプ別リーダーとの付き合い方

続きは「受託本(仮)」を書いていて2008年春にでるのでそれを参考にしてね