開発ブログ

Apache Wicket

少し前ですが Apache Wicket 1.3 がリリースされました。Wicket は Java 言語で書かれた Web アプリケーションのプレゼンテーション層のフレームワークです。この分野では Struts や JSF が有名ですが Wicket にはそれらとは一線を画す特徴があります。非常…

Windows update に Silverlight 登場

Windows Update に Silverlight 1.0 が登場しました。夏の北京オリンピックのネット中継で、NBC が Silverlight を使うとのことで、夏ごろまでにはランタイムが普及すると考えていましたが、意外と早かったなぁと言うのが正直なところです。Version 1.1 がす…

SBI Business メンテナンスのお知らせ

下記メンテナンスは完了いたしました。ご協力ありがとうございました。

ISO8601 in Java

ISO8601 文字列というのは、日付の表現方法で 2008-01-18T00:35:45.123+09:00 2008-01-18T00:35:45+09:00 のように、XML フィードでよく見かけるものです。ISO8601:2004 が最新の仕様で、日付、時刻、タイムゾーン、期間などが定義されています。Java の jav…

コンピュータ雑誌

最近、紙のコンピュータ雑誌をあまり買わなくなってしまいました。いや、買ってはいるのですが、とりあえず書店から消える前に買って積んでおく、という感じになっています。UNIX, Linux 系雑誌の休刊も相次ぎました。UNIX magazine は読む文章が多かったの…

SBI Business クローズドベータ版メンテナンスのお知らせ

SBI Business のクローズドベータ版を本日 1 月 10 日 17:00 から 18:00 まで、メンテナンスのために停止します。テストにご参加いただいている皆様にはご迷惑おかけいたします。完了次第この場で報告いたします。

Windows Vista + Tomcat Tips

Windows Vista で Tomcat を使うときの備忘録です。 Windows Vista で Tomcat が起動できない。 getRemoteHost() で IPv6 の IP アドレスが返ってくる。 インストーラで Tomcat をインストールすると、%PROGRAMFILES% (通常は C:\Program Files) 以下にイン…

2008年の抱負

今年は、昨年より進めています「人を探す」というテーマで一貫性を持たせ、木に例えると「根」となり「幹」となるサービスを育てていきます。また、待望の技術スタッフの拡充がかないましたので、スタッフのベストを発揮できる体制を作り上げていくのも、今…

mod_proxy で特定のディレクトリを除外する

Apache httpd 2.2 + Tomcat 5.5 の組み合わせでは、mod_jk を使った接続がよく使われていますが、mod_proxy_ajp も経験的に安心して使えるようになってきました。ROOT Web Application への設定を、 <Location /> ProxyPass ajp://hostname:8009/ keepalive=On min=30 ma</location>…

企業として何のプログラミング言語にコミットするか

さまざまな用途向けに、さまざまなプログラミング言語が考案され、日々使われています。コンピュータの能力が低かった時代は、機械語に対応したアセンブリ言語に始まり、ALGOL 系の Pascal, C などに続き、コンピュータの能力や資源に余裕が出始めると、オブ…

Tomcat が終了しない原因の調査 - 前編

