Archive for the ‘Web’ Category

iGoogle Art Cafe

木曜日, 4月 24th, 2008

TS3D0030.JPG

先週の土曜日に iGoogle Art Cafe に行ってきました。
iGoogle Art Cafe が期間限定で六本木ヒルズにオープン! に載っていた着色料たっぷりっぽい Google 色のデザートが食べたかったのですが、完売ということでした…。
が、ケーキがおいしかったです。
TS3D0032.JPG

iGoogle のテンプレートを自作できたり、日によってはデザイナーさんが来てイベントが開かれるようです。
PCを触りながらおしゃれーな所で美味しい物を食べられて、なかなか良いCafeでした。期間限定で今日(2008年4月24日)まで開かれているようです。

TS3D0031.JPG
というか、話に夢中で余り観察できませんでした。



builder tech dayに行ってきました。

金曜日, 2月 29th, 2008

仕事がいっぱいいっぱいっぽかったのですが、無理矢理 CNET Networks Japan K.K. さんが開催した builder tech day に行ってきました。
builder tech day - open API & beyond - builder by ZDNet Japan
以下、メモ書き程度にまとめたもの。

Open for business

David Recordonさん (Six Apart,Ltd. Open Platforms Tech Lead)。
Six Apart で製品プロダクトマネジメント、エバンジェリスト活動をしている。

How to give your best ideas away for free and make a social ?
what is “open”? “オープン”とはどのような事(物)なのでしょうか?

世間に氾濫している Open source ,open social, open data open …など “オープン”という言葉の意味は様々。
なので “open” can get prettiy confusiin! オープンという言葉を定義する時には混乱を生む事が有ると思います。

Open APIs

APIsドキュメントのオープン化
facebook -> APIs のドキュメント化して公開している。
twitter -> twitter APIをベースにして様々。
Bloglines -> OAuth API。OpenID に対応(今はベータ版だけ?)。

people will get their data anyway

データの所有者はそれを使って色々やりたいと思う。

craiglist (仕事、住む所、出会い、野球のチケットまでいろいろな生活情報を扱う広告サイト。掲示板みたいなの。) は Open API フィードを提供している。craiglist の提供するデータを使ってユーザーが Google Maps とマッシュアップしたり、様々なサービスが作られている。
Open APIs create combined value. Open API で様々な物をあわせて新しいサービスを作る事ができる。

Linking to Other Account with XFN.
サービスベンダーは自分たちのユーザーは自分たちの物だという意識が有る。

XFN, microformats

Google の Social Graph API は microformats ベースの XML フォーマットを使ったサービス。David さんのブログ の右側に貼ってるのみたいなやつ。
websites can discover who I know. これを使って私が誰とつながっているか、私がを知っているのか、私がだれであるのか。を知る事が出来る。

RSS/Atom Feeds

ユーザーが自由に使える。様々なフィードをまとめて使えるのが一つの価値になる。
そして、単にデータを収集するだけでなくそれ以上の価値を生み出す事ができる。
例えば Flickr はユーザーのブログからリンクされ、Flickr 自身にアクセスを集めることに成功している。
Feed can actually bring you more visitors.
ユーザーが複数のサイトを行き来する仕組みを作る事によって新しい価値が生まれる。

OpenID

OpenID makes things easier. OpenID は色々な事を簡単にする。
例えば、OpenID を採用している Pibb (インスタントメッセンジャー型のSNS) から Yahoo、AOL などがメリットを享受、ユーザーも各サイトへのサインオンが容易になる。
こうしたことは特に新しく生まれたことではない。AOL, MS, Yahoo などのメッセンジャーはお互いにつながらない(IM wars インスタントメッセンジャー戦争)。
その後、Jabber / xmpp ベースのサービスが生まれた。これらのプロトコルを使用している Google Talk, LiveJournal, Earthlink などのサービスはお互いに接続できる。

Hosts

以前はSegregated Messanger 全てを中央に纏めてしまうという考え。各クライアント機にで hosts ファイルを動かすができなかった。DNSで解決出来るようになった。
そして電子メールでは SMTP サーバー間でメッセージングができるようになった。
集中化、分散化、どちらがいいのか?理想の状態にたどりつくのはまだまだ時間がかかるだろう。

