テスト
Friday, February 05, 2010
Monday, January 04, 2010
>>楽譜は設計、演奏は実装
うまい例えだと思う。
余計な記述のある楽譜(設計書)の多いこと多いこと
楽器の構え方とかバルブの押さえ方も書いているから、
音楽(システム)として成り立たない。
楽譜は設計、演奏は実装 - Zopeジャンキー日記

余計な記述のある楽譜(設計書)の多いこと多いこと
楽器の構え方とかバルブの押さえ方も書いているから、
音楽(システム)として成り立たない。
楽譜は設計、演奏は実装 - Zopeジャンキー日記
しかしこの結果、「楽譜という設計」と「演奏という実装」が分離し、以下のようなメリットが生じた。
・作曲者は作曲(設計)に、演奏者は演奏(実装)に集中できる
・楽譜(設計書)のレベルで、管理や流通、保存ができる
・クラシック愛好者が、曲と演奏者の両方の基準で選択できる
そして決定的なのは、この仕組みによって、「いい曲が残る」ということだと思う。
成功するベンチャーと失敗するベンチャーの違い
このサイクルを可能にするようなアーキテクチャが求められると思うのだ。
つまりシステムのアーキテクチャのみならず、開発のアーキテクチャも構築するのが
アーキテクトの仕事なのではないのか?
成功するベンチャーと失敗するベンチャーの違い | きらら2号

つまりシステムのアーキテクチャのみならず、開発のアーキテクチャも構築するのが
アーキテクトの仕事なのではないのか?
成功するベンチャーと失敗するベンチャーの違い | きらら2号
ユーザに価値のある機能かどうかなんていくら会議しても正解は分からないのだから、結局は「作って、リリースして、フィードバック」のサイクルをしなければいけません。
そしてそのサイクルを出来るだけ短い期間でやることが重要になってくるのです。
Sunday, January 03, 2010
2010年でやりたいこと
とりあえずあげておく
いくつできるか一年後が楽しみ
・「モジュール化」の読破と理解と応用
・ウェブデザイン勉強会開催
・selenium勉強会開催
・iPhone購入とアプリ作成
・iαppli作成
・香港旅行
・二胡レッスン始める
・タップダンスレッスン始める
・jpetstore-hacks再開
いくつできるか一年後が楽しみ
・「モジュール化」の読破と理解と応用
・ウェブデザイン勉強会開催
・selenium勉強会開催
・iPhone購入とアプリ作成
・iαppli作成
・香港旅行
・二胡レッスン始める
・タップダンスレッスン始める
・jpetstore-hacks再開
Saturday, November 21, 2009
なぜ、日本のIT産業は世界で勝てないのか
世界で勝負しているIT産業がどれほどいるかわからないけど、
レベルの低いユーザをサポートできないぐらいIT企業のレベルが低いと思う。
これは技術力というよりはプレゼンテーション能力だったり、議論(ディベート)の能力かと思う。
自戒も込めて。
なぜ、日本のIT産業は世界で勝てないのか? - 記者の眼:ITpro

レベルの低いユーザをサポートできないぐらいIT企業のレベルが低いと思う。
これは技術力というよりはプレゼンテーション能力だったり、議論(ディベート)の能力かと思う。
自戒も込めて。
なぜ、日本のIT産業は世界で勝てないのか? - 記者の眼:ITpro
かなり以前のことだが、日本のあるITコンサルティング会社の経営トップにこう聞かれた。私が答えに窮していると、その経営トップはズバリ言った。「ユーザー企業のレベルが低いからです」
Monday, November 02, 2009
Sunday, October 18, 2009
ソフトウェアアーキテクトが知るべき97のこと 刊行イベント
伊藤さん、小野さん、鈴木さんのトークイベントに行ってきた。
御三方とも非常に技術力の高い方々なのは十分承知。
その人たちがコード以外で何を語るか大変興味があった。
伊藤さんからはマネージメントの重要性を感じた。
「CTOなので技術の配分を考えています」
「マネージャーがモチベーションを与えなければならない」
「マネージャって大事ですね」
小野さんからは頭のリセットが必要な理由を聞いた。
「忙しいときは頭が悪くなっているんだ」
楽しい時間でした。ありがとうございました。