shutdown.sh を実行しても Tomcat がきちんと終了せずプロセスが残ってしまうことがたまにあります。原因を探っています。前提知識として JVM はデーモンスレッド以外のスレッドが全て終了した時に終了します。(詳しくは java.lang.Thread の API リファレン…

Java で使える Persistence フレームワーク

Java で使える Persistence フレームワークは数多くあります。それぞれ開発された時期や目的が異なり一長一短です。実際のプロジェクトで利用したことがあるのは、Torque, iBATIS, Hibernate で、評価したことがあるのは、pBenas, Mr. Persister です。後者…

ターゲット年齢に集中

セコンドライフから仮想空間、バーチャルワールドのサイトをいくつか開発されました。この中に成功した物もいくつがあります。それぞれの特徴がありますが、その中の一例として、最近アメリカのニュースにも広がっているクラッブペンギンは「1年でアクセス…

JAXB の簡単な使い方

前回 (http://www.sbirobo.com/2007/11/jaxb.html) の続きです。前回は XML に変換したいクラスにアノテーションで印を付けたところまでやりました。こんな感じでしたね。 @XmlRootElement(name = "config") @XmlType public class Configuration { @XmlAttr…

出荷前のテスト1 - ペネトレーションテスト

何回かに分けて、サービス出荷前のテストについて、公開できる範囲のことを書いていきます。出荷前に見つけられれば重要な欠陥ということで内部処理できますが、出荷後に見つかると致命的な事故が発生する可能性があります。サービスの本番系のネットワーク…

開発のリスク管理について

リスクとは、危機になる前の潜在する損害です。日常の話ですと、明日洗濯しようとすると、雨降るの確率はリスクということですね。システム開発がはじめたから終了するまで、システム自身のバグがあったことと同じようにいくつかのリスクが存在しています。…

The "data" URL scheme と XML へのデータ埋め込み

HTTP のコネクション数を減らすテクニックの一つとして、RFC 2397 の The "data" URL scheme を用いる方法があります。HTML や CSS 中に画像を Base64 エンコードして埋め込むことにより、1コネクションで複数の画像を転送するというわけです。適当な方法で …

Tomcat の catalina.out のローテーション

Tomcat は $CATALINA_HOME/logs 以下に catalina.out という名前で標準出力 (と標準エラー出力) が出力されます。デフォルトではこのファイルにどんどん追記されていくため、気付いたら巨大な ファイルになっていることもありますよね。このようなファイルは…

UTF-8 ドキュメントの BOM を削除する

先日 UTF-8 で記述したシェルスクリプトが実行できないということがありました。BOM が付いていたことが原因だったのですが、その削除に関するメモを残しておきます。BOM の確認は UTF-8 の場合、先頭 3 バイトの 0xEF 0xBB 0xBF を確認します。 $ od -t x1 …

バグの統計について

システムの開発の最後はもちろんリリースになります。システムそれぞれは異なりますが、基本的にいろいろ機能モジュールがあり、それぞれのモジュールの難易さや実装者の技術レベルが異なり、バグ回収作業のアサインは非常に重要なことになります。たとえば…

日本語の単語境界による分解

日本語のテキストを単語に分解するテストをしてみました。まずは java.text.BreakIterator を試してみました。java.text.spi.BreakIteratorProvider に対して、実際の処理を行うサービスを実装していくことになりますが、今回はデフォルトのままです。 impor…

シリアスゲーム

ゲームと言えば、エンタテイメント、お金がかかると言うイメージが出てきましたが、調べて見たら、ゲームやゲーム技術の応用を探る学問で、教育、ヘルスケア、公共政策、経営等、シリアス(深刻)な社会問題に対応もできます。ゲームというメディアの持つ可…

JAXB で構造化データを表現する

Java6 から JAXB が標準で含まれるようになりました。構造を持ったデータを表現できるので、プロパティファイルでは不足していてデータベースでは大袈裟な領域で活躍しそうです。たとえば設定ファイルには適しているのではないでしょうか。JAXB を使えばこん…

Wikipedia オフラインミーティングに参加してきました

Wikipedia のオフラインミーティングに参加してきました。Wikipedia は、利用は GFDL に基づく "フリー" な百科事典ですが、項目を記述するには、色々なルールの下に記述していくことになります。一利用者としては、その辺りの構造が見えにくかったのですが…

Open ID による信用や評価の流通

Open ID を採用するサービスが、徐々に増えてきています。これは、サービスをまたいだ SSO が実現できます。また、利用者にとっては、事業者に個人情報を預けた場合、その情報のコントロールは事業者側にありますが、Open ID では利用者側にコントロールがあ…

Glassfish

What is glass fish ? Few month back Sun microsystem had competition for describing glass fish. Well by this time many of the developers knew what glass fish is all about where as some of us might have started using it. GlassFish is the nam…

Live Search with Java

Microsoft の Live Search API を調べています。基本的には SOAP によるインタフェースで、WSDL ファイルが提供されているので楽勝だと思っていたのですが、しばらく SOAP を使っていなかったため、意外なところで苦労しました。Java で SOAP を使う場合、幾…

OpenSocial

11/2 に正式発表された OpenSocial について、API 仕様をざっと眺めましたが、標準的なメタデータ規格と Google data API とが、きれいにまとまっている内容でした。Javascript API はこれから読みます。自分のデータの制御を、向こう側からこちら側に取り戻…

新しい価値観に対して

新しい価値観に対して、古い価値観をフル動員して否定する、ということに陥ると新しいことはできません。自分の価値観に対して違和感があった場合、何がそう感じさせているのか?ちょっとした条件を変えれば良いだけではないか?と考えてみます。森田::

サービス開発導入のための14ステップ

サービスの戦略ターゲット/ゴールの定義や、ユーザーへのプロモーション施策の定義が終わっているとして、その後に続く開発導入プロセスを、14のステップでまとめてみました。 サービス要件定義 サービスで提供するコンテンツと機能の範囲を定義します。 サ…