まとめ

 

  • 独自のプラットフォームはある一定時間は存在できるけど、時間が経つと立ち行かなくなる。(Six Apart の人の言葉)
  • The web is the platform. (google の人の言葉)

オープンテクノロジーは全ての人に取って価値を生み出すもの。
You can be open while still building a solid business. オープンであっても確固たるビジネスを実現する事は可能。

OpenID を活用した認証サービスの展開

OpenID の現状 (Davidさん)

10,000 サイト以上が OpenID 対応。これからも増えると予想される。OpenID の発行数も増えている。Yahoo.com では2億5千万の OpenID が既に発行されている。
The OpenID Foundation (OIDF) は OpenID 啓蒙活動を行う団体。Google, IBM, MS, VeriSign, Yahoo の人達が Corporate Board Members として協力している。
OpenID Foundation Japan capter (日本) は Ascent newtwork, e-context, infoteria, livedoor, mixi, nifty, technrati, yahoo J, six apart, NRI, VeriSign が協力.

IDマネージメント

  1. 安全と信頼性を提供、
  2. ユーザーの利便性、
  3. ビジネス活性化

User-centric ID Management とは

いままでは、サービスを提供する側が ID を発行/管理。
OpenID では IDプロバイダが ID を発行してサービスプロバイダのサービスを利用。ユーザー自身が ID を管理できる。
これをふまえると上の三点のメリットが享受できる。
シングルサインオンとの違いはオープンスタンダードで有るという事。公開技術採用による相互接続性。

OpenID のおさらい

 

  • シングルサインオンの一つ
  • 分かりやすい&ユーザーが選択可能な ID
  • 中央集権型ではない
  • 自分の情報をコントロール可能。自分の情報を渡すのか渡さないかをコントロールできる。どのサービスに登録したかの管理。
  • シンプルで軽い。サービス提供側で ID の DB を作ったり暗号化して保存する、などの手間が省ける。そのような面倒なことを ID プロバイダに任せることができる。少ないコーディングで実装可能。簡単に利用、構築できる
  • “認証”はするが、”認可”には関わらない。”認可”とは認証後のユーザーへのサービス提供を許すこと。プロバイダが独占することはできない。プロバイダを区別する事で認可レベルを分ける。

流れ
利用者 > RP (Relying Party) > 必要に応じて暗号化 >OP (OpenID Provider) > 利用者に認証のリクエスト >利用者> OP認証OK > RP > OK.

  • クッキーなど使わないので携帯にも対応可。
  • 認証方式はプロバイダが選択できる。高い強度のセキュリティを必要とする時、自分たちが用意する必要がない。プロバイダに任せられる。という事は信頼できるプロバイダと、そうでないものの区分けが出来てくる。

ユーザーの利便性

  • 単一のパスワードで利用可能
  • ビジネス活性化
  • 認証のインテグレーションの良い憂さによるコスト減
  • ユーザー登録に夜離脱を防止でいる。
  • クロスセル、アップセル
  • ターゲティング広告の効率化
  • OPがダウンしていても利用可能

VeriSigh のソリューション
PIP (Personal Identity Provider)

  • 無償
  • 複数の OpenID の管理ができる。ID の利用履歴も見れる。
  • VIP の採用により認証を強化。パスワードじゃない認証も可能
  • 普段使いとECサイト用の ID の使い分けなどができる。

OpenIDファウンデーションジャパンが発足しました。

発起人:野村総研、Six Apart、VeriSigh
http://jp.openid.net/

 

Mozilla とオープンWeb

Mozilla はインターネットの世界での様々な選択肢を提供する。10周年。
伝統的な企業ではないし、営利目的で動いているのではないので、想像するのが難しい企業かもしれない。Mozilla は人が原動力の組織。
コミュニティーボランティア、Web の発展の為に無償で働いてくれる人々や企業が原動力となっている。

