[weblogic 11g] EARのデプロイで「BEA-2156203」が出た件について

ローカルでEARをコンパイルした際に、application.xmlが含まれてなかったぁ!
なので、バージョンがわからず、警告ログがでてたようです。
なので、バージョンを定義してなくても同じエラーがでます。

参考にしたサイト1
参考にしたサイト2

この解決方法を教示してくれたItouさんに感謝。

ひさandroidのアプリ開発

久々すぎるかつ、PHP+CAKEに慣れすぎてjavaとかマジ不明、、、しかもandroid用のやつは癖が強いからなぁっということで。
初心に返りつつ詰まったことや経過について、ブログに粛々と綴っていこうかと思います。

さっそく適当なモック書いて、起動してみたら。。。

The connection to adb is down, and a severe error has occured.

お。。?
アプリが起動せぇへんがな(☍﹏⁰)

グーグルで翻訳すると
「adbへの接続がダウンしています、そして重大なエラーが発生しました。」

adbてなに。。。
調べるとSDKのシェルらしいく、こいつに何か重大なエラーが (‘ㅅ’c彡☆)╹◡╹)

ぐぐってたら、eclipseのクリーン実行をすればいいらしいという文献を発見。
ここ「http://apps.otometokei.jp/?p=235」

c:\pleiades\eclipse>eclipse.exe -clean.cmd

