エモンのブログ(スマホアプリ作成日記) -26ページ目

エモンのブログ(スマホアプリ作成日記)

エモンのブログです。

GooglePlayとAppStoreにアプリをリリースしてます。
「詰将棋パラダイス」4500問無料で公開。
「みんなのしょうぎ」投票型の将棋対局。いずれもソーシャルアプリなので、ソーシャルゲーム作成に興味があるかたは是非ご覧ください。

とあるサイトを運営していて、ある時刻になったら表示させたいものがあったんだけど、どうも時刻がずれているので調査しました。
環境は Linux Cent OS 5.x、tomcat1.5、java5

まずLinux上でdateコマンドをたたく。
# date
Sat Feb 4 13:35:57 JST 2012
※JSTはJapan Standard Time

ちなみにこれの時刻を変更するには
2012/02/04 13:01にするには以下のように打ちます
# date 020413012012

なのにwebアプリ上ではこれとは違う値がでていました。
これはどうやらtomcat先生が見ているタイムゾーンが違っているようです。
Javaで現在時刻を以下のように取得すると...
Calendar calendar = Calendar.getInstance();
Date nowTime = calendar.getTime();

nowTimeをHTML上に出力してみると
Fri Feb 03 23:30:55 EST 2012
※EST はEastan Standard Time

というように出た。

なのでtomcat先生の認識を改めてもらう必要があるため
環境変数にJAVA_OPTS=-Duser.timezone=JST を追加する必要がありました。
CATALINA_HOMEなどの指定はいつも行っていたので、それと同様にJAVA_OPTSを追加します
# export JAVA_OPTS=-Duser.timezone=JST

あとはサーバが再起動してもいいように/etc/profileにも同様な記述を行います。
これでtomcatを再起動すればなおります。

デコポニテの魔女」の提供でこのブログは書かれております。
デコポニテの魔女はAndroid端末用簡易右スクロールシューティングゲームです。
Technology By: Adobe AIR & CakePHP

FlashLite1.1やったりPHPやったりJavaやったりしているとsubstringで思いのほかハマる。

flashlite1.1だとsubstringが大変おかしい。
str = "abcdef";
substring(str, 1, 1) ⇒ a
substring(str, 0, 1) ⇒ a
substring(str, 1, 3) ⇒ abc
substring(str, 0, 3) ⇒ abc

つまりはゼロを混ぜるなってことね。
PHPやJavaだとゼロから始まるから、ついゼロから開始したくなる。
そしてsubstring(str, 0, n)だと正しい値が帰ってくるものだから、混乱のタネとなってしまうのであった。
Eclipse先生のリモートシステムエクスプローラが便利すぎるんだけど、
別のIPにつなぐたびにどうやって設定していたのか記憶がなくなり、
google先生のお世話になっているので、記憶がてら備忘録を書いときます。

○リモートシステムエクスプローラの立ち上げ:
Eclipse上でウィンドウ>リモートシステム

○接続:
リモートシステムウィンドウ上で新規>接続>SSH

○ファイルへのアクセス:
ホストにIPアドレスを入れる。Sftpファイル>ルート>/

○ポート指定:
ファイル>プロパティ>サブシステム

○鍵の指定:
ウィンドウ>一般>ネットワーク接続>SSH2

○パスワードなど
鍵を使う場合は、パスワードキャッシュを消してから、接続時にID入れるだけ。

自分は記憶する気がないのか、こういう設定を覚えることができない。…

IPが変わるとついでにTeraTermでつなぐ設定も変わる。
自分はTeraTermにIP、ID、パスワード、鍵の場所を指定するなどが面倒なので
コマンドでTeraTerm立ち上げてます。

cd "【TeraTermへのパス】\teraterm"
TTERMPRO 【IP】:【ポート】 /F=【設定ファイル(.INI)へのパス】

こんな感じ。
しかしこのコマンドをたたくのも面倒なので.batファイルつくります。
上記をエディタで**.batなどというファイル名で保存しておく。
あとはそのバッチファイルをダブルクリックすればTeraTermが立ち上がり、SSH接続ができます。

しかし自分はダブルクリックするのが面倒なので
このバッチファイルに環境変数からパスを通しておきます。
あとはファイル名を指定して実行することで接続してます。