御三方とも非常に技術力の高い方々なのは十分承知。
その人たちがコード以外で何を語るか大変興味があった。
伊藤さんからはマネージメントの重要性を感じた。
「CTOなので技術の配分を考えています」
「マネージャーがモチベーションを与えなければならない」
「マネージャって大事ですね」
小野さんからは頭のリセットが必要な理由を聞いた。
「忙しいときは頭が悪くなっているんだ」
楽しい時間でした。ありがとうございました。
Saturday, October 10, 2009
クラウドコンピューティング
JJUG Cross Community Conference 2009 Fall- Sessions
クラウド祭りなCCC2009でした。
自分のクラウドコンピューティングの企業利用についての理解を書いておきます。
1.事例
GoogleのGmail, Bloggerに代表されるウェブサービスやAmazon EC2、S3といった
ホスティングサービスやストレージサービスが代表となります。
しかし、ウェブサービスやホスティングサービス自体は2002年ぐらいからあったと理解します。
ですから考え方自体は別に新しくない。
昨今ではSalesforce.comでの経済産業省のエコポイントシステム構築事例もあり、
短期間での開発、運用コストが安い点をクローズアップし、
企業への売り込みに必死なメーカーあるいはSIerがメディアによる宣伝合戦を
派手に繰り広げている感があります。
ガートナーの2009のハイプ曲線の頂点に"cloud computing"が来ていますね。
2.特徴
GoogleやAmazon EC2, S3を例に特徴を洗い出してみます。
リソースの提供
時間貸し
ウェブサービスの提供
ターンアラウンドが短い(すぐに使える)
これにより(個人)ユーザが享受したのは
本質的なサービスの提供に専念できること
自分でマシンを運用するより低コスト
技術的な前提もあります。
インターネット
スケールアウト技術
CAP定理
BASE特性
個人の利用が進んだのはこれらの前提を踏まえても利便を享受できたからです。
個人利用での最大の利便は"コミュニケーション"だったでしょう。
日記という形態での手軽な情報発信と、それに対するレスポンスの取得。
これが利用を促進させたのではないかと思います。
3.ビジネスへの利用
ビジネスで利用するには、顧客の業務プロセスの理解とスケールアウトの技術が必要と考えます。
プライベートクラウドであれ、パブリッククラウドであれ、
ビジネスでクラウドコンピューティングを採用していただくには、
上記の事例と特徴がどのように業務プロセスに生かされ、利益を生むかを考えます。
ワークフローあるいは業務プロセスを"利益を生み出すコミュニケーション"と捉え、
業務プロセスの改善は、円滑なコミュニケーションを生み出し、利益につながると解きます。
また本質的でない作業からの解放も訴えかけましょう。
要は、顧客の業務プロセスが理解できていないとだめということですね。
技術的にはアプリケーション側でのスケールアウトのアーキテクチャが必要と考えます。
顧客の使用するデータの量は毎年莫大になっています。
スケールアップだけではいずれ崩壊します。
ここの部分についてはどういう手法があるのか、自分でも考えがまとまりませんでした。
4.おまけ
クラウドコンピューティングに限らず、世の中の技術動向の盛り上がりは、
ビジネスチャンスでもあるし、従来の開発スタイルを改善するチャンスでもあります。
例えば、従来であればエンドユーザとベンダーの間に、
システム開発部なんて仲介業者が、仕様に横槍を入れてきたりしてたかもしれませんが、
”本質的なサービスの追及が、クラウドコンピューティングの真髄です"
とかなんとかいって、うまいこと余計な仕様を回避する方向に生かすのもありかと思います。