コマンドでeclipseを起動してアプリをデバッグ実行したら、動きました(^◡^) (;´Д゚(o-(‘ㅅ’o)

いきなりこの調子で不安だわぁん

さくらVPSにジオトラスト(RapidSSL )のSSLを導入した

さくらのレンタルサーバ ビジネスプロ

はっ!!
初歩を忘れないように手順を書き残す、、、

ここから先の作業はroot権でやるのが無難だと思う
(;´∀`) (;´Д`) (;・∀・) (;゚Д゚) (;^ω^)

【まずは、導入するであろうサーバーでCSRを作成する】
①opensslで乱数を生成
openssl md5 * > rand.dat

こんななのができる
——————–
-rw-rw-r– 1 hogege hogege 48 6月 8 09:01 rand.dat
——————–

※Opensslをインストールしていな場合はコマンドで確認してね。(VPSはデフォルトで入ってると思います)
——————–
[hogege@hogehoge.com home]$ yum list installed | grep openssh
openssh.x86_64 4.3p2-72.el5_6.3 installed
openssh-clients.x86_64 4.3p2-72.el5_6.3 installed
openssh-server.x86_64 4.3p2-72.el5_6.3 installed

——————–
※インストールされていなかったらインストールしましょう。
——————–
[hogege@hogehoge.com home]$ yum install openssl
——————–

②生成した乱数から秘密Keyを作成
このときチャレンジパスワードが聞かれるが、特に入れても入れなくてもどっちでも問題ないけど、入れなくていいと思う。
openssl genrsa -rand rand.dat -des3 1024 > 2011pri.pem

↓こんな感じ
——————————
[hogege@hogehoge.com sslsample]$ openssl genrsa -rand rand.dat -des3 2048 > 2011pri.pem
48 semi-random bytes loaded
Generating RSA private key, 2048 bit long modulus
………………………..++++++
……++++++
e is 65537 (0x10001)
Enter pass phrase: ←パスワード(忘れたら詰む)
Verifying – Enter pass phrase:   ←パスワード(忘れたら詰む)
[hogege@hogehoge.com sslsample]$ ll
合計 8
-rw-rw-r– 1 hogege hogege 963 6月 8 09:04 2011pri.pem  ←元祖秘密鍵(なくしたら詰む!)

——————————
※ジオトラストは2048bitしか対応していないので、今回は2048bitで作りましたが、まだモバイルは2048bitに対応していないケータイも多少あるので、どこかのタイミングで1024bitに切り替えたいかも。。。

③秘密鍵から公開鍵を作成
このときチャレンジパスワードを設定していると入力を求められる。
openssl req -new -key 2011pri.pem -out 2011csr.pem

↓こんな感じ
——————————
[hogege@hogehoge.com sslsample]$ openssl req -new -key 2011pri.pem -out 2011csr.pem
Enter pass phrase for 2011pri.pem:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [GB]:JP
※日本なんでJP

State or Province Name (full name) [Berkshire]:Tokyo
※東京行きたいのでTokyo

Locality Name (eg, city) [Newbury]:Shinbashi
※新橋をよく知らないのでShinbashi

Organization Name (eg, company) [My Company Ltd]:hogehoge-yatta
※会社名を適当に

Organizational Unit Name (eg, section) []:hoge system
※システム名を適当に

Common Name (eg, your name or your server’s hostname) []:hogehoge.com
※SSLを設定したいサイトのドメインを指定

Email Address []:
※未入力でおk

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
※未入力でおk

An optional company name []:
※未入力でおk

——————————

④秘密鍵からパスワードを外す。
これをしないとサーバーの手動自動での再起動できなくなったりします。
openssl rsa -in 2011pri.pem -out 2011key.pem

こんな感じ↓
——————————
[hogege@hogehoge.com sslsample]$ openssl rsa -in 2011pri.pem -out 2011key.pem
Enter pass phrase for 2011pri.pem: ←秘密鍵作成時のパスワードを入力
writing RSA key
[hogege@hogehoge.com sslsample]$ ll
合計 16
-rw-rw-r– 1 hogege hogege 672 6月 8 09:14 2011csr.pem
-rw-rw-r– 1 hogege hogege 887 6月 8 09:37 2011key.pem
-rw-rw-r– 1 hogege hogege 963 6月 8 09:12 2011pri.pem
-rw-rw-r– 1 hogege hogege 48 6月 8 09:01 rand.dat
[hogege@hogehoge.com sslsample]$

——————————

さてここからがジオトラスト関連です。
申し込みをする。
RapidSSL を選択し、約3000円の出費=3

このとき上でつくった公開鍵が必要になるのでそれつかってください。
なんでかというと、それでジオトラストが公開鍵を作り直します。
※たぶんね。

ジオトラストから中間証明書とサーバー証明が届く。
※中間証明書が届かない場合は、ジオトラストのサイトに置いてあるのもらいに行こう。
もし見つからないという悲しい事件が発生した時のためにリンク
ジオトラスト中間証明書ダウンロード
————————————————————————–
/etc/pki/tls/certs/2011crt.pem ←サーバ証明書ファイル(公開鍵)
/etc/pki/tls/certs/2011ca.pem ←中間CA証明書ファイル
/etc/pki/tls/private/2011key.pem ←秘密鍵ファイル

—————————————————————————
という具合に配置して見る。

ssl.confを修正する。
さくらだとこのあたり?
※/etc/httpd/conf.d/ssl.conf
sudo vim /etc/httpd/conf.d/ssl.conf
——————
SSLCertificateFile /etc/pki/tls/certs/2011crt.pem
SSLCertificateKeyFile /etc/pki/tls/private/2011key.pem
SSLCACertificateFile /etc/pki/tls/certs/2011ca.pem

——————
という具合に設定を【変更】してみる。

アパッチ再起動
※Linux および System V 系
/etc/rc.d/init.d/httpd restart

これで無事再起動できれば、いよいよhttpsでアクセスしてください。
証明書が無事インストールされていれば問題なく開けると思います。
※携帯とか結構うつらない事あるんで、そういう場合はいい証明書買いましょう。(ベリサインとかw)

よかれと思ったらtwitterにでも書き込んでくださいwww
何かあればコメントくださぁい

+ ( ・ω・ )*。+゚

※追記
AUで使えないケースが多発したので、ベリサインを導入しなおしました。
ベリサインもめんどくさい書類提出以外は作り方一緒でーす。
しかし、オペレーターの機械的なしゃべりかたが怖かったなぁ・・・。

cakephpゴマ知識 auのSSL通信時の文字化けを回避する!

UTF-8のケータイサイトをつくってたら、SSLページでAUだけ文字化けする!

AUはSSLページでSjis以外は使えないらしくその対応を迫られた。
※アホス過ぎ!

SSLページかつAUのときだけSjis-winに変換することで対応ができた。

app_controller.phpを一部抜粋

public function afterFilter() {
	if (isset($_SERVER['HTTPS'])) { //SSLか判定
		if ($this->ezweb()) {    //AUか判定
			$outBuffer = ob_get_clean();
			$outBuffer = mb_convert_encoding($outBuffer, "sjis-win", "UTF-8");
			mb_http_output("sjis-win");
			ob_start("mb_output_handler");
			echo $outBuffer;
		}
	}
}

・出力バッファを取得し、UTF8からSjis-winに変換
・出力エンコードをSjis-winに設定
・バッファを出力して完了

っという具合。(即興コードなんであしからずw)

エンコード内容は各環境に切り替えればどこでも対応できると思います。
PHPでも利用できるんで、ちょっと改造してつかってみてください。

追記

※beforeRenderではなく、afterRenderじゃないとsessionがきれちゃいました><:

修正

すみません、めちゃめちゃインチキ書いてました!
app_controller.php 抜粋

public function afterFilter() {
	parent::afterFilter();
	if (isset($_SERVER['HTTPS'])) { //SSLか確認
		if ($this->auMobile()) { //AUか確認
			$this->output = mb_convert_encoding($this->output, ‘SJIS-win’, ‘UTF-8′);
			header(“Content-Type: text/html;charset=sjis-win”);
		}
	}
}
                     -

cakephpは$this->outputをエンコードして、ヘッダーをエンコードに合わせて設定すればオッケーです。
いやはや、Auのせいで大変ですわ><;

cakephp 配列を無限にネストしてhiddenへ自動で設定してくれるhelper

ssl環境下でセッションのやり取りが面倒になったため、値をすべてhiddenでもちまわすように変更したと思ったときにみつけました。

【Ryosukeさんのサイト】
http://www.mrk.jp/node/605#comment-209

即実践活用可能なレベルのヘルパーで一切の手修正いれずに活用できました。

感謝感謝!

動的なswfを利用する際、auの強力なキャッシュを回避する

いま作成中のサービスでauの爆裂に強力で理不尽なキャッシュ機能の壁にぶち当たった。

flashを動的に作成するサービスで、何度作り直しても1回目に作成したflashが表示されてしまう。
ブラウザ履歴の削除を都度促さなければいけないという意味不明な仕様になってしまうために、
googleで検索。。。

【yuki走り書き】
http://yukilog.yukiweb.jp/2008/04/flash.html

上記のyukiさんのブログを参考に解決。


[phpの場合]

■修正前
<object data=”/<?php echo “hoge.swf”; ?>” type=”application/x-shockwave-flash” width=”100%” height=”100%”>
<param name=”bgcolor” value=”000000″>
<param name=”loop” value=”off”>
<param name=”quality” value=”high”>
<embed src=”/<?php echo “hoge.swf”; ?>” width=”100%” height=”100%” loop=”on” quality=”high” bgcolor=”#000000″></embed>
</object>
■修正後
<?php
//KDDIキャッシュ対応
//乱数生成方法は適当で!w
$hash = substr(AuthComponent::password(date(“his”)), 0, 10);
?>
<object data=”/<?php echo “hoge.swf”; ?>?<?php echo $hash ?>” type=”application/x-shockwave-flash” width=”100%” height=”100%”>
<param name=”bgcolor” value=”000000″>
<param name=”loop” value=”off”>
<param name=”quality” value=”high”>
<embed src=”/<?php echo “hoge.swf”; ?>?<?php echo $hash ?>” width=”100%” height=”100%” loop=”on” quality=”high” bgcolor=”#000000″></embed>
</object>

という具合に赤文字の変更をいれたら解決しました。
表示ページのURLを変えてもダメなんですね。
ファイル名ごとに強力なキャッシュで守られてるっぽいので、今回はファイル名にキャッシュ対策を入れました。

ちなみにこのタグの記載方法で3キャリア対応です♪

ゴマ知識:fromヘルパーの定義でactionを指定すると、urlのケツにidが付与される

タイトルの通りなんですが、fromヘルパーの定義でactionを指定すると、urlのケツにidが付与される事がある。

これはcakephpの仕様のようですね。
バージョンは不明ですけど今回は1.3系で確認しました。
※匠曰く、1.3の仕様らしいんですけど、、暇なときに他のバージョンでも確認してみるずら。

んで、試行錯誤、瞑想した挙句、下記の方法で落ち着きました。
———————————–
回避するにはactionではなくurlを定義する。
———————————–

ようするにこんな感じです。
———————————–
Form->create(‘User’, array(“url” => “/hoge/userEdit”, “inputDefaults” => array(“dev” => false, “label” => false))); ?>
———————————–

こうすると余計なパラメータとかつかないので平和ですw

softbank で mailto を使う場合!

改行とか文字化けとか空白がプラス(+)記号になる現状にぶち当たると思うんだ!
※俺だけかもだけど….。

例:php5.xでUTF-8のサイトでの場合
————————-

<a href=”mailto:hoge@hoge.jp?subject=&lt;?php echo rawurlencode(mb_convert_encoding(“>&amp;body=<!–?php echo rawurlencode(mb_convert_encoding(”俺はマジだ”, “utf8″));?–>” style=”color:#339900;”&gt;思いをメールに乗せる</a>

————————-

こんな感じに書くといけた。
これにたどり着くまで20パターンぐらい書いちまった@@

配列を逆順に入れ替える

最近、ホットな案件のリリースでてんやわんや、徹夜徹夜の日々だったので更新がまったくされなかったかわいそうなサイトTT

連続で公開していくけど、時系列がばらばらなのはご愛敬ですw

んで、今日はこれで30分はまった。

しかしphpってすごい
rsort($hoge);

で配列が逆順に入れ替わった=3
優秀ダワ~。

そのほかいろいろソートあるので、参考にしたサイトをご紹介。
【php javascript room】
http://phpjavascriptroom.com/?t=php&p=array_sort

こういう人に役に立つサイト作れるひと尊敬します。