Saturday, February 13, 2010

インドのIT産業は世界品質、片や日本は?  JBpress(日本ビジネスプレス)

以下の点からすると、これを取得しているからといって
インドのIT産業を世界品質というのはただのあおりでしかない。

CMMIのレベルを保証する機関がないこと
自己申告であること
基準達成は会社単位ではなく部署単位であること
できあがりのシステムを保証するものではないこと

インドのIT産業は世界品質、片や日本は?  JBpress(日本ビジネスプレス)
インドでは、徹底して欧米のシステム開発技法・方法論などを実践し、ソフトウエア品質を確保している。ソフト開発の実力を計る世界標準基準「SEI-CMM」の最高レベル「レベル5」を取得している世界の企業の半分以上は、インドの会社である。インドはいまや世界先端のシステム開発受託国となった。

 このままでは日本がどんどん置いていかれる一方になる。そう感じたインド訪問であった。


Monday, January 04, 2010

>>楽譜は設計、演奏は実装

うまい例えだと思う。

余計な記述のある楽譜(設計書)の多いこと多いこと
楽器の構え方とかバルブの押さえ方も書いているから、
音楽(システム)として成り立たない。


楽譜は設計、演奏は実装 - Zopeジャンキー日記
しかしこの結果、「楽譜という設計」と「演奏という実装」が分離し、以下のようなメリットが生じた。

・作曲者は作曲(設計)に、演奏者は演奏(実装)に集中できる
・楽譜(設計書)のレベルで、管理や流通、保存ができる
・クラシック愛好者が、曲と演奏者の両方の基準で選択できる

そして決定的なのは、この仕組みによって、「いい曲が残る」ということだと思う。


成功するベンチャーと失敗するベンチャーの違い

このサイクルを可能にするようなアーキテクチャが求められると思うのだ。
つまりシステムのアーキテクチャのみならず、開発のアーキテクチャも構築するのが
アーキテクトの仕事なのではないのか?

成功するベンチャーと失敗するベンチャーの違い | きらら2号
ユーザに価値のある機能かどうかなんていくら会議しても正解は分からないのだから、結局は「作って、リリースして、フィードバック」のサイクルをしなければいけません。
そしてそのサイクルを出来るだけ短い期間でやることが重要になってくるのです。


Sunday, January 03, 2010

2010年でやりたいこと

とりあえずあげておく
いくつできるか一年後が楽しみ

・「モジュール化」の読破と理解と応用
・ウェブデザイン勉強会開催
・selenium勉強会開催
・iPhone購入とアプリ作成
・iαppli作成
・香港旅行
・二胡レッスン始める
・タップダンスレッスン始める
・jpetstore-hacks再開

Saturday, November 21, 2009

なぜ、日本のIT産業は世界で勝てないのか

世界で勝負しているIT産業がどれほどいるかわからないけど、
レベルの低いユーザをサポートできないぐらいIT企業のレベルが低いと思う。
これは技術力というよりはプレゼンテーション能力だったり、議論(ディベート)の能力かと思う。
自戒も込めて。

なぜ、日本のIT産業は世界で勝てないのか? - 記者の眼:ITpro
かなり以前のことだが、日本のあるITコンサルティング会社の経営トップにこう聞かれた。私が答えに窮していると、その経営トップはズバリ言った。「ユーザー企業のレベルが低いからです」



Sunday, October 18, 2009

ソフトウェアアーキテクトが知るべき97のこと 刊行イベント

伊藤さん、小野さん、鈴木さんのトークイベントに行ってきた。

御三方とも非常に技術力の高い方々なのは十分承知。
その人たちがコード以外で何を語るか大変興味があった。

伊藤さんからはマネージメントの重要性を感じた。
「CTOなので技術の配分を考えています」
「マネージャーがモチベーションを与えなければならない」
「マネージャって大事ですね」
小野さんからは頭のリセットが必要な理由を聞いた。
「忙しいときは頭が悪くなっているんだ」


楽しい時間でした。ありがとうございました。



ソフトウェアアーキテクトが知るべき97のこと

オライリージャパン
売り上げランキング: 959



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.おまけ
クラウドコンピューティングに限らず、世の中の技術動向の盛り上がりは、
ビジネスチャンスでもあるし、従来の開発スタイルを改善するチャンスでもあります。