クラウド祭りなCCC2009でした。
自分のクラウドコンピューティングの企業利用についての理解を書いておきます。
1.事例
GoogleのGmail, Bloggerに代表されるウェブサービスやAmazon EC2、S3といった
ホスティングサービスやストレージサービスが代表となります。
しかし、ウェブサービスやホスティングサービス自体は2002年ぐらいからあったと理解します。
ですから考え方自体は別に新しくない。
昨今ではSalesforce.comでの経済産業省のエコポイントシステム構築事例もあり、
短期間での開発、運用コストが安い点をクローズアップし、
企業への売り込みに必死なメーカーあるいはSIerがメディアによる宣伝合戦を
派手に繰り広げている感があります。
ガートナーの2009のハイプ曲線の頂点に"cloud computing"が来ていますね。
2.特徴
GoogleやAmazon EC2, S3を例に特徴を洗い出してみます。
リソースの提供
時間貸し
ウェブサービスの提供
ターンアラウンドが短い(すぐに使える)
これにより(個人)ユーザが享受したのは
本質的なサービスの提供に専念できること
自分でマシンを運用するより低コスト
技術的な前提もあります。
インターネット
スケールアウト技術
CAP定理
BASE特性
個人の利用が進んだのはこれらの前提を踏まえても利便を享受できたからです。
個人利用での最大の利便は"コミュニケーション"だったでしょう。
日記という形態での手軽な情報発信と、それに対するレスポンスの取得。
これが利用を促進させたのではないかと思います。
3.ビジネスへの利用
ビジネスで利用するには、顧客の業務プロセスの理解とスケールアウトの技術が必要と考えます。
プライベートクラウドであれ、パブリッククラウドであれ、
ビジネスでクラウドコンピューティングを採用していただくには、
上記の事例と特徴がどのように業務プロセスに生かされ、利益を生むかを考えます。
ワークフローあるいは業務プロセスを"利益を生み出すコミュニケーション"と捉え、
業務プロセスの改善は、円滑なコミュニケーションを生み出し、利益につながると解きます。
また本質的でない作業からの解放も訴えかけましょう。
要は、顧客の業務プロセスが理解できていないとだめということですね。
技術的にはアプリケーション側でのスケールアウトのアーキテクチャが必要と考えます。
顧客の使用するデータの量は毎年莫大になっています。
スケールアップだけではいずれ崩壊します。
ここの部分についてはどういう手法があるのか、自分でも考えがまとまりませんでした。
4.おまけ
クラウドコンピューティングに限らず、世の中の技術動向の盛り上がりは、
ビジネスチャンスでもあるし、従来の開発スタイルを改善するチャンスでもあります。
例えば、従来であればエンドユーザとベンダーの間に、
システム開発部なんて仲介業者が、仕様に横槍を入れてきたりしてたかもしれませんが、
”本質的なサービスの追及が、クラウドコンピューティングの真髄です"
とかなんとかいって、うまいこと余計な仕様を回避する方向に生かすのもありかと思います。
ハイプ曲線
クラウドを超えた先の企業システム像 (arclamp.jp アークランプ)
JJUGCCC2009Fallにて気になったキーワードが「ハイプ曲線」だったので、
自分の理解でメモ
ハイプ曲線は、アメリカの調査会社ガートナー社が用いている
ITの期待度と浸透度(利用度)を表す曲線を指す。
だから見た目は一本の曲線だけど、
正確には二つの曲線をつなげていると理解していいと思う。
さらに浸透度には、個人での利用度と企業での利用度があると解釈する。
企業での利用が、個人の利用に比べ時間的に遅くなるのは常。
そういう意味では現実を表すにはもう少し複雑な曲線あるいはモデルになると思う。
この曲線の使い方としては、旬なITは何かを見るぐらいにとどめておくのがいいかも。
あるいは、自社の技術動向との比較として利用するのもありかもしれない。
下記リンクはいい説明をしているページ。
エンタープライズ:Gartner Column:第9回 ハイプ曲線でITの先を読む
エンタープライズ:Gartner Column:第51回 ハイプ曲線再考~ITの「墓場」を分析する