Mozilla プロジェクトの中で一番知られているのが Firefox だと思う。最新の統計では、2億人近いユーザーが居る。毎日50万人以上の人がダウンロードしている。
現在 Firefox 3 ベータを準備中。携帯電話で使えるバージョンもリリースする予定。
Thunderbird は世界で500万人くらいのユーザーがいる。新しい組織を創設した。サンダーバードとメッセージング。エクステンションとかも盛り込む予定。
Firefoxのユーザーの国別の割合はU.S. 29%, Germany 13%, France 6%, Poland 4%, U.K. 4%, Canada 4%, Brazil 3%,
Japan 2%, Italy 2%, Spain 2%, China 2%, Other 29%。
世界中に広める事に注力しているし、広まってると思う。1年前は U.S. のユーザーが約半分を占めていた。

Mozilla Labs

将来を見据えてメジャープロダクトリリースを目指している。アイデアを纏めてプロトタイプを作っている。
Web は情報を集める為だけの物ではない。アーリーアダプターやエンジニアだけの物でもない。みんなが使えるものである。
一つのシステムが発展する為には幅広い参加者が必要。メンバー1人1人がギブアンドテイクして進化して行く。1人の人(企業)が支配する物ではない。
そういう現象がインターネットそのもの。

Order & Chaos

インターネット成功の理由は、制御できる所は制御し、できないところはあきらめる、というバランスが取れているから。
混沌としているもの (Chaos) と整然としている物 (Order) のバランスが今日の繁栄を生んだ。システムを繁栄させるにはこういうバランスが重要なのだと思う。

Open Standars & Open Source

オープンソース、オープンスタンダードを適切に成長させて行く事が Web を成長させる。

Role of the Browser

ブラウザの役割とは?

ブラウザは NCSA Mosaic の時代からあまり変わっていない。でもインターネットは変化している。情報を入手する事がメインの役割から、違う方向へ。
ブラウザでもっとなにができるようになるか?ただ単にコンテンツを見るというだけでない。

ビジネス(ページビューとか)にとらわれ過ぎるが故にインターネットの可能性に気付かないでいるのではないか。Mozilla Labs ではそうした観点から課題を掘り下げている。
それから、User-Experience。ユーザーはどのようにブラウザを使っているのか。それを掘り下げて有用な物を作る研究を Mozilla Labs で行っている。

Extending the Platform

weave
如何にしてプラットフォームを拡張できるか。プロトタイプを用意し、オープンで拡張性のある枠組みを開発し、サービスとの統合を押し進める
open source & open standars をベースにしている。カオスも含む。
user-centric 個人がブラウザー制御。ロールモデルとして、同時に個人情報に敏感、セキュリティも意識している。暗号化はデフォルト。デリゲーションのアクセス権も管理。プライバシーポリシーをシンプルにしたい。Firefox と他のものを同時に幅広くカバーできる物でなければならない。
個人設定(ユーザープロファイル)である bookmarks, history, customization, identity のバックアップ、復元を実現する事によって可搬性が生まれる。ユーザープロファイルをサードパーティと共有、かつそれを管理できる。それらを実現するのに必要な要素、W3C とか DAV, OpenID, Microformats, XMPP, RSS などがすでに存在している。存在していない技術エリアに関しては、これから開発していこうというスタンス。
ユーザープロファイルをウェブクラウド上に持って行こうとしている。同時にメッセージングとかデータSyncなどを Mozilla の中に XMPP で実装して行こうとしている。
新しい API を提供して行く予定。サードパーティから Firefox のデータにアクセスできるようになる。Firefox を使わなくても user-experience を体験できるように。プロファイルデータをサードパーティと共有。delicious とか。
サードパーティのプラットフォームもプロファイルにアクセスできる。そのアクセス権もユーザーが管理することもできる。
それから、新しいビジネスチャンスを作り出せると思っている。例えば、ユーザーのブックマークに関連した購買レコメンデーションとかを作ったり。
最終的にはインターネットをもっと分散させて広くさせて行くのが目的。プロファイルを Web 上に置いてそれにアクセスするという管理の拡散。インターネットの成功にはそういう事が欠かせないと思っている。
0.2が今月リリース予定。サードパーティとの API 連携。

Other Concepts

Mozillla labsでは以上の物だけでなく、他のアイデア、意見も取り入れる準備が出来ています。皆さんのご参加お待ちしています。

アイデア、コンセプトを生む土壌を育てる。ウェブの可能性を制限しない。

Q. Google browser Sync とどのように競合?

