December 2004アーカイブ

暮れのご挨拶

| コメント(0) | このエントリーを含むはてなブックマーク

今年一年はいろいろとお世話になりましてどうもありがとうございました。
今年はプロジェクトマネジメントを学びました。情報処理技術者試験でプロマネは惜しくも不合格でしたが、自分にとっては非常にプラスに発展しました。
今年は経営について学びました。企業を運営するために最も重要なリソースは何か、肌で体験することが出来ました。
今年は組込み系開発について学びました。これまでのオープン系との違いを身をもって認識しました。
今年は転職を意識しました。自分のキャリアパスを真剣に考えました。
今年はドラッカーと出会いました。自分の価値観が変わった気がします。
今年は世界の中心で愛を叫ぶ(TVドラマ)を見てたくさん泣きました。負けず嫌いを容認できるようになりました。
今年は起業することを選択肢の一つと考えました。世の中を変えられそうな気持ちになったとき、とてもわくわくしました。

来年はかなり露出を増やして、どんどんアピールしていきたいと思います。私は幸いにして、世界で通用できるスキルを持っています。それを活用しない手はないでしょう。そして、私は自分の進みたい方向へ一歩、また一歩と進みます。私はおそらくこの業界では後発です。しかし皆さんに追いつくことは出来ます。そして追い越して見せます。
来年もより一層のご愛顧を賜りたく、努力する所存でございます。何卒宜しくお願い申し上げます。
最後に皆様のご健康とご多幸をお祈り申し上げます。
それでは良いお年を。

LDAP

| コメント(0) | このエントリーを含むはてなブックマーク

LDAP linux HOWTO
LDAPを立てるかどうかは判らないが、備忘録としてエントリしておく。

カスタムタグ

| コメント(0) | このエントリーを含むはてなブックマーク

Ash Multimedia lab.のJavaのHello World!カスタムタグ
こちらはカスタムタグを簡単に理解するための導入編としては非常に良いと思う。
タグライブラリについてはSunのJavaServer Pages Standard Tag Libraryで、カスタムタグに関する仕様についてはSunのサイトDevelopment with JSP and XML-- Part III: Developing JSP Custom Tagsが良いかもしれません。

JavaでHello WorldJavaDeveloper連載などのサイトも内容充実です。

Google Sponsoredlinks

| コメント(0) | このエントリーを含むはてなブックマーク

miyagawaさんのブログエントリから。

キーワードを指定して AdWords に登録されている広告の検索ができます。

http://www.google.co.jp/sponsoredlinksを指定すれば日本でもOK。競合企業の検索にはうってつけ。

情報のギブアンドテイクについてメールで友人とやりとりした。良いこと言ったなぁと思ったので、メモしておこう。


友人:キーワードは情報の交換ですね。こっちも知識を与えないと、おしえてクンばっかりぢゃだめだから。

私:外に知識を出すことで、自分がさらに学ぶことにつながります。おそらく何かを知るためにも最も良いのは、人にそれを教えることだと思います。相手は”教えて君”になっているから、こっちがそれ以上の知識を持っていないと敵わない。それを意識的に行うことで、周りから見ると、「アイツは有益な情報をもっているよね」ってことになるし、こっちはその分もっと知識がアップすることになる。
 さらにスキルに付随するコミュニティっていうのは最終的には友が友を呼ぶので、気がつくと最高のレベルの人と肩を並べることも可能だ。つまりは自分を磨きつづけるために、情報発信を絶えず行うことこそ、有益な情報を常に得つづけるポイントだと言うことです。やはり議論が成立するような人と会話したいもんね。
 と、私は思うので、来年からはもっと外の世界に飛び出す予定です。世界に名前が知れるようになりたいもんね。折角、世界で通用する技術を持っているんだから。

UDDI

| コメント(0) | このエントリーを含むはてなブックマーク

観光情報Webサービス実証プロジェクト成果 公開資料(2004.4.2)
Webサービスはセキュリティ面でのワーキングがまとまらない状況でありながらも、徐々に浸透してきている。特にAmazon.comやGoogleといったAPI公開による功績は大きい。私はSOAPが出てきた当初からUDDIリポジトリの公開によるASPサービスは一つのビジネスであると考えていた。現実的にはNTTデータやmicrosoftといった巨大企業が無料でUDDIリポジトリを公開しているので、それをビジネスとして扱うことが可能かは不透明だ。しかし少なくとも企業単位によるプライベートUDDIリポジトリの公開のニーズはある。昨今、ようやくXML データベースの実用性が高まってきた。そろそろ構築していっても良いと思う。
UDDIについてはUDDI - Webサービスのレジストリ -が良いだろうか。

