2014年3月21日金曜日

Amazon Web Services(AWS)に登録するの巻

こんにちは。新しい空気清浄機で花粉症が大軽減の私です。

AWSの登録をしましたので、その備忘録です。

AWSサイトにアクセス!!
「サインアップ」をポチッと
メールアドレスを入力し「I am a new user」を選択して「Sign in using our secure server」をポチる
必要事項を記入してポチる
住所等を頑張って英語で入力
支払い用クレジットカードを入力。
カード登録したからといっていきなり請求されることはないのでご安心を。
海外旅行のホテルチェックインと同じ感覚だと思ってください。
電話番号を確認して、「確認用に自分に電話する」をポチる。
すると、設定した電話番号にAmazonから電話がかかってきます。すぐに。
そのさいに、画面に表示されている4桁の番号をダイヤルする。
電話と暗証番号で本人確認取れたら、上記画面になるので「続ける」をポチッと。
サポートプランはもちろん「Basic(free)」を選択。タダでお願いします?!(笑
ここまで来たら登録終わり!!

さて、次はS3とSMS Mobileをセットアップしよっと。

2014年3月20日木曜日

IntelliJとBitbucketを連携する

こんばんは。右足の親指が異常に痛い私です。

先日はMercurialとIntelliJを連携しました。(こちら

今日は、コミットしたプロジェクトを中央リポジトリのBitbucketにPushしたいと思います。

まずはBitbucketにユーザ登録をしましょう。

「無料サインアップ」をポチッと。

メールアドレス等よくある項目を入力。
Planについては「5 user team」にして、「チーム名/ID」に会社名を英語表記で入力しました。

登録が無事終了すると、上記のような画面になりました。


登録したメールアドレスの確認のため、上記のようなメールが来るので、ボタンをポチ。

これで、Bitbucketが使えるようになりました!!

次はIntelliJの設定を行いましょう。
まずは、Bitbucket Pluginをインストールします。

「Preferences」を選択。

「Browse Repositories」をポチ。

「Bitcuketプラグイン」を選択して「Download and Install」

再起動をすれば、Bitbucket Pluginのインストール完了。

「VCS」⇒「Import into Version Control」⇒「Share project」を選択。

BitbucketのID/パスワードを入力。

プロジェクトの説明等を入力して、「OK」をポチって、しばらく待つ。

処理が終わったら、Push終了!!

実際、Bitbucketにログインしてみて見ると以下のようにPushされていました。


これで、チーム開発・リモート開発ができるわけですね☆

2014年3月18日火曜日

Macにmercurialをインストールする


こんばんは。gitにしようかmercurialにしようか迷っていた私です。

私みたいなイケイケな性格だとgitでしでかしちゃいそうなので、mercurialを利用することにしました。

今日は我が家のMac book Airにmercurialをインストールした時の備忘録をブログに綴ることにしました。

まずは、Pythonのインストール!!

brew install python


次にmercurialのインストール

brew install mercurial


動作確認せねば・・・

hg version
問題なく動いているようです。

以上、簡単ながらbrewを使ったインストール備忘録でした。

2014年3月17日月曜日

Facebook、MercurialをGitよりも速くする ??

こんばんは。先週はぎっくり腰に食中毒とあたりにあたっていた?!私です。

現在、bitbucketを利用してソースコードの管理を考えているのですが、リポジトリを

・Gitにするか?
・Mercurialにするか?

で悩んでおります。

世間の風はかなりGitに寄りのようですが、いろいろ調べてみるとMercurialも捨てがたい。。。
現状の2大勢力(Git優勢ですが)のどちらに肩入れするべきか・・・

そんな中、配信日が私の誕生日と同じ日の

Facebook、MercurialをGitよりも速くする

というというInfoQの記事を見つけた。

よし、マイナー?!なMercurialにしてみるか!!と思ったが、よくよく見るとタイトルの日本語が変だし。。。よくよく読んでみると、私には関係ない内容だなぁ〜。。。
そんな大規模な開発ないですから!!

というわけで、やっぱりGitがいいのかなぁ〜。。。

決めの問題なんですが、悩んで前に進めず。

開発って、迷ってばかり。青春時代の真ん中と同じですね☆

2014年3月12日水曜日

S3を利用してモジュールを少しでも軽く!!


こんばんは。今日はこれからプチトレーニングを考えている私です。

Webアプリケーションを開発していると、画像がうざくなりませんか?!

下手なデザイン会社が「CSSで作れよ!!」と思うような無駄な文字画像とかつくってきますよね☆

そしてその結果、
文字変更が画像入れ替えとなり・・・使われなくなった画像が解らなくなり・・・
いろいろな歴史を経て異常に画像が多くなる。
そして、warやアップロード(デプロイ)するものが以上に重くなる。。。

そんな風にならないために、画像等は別サーバで管理したくなりますよね。
(src="別サーバ"でイメージ取得)

いま、別サーバの第一候補はS3ですよね☆

S3のファイル毎に公開設定をするのかったるいなぁ〜と思っていたところ
参考サイト
を発見。

これで、公開領域はデフォルト公開にできる。

公開したくない画像等は、別の非公開領域に設置して、WebアプリケーションサーバをProxyにして認証・認可を行う。

うん、これでいろいろ解決できるはず(笑

Androidでビデオチャット


こんばんは。腰が痛いのでそろそろ寝ようと思っている私です。


PC(Mac)とスマホ(Android)でビデオチャットデモをやってみたので、その時のスクリーンショットを紹介します。
(ただし、2台での自分撮り)

まずは、PCからスマホへビデオチャットのお誘いをし、通知(プッシュ)処理したところ。

承認をして、ビデオチャット画面に自動的に切り替わったところ。

PC画面はこんな感じ。

続いてAndroidスマホはこんな感じ。

ちゃんと話せてます?!

2014年3月11日火曜日

SkinnyORMでのTimestampsFeatureとOptimisticLockWithVersionFeature


こんばんは。ぎっくり腰も徐々に癒えてきた私です。

毎度毎度ですが、ビデオチャットデモで利用している技術の備忘録的なブログです。

Play2を利用していますがORMにAnormを利用せずに、SkinnyORMを利用しています。
理由は日本人が作ったFrameworkで世界的に大流行りしているからです。
(正確にはScalikeJDBCですが。。。)

Seasarのように日本だけの独りよがりFrameworkにならなそうな雰囲気があり、思わず採用してしまいました!!

で、SkinnyORMにはいろいろ機能がありますが中でも

  • TimestampsFeature
  • OptimisticLockWithVersionFeature
は気になる機能だと思います。

TimestampsFeatureは更新の度に、指定の更新日付を勝手に現在時刻で更新してくれます。

OptimisticLockWithVersionFeatureは、その名の通りで楽観的排他を更新回数の項目を利用して実現します。
楽観的排他の実現にはOptimisticLockWithTimestampFeatureというのもあり、更新日付を利用することもできます。

今回、どのくらい更新されているのか?知りたくてOptimisticLockWithVersionFeatureを利用して楽観的排他を実現しています。

しかし、こうなると一つ問題が生じるようです!!

それは・・・TimestampsFeatureが動かなくなる!!のです。

TimestampsFeatureはupdateByIdで主キーを指定した場合に動くようで、排他を利用するためにupdateByIdAndVersionで主キーと排他制御項目を指定すると動かないみたい・・・

ちょっとショック!!

まぁ、エンティティのtraitに更新日付を現在日付にする実装を施せばいいだけの話だけどね☆

そんなことがあったんだとビデオチャットデモを眺めてみてください(笑