Google のsyncとの違い。ユーザーに取って User-Experience を向上させるのが目的。
オープンとは仕様とかソースが公開されていて、ライセンスを守れば気軽に使える。

 

「イマドキ」へ至る道、お見せします

OpenID って?

ぶっちゃけて言えば「うちのユーザーさん貸します」サービス。
これまでは顧客の囲い込みが命題だった。
OpenID や AOuth なんかがでてきた。取り残されるかも。そうこうしているうちに他の OpenID サービスがヒットするかもしれない。

Nifty としては 二つの選択肢

  1. IDP (ID Provider) になる。いまの会員さんを他のサービスに提供。
  2. コンシューマになる。他のユーザーさんいらっしゃい。

IDPをやるのはリスクが高いという意見が多かったので、まずは実験的に consumer をやってみよう、ということになった。アバウトミー(プロフィールサービス)に適用してみた。

実装して大変だった点

当時 consumer なサービスはまだ少数だったので、参考、お手本がなかった。手探りで実装して行った。
問題点1:IDP にはだれでもなれる。不正に利用アカウントを大量生産されたり、spam、荒らし横行するのでは。

ー>とりあえず信頼できる IDP のホワイトリストを作った。

問題点2:IDP が倒産したりしたら?別の ID に乗り換えられる仕組みが会った方が良いのかも。(未実装)

中間報告

アバウトミーでOpenIDを利用している人の割合は全体の1%程度。

IDPはやらないのか?

まだ何も決まっていません。

今後の展開は

ニフティとしても Yahoo とかに追随しておきたい。オープンファンデーションに参加したりする道を模索中。

ニフティの暦そのものがオープンかも。

10年以上前 PC通信時代

開発はCとシェルスクリプト、フロントエンドとバックエンドの2層構想、データは独自形式のファイルに保存。
イントラ部分は共通パーツか、ホスト間の通信を意識しなくてよい一種の抽象レイヤーを構築。
サービスのロジックだけ実装すればOK。

プリミティブながら、サービス同士が連携する構成の原型。

web.1.0時代前半

インターネットの台頭。メール、HP、掲示板、ダイアリー、チャットなど。
メール:パソコン通信のメールシステムと SMTP サーバー、両者のテキスト変換

web 1.0時代後半

サービスのオープン性と反比例し、開発技法はクローズドに

後半:工数増大。新しい技術を徐々に。Linux にスイッチ, C から Java へ。RDB を使用し始めたり、XML 使用しはじめたり。

オープンソース使えるんじゃね。CPU 時間よりプログラマの時間の方が大切に?

web 2.0

2.0 他のサービスともつながりたい。フィードとかトラックバックとか。
API を公開してみたり。OpenID を利用してみたり。

オープンだと何が良いのか?

オープンだと情報が豊富。ネットにいっぱい情報がある。
つながりやすい。
楽しい:作る人のモチベーション。

いまも昔もつながりの有る場所に価値が生まれる。ISPという境界が希薄になって増々繋がる世界へ。
Yahoo jp からの OpenID は 二桁/day くらいの登録者がある。

イマドキの開発の仕方

質問に対して、ストレイトな答えが返ってこないので、モデレータの鈴木さんは大変そうだった。
これ書いてる私も大変だった。ので、よくわからない文章になってます。
宮>宮川さん
米>米持さん
鈴>鈴木さん
宮:

自己紹介

Six Apartのオープンソースはこんなんあります。

memchaed

perlbl (ロードバランサ)
MogileFS (ファイルシステム)

Gearman, TheSchwartz code.sixapart.com
CPAN
Movalbl Type OS 公開しました。

例 ActionStream

APIs Proider

XMLRPC
Atom API -> AtomPub
Typeey, OpenID
Flickr, youtube, Nokia, Lifeblog からブログ投稿
ecto, Windws Live Writer

APIs:Cunsumer

Amazon webService
Flickr
Open media

protocols

 

OpenID

TypeKey, Vox

OAuth

Movalble Type

 

Open Social

Social Graph

米:

自己紹介。

技術プロモーションの専門家。IBM は宮川さんがいるような場所とは対極の場所にある起業。
ベンダーという立場。コンピュータを使わない人にどうやって使ってもらうかを考える立場。米持さんは、そのなかで、オープンを考える人。
IBM は Apache, Eclipse, OpenAjax, W3C の標準化のリーダー。これは大きな企業じゃないとできない。