Read TOC/PMA/ATIP

| コメント(0) | このエントリーを含むはてなブックマーク

媒体の種類を取るのに、GET CONFIGURATIONコマンドもあるが、Read TOC/PMA/ATIPコマンドでもそれは可能である。
ググったら、こんなサイトに出会った。さすがはLinux。
Index: linux-2.6.7-ck/Documentation/cdrom/00-INDEXのpkt_media_speed()関数で次のようにしている。


/*
* reads the maximum media speed from ATIP
*/
static int pkt_media_speed(struct pktcdvd_device *pd, unsigned *speed)
{
struct packet_command cgc;
struct request_sense sense;
unsigned char buf[64];
unsigned int size, st, sp;
int ret;

init_cdrom_command(&cgc, buf, 2, CGC_DATA_READ);
cgc.sense = &sense;
cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP;
cgc.cmd[1] = 2;
cgc.cmd[2] = 4; /* READ ATIP */
cgc.cmd[8] = 2;
ret = pkt_generic_packet(pd, &cgc);
if (ret) {
pkt_dump_sense(&cgc);
return ret;
}
size = ((unsigned int) buf[0]<<8) + buf[1] + 2;
if (size > sizeof(buf))
size = sizeof(buf);

init_cdrom_command(&cgc, buf, size, CGC_DATA_READ);
cgc.sense = &sense;
cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP;
cgc.cmd[1] = 2;
cgc.cmd[2] = 4;
cgc.cmd[8] = size;
ret = pkt_generic_packet(pd, &cgc);
if (ret) {
pkt_dump_sense(&cgc);
return ret;
}

if (!buf[6] & 0x40) {
printk("pktcdvd: Disc type is not CD-RW\n");
return 1;
}
if (!buf[6] & 0x4) {
printk("pktcdvd: A1 values on media are not valid, maybe not CDRW?\n");
return 1;
}

st = (buf[6] >> 3) & 0x7; /* disc sub-type */

sp = buf[16] & 0xf; /* max speed from ATIP A1 field */

/* Info from cdrecord */
switch (st) {
case 0: /* standard speed */
*speed = clv_to_speed[sp];
break;
case 1: /* high speed */
*speed = hs_clv_to_speed[sp];
break;
case 2: /* ultra high speed */
*speed = us_clv_to_speed[sp];
break;
default:
printk("pktcdvd: Unknown disc sub-type %d\n",st);
return 1;
}
if (*speed) {
printk("pktcdvd: Max. media speed: %d\n",*speed);
return 0;
} else {
printk("pktcdvd: Unknown speed %d for sub-type %d\n",sp,st);
return 1;
}
}


