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フォーラム開催 パートナー受付開始

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

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



YAPC::ASIA2009前夜祭

キーワードだけ

  • HTML5
  • HTTP::Engine
  • 全裸
  • http://www.oswd.org
  • Q4M
  • Twib
  • Plack
  • Noe
照明調整が下手ですみませんでした。


Saturday, August 01, 2009

三越ライオン像

今NHKで紹介されていたのですが、三越のライオン像には必勝祈願の像らしいです。
仕事に行き詰ったら、こっそり跨ってこようと思います。

三越ライオン像の意味? - “あっキ-ンの気の向くままに!”
このライオン像は、“必勝祈願の像”として、誰にも見られずに背にまたがると念願がかなうと言い伝えられ、特に受験生の間に人気があります。



Tuesday, July 14, 2009

YAPC::Asia Tokyo 2009

今年も参戦予定
京都じゃないのか。

YAPC::Asia Tokyo 2009 - Japan Perl Association運営ブログ
長らくお待たせいたしましたが、YAPC::Asia Tokyo 2009のスケジュールが正式に決定いたしました!今年のYAPC::Asia Tokyoは9月10日および11日に開催されます。9日は前夜祭として短めのセッションを行う予定です。

本年のYAPC::Asiaも東京工業大学様のご厚意により、大岡山キャンパスで開催される予定です。



バービーボーイズリマスター盤

そんなに違うのか。
買っちゃおうかな。

バービーボーイズ完全復活への道
今、「Freebee」を聴きながらブログ書いてまず。

この音、やっぱ凄く良くなっています。感激ひとしお。もし、皆さんがバービーのオリジナルアルバムのCDをお持ちでしたら、連休中に一杯聴いておきましょう!一番好きなアルバムを聴き込むのもいいと思います。そして、5/27の発売日になったら、すぐにリマスター盤を1枚でも買って、それを同じプレーヤーで聴いてもよう!

いまみちともたか ima_gene_box 書斎頁
バービーのオリジナルアルバム計6枚の
リマスタリングされたCDは
自分が責任を持って立ち会ってナニしている。
でも改変したりルール違反はしちゃないし
これが最後の音質調整作業、そして
自分はまだ耄碌もしちゃないです、はい。


Sunday, June 21, 2009

Google site

http://springframework.jpのサイトの様子が変わっていることに気がついた。
今までのWikiスタイルから様変わりしているようだ。どうやらGoogle サイト とやらを利用している。

Googleのホスティングサービスなのか?
自分が持っているサイトを移行できるかどうかはもう少し調べてみないと。
とりあえずメモ代わりに。

サイト


Sunday, June 14, 2009

生産性

引用した記事では「生産性」という語を「コードの量」として使用しています。
だいたいの場合において、この「生産性」という言葉は「量」を表します。
同じ結果を得るにしても、使用する言語やフレームワークによってコードの量は変わってきます。
最終的に言語やフレームワークを学習して仕上がったコードが2、3行だったとしても
学習のコストもかかるわけで、そのときの「生産性」とは何をあらわすのでしょうか?
アウトプットまでの時間?やっぱり結果としてのコード量?
そろそろ、数字で表せない言葉を使って議論するのをやめにしませんか?


ぼくがLLのひとに「ガツン」と申し上げたこと - ひがやすを blog
追記:コメントにも書いたけど、あの場では、仮にということで、Javaのほうがコードの量が多いという話にしましたが(そうでないと話がかみ合わないので)、実際は、フレームワークレベルだと、例えばRails(Ruby)とSeasar2(Java)を比べてもそんなに生産性(書く量は2割くらいはSeasar2のほうが多いかもしれないけど)は変わらないと思いますよ。



Sunday, May 03, 2009

jsugのrss

なぜなのかはわからないのですが、JSUGのRSSを
GoogleReaderで読もうとすると、
2008年7月22日以降のエントリが表示されない。
Rodさんとの飲み会の話とか見落としていました。

これからはこまめに見るようにします。

Japan Spring Framework User Group | Google グループ


Saturday, April 11, 2009

QCon Tokyo 2009 雑感

QCon Tokyo 2009を通じでの雑感など。

まつもとさんの講演で考えさせられたのは、
システム作りはどういうものなのかということです。
僕が考えるシステム作りは家作りに近い。
設計図(コード)だけではその良し悪しは判断できず、
住んで(使って)みて初めてわかるということ。
たとえば、3人で住む家を作るのに、
マンションを建てるような設計や技法は不要ですが、
3世代住宅を建てる際には、バリアフリーは必要です。
アパートを建てるのに宮大工は不要です。
住み続けるためにはメンテナンスが必要です。
人が住まなくなった家は(使わなくなったシステムは)すぐに駄目になります。
建築物に例えると、第三者が使うとか、保守が必要という観点が抜けてます。
そういう意味では、家作りのほうがしっくりくると思います。

来年への期待
スタッフの方々お疲れ様でした。
また来年も開催されることを期待します。
来年はまた違う技術が台頭していることでしょう。

Friday, April 10, 2009

QCon Tokyo 2009 おまけ Nabeatsu


こう書いてみた

package sample;
import java.util.regex.Pattern;
public class Nabeatsu {
    private String number;
    private int ahoNumber;
    public Nabeatsu(String number) {
        this.number = number;
        this.ahoNumber = 3;
    }

    public Nabeatsu(String number, String ahoNumber) {
        this.number = number;
        this.ahoNumber = Integer.parseInt(ahoNumber);
    }

