SiNBLOG

140文字に入らないことを、極稀に書くBlog

slim3

Slim3でApachePoiを使ってExcelファイルを操作する

Slim3でExcelを操作してみようと思ったので、ApachePoiが使えるのか試してみた。ついでに、ファイルの出力先として、GoogleCloudStorageを使ってみた。やる前にちょっとGoogle先生に聞いてたら、以下の記事を見つけました。How to generate excel files on G…

Slim3でModelを便利に扱う

Slim3のModelを使うと便利になることがたくさんある。 プロパティをタイプセーフに扱うのは言わずもがなだけど、他にも色々と用意してくれている! まずは、ModelMetaの機能として、以下のような感じ。 modelToJson() jsonToModel()modelsToJson() jsonToMod…

Slim3でModelをJsonに加工する方法を考える

Slim3でAjax用のレスポンスをJsonで返す時の方法について、あれこれと悩んでた。Slim3にはMeta.modelToJson()があるので、始めはこれを使えば良いと思っていた。 しかし、いくつかやりたいことで、できないことがあることが分かった。・getter,setterだけで…

Slim3でClosure LibraryのUnitTestを使ってみた・・・が。

UnitTestが無いコードは、レガシーコード!と言われるぐらい昨今UnitTestは重要なものとなっています。 僕もフレームワークに求めるのはテストのしやすさなのかも!と思ってます。ClosureLibraryにもUnitTestをするために機能があります。 JsUnitを使ったテ…

Slim3でClosure Libraryを使ってみた!

ClosureLibraryはGoogleが作成しているJavaScriptのLibraryです。 Gmail,Google CalendarなどGoogleのサービスで利用されています。Closure Library | Google Developersなかなか面白いもので、以下のような特徴があります。 豊富なUIコンポーネント jQuery …

GAE/JでGson利用時にjava.lang.VerifyErrorが発生する

Jsonを利用するライブラリとして、Gsonを利用しているのですが、最近Errorが出る。 しかも、それがProduction環境のみという、なかなか辛い状況。 更に原因がよく分からず、デプロイする度に変わるという辛い状況。Errorが発生しているのは、Gsonのコンスト…

Slim3 Source Code Reading No12 Router

Slim3 Source Code Reading #12 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #12 今回はRouter…

Slim3 Source Code Reading No11 Mock

Slim3 Source Code Reading #11 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #11 今回はtester…

Slim3 Source Code Reading No10 tester

Slim3 Source Code Reading #10 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #10 今回も前回に…

Slim3 Source Code Reading No9 tester

Slim3 Source Code Reading #9 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #9 今日の記事はtes…

Slim3 Source Code Reading No9 ModelRef

Slim3 Source Code Reading #9 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #9 今回読んだのはM…

Slim3 Source Code Reading No8 JSP

Slim3 Source Code Reading #8 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #8ちょっと今回は僕…

ChugokuGTUG GAE/Jハンズオンしてきました!

第12回勉強会@岡山 - ChugokuGTUGで、GAE/Jのハンズオンの講師をしてきました! 講師として前に出るのは初めてだったので、緊張しましたね。 しかも、いつもよりかなり参加者が多いという! 少し予想外ではありましたが、何とか無事終えることができまし…

Slim3 Source Code Reading No7 Validation

Slim3 Source Code Reading #7 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #7 今回はValidatio…

Slim3 BlobstoreAPIを使ってみた! Part2

前回に引き続き、Blobstoreです。今回は更に以下を利用します。 FileService AppEngineFile ImageService FileServiceとAppEngineFileを使えば、BlobstoreへのFileUploadを、redirectせずに行うことができます。 また、サーバ側で作成したファイルをBlobstor…

Slim3 BlobstoreAPIを使ってみた!

先日、Slim3 Source Code Reading でFileUploadを読みました。 その時に、横山殿がBlobstoreのサンプルも作ってきてくださいました。 Blobstoreに関しては、Slim3というよりはGAEの話になりますが、FileUploadと同じような用途で使うということで試してみた…

