2013年1月7日月曜日

[Play framework][Windows]Play frameworkをインストール

このエントリーをはてなブックマークに追加 Clip to Evernote

※バージョン等は2013/01/07時点でのものです。

まずはインストールから。
本家のwikiが結構わかりやすく書いてくれてますが、いかんせんLinux/Mac系の記述なんで、
Windowsに読み換えていかないといけないです。
が、順番はそんなに変わらないので、その順番でやっていきます。

1.Javaの環境構築

Java JDKは6以上がサポートされているようです。
私の環境は、

java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)

でした。
Javaのインストールは割愛。


2.バイナリパッケージをダウンロードする

ここから最新のバージョンを選んでダウンロードします。
RC版を除いて、play-2.0.4.zipが最新だったので、それをダウンロードします。
ダウンロードが終わったら、解凍して書き込み可能な場所に配置します。
Windowsの場合だと、ProgramFilesとかは書き込み権限がなかったりするので、
ルートディレクトリ直下か、ユーザディレクトリの下がよいそうです。
今回はCドライブ直下に配置しました。

3.PlayのPathを通す

PlayのPathを通します。
通す先は、インストール先のディレクトリでいいようです。
cドライブ直下にインストール先のディレクトリをおいた場合は、こんな感じ。
C:\play-2.0.4
4.Playコマンドの確認
Playコマンドが使えるか確認します。
コマンドプロンプトを立ちあげて、
play help
と打ってみます。
以下のような表示がされればOK

これでインストールは完了です。
案外簡単だったー。

次はアプリケーションの作成です。

Play! frameworkまとめ

このエントリーをはてなブックマークに追加 Clip to Evernote

この度、Play frameworkを使ってみようと思ったので、まとめを書いていきます。
随時更新予定。

0.Play frameworkとは
1.環境構築
1-1.Play frameworkをインストールする[Windows環境]
1-2.新規アプリケーションを作成する
1-3.Playコンソールを使う
1-4.eclipseにプロジェクトとしてインポートする

2013年1月4日金曜日

[AWS]Amazon EC2インスタンスをコピーしてサイトを複製する

このエントリーをはてなブックマークに追加 Clip to Evernote

EC2のインスタンスをコピーして、複製する方法をメモ。
※2013/01/04時点での情報です。

1.インスタンスをコピーする

まずは、AWSのEC2のダッシュボードを開いて、右側のメニューから『AMIs』を選択。

選択したら、上の方にある『Register New AMI』をぽちっとする。
そうすると、以下のような画面が出てくるので、適当に入力。
ManifestPathはs3に置かれる場所を指すのだろうか・・・
入力し終わったら、Registerを押して完了。
これでイメージのコピーは完了です。
コピーが終わったら、AMIに行が追加されます。
statusがavailableになったら完了です。


※Webサーバとか起動してたら、一旦落とした方がいいみたいですが、最近?になってからなのか、サーバを停止しなくても出来るようになったみたいです。
その分、ちょっと時間がかかるかもしれません。


2.インスタンスをコピーしたイメージから作成する

右側のメニューから『Instance』を選択します。
選択したら、上の『Launch Instance』を選択。

そうしたらいつものインスタンス作成画面が出てくるので、クラシックウイザードで作成


先ほど作ったAMIを選択するので、『My AMIs』のタブを開く。
そうすると先程作ったイメージが表示されているので選択して次にすすむ。
設定がいくつか出てきますが、今回はそのままでスルーします。


次もそのまま。


その次もそのまま。

次は、サーバに入るための暗号鍵を作ります。
nameとvalueはわかりやすいように適当に入れます。
別のインスタンスで作ってたら、その暗号鍵を割り当てることも可能です。
今回は、コピーしたサーバなので、コピー元と同じキーにします。
次にセキュリティグループを設定します。
今回は同じグループに所属させます(本番とstg環境は別とかにした方がホントはいいんだろうなぁ)
最後に確認画面。これでOK-って押します。

インスタンスができました。
なんか言ってますが、今回は無視(笑)

あとは、他のインスタンスと同様にEIP割り当てたり、ドメイン割り当てたりはお好きな感じで。

2012年12月10日月曜日

[tomcat]起動時にUnsupportedEncodingException cp932と言われたら

このエントリーをはてなブックマークに追加 Clip to Evernote
tomcatの起動時に、
UnsupportedEncodingException cp932って出てきたので、
ググって調べてみた。

どうやら、windowsのインストーラー版だと
XMLの文字コードがShift-JISだったり、
XML宣言のencodingがutf-8じゃなかったりするので
その辺を直してやると起動デキました。

無事解決。

参考URL
Tomcat,UnsupportedEncodingExceptionとかで起動しない
http://d.hatena.ne.jp/gnarl/20080805/1217900224