例えば、従来であればエンドユーザとベンダーの間に、
システム開発部なんて仲介業者が、仕様に横槍を入れてきたりしてたかもしれませんが、
”本質的なサービスの追及が、クラウドコンピューティングの真髄です"
とかなんとかいって、うまいこと余計な仕様を回避する方向に生かすのもありかと思います。



ハイプ曲線

クラウドを超えた先の企業システム像 (arclamp.jp アークランプ)

JJUGCCC2009Fallにて気になったキーワードが「ハイプ曲線」だったので、
自分の理解でメモ

ハイプ曲線は、アメリカの調査会社ガートナー社が用いている
ITの期待度と浸透度(利用度)を表す曲線を指す。
だから見た目は一本の曲線だけど、
正確には二つの曲線をつなげていると理解していいと思う。

さらに浸透度には、個人での利用度と企業での利用度があると解釈する。
企業での利用が、個人の利用に比べ時間的に遅くなるのは常。
そういう意味では現実を表すにはもう少し複雑な曲線あるいはモデルになると思う。

この曲線の使い方としては、旬なITは何かを見るぐらいにとどめておくのがいいかも。
あるいは、自社の技術動向との比較として利用するのもありかもしれない。

下記リンクはいい説明をしているページ。
エンタープライズ:Gartner Column:第9回 ハイプ曲線でITの先を読む
エンタープライズ:Gartner Column:第51回 ハイプ曲線再考~ITの「墓場」を分析する




JJUG Cross Community Conference 2009 Fall

Sunday, October 04, 2009

vista 標準ユーザの環境変数の設定

昨年の2月に一度ハマったのだが、またまたハマったのでメモしておく。

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

scribeFireとamazlet

複数エントリを投稿すると</div>が削除されてしまい、HTMLがくずれてしまう。
amazletを使う場合はbloggerのダッシュボードで投稿すれば問題ない。

YAPC::ASIA2009 買い物


プロダクティブ・プログラマ -プログラマのための生産性向上術
Neal Ford
オライリージャパン
売り上げランキング: 62183
おすすめ度の平均: 4.5
4 Javaに偏っているのが -1
5 気軽に読めて役に立つ、中級?ソフトウェア開発者向けの良書

リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法
Andy Hunt
オライリージャパン
売り上げランキング: 4985
おすすめ度の平均: 4.0
4 この手の本に食傷された方に…
4 学ぶための遊び
5 全ての学習者が読んで実践するための本
4 まとめ本

Head Firstソフトウェア開発 ―頭とからだで覚えるソフトウェア開発の基本
Dan Pilone Russ Miles
オライリージャパン
売り上げランキング: 74901
おすすめ度の平均: 2.0
1 開発プロセスなどの具体性をもっと欲しかった
3 怒りは理解力の足を引っ張ります。

Head First Statistics
Head First Statistics
posted with amazlet at 09.09.12
Dawn Griffiths
オライリージャパン
売り上げランキング: 36745

デザイニング・ウェブナビゲーション ―最適なユーザーエクスペリエンスの設計
James Kalbach
オライリージャパン
売り上げランキング: 17846
おすすめ度の平均: 5.0
5 タイトルに偽り無し
5 よくまとまってる

Friday, September 11, 2009

YAPC::ASIA2009 LT

キーワードだけ

  • nginx
  • Mojo
  • Gtk2::Notify
  • Lingua::*
  • Flash XML-Socket
  • curl


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のはてなダイアリー


YAPC::ASIA2009 Mala

AnyEventとCoroのお話
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サイトで使われている技術


YAPC::ASIA2009 Day2 DeNA

DeNAはもともとbiddersをJava+Oracleでシステムを作っていた
今ではPerlによるサービス mbga.jp mbkr.jpを筆頭にいろいろ
理由は、開発速度、可読性が思ったよりよかったから。
MobaSiFをオープンソース化したが、いろいろ突っ込みがある
「大勢で使う割には自由度が高すぎる、テストしてなさすぎ」
携帯向けメール配信にmobamailを作ったけど、商用SIELLAと合わせ技で運用

トピックとしてmbga.jpのオープン化。
mixiアプリケーションのような課金モデル
モバゲーAPI公開
9/10デベロッパーサイトオープン
10/5フォーラム開催 パートナー受付開始

「作ったものをたくさんの人に使ってもらいたい」という思いをエンジニアをはじめみんなで共有
(これ大事だよな。)

開発方針
一筆書き文化:再利用、汎用性の設計に時間をかけるよりは開発速度を重視



# スクラムマスターを雇う時に聞いてみるとよい47個の質問

  # スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...