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 グループ


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

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