鈴:

テクノロジー

フレームワーク、ライブラリ
アーキテクチャ
テクニック

メソドロジー

開発のやりかた、リリース、公開、普及浸透

以上の2つについてお話ししたい。

まずはテクノロジー。

宮:

オープンソースのツールリリース。Perl とか MySql などを使うのがスタンダードになってる。
汎用的に使える物は前からあった。memchaed とかニッチなものを作って、他の人も使いたいかも、という発想で公開している。
こういうのつくったけど、どう?みたいな感じで。他ベンダーとの横のつながりとかもあり。

米:

IBMのオープンはオープンソース、オープンプラットフォーム、オープンスタンダードの3つ。
みんなが汎用性のある物を作るとすごい無駄。だから、IBM は(業界を牽引するという意味で?) Apache とか Eclipse をやってる。
スタンダード:いろんなコンピュータの接続部分をコンパティビリティで公開していこうという動き。
IBMでオープンソース部門は投資部門に位置する。畑を作っている。それが育って行くと、別の所で事業になる。慈善事業でやっているわけではない。

鈴:

オープンになる物を作るときに注意している事は?

宮:

オープンにする事自体が目的なわけではないけど。結果としてオープンにできる、となる事がある。
余り気をつけてる事は無い。MovableType はコードを公開していていじれるけどオープンソースではなかったから、それが理由でユーザーに避けられないように気をつけていた。

米:

アメリカの労働省のアプリケーションデベロッパーの分布予測

  • トラディショナルプログラマ (Java, J2EE, C++などで作るプログラマ達) 3 Million
  • Web デベロッパ (PHP, Perl などで作るプログラマ達) 13Million
  • アプリケーションアセンブラ (ガジェットとか簡単な技術で作るライトユーザー) 55 Million

トラディショナルシステムでサービスを全部作ってたら間に合わない。なので、スクリプト言語で開発するアプリケーションが増えてくる。その上のライトユーザーももっと増える。
IBMはライトユーザー向けのマッシュアップサービスが簡単にできるツールを提供している。
(質問の答えになってない?)

鈴:

メソトロジーについて教えてください。

宮:

リリースサイクルを出来るだけ短くしていくのが重要と思っている。作る目標を絞ってベータリリースして、フィードバックをもらいながら追加機能を実装している。
Voxでは新しい機能を使ってみたい人にだけベータを提供するようにしている。ベータが取れた後でもベータ的要素をユーザーに提供して行く。フィードバックがもらいやすい。

米:

IBM 社内にソーシャルネットワークが大量に有る。そこにプロジェクトを立ち上げるとリポジトリとかできるようになっている。社内ブログもある。誰でも参加できる。
IBM はメソドロジーの会社。今まで培って来た請け負い構築事業のメソドロジーがある。
製品を開発するのにインターネットで公開してやろうという試みがある。Eclipse が成功したからそれに続くように。これは IBM のメソドロジーの改革。

まだ他にもあったけど力尽きた…。ごめんなさい。



わー!

木曜日, 12月 27th, 2007

とある機会がありまして、たつをさんから検索技術の事を少し教えて頂きました!勉強になりました!

それから、Tシャツにサインを頂きました!たつをさんマークも!

ありがとうございました!ちょう嬉しい!

明日はこれを着てプレゼンか?!

今日は!マークが多い。

たつをさんにサインを頂いた!!



WEB+DB PRESS Tech Meeting

水曜日, 12月 26th, 2007

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

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

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

以下、個人メモ。

1. JavaScript Tips & Technique 天野さん

- それ、Javascript でできるよ

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

ラスター、ベクター、アニメーション なんかも Js でできる。
ラスタというのは画像そのもの。拡大すると画質が粗くなる。
ベクタは adobe の illustrator みたいな書き方。座標と方向のデータの集合なので、拡大しても画質が粗くならない。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 でスレッドのような事をするライブラリが JSDeferred。
http://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 を生成する
- apache の httpd.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 がある。良い前例。
だ:生き延びてください。こういう話ができるのも生きてこそ。

