WEB+DB PRESS Tech Meeting

に行って来ました。今更ながらメモ。

弾さんと握手した!きゃー!

講演内容の動画は http://gihyo.jp/event/2007/tech-meeting/から見る事が出来ます。

以下、個人メモ。

  1. JavaScript Tips & Technique 天野さん

- それ、Javascript でできるよ

FlashJavaScript も同じ言語で書かれている。 以前は Flash が優勢で Js は見向きもされなかったが、2005年辺りから注目され始めた。Ajax とか Web 2.0 とかが騒がれ始めた頃。 - 実は

ラスター、ベクター、アニメーション なんかも Js でできる。 ラスタというのは画像そのもの。拡大すると画質が粗くなる。 ベクタadobeillustrator みたいな書き方。座標と方向のデータの集合なので、拡大しても画質が粗くならない。SVG, VML など。 アニメーションもできる。

-Js じゃあできないこと

オーディオ、動画、クロスドメイン通信 - でもJsの仕様が策定中

video, audio, XMLHttpRequest level 2 ...など現在の不足分を補う感じ。 クロスドメイン通信が気軽にできるようになったらセキュリティの面で不安 -> HTTP ヘッダに通信許可ドメインを含ませて制限する事ができる。 先攻実装がされるブラウザ video -> Firefox 3, Opera 10 audio -> Opera 10 XMLHttpRequest l.2 -> Firefox 3 - Js しかできないこと

サーチエンジン向けのマークアップ GRDDL 対応 Bookmarklet, Greasemonkey などのエクステンション。HTML に直接影響させる事ができる。 - 天野さん曰く、JavaScriptインタラクティブコンテンツの覇者になる! - JSDeferred について