JJUGCCC2009Fallにて気になったキーワードが「ハイプ曲線」だったので、
自分の理解でメモ
ハイプ曲線は、アメリカの調査会社ガートナー社が用いている
ITの期待度と浸透度(利用度)を表す曲線を指す。
だから見た目は一本の曲線だけど、
正確には二つの曲線をつなげていると理解していいと思う。
さらに浸透度には、個人での利用度と企業での利用度があると解釈する。
企業での利用が、個人の利用に比べ時間的に遅くなるのは常。
そういう意味では現実を表すにはもう少し複雑な曲線あるいはモデルになると思う。
この曲線の使い方としては、旬なITは何かを見るぐらいにとどめておくのがいいかも。
あるいは、自社の技術動向との比較として利用するのもありかもしれない。
下記リンクはいい説明をしているページ。
エンタープライズ:Gartner Column:第9回 ハイプ曲線でITの先を読む
エンタープライズ:Gartner Column:第51回 ハイプ曲線再考~ITの「墓場」を分析する
JJUG Cross Community Conference 2009 Fall
JJUG Cross Community Conference 2009 Fall
台風で30分押した。
拝聴したのは以下のセッション。
日本のクラウドと開発者の未来
OPEN AIR FROM SEKAI (セカイカメラのオープン化戦略)
デベロッパのためのHTML5入門
SQL脳からBigtable脳へ
クラウドにおけるスケールアウト設計を掘り下げる
クラウドを超えた先の企業システム像
どれも質が高くておなかいっぱい。
マインドマップでメモしていたけどなかなか難しいかも。
主催者の方々ありがとうございました。
参考
JJUG CCC 2009 Fall に行ってきたよ - hyoromoの日記
クラウドを超えた先の企業システム像 (arclamp.jp アークランプ)

台風で30分押した。
拝聴したのは以下のセッション。
日本のクラウドと開発者の未来
OPEN AIR FROM SEKAI (セカイカメラのオープン化戦略)
デベロッパのためのHTML5入門
SQL脳からBigtable脳へ
クラウドにおけるスケールアウト設計を掘り下げる
クラウドを超えた先の企業システム像
どれも質が高くておなかいっぱい。
マインドマップでメモしていたけどなかなか難しいかも。
主催者の方々ありがとうございました。
参考
JJUG CCC 2009 Fall に行ってきたよ - hyoromoの日記
クラウドを超えた先の企業システム像 (arclamp.jp アークランプ)
Sunday, October 04, 2009
vista 標準ユーザの環境変数の設定
昨年の2月に一度ハマったのだが、またまたハマったのでメモしておく。
Windowsでは管理者ユーザで作業をすることはほとんどない。
これはUNIXでいえばrootで作業しているようなものだから。
XPであればコンピュータのプロパティダイアログから自分の環境変数を設定できるが
Vistaでの設定方法は異なっている。
Windows Vista では、標準ユーザー アカウントでログオンする場合は、システムのプロパティ] ダイアログ ボックスでユーザー環境変数を変更できません。