なんか、良いイベントに参加させて頂きました。講演者の皆様、編集部の皆様、ご苦労様でした。ありがとうございました。



RoR メモ

月曜日, 5月 21st, 2007

Web+DB Press を読みながら Ruby on Rails (RoR) を試してみる。ruby の基本はザックリとマニュアル読んで、後からじっくり覚えるとして、まずは動く環境を。

MVCフレームワーク。catalyst とか ethna と同じようにスクリプトでアクションやモデルを作成する。
アプリケーションを定義するときに使用する DB も定義する。
> rails --database==sqlite3 address_book
address_book というアプリケーションを SQLite3 で作る。DBMSを指定しないとデフォルトで MySql になる。

ruby script/server でサーバー起動。

CODE:
  1. ruby script\generate controller welcome
  2. --------------------------------
  3. class WelcomeController &lt;ApplicationController
  4. def hello
  5. @hello = "hello, world" + Time.now.strftime( " at %Y-%m-%d %H:%M:%S")
  6. render :action=&gt; :hello#アクション名と同じなら省略可
  7. end
  8. end

views/welcome/hello.rhtml テンプレート
タグ内の @hello にアクションで定義した変数の値が表示される
---------

CODE:
  1. <%=h @hello %>

http://localhost:3000/welcome/hello
で実行。

モデルクラスとDB項目がぴったり対応している。
> ruby script/generate model Friend name:string nickname:string birthday:date
> rake db:migrate

> ruby script/generate scaffold Friend
http://localhost:3000/friends/
で Friend テーブルのレコードを作成・削除・更新・表示するアクションが作られている。…これはすごい楽だー。

オブジェクト指向スクリプト言語 Ruby
RubyForge
Ruby on Rails
Rails Trac
RailsHelp
SQLite home page



Googleからの格言

水曜日, 5月 2nd, 2007

あるお客様に SEO 対策を頼まれたので、Googleウェブマスターツール を使ってみたら画面の隅っこに

人生最大の過ちは、過ちを犯すことを絶えず恐れることである。
― Elbert Hubbard (1856-1915)、The Note Book

と出た。芸が細かいですね。ただそれだけ。

ウェブマスターツール



少し修正

月曜日, 4月 9th, 2007

年末に書いた はてなブックマークと del.cio.us のコメントを表示する Greasemonkey のスクリプトを自分で使ってて不便な箇所とかが多々あった。ので少し修正。

ページのデザインによってはコメントの表示がデザインの要素より下層に表示されてしまい見にくい。
例としては CNET とか youtube とか。
CSS  の style z-index プロパティはページの要素の重なりを操作するプロパティで、数が大きいほど上位層に描画される。最初はこの z-index の関係で描画がおかしいのかと思っていたけど、表示のおかしくなるページのCSSを解析してみると、問題なさそう。どの要素より上位の層に描画されるはずなのだけど。
これで前回のスクリプトではスクリプトが onLoad 時(ページが読み込まれたとき)に作動するようになっている。 これを途中でちょっと休ませて 2000 ミリ秒後にダイアログを描画するようにした。

JavaScript:
  1. setTimeout(function() { コメントダイアログを描画する関数() }, 2000);

うまく表示されるようになった。なんとなくページの画像がコメント表示より後から読み込まれるとそれらの下に描画されてしまうのかも、と感じた。でもこれだとマシンのスペックやネットワークの速度とかで、上手く行かないこともあるかもしれない。

ブクマコメントで「遅くなる」とコメントをいただいた。
確かに遅くなる。Flickrのトップページなんか開くと恐ろしく遅い。
ページ unload 時に生成した要素に null を指させるようにした。少しは改善されたかも?

ブクマコメントで「一度閉じても開けるようにしてほしい」とコメントをいただいた。
無理やり実装。コメントを表示する為のイベントハンドラが、mouseover じゃなくて onclick になりました。

コメントありがとうございました。といっても、このスクリプト、自分が使うために書いたので、もうアップデートはしないと思います。使ってくださる方は前のバージョンをアンインストールしてください。
最新版:hatebudeliciouscom.user.js



ブックマークのコメントを表示するGreasemonkey

木曜日, 12月 28th, 2006

