2011年11月12日土曜日

Scenic3でHosting (on slim3)

0


前置き

どこかで拝見したのですが、GAEを使えばタダで強力なGoogleマシンを利用できるサイトが持てるーと書いてありました。
確かに一理あるなーと思い。
PHPでどーのこーのとかする場合はアレですが。
それでもPythonでどーのこーのできるし。かなり使えるのではないか!と思いやってみようかと。

ちなみに。僕はJavaが専門なので。それはほら。ということで。
Scenic3でさくっと。つくれないかなーと思い。
いっつもどーするんだっけ?ってなるので備忘録をかねてサクっと構築しちゃいます。

ちなみに。とりあえず。静的ファイル(HTMLとか)しか使いません。

最後にどんくらいの時間がかかったかも書いておこう。


参考サイト

もちろんここのサイトを参考にさせていただきます。
いつもお世話になってます。

Slim3 日本語サイト(非公式)

scenic3


構築

いくっす。
1. ブランクプロジェクトの作成

Eclipse で(以下、ほとんどEclipseの作業のためEclipseは省略)新規プロジェクトを選び、Slim3を選択
プロジェクト名とルートパッケージを記入して「Use MVC of Slim3 with Scenic3」を選択
で。プロジェクトはできたっぽい。


2. Scenic3の設定

QuickStart - Scenic3 を参考に

・AppUrls.java の excludes を "/*" に変更(もとは "/css/*" と入っている)

この設定で、/war/ 以下のフォルダが全て静的領域のような扱いになります。
(WEB-INFとかは気にしない)
ここに任意のHTMLやフォルダ(画像置いたりCSS置いたり)すると、
ふつーに読み込めるようになります。

その他の設定
・FrontPage.java の @Default の forward に "/index.html" を指定
・root/war/index.jsp とかが置いてあるところに 使いたい index.html を追加

※他、いらんメソッドとか。JSPファイルとかを消す。


3. テスト

・プロジェクトを右クリック > 実行 > Webアプリケーション(グーグル印)
・(たぶん) http://localhost:8888 にアクセスする

これで、index.html が表示されると思います。
あー。かんたんっ。


4.デプロイ

・プロジェクトを右クリック > Google > App エンジンへデプロイ

あー。かんたんっ。


まとめ

・・・あついっ

ちょっとJavaのWebアプリ触ったことがある人なら簡単に設定できますよこれ。
あー。安いホスティングサービス探してる場合じゃなかった。
HTMLサイトつくるだけならマジでこれで十分だ。

なお。かかった時間は1時間30分くらいでした。
これでもいろいろ調べたり、この投稿書いたり。気が散ったりしながらやったので。
次やるときは多分30分とかかりません。
すげーや。


おまけ

ちなみに。今回作ったサイトはこれ。

6vox - coming soon

てことで。しばしおまちを。
あーたのし。

2011年6月11日土曜日

iPhone を実機で動かす

0

前置き ... iPhone ?
Sympathy for the Devil。ということで。
やー。もう完全にAndroidではないですが...。スマホつながりということで。
いや。仕事でiPhoneを触る機会ができたのでメモです。
間違えているところがあるかもしれませんので、見つけた方はご指摘ください。
なお。途中で画像に文字を入れるのがめんどくなってますw

噂のめんどい実機テスト
Androidならわりと簡単に実機にアプリをいれて動作させられるのですが。
iPhoneの場合、appleの厳しい目がありますので、割とめんどくさい手順を踏まないと実機にアプリをいれられないようで、まあまあ時間がかかります。
ただ、少し前よりは改善されているようで、ちょっとだけ簡単になっているようなきがします。