Slim3 もっと読むを作ってみた!

ソーシャル系なんかで、よく見る"もっと読む"機能。 これを作りたかったので、やってみました。 基本的には公式のサンプルにあるページングと同じです。http://code.google.com/intl/ja/appengine/articles/paging.html最初はoffset,limitを使って作ろうと思…

Slim3 Source Code Reading No6に参加してきた!

Slim3 Source Code Reading #6 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #6 さて、今回はFir…

Slim3 シャーディングカウンタを改良した!

Slim3 シャーディングカウンタ作ってみた。 - SinDiary先日作成したシャーディングカウンタですが、あおうさ殿にご指南をいただきました! window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (…

Slim3 Source Code Reading No5に参加してきた!

Slim3 Source Code Reading #5 - ChugokuGTUGに参加してきました! 今回も@ttyokoyama 殿と2人だったので、まったりと進みました。 まぁ、他の方が参加していても、まったり進むのですがwT.Yokoyamaのブログ: Slim3 Source Code Reading #5 まずは、Memcach…

Slim3 シャーディングカウンタ作ってみた。

Slim3でシャーディングカウンタを作ってみました。Slim3 シャーディングカウンタを改良した! - SinDiary 改良版が上記になります! シャーディングカウンタをご存じない方のために簡単に説明します。 GAEでアクセスカウンタなどを作ろうとした時に、1つのE…

Slim3 PRGパターン

2012-01-17上記のBlogを見て、PRGパターンとはなんだろう?と思って調べてみた。 PRGパターンとは, POSTメソッドによるリクエストに対してリダイレクトを返し, GETメソッドの応答として遷移先の画面を表示するというものです。ということらしい。 因みに上…

Slim3 カスタムインデックスを試してみた。

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 UnitTestでXGTransactionを使う時の課題

Slim3 Source Code Reading #4 に参加してきました。その時に、話題になったのが、UnitTestでXGTransactionを使う時に、 そのクラス単体でテストすると動作するのに、プロジェクト全体のテストを行う時は、Errorになるということ。使い方自体は、shin1ogawa…

XG Transaction がUnitTestで動かない。

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…

Slim3 Source Code Reading #3に参加してきた!

Slim3 Source Code Reading #3 - ChugokuGTUGに参加してきました。今回は、Datastore.get()を読み進めて行ったのですが、一番盛り上がった(はまった?) のは、以下の部分。ModelMeta#validateKey() protected void validateKey(Key key) throws IllegalArg…

Slim3の楽観的排他制御

明日のSlim3 Source Code Reading #3 に向けて、ちょっとやってみた。楽観的排他制御ですが、ひが殿のBlogに詳細が書いてあります。 App Engineでバージョンによる楽観的排他制御 - yvsu pron. yasただ、ソースが古くなっているので、公式ドキュメントを見た…

Slim3でtwitter4jを使ってTwitterアカウントにサインインする

twitter4j公式ページのサンプルを、Slim3で作ってみました。 GitHub - yusuke/sign-in-with-twitterちょっと、僕の力不足により全て同じにはできませんでした。 それでも、Twitterアカウントにサインインする部分は同一のはずです。まずは、SigninServletを…

DatastoreTimeoutExceptionについて、時代は変わっていたようだ。

先日のSlim3 Source Code Reading #2 で話題になった件について。 Slim3 Source Code Reading #2 に参加してきた! - SinDiary丁度、twitter#slim3 でひが殿に質問してくださってる方がいらっしゃった。 タイミング的にここか、横山殿のblogを見てくださった…

Slim3 Source Code Reading #2 に参加してきた!

Slim3 Source Code Reading #2 に参加してきました! #1にも参加していましたが、学習した内容をまとめる方法を考えていたら、#2に・・・。考えている残骸がこちら・・・。 http://dl.dropbox.com/u/15506977/document/slim3codereading/html/index.html#1で…