北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

WEB+DB PRESS Tech Meeting レポート (っていうか実況?)

WEB+DB PRESS Tech Meeting行ってきましたので、レポートです。資料等後日公開されますので、詳細はそちらをご覧下さい≧(´▽`)≦。


六本木はわかりにくいですねー。割と迷いました。

会場は机なしですが、無線LAN有です。ニコニコで配信されるっぽいので、映りたくない人は逃げた方がいいみたいです(笑)。



JavaScript Tips & Technique 天野さん

  • JSの10年間の暗黒時代
  • FlashJavaScriptも勝利者
  • 2005年まではFlashの独り勝ち→Ajaxの登場
  • JSでもできること
  • 今でもJSでできないこと
    • Sound、Movie、Cross-domain通信
    • video要素、audio要素、XMLHttpRequest level 2 で、なんとかなるかも
  • XMLHttpRequest level 2
    • 外部アクセス機能。access-controlもある
  • 先行実装 → Firefox 3、Opera 10
  • JavaScriptの利点 → SEO
  • JSDeferred による非同期通信
  • 非同期処理が必要な場面
    • イベント処理、重い処理、アニメーション
  • JSはスレッドも継続もないので、非同期処理は苦手
  • 重い処理の場合は、setIntervalで0秒指定で要素を再描画させる
  • イベント処理、通信処理などでやり方が様々でめんどい
  • JSDeffered とは?
    • 作者: cho45
    • 数十行
  • 使い方
    • Defferred.defineする
    • .next( 〜 ) で、処理をつなげる
    • .wait(0)でレンダリングさせる
    • loop( 〜 ) で繰り返し処理
    • whileは、next(argument.calee)で表現
    • 他、parallelとかtry catchの書き換えとか
  • まとめ
    • JSDeferred使いましょう
    • ソース読みましょう

JSDeferred面白そうです。でも、JS自体全然使ってない人なので、まずはjQueryからやらなきゃorz

SIビジネスに未来はあるか!? 羽生さん

インフルエンザかもしれないそうです; ̄ロ ̄)!!

  • SIerがDISられまくっている
  • 暴言自主規制(笑
  • 結論: SIerには未来がある
  • danさんとニアミスしてたらしい
  • 去年まではWEB+DB Pressの皆勤賞
    • 仕事と直結した記事
    • vol.3 でFlushをアプリに使うことを書いた → 叩かれた
    • vol.9 でRhino*1の記事 → disられた
  • スターロジックさんの紹介 → 100%元請け
  • 実績→Flashでの金融系ミッションクリティカル、業務
  • DISられっぱなしのSI業界
    • 3k、日本だけ、技術力ない、受託だとつまらない、学生に人気ない、最先端じゃない
    • 忙しいのは、儲けてるから
    • 技術力はめちゃめちゃいる → 大手に勝って無茶を叶えるための技術力。政治力でどうにかなるほど甘い世界じゃない
    • 流行じゃなくていい。嫌な奴は逃げた方がいい。
  • 問題の核は??
    • 経営がない。社長をDISれ!(給料が大事だからDISれない)
    • コネじゃなく、自分でお客さんを取らねばならない
    • 自前で物を作れない ← ラーメン作れないラーメン屋がありますか?
    • 結果として、肉体労働の時間売りになる
  • お客様はいる
    • どこに頼んでいいのかわからない → 大企業(N・F・H・I)に電話するしかない
    • 値段の相場がわからない → 大企業だと、億単位とか; ̄ロ ̄)
    • 話が通じなさそうで、相談できない → きちんと親切に聞きとること
    • 困ってる人=お客さんは、いっぱいいる。
  • SIビジネスをIT化せねばならない
    • 一流のサービス業は、IT化している(セブンイレブン、リッツカールトン、サウスウェスト)
    • SIもサービス業 → 自分たちの生産性をITで高めなければならない
  • 身の回りから変える
    • コミュニティは幻想
    • 周囲の人の64倍の仕事
      • 普通の人の8時間でできるのを1時間でやる
      • 自分の1時間+他人の世話7時間を、1時間でやる
    • 商売できる人と、組む
    • 喜んでもらう物を作る
  • 今すぐこれを
    • 自社の愚痴を言うな、書くな → 同類しか集まらなくなる
    • 会社の連中と挨拶 → 素晴らしい人が居るかもしれない
    • 具体的に考える → どの案件に、この技術をどう適用できる?
    • 愚痴を書くなら、技術をブログに書く
  • よいプログラムを多くの人に
    • よいプログラムが生産性を高める → この喜びを、普通の人々の普段の仕事へ

ペンタブで書きながらプレゼンってかっこいい! 羽生さんは噂には聞いてましたが、初めて話聞きました。話し方も上手で、とても面白かったです。

うちではこんな感じです 〜 Linuxロードバランサの活用事例 ひろせさん

  • repcached ← memcachedレプリケーションのパッチ
  • ロードバランサとは?
    • 大量アクセスの処理、サービスの無停止運用
  • 2001年9月
    • ロードバランサなし。コールドバックアップ。
    • 走って火を入れにいく
  • 2001年12月
  • 2002年10月
    • 2台でアクティブ/スタンバイ
    • ロードバランシングの勉強ができた
  • 2002〜2004
    • bonding等
    • 常に改良を続ける
    • DSASと命名
  • 2004年7月
    • LVS → mjd!? → 調査、検証
    • 開発環境でLVS
  • 2005年2月
    • LVSを本番運用へ
    • メタ情報一元化、ネットワークブート、ストレージサーバ(DRBD+keepalived) 、bonding+RSTP
    • DSAS 2.0(笑)と命名
  • ロードバランサ
  • keepalivbedの利用
  • keepalived.conf
    • VRRPの設定
    • 仮装サーバの設定
    • リアルサーバの設定
    • KLABでは2500行とか( ̄Д ̄;;
    • 一元化された構成情報(独自のもの)を元に、keepalived.confをPerlスクリプトで生成
    • tomcatの設定とかも生成してるらしい
  • LVSの負荷は??
  • MySQLのスレーブへの分散も、LVS
    • アプリでやると、スレーブの一覧が必要。死活管理も必要。
    • 内側のLVSとして、外側のと分けている
  • LVSのいいところ
    • 金銭コスト
    • ソース読める。tcpdump。足りないもの実装。
    • 安定している。VRRPで冗長。3年くらいへんな落ち方をしたことがない*2
  • LVSの欠点
    • 設定インタフェースが貧弱
    • 商用サポートなし
  • なぜそこまでやる? → 寝たい、いじってて楽しい
  • オープンソースで色々できる
    • ロードバランス
    • 冗長構成
    • 最小構成からはじめて、育てる (自分のPCでVM入れてLVSとかから始めて、徐々に本番へ持って行く)
  • 参考書

LVSのソースは、読みたくてもどこを読めばいいのやら・・・。手がかりがあると嬉しいです。

受託開発を楽しむ。 〜 もっと「ソーシャルに」仕事する! 岡島さん

  • プロジェクトの成功、が興味関心
  • 受託開発の醍醐味 → 羽生さんに持ってかれたので、省略w
    • たった一人の顧客、チームプレイ重視、QCD*3の明確な縛り
    • Quality縛りに燃える 落としどころを決めるのは楽しい
  • 品質を高める方法
    • Productive Bugs を増やす
  • Productive Bugsとは
  • 生産的なバグ
    • 単体テストで、レアパターンのバグ
    • 結合テストで、運用に問題のあるケース
    • 実際のデータでのみ発生する問題
  • 非生産的なバグ
    • データのオーバフロー
    • 未入力チェックの漏れ
    • デグレ
  • バグ曲線
    • 理想→生産的なバグを多く保ち、非生産的なバグを減らす。最後は収束
    • 普通→生産的なバグが少なく、最後まで収束しない
  • 生産的なバグをいかに多くするか
    • TDDで生産的でないバグを減らす
    • イテレーションで生産的なバグの発見チャンスを増やす
    • 質の高いテストケースをたくさんもたらすソーシャルチーム
  • TDD → 和田さん参照(笑
    • 非生産的バグを減らす → TDDにより、結合テストに持ち込まない
    • 生産的バグを増やす → レアケースなどの発見
  • バグ発見のチャンスを増やす
  • 生産的なバグを多く産むには
    • 質の高いテストケースを増やす → イテレーション計画、テスト計画
    • お客様との関係の多さ → ソーシャル志向チーム
  • 一般的案受託チーム
    • 強いリーダーシップ型、コマンド&コントロール、リーダーの窓口能力
    • メンバーはリーダーの影
  • ソーシャル志向
    • 弱いリーダーシップ、コラボレーション、メンバーの主体性
    • お客様のビジネス、システム全体に"関心を持てる"メンバーを増やす(でも、影にしなきゃイケナイ人もいるとのこと)
  • リーダーの4タイプ別攻略法 ←これもソーシャル
    • バリバリ → オンリーワンな右腕を目指す
    • サクサク → 甘えすぎない
    • よしよし → 期待を上回る成果をしめす
    • ふむふむ → ひっそりと協力する(プロジェクトがこける可能性が高いので)
  • 受託本(仮)を執筆中らしい 2008春


バグを増やすの定義があいまい*4だったので首をかしげる部分も多かったですが、バグを価値によってわけるのは面白いと思いました。

Q&A

  • Q 「プレゼンの公開予定は?」
  • A 「公開します」
  • Q 「羽生さんの考える技術力とは?」
  • A 「頭に思い描いた物を、アウトプットできること。アウトプットできなければ、意味がない。プロとは、どんな状況でも80点とれる。」

Alpha Geekに逢いたい♥[LIVE] 小飼さん、伊藤さん

動画見ればわかりますが、弾さんは和服です(笑)。

  • 弾さんhexで26 vs 伊藤さん10進で30。
  • d. libc的に未成年じゃないとプログラマは務まらない?
  • n. マネージメントの比率が大きくなり、プログラミングができなくなる
  • d. マネージメントしてますか?
  • n. してます!
  • d. はてなのひと来てません?
  • n. 来てない。喋りにくくなる(笑
  • n. 管理職がなく、自由にやるとうまくいかなくなってきた
  • d. なぜ?
  • n. 小粒のものしかできなかった。作ったサービスについて、問題が起こってしまうと制御できない。スケーラビリティとかに頭が回らない人も居る
  • d. マネージャーは、親玉プログラマじゃないと駄目? プロを外からつれて来ては?
  • n. それはいいと思う。そればっかじゃないと思うけど。
  • d. 日本で監督専門って人は居ない?
  • n. それは、嫌だ。指示されたくない
  • d. プログラマって人気ない?
  • n. コンピュータサイエンスは今、学生に人気がない
  • d. コンピュータサイエンスは儲からないから? アメリカではそれが基準
  • n. 夢を見せられる人が居ない。昨日も徹夜してました、みたいな。物語的なものが多くなって、目指す人が増えてくればいい
  • d. かっこ悪い職業はない。いるのはかっこ悪い人、かっこいい人。かっこいいプログラマとは??
  • n. ハッカー気質。キーボード打ちながら人の話を聞いたり。後ろから画面を見ると意味不明。世間一般的には、大丈夫かな?って感じだったが、かっこよかった。
  • d. かっこいい人って、自分のかっこを気にしない。かっこいい悪いを気にしてるうちは、かっこ悪い
  • d. どんな人であれば、プログラマにはまるのか?
  • n. 幼稚園になる前から家にPCがあった。
  • d. パソピア
  • n. はい。こういう特別な体験があれば、素で好きだからハマる。経験がない人は、どうすれば好きになるのかわからない。同世代ではそう言う人が多い。
  • d. 8bitパソコンを買ってもらえてる人は居た。友人のを借りて使ったのが始まり。最近では小さい頃からPCがあるのは当たり前なのに、なんで人気が下降?
  • n. 今後、インタネットがなくなることはないはず。マトリクスの世界になってく。コードを書ける人間が神様になる。そういうイメージが強くなれば、人気になるのでは?
  • d. 神ってうざいなーという神が増えてる
  • n. 具体的に言うと?
  • d. 実名はさすがに出せないけど(笑)。なんでもできるってのが、なんでもやらされると思ってしまう
  • n. そういうネガティブなことは考えない。プログラミングができれば、何千倍も色んなことができる
  • d. 何千倍も仕事が来ちゃう。そう言う人にかける言葉は?
  • n. 断りなさい。実力があれば、断っても何も言わないでしょう。
  • d. 戦士として、フィジカルな面は??
  • n. 自分は対した技術者じゃないから、こうであれってのはない。好きかどうかってことに正直じゃないといけない。好きじゃないのにやっても、万能感。
  • d. プログラミング嫌いな人はいますかー
  • n. 自分も、プログラミングはそんなに好きじゃない。コードを打ち込む行為自体はそんなに楽しくない。コードによって、何ができるかが楽しい。コンピュータサイエンスが楽しい。
  • d. キーボードは打つのが遅くて、うざい
  • n. 頭を使うので、疲れる
  • d. そう? 文章書くほうが疲れる
  • n. softeatherの人は、思考を止めれば、1日10万行かけるらしい。反射的にコードが出てくるようになる。あの人はちょっと変態。
  • d. そういう人を見ると、すごいってよりは、あ、やっぱしと思う
  • n. コミニュケーション能力は必要って言うと叩かれるが、必要。コミュニケーション能力だけではなにもできないが、一つのファクターではある
  • d. 例外処理がないと、プログラミングは非常に簡単。誰かとは、コミュニケーションを取る必要がある
  • n. 次のお題は、「プログラマが物づくりと経済で両面で幸せになるには」、です。
  • n. プログラマの報酬を増やすべきと言う人もいるが、経済的に幸せになるってことに、前のめりに求めなきゃイケナイ。優秀なプログラマってだけでは、駄目
  • d. お金稼ぐのはものすごく簡単。人の倍働けばいい。使い道が難しい。
  • n. お金がどういう仕組みで動いているかを知らなければならない。いいものを作れば金持ちになると言う思い込みは危険。
  • d. よほどすごいプログラマだと、儲けられる
  • n. それは例外。プログラミングの評価の尺度は、プログラミングしかないため、なんで人よりプログラミングができるのに金がもらえないかと思ってしまう。プログラマーの地位が低いわけじゃないし、口を開けて待ってればいいわけじゃない
  • d. でも、それを全部一人でやるのは辛い。ものづくりは、4割はプロモーション、2割が作る、4割がお金をきっちり会種する仕事。
  • n. 弾さんがお金を手にしたのは、ライブドアの株式でしょう
  • d. そうでもない。時期が早まっただけ
  • n. ストックオプション等を目的にすると、お金を儲けることが目的なので、日本では評判がよくない。アメリカでは、世界をよくすれば儲けて当然。日本でも、一般的になって欲しい
  • d. エンジニアがお金でも経済でも幸せになるってことに関して、各自でしか定義できない。月1億もらっていても足りないと思う人もいるでしょう。お金がたくさんあれば、仕事が嫌であれば嫌って言える。
  • n. 経済的に幸せになりたいからコードを書くのはよくないが、コードを書いて経済的に幸せになるのはいいことだと思う
  • d. 世界を目指すプログラマとはどういうこと?
  • n. 目指すべきだが、自分ではできてない
  • d. 目指したい?
  • n. 英語がわかれば情報はたくさん手に入るが、日本語でもいい本がある。それも全部読み切ってない。
  • d. 日本語の訳者は仕事が速過ぎ。
  • n. そう言う意味で、英語で世界を目指すってことはしない。が、グローバルで競い合えば、いいものが産まれる
  • d. 今のとこ、世界を目指すと言えば、即英語になる。日本語にできないのか??
  • n. そうなったらいいですけど
  • d. アニメの世界は、それに近い。不可能ではないでしょう
  • n. プレステや、DSのように世界で売れる物を作るって意味で世界を目指したい
  • d. アメリカがとんでもなくすごい。日本だけでいいのではと思ってしまう。ケータイ業界がそう。
  • d. ebayは日本で失敗した。Yahoo!はうまくいった。はてブもDeliciousに勝った。Webサービスでは日本が強い。
  • n. ユーザにしてみれば、ユーザ数が多い方が凄く見える。が、作ってる方は小さい物をこつこつ作ってるだけ。
  • d. 気がついたら、世界を席巻してただけ。Google
  • n. Googleは、戦略的に世界を見てたと思う。多国語やってるし。
  • d. 最近もしかしてが、復活。嬉しい。
  • d. 日本発のWEBサービスがない。
  • n. 近藤さんはそれをやりたがってる
  • d. Rubyは日本初
  • n. でも、松本さんは、世界を初めから狙ってたわけではなく、コツコツやっただけ
  • d. でも、英語。Rubyはなでしこではないので、やっぱり英語。
  • n. 世界を目指してるかを別として、プロトコルは英語
  • d. 世界を征服すると、面倒なことばかりになる。近藤さんにも言っておいた。
  • n. それを楽しめる人も居るでしょう。
  • d. 征服を楽しめる人と、征服した後の世界を統べる人がいる
  • d. はてなはどっち?世界征服したがってる人が親玉(笑
  • n. 近藤さんは、サービスを作ることではなく、作った後のユーザーの反応の方が興味。はてブの問題でも、近藤さんはその解決に興味がある。自分は作ることが楽しい。
  • d. はてながグローバルになってくると、サーバが日本ってのは?
  • n. アメリカにIDC借りてあります。準備はできてる。でも、いまのとこトラフィックはない
  • d. 日本がへんてこな方向に行くかもしれない。逃げなきゃならないときに逃げれるようにはしてる
  • n. 駄目な法律に対して、自分が作ったサービスが抑止力になればいい
  • d. それが本人のためになるかはわからない。内部告発するとひどい目に遭う。ちゃんと生き延びて欲しい。
  • n. 2ちゃんねると言う前提があるので大丈夫
  • d. ひろゆきに関しては心配ない。討ち死にしようとしていることに気がついてない人が多い
  • d. 笑いをとってから終わった方がいい?
  • n. 弾さんにおまかせします
  • d. こうやって笑えるのは、生きててこそ。来年もこういうことができるといい。

相変わらずぐだぐだなのは弾さんクォリティ。もう慣れたからへっちゃらです(笑)。お金に関する生々しい話とかは、お二人の話していた通りでもっともだと思います。伊藤さんと年齢近いせいもありますかね。


以上で全部です。豪華メンバーによる講演で、思っていたよりもずっと素晴らしいmeetingになっていたと思います。このようなmeetingを開いて下さったWEB+DB PRESS編集部に多謝です。今後も開催されることを願っております。

*1:JavaScript

*2:うちの環境では安定してないorz

*3:Quality,Cost,Delivality

*4:「発見した数」なのか「潰した数」なのか「現状の量」なのか