Windowsでは管理者ユーザで作業をすることはほとんどない。
これはUNIXでいえばrootで作業しているようなものだから。
XPであればコンピュータのプロパティダイアログから自分の環境変数を設定できるが
Vistaでの設定方法は異なっている。
Windows Vista では、標準ユーザー アカウントでログオンする場合は、システムのプロパティ] ダイアログ ボックスでユーザー環境変数を変更できません。
この問題を解決するには、ユーザー環境変数をコントロール パネルの [ユーザー アカウントを使用して変更します。 これを行うには、次の手順を実行します。
1. [ スタート
元に戻す画像を拡大する
Start button
] をクリックし、 検索の開始 ] アカウント を入力する [ プログラム ] の [ ユーザー アカウント ] をクリックします。
元に戻す画像を拡大する
User Account Control permission
パスワードを入力する管理者のパスワードまたは確認するように求められたら、か 許可する ] をクリックします。
2. ユーザー アカウント ] ダイアログします 自分の環境変数を変更する [ タスク の下の [。
3. ユーザー アカウント、ユーザー環境変数に必要な変更を行い、 [OK] をクリックします。
Tuesday, September 15, 2009
pubsubhubbub test
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Saturday, September 12, 2009
YAPC::ASIA2009 買い物
プロダクティブ・プログラマ -プログラマのための生産性向上術
posted with amazlet at 09.09.12
Neal Ford
オライリージャパン
売り上げランキング: 62183
オライリージャパン
売り上げランキング: 62183
おすすめ度の平均: 
リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法
posted with amazlet at 09.09.12
Andy Hunt
オライリージャパン
売り上げランキング: 4985
オライリージャパン
売り上げランキング: 4985
おすすめ度の平均: 
Head Firstソフトウェア開発 ―頭とからだで覚えるソフトウェア開発の基本
posted with amazlet at 09.09.12
Dan Pilone Russ Miles
オライリージャパン
売り上げランキング: 74901
オライリージャパン
売り上げランキング: 74901
おすすめ度の平均: 
Head First Statistics
posted with amazlet at 09.09.12
Dawn Griffiths
オライリージャパン
売り上げランキング: 36745
オライリージャパン
売り上げランキング: 36745
デザイニング・ウェブナビゲーション ―最適なユーザーエクスペリエンスの設計
posted with amazlet at 09.09.12
James Kalbach
オライリージャパン
売り上げランキング: 17846
オライリージャパン
売り上げランキング: 17846
おすすめ度の平均: 
Friday, September 11, 2009
YAPC::ASIA2009 hatena bookmarks
日本では大きいほうだが、GoogleやYahoo、Amazonに比べれば小規模
30万ユーザ、400万セッション/月、1,600万URL/4,700万ブックマーク
->あるテーブルの件数が3億!
ハードウェアリソース
エントリ3.0GB、ブックマーク5.5GB、タグ4.8G、HTML zlib圧縮で200GB
Webサーバー10台、検索70台
コード量
12万ステップ、業務ロジックが45,000ステップ、1200モジュール
人的リソース
9名体制 マネージャ1、エンジニア3+3、デザイナ1+1
各機能の実現方法
・本文テキスト抽出ライブラリ HTML::ExtractContent
本文テキストの判断方法、句読点が多い場合本文の可能性が高い(スコアをあげる)
8,9割は適切に判断。1,2割が失敗
・全文検索機能
全登録文書からの検索にはPFIのSedueを利用
個人の登録ブックマークからは、転置インデックス方式を用いて
N-Gramと形態素解析でヒューリスティックス
Array::Gap、Lux::IO
Naive BaysよりはCompletement Naive Bays
TheSchwartz様サマ
Web+DB Vol.49よろしく
YAPC::Asia 2日目 「はてなブックマークのシステムについて」 - naoyaのはてなダイアリー

30万ユーザ、400万セッション/月、1,600万URL/4,700万ブックマーク
->あるテーブルの件数が3億!
ハードウェアリソース
エントリ3.0GB、ブックマーク5.5GB、タグ4.8G、HTML zlib圧縮で200GB
Webサーバー10台、検索70台
コード量
12万ステップ、業務ロジックが45,000ステップ、1200モジュール
人的リソース
9名体制 マネージャ1、エンジニア3+3、デザイナ1+1
各機能の実現方法
・本文テキスト抽出ライブラリ HTML::ExtractContent
本文テキストの判断方法、句読点が多い場合本文の可能性が高い(スコアをあげる)
8,9割は適切に判断。1,2割が失敗
・全文検索機能
全登録文書からの検索にはPFIのSedueを利用
個人の登録ブックマークからは、転置インデックス方式を用いて
N-Gramと形態素解析でヒューリスティックス
Array::Gap、Lux::IO
Naive BaysよりはCompletement Naive Bays
TheSchwartz様サマ
Web+DB Vol.49よろしく
YAPC::Asia 2日目 「はてなブックマークのシステムについて」 - naoyaのはてなダイアリー
YAPC::ASIA2009 Mala
AnyEventとCoroのお話
WebHooks->サービス間のリアルタイム連携
イベント駆動プログラミングのWeb版ともいえる
PubSubHubBub->分散型のpingといえる
これを使ったストリーミングAPIを開発中。近日公開予定。
ただし非同期対応のアプリケーションサーバーが必要
Apache NG
lighttpd OK

WebHooks->サービス間のリアルタイム連携
イベント駆動プログラミングのWeb版ともいえる
PubSubHubBub->分散型のpingといえる
これを使ったストリーミングAPIを開発中。近日公開予定。
ただし非同期対応のアプリケーションサーバーが必要
Apache NG
lighttpd OK
YAPC::ASIA2009 endeWorks
スピーカーは33rpmさん
牧大輔さんの会社
開発サーバーはもってない。個人のPCで開発
Test::FITesque
Apache+FCGI
daemontoolsでプロセス監視
Catalystを使用して開発。でもModelは使用していない。
もちろんMoose使用
RegistryモジュールがDIコンテナ
複数行の検索結果をキャッシュする場合
全データを保持するのではなく、PKの配列をキャッシュする。
pixis使ってます。
pixisはJPAサイトで使われている技術

牧大輔さんの会社
開発サーバーはもってない。個人のPCで開発
Test::FITesque
Apache+FCGI
daemontoolsでプロセス監視
Catalystを使用して開発。でもModelは使用していない。
もちろんMoose使用
RegistryモジュールがDIコンテナ
複数行の検索結果をキャッシュする場合
全データを保持するのではなく、PKの配列をキャッシュする。
pixis使ってます。
pixisはJPAサイトで使われている技術
YAPC::ASIA2009 Day2 DeNA
DeNAはもともとbiddersをJava+Oracleでシステムを作っていた
今ではPerlによるサービス mbga.jp mbkr.jpを筆頭にいろいろ
理由は、開発速度、可読性が思ったよりよかったから。
MobaSiFをオープンソース化したが、いろいろ突っ込みがある
「大勢で使う割には自由度が高すぎる、テストしてなさすぎ」
携帯向けメール配信にmobamailを作ったけど、商用SIELLAと合わせ技で運用
トピックとしてmbga.jpのオープン化。
mixiアプリケーションのような課金モデル
モバゲーAPI公開
9/10デベロッパーサイトオープン
10/5フォーラム開催 パートナー受付開始
「作ったものをたくさんの人に使ってもらいたい」という思いをエンジニアをはじめみんなで共有
(これ大事だよな。)
開発方針
一筆書き文化:再利用、汎用性の設計に時間をかけるよりは開発速度を重視

今ではPerlによるサービス mbga.jp mbkr.jpを筆頭にいろいろ
理由は、開発速度、可読性が思ったよりよかったから。
MobaSiFをオープンソース化したが、いろいろ突っ込みがある
「大勢で使う割には自由度が高すぎる、テストしてなさすぎ」
携帯向けメール配信にmobamailを作ったけど、商用SIELLAと合わせ技で運用
トピックとしてmbga.jpのオープン化。
mixiアプリケーションのような課金モデル
モバゲーAPI公開
9/10デベロッパーサイトオープン
10/5フォーラム開催 パートナー受付開始
「作ったものをたくさんの人に使ってもらいたい」という思いをエンジニアをはじめみんなで共有
(これ大事だよな。)
開発方針
一筆書き文化:再利用、汎用性の設計に時間をかけるよりは開発速度を重視
Subscribe to:
Posts (Atom)
# スクラムマスターを雇う時に聞いてみるとよい47個の質問
# スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...
-
指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。 このようなメッセージが出たら http://blog.livedoor.jp/saitotetsuya/archives/20535835.html に従い、エキスプローラーのセキ...
-
# スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...
-
実家のLANに接続したら、colinuxが使えなくなった。 /etc/resolv.confの設定がアップデートした際に戻っていたようだ。 coLinuxを入れてみる (Clouder::Blogger) 次に /etc/resolv.conf を下記のように編集します。 nam...