GET CONFIGURATIONコマンドはCD-RWの速度(Normal/High/Ultra)が取れないので、そのくらいの粒度が必要な場合に使える。
また、buffer[6]の落とし方次第で以下のようにも取れる(ようだ)。実際に試していないけど。(w試したら、全然違ったわい!

switch ((buffer[6] >> 6) & 0x01)
{
case 0: // CD-R
case 1: // CD-RW-NS
case 2: // CD-RW-HS
case 3: // CD-RW-US
case 4: // DVD-R
case 5: // DVD-RW
case 6: // DVD+R
case 7: // DVD+RW
}

ユーザ定義型

| コメント(0) | このエントリーを含むはてなブックマーク

ユーザー定義変換のチュートリアル
ユーザ定義型を作ってみた。キーワードは、struct・operator・implicit・explicitといったところだろうか。これはまだまだ理解できない部分があるし、面倒だ。自作したために保証できない面が大きいし、リスク高いなぁ、これ。

C# Tips-usingを使え、使えったら使え(^^)-


public void Func() {
using (FileStream fs = new FileStream("test.txt", FileMode.Read)) {
using (StreamReader sr = new StreamReader(fs)) {
// 処理する
}
}
}

このコードは下記のコードとまったく同じ意味です。実際、これらのコードのILを見比べると100%まったく同じです。


public void Func() {
FileStream fs = new FileStream("test.txt", FileMode.Read);
try {
StreamReader sr = new StreamReader(fs);
try {
// 処理する
}
finally {
if (sr != null) {
sr.Dispose();
}
}
}
finally {
if (fs != null) {
fs.Dispose();
}
}
}


ということなんですよ。興味深いなぁ。知らなかったなぁ、usingにこんな機能があるなんて。System.Windows.Forms.FormクラスももちろんIDisposableインターフェースが組み込まれているわけですが、例えば次のようなことをやると、即Dispose()メソッドが走ります。気をつけてね。(w

public class Form1 : System.Windows.Forms.Form
{
}

public class Sample
{
using(Form1 form = new Form1())
{
form.Show();
}
// 上のブロックが終わるときにDispose()が走るので、
// 折角ShowしたFormが消えるのだ。(w
}

ポート番号一覧

| コメント(0) | このエントリーを含むはてなブックマーク

2004/12/05に、Microsoft Windows Server System : ポート番号一覧をExcel形式でダウンロードできます。今何故ポート番号を公開するのか?セキュリティ関連があるからこそでしょうね。80番と443番だけあけて、あとは閉じるのがベターかな。

この Excel のシートは、マイクロソフトの製品・サービスプログラムが利用しているネットワークのポート番号を参照することができます。Windows Server を採用したシステムにおける利用状況などを一覧で確認することができます。

divコンテナのid/clss属性

| コメント(1) | このエントリーを含むはてなブックマーク

cssで記述するときに、id属性に対しては#を使い、class属性に対しては.で表現する。


#container {
width:400px;
}
.links {
width: 200px;
}


<div id="container"></div>
<div class="links"></div>

ということなのでしょう。ウラを取ってないけど。w

Apache Forrest

| コメント(0) | このエントリーを含むはてなブックマーク

apache forrest 0.6を試した。(apache-forrest-0.6.zip)
環境変数FORREST_HOMEとPATHを設定(FORREST_HOMEは、C:\Documents and Settingsのようなスペース入りの値は避けるべき)
カレントディレクトリをforrestのトップディレクトリ(c:\home\apache-forrest-0.6など)へ移動してからコマンドを実行することになる。
ためしに、コマンドプロンプトから"forrest -projecthelp"を実行
サーバを起動するときに、"forrest run"を実行
デフォルトではhttp://localhost:8888/でアクセスできる。
簡単っ!

virtualメソッド

| コメント(0) | このエントリーを含むはてなブックマーク

10.5.3 仮想メソッド

仮想メソッドと非仮想メソッドの違いを次の例で示します。

using System;
class A
{
public void F() { Console.WriteLine("A.F"); }
public virtual void G() { Console.WriteLine("A.G"); }
}
class B: A
{
new public void F() { Console.WriteLine("B.F"); }
public override void G() { Console.WriteLine("B.G"); }
}
class Test
{
static void Main() {
B b = new B();
A a = b;
a.F();
b.F();
a.G();
b.G();
}
}

この例では、A は非仮想メソッド F および仮想メソッド G を導入します。クラス B は新規の非仮想メソッド F を導入します。これにより、継承された F は隠ぺいされ、かつ、継承されたメソッド G はオーバーライドされます。この例では、次のように出力されます。

A.F
B.F
B.G
B.G

なるほどね。でも親クラス(派生元)に対して、子クラス(派生先)のオブジェクトを突っ込むケースあるかなぁ。私の場合、抽象クラスなり抽象メソッドなり、abstractを使ってしまうことの方が多いんだけどなぁ。

MSF/LBA

| コメント(0) | このエントリーを含むはてなブックマーク

Mt.Fuji Ver.5 Rev.1.5より引用

Table 491 - LBA to MSF translation (CD)

conditionFormulae
-150 ≤ LBA ≤ 404849 M = IP( (LBA + 150) / (60 ⋅ 75) )
S = IP( (LBA + 150 - (M ⋅ 60 ⋅ 75) ) / 75 )
F = IP( LBA + 150 - (M ⋅ 60 ⋅ 75) - (S ⋅ 75) )
-45150 ≤ LBA ≤ -151M = IP( (LBA + 450150) / (60 ⋅ 75) )
S = IP( (LBA + 450150 - (M ⋅ 60 ⋅ 75) ) / 75 )
F = IP( LBA + 450150 - (M ⋅ 60 ⋅ 75) - (S ⋅ 75) )
00/00/00 ≤ MSF ≤ 89/59/74LBA = (M⋅ 60 + S) ⋅ 75 + F - 150
90/00/00 ≤ MSF ≤ 99/59/74 LBA = (M⋅ 60 + S) ⋅ 75 + F - 450150

ちなみにPSNは、PSN=LBA+150。

jCharts

| コメント(0) | このエントリーを含むはてなブックマーク

jChartはグラフライブラリ。sourceforgeなのでフリーなのだろうな。ちょっと使ってみたいと思う。

firefox関連

| コメント(0) | このエントリーを含むはてなブックマーク

最近のお気に入り。


Theme

Saferfox Xpanded 2.3.1

extention

Bookmark Synchronizer
WeatherFox

Derby

| コメント(0) | このエントリーを含むはてなブックマーク

ApacheBlogのサイトにいったら、Derbyってあるから訳もわからずにダウンロードしてみたけど、ググってみたら、何よ、Cloudscapeのことかね!?待ってたんだよなぁ。w
http://japan.linux.com/enterprise/04/09/02/0216213.shtml

フォントの話

| コメント(0) | このエントリーを含むはてなブックマーク

@ITの転職研究室コラム 一歩上いく英文履歴書の書き方、使い方(4)でフォントの歴史やその適正が書かれていた。非常に興味深い内容だったので、引用しておきたい。

欧文フォントには、大きく分けて2種類の書体が用いられます。1つはセリフ(Serif)体、もう1つはサンセリフ(Sans Serif)体です。これらはそれぞれ和文フォントの明朝体とゴシック体に相当するもので、前者の代表的なものにはTimes New RomanやCenturyが、後者の代表的なものにはHelvetica、Arial、Universeがあります。

Centuryで書かれた英文は、欧米人がよく利用するTimes New Romanなどと比べて、洗練されていない印象を与えるうえに、文字をボールドやイタリックにした場合の効果もあまりきれいには出ません。もし、 Centuryを使用して英文履歴書を書いているのであれば、Times New Romanに変えた方がよいでしょう。

Garamondはフランス、Universeはオランダ、Bodoniはイタリアで生また活字が基になっています。

最も古い書体であるブラックレター(Blackletter)体を、ドイツや第2次世界大戦中にドイツの占領下にあった国に見せる文書に使用することはタブーです。

サンセリフの傑作であるFuturaも使えない場合があります。これはFuturaがたまたまナチスドイツで生まれたためです。

欧米のビジネス文書によく使われるのはTimes New Romanです。

サンセリフではArialとHelveticaがよく使用されます。

一般の文書ではHelveticaよりArialの方がよく使用され、ほとんどの欧米人は何も気にせずArialを使っています。

Helveticaを販売する会社に金を払いたくない人間が、Helveticaにソックリなフォントを作ってArialと名付けたという事情があります。そのため欧米人でも日本人でも、デザインを職業にしている人の中にはArialの使用を嫌う人がいます。

ウェブでフォントを使うときに見た目のイメージだけで考えていましたが、それは誤りであることがよくわかりました。標準なものを使うようにして、ユーザからの要らぬ怒りを買わないようにしたいと思います。

構成ファイル

| コメント(0) | このエントリーを含むはてなブックマーク

.NET Framework 開発者ガイド 構成ファイルにありますが、.NETでは拡張子.configのXMLファイルによって、ライブラリの参照位置などを決めることができます。つまり、コンパイルしなくても諸設定の変更が可能ということです。ご参考まで。

Tomcat5.5

| コメント(0) | このエントリーを含むはてなブックマーク

備忘録。


  1. Java5のJREをSunからダウンロードしインストール。

  2. 環境変数にJAVA_HOMEを設定。

  3. jakarta-tomcat-5.5.4.exe(Windowsインストーラ版)をダウンロードしインストール。インストール時、カスタム設定で、Service以外にすべてチェックを入れた。

  4. インストール後、http://127.0.0.1/8080/でアクセスし、トップページが表示されることを確認。さらにJSPサンプルも動作した。

  5. jakarta-tomcat-5.5.4-admin.zipをダウンロードしインストール。それぞれのファイルをCATALINA_HOMEへファイルコピーしただけ。http://127.0.0.1:8080/admin/でAdministrator Toolにアクセスすることが出来た。


ちなみにまだJ2SEは入れていない。JREのみ。

しかし簡単になりましたねぇ。Administrator ToolにはDBやSMTPサーバへの参照もあり、なかなかのもの。CGIやSSIも使えるらしいので、これらの機能がどれほどの威力なのか知りたいですね。

blog.s14u.info

| コメント(0) | このエントリーを含むはてなブックマーク

http://blog.s14u.infoでアクセス可能になった。少々の紆余曲折。うまく出来た。

Maven

| コメント(0) | このエントリーを含むはてなブックマーク

jakartamavenの利用価値を見てみようと思った。mavenはjarファイルを自動取得してくれる仕組みなのか、な?今の時点での利用価値はあまりないけど、フレームワークを多用することになったら必要アリかもね。自動取得ではなく、自動通知だけで良いんだけどなぁ。。。

ウェブアプリケーションのアプリケーションサーバを検討するに当たり、言語をどうしようかとか考えていた。Perl、PHP、Ruby、Java、ASPなど色々あるけれども、どうやらApache Jakarta Tomcatが最も導入しやすいようだ。Javaはこの頃ある時期に比べて、話題性は落ち着いてきた。逆に言えば安定してきたということも言えるであろう。Strutsなどのフレームワークの親和性も考えて、Tomcatを選択するのは妥当な気がする。Javaも得意な言語の一つだし、第一弾はJava、Tomcatを考えたい。

狙い

| コメント(0) | このエントリーを含むはてなブックマーク

業界第2位(オリコンでは初登場第7位、5週連続第7位)くらいのポジションが最もエキサイティングで、安定したポジションのような気がする。この辺りを狙いたい。

開封確認

| コメント(0) | このエントリーを含むはてなブックマーク

相手がメールを読んだか確認したい
メールの開封確認についてメールヘッダに何か設定されているのかと思ったが、やっぱりそうだった。

メールのヘッダに"Disposition-Notification-To""X-Confirm-Reading-To"というヘッダフィールドを付けることで実現されています。

P3P

| コメント(0) | このエントリーを含むはてなブックマーク

財団法人インターネット協会にてP3Pの調査・研究・システム開発プロジェクトがある。P3Pの是非に関して、自身での検討が進んでいないため、必ずしも推奨するわけではないが、昨今からあるセキュリティ関連の話題として忘れないようにメモしておきたい。

Microsoftのアプリケーションサーバという記事で次のセンテンスが気になったので、メモ。

Amazon.com では当初アプリケーション サーバーを利用せずにサイトを構築したが、徐々に“社内開発”のアプローチを捨て、BEA WebLogic へ移行した。

へぇ~、Amazon.com ってJ2EEで動いてんだ。ちなみにBEA WebLogicはJ2EEだ。

XBRL

| コメント(0) | このエントリーを含むはてなブックマーク

なんかいろいろとサイトを見ていたら、XBRLにヒットした。XBRL Japanで日本語の情報を公開している。XMLでの表現はEDIの関係からみても有用だが、共通化する部分にかなりの時間を必要とするんだよね。提供側(開発側)とエンドユーザの間の発想の違いですよね。開発側から見ればCSVだけではなく、XBRLでもインポート/エクスポートできるようにしておいた方が付加価値があるじゃないか?と思うのですが、エンドユーザから見ればわざわざそのコストを導入しなくても今の資産があるから必要ない、なんてことになる。業界全体での取り組みが必要ですね。

ブログ一覧

| コメント(0) | このエントリーを含むはてなブックマーク

とらっくばっくる-インストール型ブログツール一覧が役立つ。言語及びDBの要否が分かるのは助かる。MovableType以外にも別のブログサイトを立ち上げたいと思っていたので。

Blogtimes

| コメント(0) | このエントリーを含むはてなブックマーク

Blogtimesを導入した。GD perl moduleが必要とBlogtimesのNilesh Chaudhari氏は言っているが、XREA.COMではすでにGD.pmが導入されているということで、MovableTypeのpluginsディレクトリにBlogtimes.plを置いて、MovableTypeを再構築すれば完了となる。

MT Wiki

| コメント(0) | このエントリーを含むはてなブックマーク

MT Wikiというサイトを発見。Template Tagなど利用方法が細かく掲載されたサイトを探していたところだった。Wikiはこういうことをするのに向いているね。

コマンド発行

| コメント(0) | このエントリーを含むはてなブックマーク

testunitreadyで生存確認をして、startstopunitで起動。

ITMediaのサイトにMovableTypeの設定について記事があった。
dev blog/CMS ツール:MovableType 3

ここでは、例としてレンタルサーバ「XREA」にMovableTypeをインストールする例を挙げる

おかげでうまくコメントも追加できるし、おまけに最新のMovableTypeが動くし、助かりました。ありがとうITMedia。