/***** お詫び(追記 2007/01/06)*****/
 先日公開したhatebudeliciouscom.user.jsについてです。スクリプトの 195行目から223行目までに、Masanao Izumo さんのMD5値を出すスクリプト を使用させていただいていたのですが、この記述箇所は silog さんが編集したソースでした。よって、先日公開したバージョンを廃止し、Paul Johnston さんのライブラリ(BSD License) を使用させて頂くように改変しました。前に公開したスクリプトをインストールして下さった方がもしいらっしゃいましたら、お手数ですが、古いバージョンをアンインストールした後で、新しいバージョンのスクリプトをインストールしてください。silog さん、使ってくださった方にご迷惑をおかけしました。

新しいバージョン hatebudeliciouscom.user.js(Ver.1.02 2007/04/09)
/*******************************************/

 先々週、pho氏 にお会いしたときにブックマークのコメント欄でちくちくやってると聞いた。自分的に、今までブックマークにはそれほど注目していなかったのだが、なるほどー、と思ったので、注目してみる。

 そんなこんなで、表示しているページのはてなブックマークと del.icio.us のブックマークのコメントを表示する Greasemonkey スクリプトを作りました。Greasemonkey おもしろい。簡単なことは簡単に出来る。工夫次第でいろいろできそう。
 大手サイトとか見てみると、結構、コメントがおもろい。

インストール:hatebudeliciouscom.user.js

スクリーンショット
私のブログはブックマークされているページが少ないので、pho氏のブログで失礼します。

hatebudeliciouscom
ページのロード時にはてなブックマークと del.icio.us のブックマーク状況を取得する。被ブックマーク数だけが表示される。はてぶの隠れブックマーカーは表示されません。

hatebudeliciouscom
ブックマーク数にマウスを持っていくと、コメントが表示される。

ちなみに著作権は放棄しているので、どうにでもしてください。

ToDo
-ソースコードが汚い。再帰が上手くかけない。
-サイトデザインによっては、表示が崩れる。CSSの z-index の問題。
-ブックマークがものすごく多いと表示に時間がかかる。
-ブックマークが益々ものすごく多いとdeliciousの情報が取得できない。



HTMLのidとname

金曜日, 12月 8th, 2006

 HTMLのフォーム部品の id と name 属性についてメモ。Webデザイナーの人でも、意識してコードを書いている人は少ないと思う。
JavaScript でフォーム内の要素オブジェクトを取得するときに、

JavaScript:
  1. getElementById('部品ID')

というメソッドが使えるが、例えば、HTMLに置けるテキストボックス

HTML:
  1. <input type="text" name="user_name" id="user_name" />

というのがあった場合、そのテキストボックスに入力された値を得たい場合

JavaScript:
  1. getElementById('user_name').value

と書く。
W3C HTML 4.01 Specification を参照すると

7.5.2 Element identifiers: the id and class attributes
Attribute definitions
id = name [CS]
    This attribute assigns a name to an element. This name must be unique in a document.

とid 属性は名前の通り、ドキュメント内で一意のもので無ければならない、とある。
HTMLは多少間違いがあっても、(というか、仕様に沿った100点満点のコードを書くことはかなり面倒)ブラウザが勝手に解釈してくれて、表示してしまうので、Webアプリケーションを作るときに思わぬ誤作動を引き起こしてしまうかもしれない。
Internet Explorer は(ver.6.xしか試してないけど)id 属性を明記しなくても getElementById を id の代わりに name で値をとってくれるのだが、Firefoxではだめだった。私はこれではまってました。
getElementByName メソッドもあるけど、以下を参照すると

name = cdata [CI]
    This attribute names the element so that it may be referred to from style sheets or scripts.
Note. This attribute has been included for backwards compatibility.
Applications should use the id attribute to identify elements.

アプリケーションは識別のために name ではなくて id を使わなければならない、って書いている。



YouTubeデビュー

土曜日, 11月 18th, 2006

 と言っても、続かないとおもうけど。自分が持ってるデジタルカメラで初めて動画を撮ってみました。YouTubeにアップロードする際に、エンコードしないとだめかと思ったのですが *.mov ファイルでも大丈夫でした。YouTube、操作が簡単。この操作感を見習いたい。

 雨の日の夜だったので、水族館も人気がまばらでした。ペンギンが見られなかったのは残念…。