JS にはスレッド、継続のコードが無い。JavaScript でスレッドのような事をするライブラリが JSDeferredhttp://coderepos.org/share/wiki/JSDeferred 作者は cho45 さん。数十行のコードのライブラリなので、読んでみると良いかも。 関数と関数の間にブラウザのレンダリングを入れたいときやループの間に処理を挟みたいとき。 二つの for 文を同時に走らせてそれらが終了したら別処理実行。 ...みたいな事ができる。 天野さんみたいに人に負けない分野を持ちたい。 2. SIビジネスに未来はあるか!? 羽生 章洋さん 結論-> ある。 後援者の羽生さんは受注側も発注側も経験している。 SIって -> 3K? 7K? 日本だけの業種では? 学生に人気がない? 技術力が要らない? 流行らない? そんなことはない -> 外資からいっぱい日本の SI 事業に参入しようとする会社が来ている。 技術力は絶対必要。 無茶な注文に応える事がおもしろい。 学生に人気無くていい。 流行じゃなくていい。 - 実力のある人には未来がある業界。無い人には厳しいので早めに撤退しておいた方が良い。 - 会社が駄目なら、経営者を責めろ。 - 多くの SIer は経営不在。自分で客を取れない。自分の所で物を作れない。 なので肉体労働の時間売りしかできない。こういう会社がラーメン屋だったらつぶれる。 - 国内の SI 事業元請けの8割は N, H, F, I, NData が占めている。 - 上のようなベンダーに発注できないお客さんがたくさんいる - どこに頼めばいいかわからない - 値段の相場や根拠がわからない - 技術の難しい事になると言いくるめられそうで怖い。 - 一流の企業はしっかりした IT 化を進めている。だからまずは自分の会社が IT 化を進めなければならない。 - 独自のフレームワークを作る、ドキュメントのひな形やプロジェクト標準などを策定して生産性を高める - 隗より始めよ - 同類でつるまない。 - 自分でアウトプットする。 - 本当の技術力を身につける - 人の 64 倍の仕事速度を身につける。 - 商売できる人とつるむ。 - 作りたいものでは無く使える物を作る - そのためには - 会社の愚痴をいわない、書かない。悪口いう人には人は寄ってこない。 - 毎日挨拶する。話した事が無い人も結構いい人かも。 - 具体的に考える。表現する。作ってみる。 - 良いプログラムは生産性を高める。楽しい。それらを普通の人にも提供できる SI という仕事は最高の仕事。 - このセッションの後の後くらいに質問タイムがあった。 Q. 技術力が高いとはどういう事? A. 羽生さん:自分の考えている事を具現化できる人。コンディションが悪くてもプロとしての仕事をする人。 3.うちではこんな感じです ~ Linuxロードバランサの活用事例 ひろせ まさあきさん LVS リナックスロードバランサのお話。 私はサーバー管理とかネットワークとか苦手ですが、分かりやすいお話でした。 最後はひろせさんがぐっすり眠れるようになったというハッピーエンド。 - ロードバランサとは 複数サーバーにリクエストを分散させる ダウンしたサーバーを分散対象から外す。復活したらまた戻す。 - 昔は ロードバランサを導入していなかった。コールドバックアップ機を用意しているが、落ちたらすぐ停止。 サーバーが落ちるのが心配で夜も眠れない。 - そうこうしている内に DBがホスティングから自社サーバーへ ネットワークの冗長構成も見直しへ -> LVSを導入。最初はベンダー製品。マニュアルが充実してロードバランシング自体の勉強になった。 - ロードバランサの用途 HTTP <-ほとんどこれ, SMTP, FTP, XMPP (Jabber) (メッセージングサービス) - keepalived - layer 4 のロードバランシング - IPVS の制約 - 複数のノードでネットワークを構成。マスターを決める。マスターが死んだら他のがマスターになる。 - keepalived の設定 keepalived.conf - サーバー情報は MATRIX で持っておく - テンプレートと MATRIX の値から Perl スクリプトで .conf を生成する - apachehttpd.conf や Tomcat の server.xml も同じように作る。 - 今の所 LVS の負荷は全然かかっていない。 - Webアプリケーションサーバーの先の DB サーバー(MySql を使用)の分散 - アプリケーションサーバーとDBサーバーの間にも LVS を導入。 - アプリケーションサーバー側から見ると、一つのDBサーバーに見える。 - その他は DNS, SMTP, Proxy (外部へのHTTPアクセスなどに利用) - LVS のいいところ - 導入コストが低い - いろいろといじれる - 安定している - いまいちな所 - 設定インタフェイスが貧弱。GUI やメニュー表示の CUI 設定ツールが無い。全部コンソールから。 - サポートが無い - なんでそこまでしてやるのか - ゆっくり眠りたい。いじるのが楽しい。 - オープンソースのやつで色々できる。最初は最小構成で出来る所から始めると良い。 4.受託開発を楽しむ。~ もっと「ソーシャルに」仕事する! 岡島 幸男さん(おしゃれ!) - 受託開発の醍醐味 - 「たった一人の顧客に届けられる」それが結構好き。 * この言い回しについては 江島さんのニッポンIT業界絶望論 http://japan.cnet.com/blog/kenn/2007/11/09/entry_25001425/ から。 - チームプレイ重視 - Quality / Cost / Delivery による明確な縛り。縛りが好き。 - 品質を高める 保守性の高いドキュメント - 生産的なバグと非生産的なバグがある - 生産的なバグ -> テスト時に出てこなくて、運用フェーズで出てきそうなバグなど。 - 非生産的なバグ -> ごく当たり前のバグ。必須項目チェックの落ちやデグレなど。 - 理想のバグ曲線と現実のバグ曲線 理想のバグ曲線は、生産的なバグは納品まで高い発見率、非生産的バグはプロジェクトの進捗 x に反比例して減って行く。 現実は、生産的バグは納品前から運用後にまで及ぶ。説明するのが難しいので、興味が有る人はプレゼン資料をご覧ください。 - どうすればよいか - TDDL テスト駆動開発 - アジャイル開発で生産的なバグの発見 - ソーシャル指向チーム -> 良質なテストケースを見つける。 - イテレーションテスト - テスト計画をしっかり作成 - お客様との関係の多さ - ソーシャル指向チームとは - リーダーとプロジェクトメンバーの関係はコマンド&コントロールが多い。お客様との窓口はリーダーだけで、リーダーがメンバーに仕事を振る。 - 弱いリーダーシップ。メンバー全体がお客さんと接点を持ち、業務への関心を向けさせる。<-ここ、目から鱗落ちた。 - リーダーとの関係 - プロジェクトのリーダーには大きく分けて意思決定の性質で4つのタイプにわけられるのでは? - リーダーの正確に合わせて、行動をかえてプロジェクトを潤滑に * 図が分かりやすいので、興味がある人はプレゼン資料をどうぞ。 5. Alpha Geekに逢いたい♥[LIVE] インタビューア 小飼 弾さん(着物姿!) インタビューイー 伊藤 直也さん プログラマの幸せ 35 歳定年説 な:世論では違うと言う意見が多いが、自分はコード書くよりマネージメントが増えている。 以前、技術者にマネジメントを好きにやらせた事があった。うまく行かなかった。 サービスができるけど、小粒な物が多い。 だ:自分の責任でカバーできる仕事しかしなくなる。 な;自分の得意分野しかカバーできなくなる。マネージする人が必要だとおもった。 だ:外からマネージメントしかしない人を連れて来れない? バレンタイン監督みたいにマネージメントしかしない人は日本にはいない? な:技術者はそういう人に指図されたくない。 プログラマはかっこわるい? な:学生に人気無いらしい。コンピュータサイエンス。 だ:アメリカはそういうの顕著。アメリカの大学は専門学校みたいな物で、学生は儲からない学科には行かない。 な:それもある。夢を見させる人物や会社が無い。 だ:かっこわるい職業というのは無い。かっこわるい人はいるけど。どんな人がかっこいい? な:ハッカー気質の人。学生の頃の先生。 だ:かっこいい人は自分の格好を気にしないよね。 プログラマの素養 な:コンピュータに特別な感情が有る人。子供の頃に慣れ親しんだとか。 だ:自分は子供の頃、友人が買ってもらったコンピュータに触れていた。 現代にはコンピュータがあふれ返っているのになんでプログラマに人気がない? な:今後、インターネット(IT業界全体を含む?)が後退する事は無いから、コードがかける人は神様に成れるのに。 だ:最近は神様になるのを面倒に思う人が多くない?全能で何でも出来る人 ->なんでもやらされる。 な:ことわれ。 正直に好きであるかどうか。実は自分も言語に特別興味が有る訳ではなくて、システムの仕組みを知るのが楽しい。 プログラム書くの疲れる。 だ:自分は文章の方が疲れるけど。 料理人的メタファを持った人?ぱっと見てレシピが思い浮かぶみたいな。 (システムをぱっと見て仕組みがわかる事と比較) な:コミュニケーション能力とか書くと散々 dis られるけど、やはりコミュニケーション能力は必要。それと技術力。 プログラマが物作り、経済の両方で幸せになるには? な:プログラマは給料低い。 だ:こんな事言うと怒られるかもしれないけど、お金を稼ぐのは簡単。人より長く働けば良い。でもそうなったらいつ使う?何が幸せ? な:世の中のお金の回り方を知らないで、コードだけ書いて儲ける事が出来ると思っている人がいる。それは危険。 日本の IT ベンチャーでは報酬としてストックオプションなんかを全面に押し出すのは悪いという道徳観がある。 シリコンバレーは世の中に貢献したらそれだけの報酬が貰えるのは当たり前。 だ:(世の中に)お金がかからない物は無い。 エンジニアが、物作り、経済の両方で幸せになるというのは、各自でしか定義できない。 (人によってどれだけ貰えば満足なのかが違うから。) お金を手元に持っておくといつでも逃げられる。(嫌な仕事は受けないとかの余裕とか) 世界を目指す な:(はてなは?直也さんは?)世界を目指したいとおもっている。 でも、英語が読めると最新の技術が手に入るけど、日本語の翻訳でも読めていないものがある。 英語の問題ではない。 だ:日本の翻訳の早さはすごい。品質も高い。 な:でも、グローバルな環境で揉まれる事によって質が上がる。 だ:そういう例の時に英語が、では無くて日本語をスタンダードにできない?アニメみたいに。 日本の市場に守られているものがある。(ヤフージャパンとYahoo, Inc. はかなり違うという前置き)ebey じゃなくてヤフオクdel.icio.us じゃ無くてはてなブックマーク みたいに。はてブdel.icio.us に勝ったけど、どう? な:地道に作っていたら、気付いたら勝っていた。 だ:そういう風に、世界を目指してた訳じゃないけど世界を席巻したのが Google とか Yahoo とか。 な:近藤さんはそれを目指してる。 だ:Ruby とか。でもその時は英語でのプレゼンが大きく影響したのだけど。 世界を征服すると後が大変。面倒な注文がいっぱい入ってくる。 な:それを楽しむ人がいる。近藤さんとか。 征服過程を楽しむ人と、その後を楽しむ人、二つの人種。近藤さんは後者、自分は前者。 だ:はてなハイクは? な:すでに US の IDC を借りている。 だ:日本が変な方向に行くかも。その時の逃げる用意は? だ:著作権とかの法律は?日本は内部告発した人は犠牲になる。 な:2ch がある。良い前例。 だ:生き延びてください。こういう話ができるのも生きてこそ。 なんか、良いイベントに参加させて頂きました。講演者の皆様、編集部の皆様、ご苦労様でした。ありがとうございました。