2012-01-01から1年間の記事一覧
Slim3のModelを使うと便利になることがたくさんある。 プロパティをタイプセーフに扱うのは言わずもがなだけど、他にも色々と用意してくれている! まずは、ModelMetaの機能として、以下のような感じ。 modelToJson() jsonToModel()modelsToJson() jsonToMod…
Slim3でAjax用のレスポンスをJsonで返す時の方法について、あれこれと悩んでた。Slim3にはMeta.modelToJson()があるので、始めはこれを使えば良いと思っていた。 しかし、いくつかやりたいことで、できないことがあることが分かった。・getter,setterだけで…
SPDYを利用すると、ServerとClient間の通信が早くなる。 銀の弾丸のようなものではないけど、使えるなら、使って損は無いだろう。 僕もあんまり詳しいところは分かってないので、以下を参照して欲しい。Google提唱の新プロトコル「SPDY」とは--SPDYで変わる…
Closure LibraryでXMLHttpRequestを扱うgoog.net.XhrManagerを使ってみました。 これは前回のgoog.net.XhrIoを内部に持ち、複数リクエストを簡単に扱えるようにしたものらしいです。 WEB開発メモ: Closure Library - XhrManager まずはコンストラクタ実行時…
Closure LibraryでXMLHttpRequestを扱う。goog.net.XhrIoを使ってみました。app.js xhrioSample.App.prototype.getBookList = function(xhrio){ //取得成功 gevents.listen(xhrio, goog.net.EventType.SUCCESS, function(e){ var res = e.target.getResponse…
Google Closure Toolsの1つClosure Templatesを試してみました。 Closure Templates | Google DevelopersClosure Templates単体でも使えますが、私はClosure Libraryと共に使っています。 Java版とJavaScript版がありますが、私が使ったのはJavaScript版です…
UnitTestが無いコードは、レガシーコード!と言われるぐらい昨今UnitTestは重要なものとなっています。 僕もフレームワークに求めるのはテストのしやすさなのかも!と思ってます。ClosureLibraryにもUnitTestをするために機能があります。 JsUnitを使ったテ…
ClosureLibraryはGoogleが作成しているJavaScriptのLibraryです。 Gmail,Google CalendarなどGoogleのサービスで利用されています。Closure Library | Google Developersなかなか面白いもので、以下のような特徴があります。 豊富なUIコンポーネント jQuery …
Jsonを利用するライブラリとして、Gsonを利用しているのですが、最近Errorが出る。 しかも、それがProduction環境のみという、なかなか辛い状況。 更に原因がよく分からず、デプロイする度に変わるという辛い状況。Errorが発生しているのは、Gsonのコンスト…
Slim3 Source Code Reading #12 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #12 今回はRouter…
Slim3 Source Code Reading #11 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #11 今回はtester…
Slim3 Source Code Reading #10 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #10 今回も前回に…
Slim3 Source Code Reading #9 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #9 今日の記事はtes…
Slim3 Source Code Reading #9 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #9 今回読んだのはM…
前回のエントリーの中で、Helpを発していたら、JSONICの開発者の方がコメントしてくれました! JavaでJSONを扱うライブラリ gson を使ってみた! - SinDiary また、丁度各ライブラリの速度比較もされていたようです。 2012-02-12 - A.R.N [日記] さて、本題…
今までJSONを扱う時は、JSONICを使っていました。 まぁ、これしか知らなかったのですねw しかし、とあることをしようとした時に、どうやれば良いのか分からなかったのです。 それは、Mapに入れたClassをEncodeした後、元のClassに戻すこと。 Ajaxで戻す時に…
Slim3 Source Code Reading #8 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #8ちょっと今回は僕…
第12回勉強会@岡山 - ChugokuGTUGで、GAE/Jのハンズオンの講師をしてきました! 講師として前に出るのは初めてだったので、緊張しましたね。 しかも、いつもよりかなり参加者が多いという! 少し予想外ではありましたが、何とか無事終えることができまし…
Slim3 Source Code Reading #7 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #7 今回はValidatio…
前回に引き続き、Blobstoreです。今回は更に以下を利用します。 FileService AppEngineFile ImageService FileServiceとAppEngineFileを使えば、BlobstoreへのFileUploadを、redirectせずに行うことができます。 また、サーバ側で作成したファイルをBlobstor…
先日、Slim3 Source Code Reading でFileUploadを読みました。 その時に、横山殿がBlobstoreのサンプルも作ってきてくださいました。 Blobstoreに関しては、Slim3というよりはGAEの話になりますが、FileUploadと同じような用途で使うということで試してみた…
ソーシャル系なんかで、よく見る"もっと読む"機能。 これを作りたかったので、やってみました。 基本的には公式のサンプルにあるページングと同じです。http://code.google.com/intl/ja/appengine/articles/paging.html最初はoffset,limitを使って作ろうと思…
Slim3 Source Code Reading #6 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #6 さて、今回はFir…
Slim3 シャーディングカウンタ作ってみた。 - SinDiary先日作成したシャーディングカウンタですが、あおうさ殿にご指南をいただきました! window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (…
Slim3 Source Code Reading #5 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #5 まずは、Memcach…
Slim3でシャーディングカウンタを作ってみました。Slim3 シャーディングカウンタを改良した! - SinDiary 改良版が上記になります! シャーディングカウンタをご存じない方のために簡単に説明します。 GAEでアクセスカウンタなどを作ろうとした時に、1つのE…
2012-01-17上記のBlogを見て、PRGパターンとはなんだろう?と思って調べてみた。 PRGパターンとは, POSTメソッドによるリクエストに対してリダイレクトを返し, GETメソッドの応答として遷移先の画面を表示するというものです。ということらしい。 因みに上…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
Slim3 Source Code Reading #4 に参加してきました。その時に、話題になったのが、UnitTestでXGTransactionを使う時に、 そのクラス単体でテストすると動作するのに、プロジェクト全体のテストを行う時は、Errorになるということ。使い方自体は、shin1ogawa…
Slim3のUnitTestでXGTransactionを動作させることができなくてハマっている。とりあえず、現状は以下の通り。■環境 GAE 1.6.0 Slim3 1.0.15 Eclipse 3.5 まずは、実行の構成をHRDに設定 http://code.google.com/intl/en/appengine/docs/java/tools/devserver…