[@IT] コラムニスト交流会に参加しました

現在、@IT自分戦略研究所内のエンジニアライフというコーナーでコラムを書かせていただいています。今日はそのコラムニストの交流会というものをアイティメディアさんが企画し、私も参加してきました。

コラムで何かを表現されようという方々なので、やはりどの方もそれなりに癖があるというか、個性的な方が多かったように思います。私なんかそういう意味では凡人ですね(笑)

インパクト的にはコラムニスト牛吉さんの「その場で作成!手書き名刺」が素敵でした。

正直、あまり他の方のコラムは読んでなかったりするのですが、これを機に?いろんな方のコラムを読んでみようかなと思いました。皆さんも是非どうぞ。

ちなみに私のコラムは

IT研修インストラクターの日常

です。こちらもよろしくお願いいたします。

[雑記] ウィルスバスター2009を入れたらネットに繋がらなくなった?

今週月曜に出社してみたら、PCがネットワークに繋がらなかった、というのは月曜のエントリに書いたとおりなのですが、どうも原因が分かってきました。

はじめは、機械の故障かと思っていろいろと試したのですが、システムの復元をしたら直ったわけなんですが、実は、弊社ではウィルス対策ソフトにウィルスバスターを使っているのですが、先週の水曜に出社した際、ウィルスバスター2009が出ているのを知り、アップグレードしていました。

月曜日にシステムの復元をした際、ウィルスバスター2009を入れる前、かつウィルスバスター2008をアンインストールした時点まで戻ってしまっていたので、火曜日にまた再びウィルスバスター2009をインストールして、 帰宅しました。

すると今日、やはりネットワークに繋がりません。ウィルスバスター2009をアンインストールして再起動すると、やっぱり繋がります。

何か、私のPC(イーサネット)とウィルスバスターのファイアーウォールか何かの相性が悪いのかもしれません。いろいろ試してみて、また進展があったらリポートします。

[Java][フリー教材] フリー教材 Webアプリ編 4,500ダウンロード突破しました

2007/2/27に公開をはじめましたフリー教材「Web アプリケーション開発基礎」ですが、おかげさまで、10/5までの集計でダウンロード数が「4,500件」(PDF3,019件、ODP1,481件)となりま し た。いつも多くの方にご覧頂きまして、誠にありがとうございます。教材に対するご意見、ご感想、ご要望、間違いのご指摘などございましたら、弊社HPのお 問い合わせフォームや、こちらのブログへのコメントでも結構ですので、どうぞよろしくお願いいたします。

また、コンテンツにご興味をお持ちの方には、これらのコンテンツをベースとしたカスタマイズコースの開催も可能ですので、どうぞお気軽にお問い合わせください。

さらに、いくつかの教材の公開も検討しておりますので、どうぞお楽しみに!

フリー教材のページはこちらです。

[雑記] マシントラブル

出社してPC(WindowsXP)を起動したら、ネットワークに繋がらなくなっていました。会社の他のPCは問題なく繋がっているので、自分用のPCだけの問題らしいとわかり、とりあえず、いろいろ調べてみたところ、どうもイーサネットのコネクタが故障してしまったようでした。自分用のPCがネットワークに繋がらないと、どうにも仕事にならないので、仕方なく、川崎へ代わりの部品を買いに行きました。買ってきた部品をつけてみて、いろいろ試したのですがどうにも直りません。直らないどころか、いろいろしているうちにだんだん調子が悪くなっていくような感じです。

結局、セーフモード で起動して、「システムの復元」を使って前回出社したときの状態に戻したところ、なんとか直りましたが・・・。気がついてみると夕方の5時を過ぎていました。

ほとんど何もできず1日終わってしまったようなものです。もったいない。

[Java] FullGCの起きないアプリケーションサーバ?

@ITのニュースで見たのですが、日立が「Full GCの起きないアプリケーションサーバ」を発売するそうです。それはすごい。

@IT News Insightより、

「Cosminexus Version 8」発表
日立がアプリサーバ新版、Full GC回避し「世界を止めない」

