Fedora7/Javaインストール

久しぶりのFedora7へのインストール。
最近Javaを習い始めたので早速開発できるようにインストールしました。

とはいっても、アプリケーション→ソフトウェアの追加/削除から
開発→Java開発にチェックを入れて適用ボタンを押すだけ。

短すぎるのでテスト用に書いたHelloWorldのコードでも。。。

class helloworld{
	public static void main(String[] args){
		System.out.println("Hello, java");
	}
}

コンパイル

javac helloworld.java

.classのついたファイルができるので

java helloworld

で実行。

MySQL/コメント

久しぶりにSQL文を書くことになったので大まかな文法さえ忘れていました。
コメントさえも。。。

結論から言うと、MySQLにおけるコメントは

# コメント
/*
コメント
*/

のように#から行末までと、/*から*/までがコメントとして扱われます。

ただし、「SQL コメント」で検索してよく出てくる、--から行末までと言うコメント構文はMySQLではサポートされていないようです。
ANSI SQLや、他のSQLではサポートされているようなので検索に引っかかるみたいだけど、MySQLを使ってて、(コメント以外の)文法が正しいのになんで文法エラーなんだーー!と、何時間もかけて悩むことが二度と無いように。。。

参考:MySQL日本語ドキュメント
http://www.mysql.gr.jp/Manual/mysql-4.00.12/manual.ja_Reference.html#Comments

Fedora7/Javaアプレットを動かす

FedoraFirefoxJavaアプレットを使用できるようにします。

まずは
http://java.com/ja/download/linux_manual.jsp?locale=ja&host=java.com
ここでJava Runtime Environmentのrpmパッケージをダウンロード。

# rpm -ivh jre-6u2-linux-i586.rpm

でインストール。

次に、/usr/lib/firefox-2.0.0.5/plugin/ に移動して、

# ln -s /usr/java/jre1.6.0_02/plugin/i386/ns7/libjavaplugin_oji.so

これでシンボリックリンクを作成するとJavaアプレットが使えるようになります。

ただし、このままでは日本語が□□□のように文字化けしてしまうので、
/usr/java/jre1.6.0_02/lib/fonts/ に移動して、

# mkdir fallback
# cd fallback/
# ln -s /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
# ln -s /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf

のように、fallbackディレクトリを作成後、そこに日本語フォントへのリンクを作成します。

以上でFirefoxを再起動することで日本語が正しく表示されるようになります。

参考:
http://bbs.fedora.jp/read.php?FID=8&TID=1479

Fedora7/ドメイン取得

前回、ApacheCGIの実行とユーザごとのディレクトリの公開が出来るようになったので、次はドメインを取得します。

接続環境がBフレッツで、IPアドレスDHCPによって自動的に割り振られていて、接続のたびにIPアドレスが変わるのでサーバとしては不向きですが、そのような環境でもサーバを立てられるようにと各所で紹介されていたのが、
http://www.no-ip.com/
このサイト。
ドメインを取得してしまえば、接続のたびに変わってしまうIPアドレスDNSに登録してくれるツールを配布しているのでとても便利です。
ドメイン取得については
http://www.miloweb.net/dns.html
このサイトを参照。

ツールに関してはWindows版、Mac版、Linux版とあるようですが、もちろんLinux版のファイルをダウンロードしてインストール。
http://web-lab.zapto.org/~torachi/wiki/wiki.cgi?page=noip2
こちらにインストールについての詳細があるのでほぼ同じように設定。
以上でドメイン取得まで終わりました。

ソフトウェア開発技術者試験/待ち行列理論

ソフトウェア開発技術者試験に合格するために、一番難しいと思った待ち行列理論に関する問題を解くために、どこまで簡潔にまとめられるのか挑戦。
たぶんM/M/1だけで充分だろうということで。。。

まずは覚えておくべきこと。

ここまで覚えたら利用率(ρ)の計算
結論は\rho=\frac{\frac{1}{\mu}}{\frac{1}{\lambda}}=\frac{\lambda}{\mu}
となり、単位時間あたりに到着するトランザクションを、単位時間あたりにサービス可能なトランザクション数で割ったものになります。

利用率の求め方が分かったらあとはそれをつかった他の公式を覚えるだけ。

トランザクションの待ち時間

  • 平均待ち時間(W_q):サービスを受けている時間を除いた時間
  • 平均応答時間(W_w):サービスを受けている時間を含めた時間

であり、
W_q=\frac{\rho}{1-\rho}\times\frac{1}{\mu}
W_w=W_q+\frac{1}{\mu}=\frac{1}{1-\rho}\times\frac{1}{\mu}

待ち行列の長さ

であり、
L_q=\frac{\rho^2}{1-\rho}
L_w=\frac{\rho}{1-\rho}

となります。

結局待ち行列理論に関しても暗記になっちゃうけど、、、あとは練習あるのみ!?

Apache設定の続き/CGI/一般ユーザのディレクトリ公開

前回ApacheでHTTPサーバを立てることができたので今回はその続きで、CGIを使用可能にし、一般ユーザのディレクトリを公開できるように設定します。

まずはSELinuxの設定
システム→管理→SELinux Managementを起動して
BooleanのHTTPD Serviceの中の項目

にチェックが入っていることを確認。

次に設定ファイル/etc/httpd/conf/httpd.confの設定
cgiを動作するようにするには使用したいディレクトリのディレクティブで

Options ExecCGI

拡張子に関連付けるために

AddHandler .cgi .pl

を記述。(これで.cgi と .plのファイルがCGIとして認識される)

ユーザごとのディレクトリを公開するためには、
セクションの中の

UserDir disable

UserDir public_html

に変更。
これでhttp://(ホスト名)/~(ユーザ名)でアクセスできるようになります。

また、cgiスクリプトを置く時の注意点として、置くディレクトリの書き込み権限を自分だけにしておき、CGIスクリプトの実行権限を自分だけにしておかないと、Fedora7にデフォルトでインストールされているsuEXECのせいで実行できないようです。

Fedora7/Apache導入・ネットワーク設定

Fedora7でApacheが動くことを確認できたのでメモメモ

ApacheはFedora7のインストール時にインストール済み。
ルータは以前にも書いたとおりバッファロー社製のBBR-4HG

Apacheはすでにインストール済みなので

# service httpd start

Apacheを起動。

外部からアクセスできるようにまずはファイアウォールの設定では、
システム→管理→FireWall and SELinux
から信頼できるサービスのWWW(HTTP)にチェックを入れて保存

次にルータの設定
ルータのIPアドレス192.168.11.1にアクセスして
ネットワーク設定→アドレス変換→アドレス変換ルールを入力 で
80番のTCPポートへのアクセスをLAN側のFedora機のIPアドレスに設定

以上で、Fedora機、同じルータにつないでいるWindows機両方からWAN側のIPアドレスでアクセスできることを確認。
Fedora機からはもちろんlocalhostでアクセス可能、また、両方からLAN側のIPアドレスでアクセス可能。

とりあえず、初期の設定のままでcgiは使えず、PHPは使えるようです。