    public String play() {
        StringBuffer buf = new StringBuffer();
        for (int i = 1; i < Integer.parseInt(this.number) + 1; i++) {
            buf.append(guess(i) == true ? "AHO" : (new Integer(i).toString()));
            buf.append(" ");
        }
        return buf.toString();
    }

    private boolean guess(int number) {
        if (0 == number % this.ahoNumber) {
            return true;
        }
        return Pattern.compile(
                ".*" + (new Integer(this.ahoNumber).toString()) + ".*")
                .matcher(new Integer(number).toString()).matches();
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        Nabeatsu nabeatsu = new Nabeatsu(args[0]);
        System.out.println(nabeatsu.play());
    }

}

QCon Tokyo 2009 Day2 Spring in a changing world - Rod Johnson

A changing world

業界の変化
IBMのSun Microsystems買収の噂
OracleのBEA Systems買収

大事なのは技術の変化
従来のJ2EEの失敗
簡潔な解決策の要求->Agile
世界的不況

フォレスタリサーチによれば"Lean Software"の必要といわれている。

Lean Softwareとは
シンプル
無駄を省こうという考え方
開発者が必要としている(牽引している)

開発者の力が強くなってきた
開発者は使用するオープンソースの選択だけでなく開発に参加するようになった。
オープンソースがJ2EEの問題点を指摘し解決してきた
経営者の開発者への依存度が高くなってきている


シリコンバレーはもはやRULEではない。
シリコンバレーで金融アプリケーションを作っている人はいない。

old leader IBM, BEA
today's leader Spring, tomcat


IBMのSun Microsystems買収では何も解決しない
Java EE 6は失敗に終わるだろう


What is Spring
POJOプログラミングを可能にするフレームワーク
どうやって=>DIやAOPおよびPortable Service Abstractionを提供する。


What next
SpringはEJBの複雑さを軽減させている
ほかにも有効な解決策がある。Zend, Ruby on Rails, Django

Javaの生産性をあげる全体像を誰も考えていない。
統合された全体像が必要
オイルショック時のAMの車グレムリンにならないように

Javaはオープンソースとして一企業に引っ張られたくはありません。


Springの動向

Build, Run, Manageの3点から統合ビジョンを提供する

Buildの内容
Rails, Grails, Groovy

Manageの内容
tcServer(based on tomcat), dmServer(modulable application server)

年末にはクラウドコンピューティングに対するSpringのアプローチの発表がある。
来月Spring Euroで何らかの発表がある。

http://www.springframework.org/
http://www.springsource.com/


QCon Tokyo 2009 Day2

http://qcontokyo.com/tokyo-2009/

Rod Johnsonがお目当て。
丸山先生の話は興味深い。資料は手に入らないものか。

QCon Tokyo Day 2 Opening
長尾達也(コンポーネントスクエア)
Floyd Marinescu(C4Media)
ホスト:河村嘉之、平鍋健児、中台高宏

General Session 1
クラウドの技術的な特徴について
講演者:丸山不二夫

General Sessin 2
Spring Today and Tomorrow
講演者:Rod Johnson

クラウドをプログラミング - プラットフォームとしてのインターネット
講演者:Gregor Hohpe
Author of Enterprise Integration Patterns

大規模ウェブサイトのベストプラクティス -eBayでの事例-
講演者:Randy Shoup
eBay Architect

ザ・パワーシフト ~ サード・リアリティ
講演者:森正弥
楽天技術研究所 所長

パネル・ディスカッション「エンタープライズ・ソフトウエア開発の動向」
モデレータ:Floyd Marinescu
Author of EJB Design Patterns, InfoQ and QCon Co-founder
パネリスト:QCon Tokyo 講演者


QCon Tokyo 2009 Day1 現場のITアーキテクトが知っておくべき10のこと - あるいは、技術が分かるPMが知っておくべき10のこと 鈴木雄介

自分用のメモです

http://www.slideshare.net/yusuke/10-things-it-architect-should-know?type=presentation


1.ITアーキテクトとは
何故必要か
要件と技術が複雑になっている
この状況を整理する人が必要

でも開発リーダでは無い
利害関係者のバランスを取る
作ることのリスクが高い

立ち位置が微妙
作る人でも使う人でもない
考えたことが誰にも理解されない
自分の立ち位置を自分で見つける
好みという信念が大事
こういうのは難しいけれど楽しいことでもある

IBMの認定試験がある
アーキテクトがアーキテクトを選ぶ

PMとアーキテクト
Good managers do the things right.
Good leadership does the right things.
マネージャとは複雑さに対応する人
リーダーシップとは変革を起こす人

PMはお母さん的、ITアーキテクトはお父さん的
どちらも大事、どちらも必要



2.アーキテクチャとは
定義がいろいろ

内圧(作ること)と外圧(使うこと)のバランスを360度でとった結果
きれいな円になっているか
要因にチーム構成、スケジュールも含んでいい
作れないアーキテクチャに意味は無い
圧力を発見する力が必要

デザインの輪郭
デザインの輪郭
posted with amazlet at 09.04.10
深澤 直人
TOTO出版
売り上げランキング: 16571
おすすめ度の平均: 4.5
4 じわり、じわりと
5 夜寝る前に、ふと手に取りたくなる本
4 何度も読むと良くなってくる
5 じわじわと感じてくる本
5 生きることを大切に、そして丁寧に。


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

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