私は、Java関係の研修で、たまにJavaのJVMオプションによるチューニングとかGCの動作なんかについて扱うこともあるのですが、Full GCの発生によるStop The Worldを回避するには、ヒープメモリの最大値(-Xmx)を増やすとか、オブジェクトリークを最小限にするよう(いらなくなったらすぐGCにかかるように)コーディングを工夫するとか、複数CPUマシンならコンカレントコレクタ(-XX:+UseConcMarkSweepGC)を使ってGCをアプリケーションスレッドと並列で走らせるとか、いくつかの方策が考えられると思うのですが、このアプリサーバはJVMの基本的な仕組みに手を入れる形で解決を試みているのですね。特定のオブジェクトを、ヒープとは別のメモリに格納するというのは、かなり大胆な発想といえそうです。

記事ではセッションオブジェクトに注目しているようですが、確かに、同時ユーザー数が多ければ、セッションオブジェクトの量もそれにつれて多くなりますので、比較的小さい容量に設定することが多いYoung世代(記事ではNew領域)はすぐに溢れ、Tenured世代(記事ではOld領域)に多くのオブジェクトが溜まっていくことが考えられます。Tenured世代はコンカレントコレクタなどの特殊な方式を使わない限りは、Tenured全体が溢れてFull GCが起こるまでは消費量が減ることはありません。オブジェクトが溢れるまでじっと待ちつづけるのではなく、ユーザーがログアウトして不要になったセッションオブジェクトを、その時々で消去していくことができれば、確かに、Full GCは起こりにくくなると言えそうです。非常にアグレッシブな方法ですね。

あとは、私のヘボな思いつきですと、Young世代の大きさを(-Xmnとかで)かなり大きくしておいて、マイナーコレクションをたくさん発生させて凌ぐ(マイナーコレクションの実施コストはFull GCと比べて格段に少ないので、多少回数が多くても、Full GCに比べればコストは少ないのでは?と思う)とか、セッションオブジェクト自体をプーリングして一定数以上のオブジェクトが作られないようにするとか(とはいえセッションオブジェクト自体を再利用したところで、セッションオブジェクト内に格納しているデータを初期化していたら、結局、それまで使っていた情報が不要オブジェクトとして溜まっていきそうなのでダメっぽいですかね)、ありそうですけど・・・。

日立のこのアプリサーバは、そういうチューニング的なことをしなくても、ただただ普通にコードを組むだけで、Full GCを回避してくれる、面倒見のいいアプリサーバを目指しているのでしょうね。

[@IT] エンジニアライフにコラムを投稿しました

@IT自分戦略研究所のエンジニアライフに新しいコラムを投稿しました。是非ご覧ください。

IT研修インストラクターは、定時で帰れる楽な仕事?

大変さばかりアピールするのもつまらないので、次は面白みややりがいについても書くつもりです。お楽しみに。

[Java] Eclipseを久々にインストールしました

Javaの研修では演習でEclipseを使うことが当然多いのですが、最新のEclipseを使うものはあまりなくて、あっても既にインストール済みの研修環境で講師をすることがほとんどだったので、自分で最新のEclipseをインストールするのは、実は久しぶりでした。

インストーラがなくて、zipファイルを展開して、 っていうところは以前と変わりないのですが、日本語化については結構変化がありますね。まず、3.2くらいまでは普通に提供されていたLanguage Packが最新バージョン(3.4)では提供されなくなっていて、サードパーティ(Unofficialということでしょうか?)からしか提供されていないことにちょっと驚きました。eclipse.orgをいくら探しても、Language Packがないのです(もしかすると、私の探し方が悪いのかもしれません)。

開発環境のインストール方法を知りたいという受講者の方も多いので、ここらでまたそのあたり、ウォッチし直さないといけないようです。そして、フリー教材をはじめとする弊社提供のコンテンツも、そろそろ最新バージョンに追従しないといけないかもしれないですね。とはいえ、基本操作はほとんど変わらないのですが・・・。