手順
・iOSの開発管理画面(http://developer.apple.com/ios/manage/overview/index.action)にあるProvisioning Assistantを利用

・説明を軽く読む

・アプリケーションの説明を書く

・実機の説明とIDを入力

・実機ID(UDID、Identifier)は Xcode > ウィンドウ > オーガナイザ でコピーできる

・ついでにUse for Developmentを押しておく

・CertificateSigningRequest.certSigningRequest を作る
作り方は (http://kentaro-shimizu.com/lecture/iphone/step3.html) 参照

・CertificateSigningRequest.certSigningRequest をアップする
 (スクショとりわすれた)

・profile の説明を適当に設定する

・OKっていわれる

・できたprofileをダウンロードして、DockにあるXcodeにドロップする
 すると、Xcodeがオーガナイザに読み込んでくれます

・developer_identity.cer をダウンロードして、落としたcerファイルをダブルクリックする

・キーチェーンアクセスにインストールされたことを確認

・あとは、作ったアプリで動作させる場所に実機を選べば動くんじゃね?

・ということで、Hey! Complete!

ちなみに
自分の環境では別の問題があるためまだ実機で動作まで確認できていません。
あしからず。
...あ。動作確認できました。
ちなみに、今回使用したCertificate Name (開発者の名前?)は日本語ですがいけました。
日本語でも大丈夫になってるみたいやね。

まとめ
やっぱ。めんどい。
けど、英語を冷静に読めばなんとかなるレベルかな。
ま、以前よりは大分楽になっているのではないでしょうか。

大変参考にさせていただいたサイト:
★ iPhoneアプリを実機で動かす | iPhoneアプリ

2011年5月18日水曜日

chrome で XMLHttpRequest の時に、INVALID_STATE_ERR (11)

0

XMLHttpRequest
下記サイトを参考に、XMLHttpRequest で POST リクエストを発行する処理をやってると、
INVALID_STATE_ERR (11)てのが発生。

なんだと思ってググっていると、
INVALID_STATE_ERR (11)
If an attempt is made to use an object that is not, or is no longer, usable
という記述を発見。
英語をマジマジと見ていると何となく原因が浮かんできた(!)
open する前に setRequestHeader を呼んでいたからだ。

誤り
httpRequest.onreadystatechange = processResult;
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.open('POST', 'http://webos-goodies.jp/', true);
httpRequest.send('param1=value1¶m2=value2');

正しくは
httpRequest.onreadystatechange = processResult;
httpRequest.open('POST', 'http://webos-goodies.jp/', true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.send('param1=value1¶m2=value2');

これで、問題なく動いた!

XMLHttpRequest の使い方 - WebOS Goodies: "XMLHttpRequest"

2011年5月17日火曜日

Stax Networks to CloudBees...

0

移行

ずっとほったらかしにしていた、Stax から CloudBees への移行をしてみた。
思っていたよりもすんなり行った。
あんまり日本語のページを見ないので書いとく。

懸念

ほったらかしの一番の原因は、ドメインとかかわるんちゃうの?ってところ。
でもって、説明が英語なのでドメイン変わらないといわれても信用ができなかったw

Stax Migration FAQ

Will my application URLs stay the same?
Yes, your existing application domains will be unaffected by this transition. New applications that you create will now use the cloudbees.net domain.

しかし、結果、大丈夫でした。
Stax の時と全く同じ動作をしています。たぶん。
あ、ログが文字化けするようになったので、これは修正しないといけなそう...
また別でUPしよう。

手順

  1. CloudBees にログインする。
    • その時にユーザIDをメールアドレスに変更するなどの記入が必要

  2. CloudBees に移行するボタンを押す
    • リンクかな?migration ってやつ
    • これを押して自己責任で簡潔してねってことみたい

  3. CloudBees のRUN@cloud を開く
    • これが、Staxでいうところの管理画面みたい

  4. CloudBees SDKをダウンロード/設定する
  5. "bees getapp" コマンドでとりあえずソースを取得
    • ローカルでソースの確認(全くおんなじなので安心)

  6. "bees deploy" コマンドで早速deploy
    • と、思いきや「build.xml (No such file or directory)」なぬ?buildファイルがないの???
    • チェックしてみると。stax時代の stax-build.xml があった。
    • ...だめもとで、ファイル名をbuild.xmlにして見る...
    • ...通ったw

  7. deploy 完了
    • URLもそのままで、WEBアプリも稼働確認OK!

まとめ

StaxからCloudBeesに移行するのは特に難しい事なし。
で、移行前とほぼ同じ状態で使える。
さらに、SVN&GITのリポジトリまでついてくる(2GB!)。
ただし、ログが...もしかすると文字列操作もミスっておるかも。
そこだけは要チェックだな。

Instareader

0

めっさ。久しぶりですが。
活動はちゃんとやっている。
そんなことはどーでもよくて。

chrome extension を作りました。
専用Webページもtumblrに作ってみました。
(けど、これはbloggerでよかったかも。と、かなり思っている)
やっぱりどーでもよくて。

最近instapaperを使いだして、便利だなーと思っていたのですが、
webのページがもうちょっと使いやすくならんかなーと思ってページぐりぐりいじってみたので、それを公開した。って感じです。

よろしくです。

instareader

chrome extensions

専用ページ