適当に・・・

何の目的も無くブログを立ち上げてみました。更新は不定期ですね。

java フレームワーク

2009年09月23日 00時09分48秒 | JAVA
java のフレームワークを
使った仕事をやることになった。

しっかり勉強してないのと、今の環境が
エディタでゴリゴリ、生のソースコードを
書いてリリースみたいな仕事をやってたので
相当ヤベー

世の中から相当遅れた感がある。


struts = プレゼンテーション層とコントロール層担当
spring = ビジネスロジック層とデータベース層を担当
o/rマッパはspringにくっついてる?Hibanateを使用

springのウリのDIコンテナってーナニ?w
依存性注入コンテナ?わけわからん。

とりあえずstrutsと
springを触らなければ・・・・orz
半月で覚えられるのか?w

じゃ早速と思ってマシンを立ち上げたら・・・
・・・・・・
モニターつかない。www
こういう時間の無いときに限って
amazonでお急ぎ便で
ベンキュー BenQ 24型 LCDワイドモニタを購入。
急な出費が痛い。まー2万ぐらいだからな。
モニターも大きくなったし。

そして、Oh No~
使うtomcat のバージョンすら変わってるw
tomcat4じゃなくtomcat5ですってよー

作法がようわからん。

struts1系のサンプルをダウンロードしてきて
{tomcat_base}/webappsの下に.warファイルを突っ込む
tomcatを起動する。
これは動く。

コンテキストパスを変更したい。
server.xmlにcontext path=の記述を書く。
すでにこれが間違い。
tomcat5系からなのか?

{tomcat_base}/conf/Catalina/ホスト名/の下に
対象のコンテキストパス.xml見たいな物を作るらしい。
({tomcat_base}/conf/server.xml の Host に Context タグを一つでも入れると、
{tomcat_base}/conf/Catalina/ホスト名 に入れた xml で定義した Context はロードされないらしい。コレはまるだろ。。。)

サンプルにstruts-test.xmlの内容

<?xml version="1.0" encoding="UTF-8"?>

<Context path="/struts-test" docBase="/hoge1/hoge2/hoge3" debug="0" reloadable="true" />
みたいな感じで記述

さすがに10年前の情報じゃもう戦えねーw

struts-1.3.10-all.zipダウンロードしてきて
libの配下を対象のlibに全部コピー(もう、何も考えない。)

jspを作成して
beanを作成して
Actionを継承したクラスを作って
ActionFormを継承したクラスを作る。
やたらxmlファイルを書いてxml地獄な気がする・・・・

リソースファイル変換
日本語のリソースを作らないとエラーが・・・

native2ascii -encoding=MS932 hoge_ja.txt hoge_ja.properties

として変換する。
(もちろんhoge_ja.txtがWindowsで書いた場合のエンコード指定よコレ)

struts1.3からtaglibの書き方が変更になってる。
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/logic" prefix="logic" %>

(※注意 カッコを全角にしてるから本当は半角 )

Amazon EC2 Oracle XE

2009年09月19日 14時53分04秒 | Amazon EC2
Amazon ec2 に Oracle XE を入れる。

Oracle XE 機能制限のついたOracle
ちょっとした開発サンプルで使うにはOK

Amazon ec2の手続きは省略(すでに使える前提)

インストールするもの
oracle-xe-univ-10.2.0.1-1.0.i386.rpm
(外国のオラクルのアカウントが必要w)

/usr/local/src/にでも配置して

まず、libaio、bcをインストールする。

yum -y install libaio
yum -y install bc

で、次に

rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm

・・・・

This system does not meet the minimum requirements for swap space. Based on
the amount of physical memory available on the system, Oracle Database 10g
Express Edition requires 1024 MB of swap space. This system has 895 MB

キター エラー
swapが足りねーから増やせやコラって言われてる。w
生意気なwww しょーがねーな

適当なディレクトリを作って
mkdir /swap
cd /swap
dd if=/dev/zero of=swap.tmp bs=1M count=2048
mkswap swap.tmp
swapon swap.tmp

起動時swapファイルが自動的にマウントされるようにしたいなら
システムの設定ファイル
/etc/fstab 以下を追記
/swap/swap.tmp swap swap defaults 0
必須ではない。

/etc/init.d/oracle-xe configure
全部Enter and yes!!!!!!!!!!
(パスワードは適当)

そうすると
Listener が1521
WEB が8080
みたいな感じで http://127.0.0.1:8080/apex にアクセスしろや
って言われる。

もちろんEC2上なので
http://ec2-xxx-xxx.amazonaws.com:8080/apex になる。

アクセスすると・・・・・
ページが表示できません。w

マジー!?

netstat -ano | grep 8080

・・・何もかえってこねーw

何かが足りない。。。。
教えてgoogle大先生

http://www.oracle.com/technology/pub/articles/lokitz-cloud.html

ここに載ってるやない。

$ export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
$ export ORACLE_SID=XE
$ export PATH=$PATH:$ORACLE_HOME/bin

$ sqlplus system/password (*where password is your system password)

この下が大事な設定みたいw
$ EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

/etc/init.d/oracle-xe restart

再度アクセス。
無事に出来たw

2009/12/31追加
CentOS 5.4に上がってから再度インストールする機会があって
インストールしたら

kernel.sysrq unknown
net.ipv4.tcp_syncookies unknown
・・・

みたいなエラーが出てる
パラメータ知らないっていわれてるので

vi /etc/sysctl.confで
#kernel.sysrq = 0
#net.ipv4.tcp_syncookies = 1
とコメントアウトした

インストールは無事に完了した

以上。


システム化

2009年09月04日 03時14分48秒 | Weblog
今日はちょっとシステムのお話。

まあ、システムやプログラムを作ってて
それは「何の為に作るのか?」と言う事。

もちろん、簡単なことであって
人間が便利に使う為。との答えがある。

企業でシステムを作る時には、
人間が便利に使い、作業効率を上げ、
利益を生む為と言う事になる。

話は変わってF1においては
レギュレーションが厳しくなり、
制限が多くなってておもしろくないとの声が。

逆にすべて許可してみてはどうだろうか?
オールシステム化しても、それを人間が
使いこなせなければ、それは動いて無いのと
同じことなのだから。

仮に人工知能搭載のスーパーカー(ナイトライダーみたいな奴w)
であって速度500km(実質不可能)の車があっても、
きっと乗りこなせないと思う。

Gがかかる状態でそんなに長く、ドライビングを続けてられないし、
仮にマシンのアドバイスがあってもそれを認識して、
ブレーキやアクセルを踏むまでに人間の個体差が生じるから。

それを競うのがF1じゃないの?って思う。
ドライバーとマシンが両方そろって勝てるんでしょ?
ほかと少し劣るマシンでもドライバーで勝ってるよねって言われる
ドライバーが真に優秀なドライバーだよね。

人工知能のみで運転させて競っても、それはそれで
エンジニアはものすごく楽しいと思うけどね。

すべてをシステム化することを悪だと感じる人も
いるかもしれないが、システムは人間の便利さの
追求の具現化。