egacreate UnsupportedEncodingException: cp932
http://egacreate.blogspot.jp/2009/03/unsupportedencodingexception-cp932.html

2012年12月4日火曜日

[セキュリティ]一部のリクエストヘッダを書き換えるとブラウザエラーになる

このエントリーをはてなブックマークに追加 Clip to Evernote
脆弱性の調査をしている時に、リクエストヘッダのHOSTヘッダは書き換えられるのか?という話になり、その時に調べた内容のまとめを書いてきます。

■調査内容

JavaScriptでリクエストヘッダの書き換えは可能なのか?

■対象

Android標準ブラウザ
iPhone iOS5 Safari
PC Chrome
PC Safari

■結果

一部のリクエストヘッダの書き換えは、ブラウザ側でエラーとなる。

■調査詳細

まず、JavaScriptを書いてみた。
リクエスト内容を書き換えたり、任意の内容を送るのは、XMLHTTPRequestを使用する。

参考URL
JavaScript初級者から中級者になろう 十三章第一回 XMLHTTPRequest
ヘッダーを書き換えるには

書いてみたテストページ↓
※IEはめんどいので割愛・・・(ActiveXを呼ばないとダメらしい)

さて、実行してみると、ブラウザ側でこんなエラーが。(キャプチャはSafari)
『Refused to set unsafe header "Host"』はChromeでも同じスクリプトエラー。
ぐぐってみると、
Chrome拡張でHTTPヘッダを改変
http://lostlinksearch.net/blog/2012/03/chrome%E6%8B%A1%E5%BC%B5%E3%81%A7http%E3%83%98%E3%83%83%E3%83%80%E3%82%92%E6%94%B9%E5%A4%89/
であるように、一部のヘッダはヘッダを指定出来ないそうな。
まあ、セキュリティ上、そうだよなーと納得したところで、調査終了ー(ということにしたw)


2012年11月29日木曜日

ディレクトリ配下の全てのファイルのMD5のハッシュ値一覧を作成する

このエントリーをはてなブックマークに追加 Clip to Evernote
仕事で調べたのでメモ


MD5のハッシュ値は以下のコマンドで取得しますね。
md5sum ファイル名

私の場合は、テキストに吐いて、チェックすることが多いです。

md5sum ファイル名 > ファイル名.md5sum
ま、ファイル名はなんでもいいんですが。

チェックはこれ。

md5sum -c md5のハッシュ値を記述したファイル名

で、この度、特定のディレクトリの配下にあるファイル全てのMD5ハッシュをリストにしてくれと言われたので、ちょっと調べてみた。
特定ディレクトリの配下のファイルのMD5ハッシュは以下のコマンドで取得出来るみたい。
findコマンドと組み合わせて使うんですねー

find 対象のディレクトリ -type f -exec md5sum {} \;
この結果をファイル出力するのは
find 対象のディレクトリ -type f -exec md5sum {} \; > ディレクトリ名.md5sum

チェックする場合は、単一ファイルの場合と同じで、
md5sum -c md5のハッシュ値を記述したファイル名
で全ファイル分チェックしてくれるようです。

しかし、頭いいなーw



2012年10月6日土曜日

[Xcode]プロジェクトを作成する

このエントリーをはてなブックマークに追加 Clip to Evernote
今回は、Xcodeでプロジェクトを作成するまでをまとめます。

Xcodeのバージョンは、2012/10/06時点で、4.4.1を使用しています。
以下のサイトを参考にさせていただきました(^^♪
絶対に挫折しないiPhoneアプリ開発入門

それでは、Xcodeを起動します。
『Create a new Xcode project』をぽちっと選択します。


次の画面が表示されるので、今回は、『Single View Application』を選択し、右下の『next』を押します。

次の画面では、プロジェクトの情報を入れます。
『Product Name』は、てきとー。ここでは、勉強用なので、studyとしました。


『Organization Name』は、組織名を入力。
そんなものはない(笑)ので、ここでもstudyとしました。
『Company Identifier』は、ちょっと大事らしく、App Storeにアプリを申請するときに使用するらしいです。
ドメインを持っている場合は、ドメインの反対から記述するのが通例みたいですね。
『com.xxxxxx.xxxxxx』みたいな感じです。
申請する場合には、サポートサイトが必要らしいので、そこのドメインをひっくり返すとよいかと。

『Devices』には、今回はiPhoneアプリを作る予定なので、iPhoneを選択します。
チェックボックスはそのままで、『next』を押します。

nextを押すと、プロジェクトを保存する場所を聞かれるので、適当なところに保存します。
今回は、デスクトップに保存しました。

プロジェクトが開きました!!

なんかいろいろ揃ってますねー。
次回は、作りながらまとめていきます。