2010-01-01から1年間の記事一覧

JavaでJSONシリアライズされた日付情報をjsで取得する

JavaでJSONシリアライズされた日付情報をjsで取得するとき、どのようなことが必要か確認しました。 Javaのjava.util.DateクラスもJavaScriptのDateコンストラクタから生成されたオブジェクトも1、970年1月1日0時0分0秒からのミリ秒で日付を管理してます。 Da…

Slim3なProjectの依存関係を図に

Javaでの日付の扱いについておさらい

@Test public void utilDateの実験() throws Exception { Date date = new Date(); DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH"); assertThat(dateFormat.getTimeZone(), is(TimeZone.getTimeZone("Asia/Tokyo"))); assertThat(dateForma…

PC作業の心強い味方Chrome Nanny

PC作業中、気がつくとついGoogle ReaderやTwitterをながめてるときがあります。たいてい集中力が切れていて、半ば無意識だったりするときなので、なかなか意識的に抑制できません。 そしたら、TwitterのTLでChrome Nannyなるものを知りました。上記の悩みを…

opensocial-jqueryでのタブ

gadget.xml <div id="tabs"> <ul> <li><a href="#tab1">タブ1</a></li> <li><a href="#tab2" >タブ2</a></li> </ul> <div id="tab1">タブ1のコンテンツ</div> 2のコンテンツ</div> </div> <script type="text/javascript"> $("#tabs").tabs(); </script> opensocial-jquery.js /** * Tabs */ $.fn.tabs = function(fn) { return this.each(fun…

ソーシャルアプリの開発/本番環境の外部サーバ接続先を自動で切り替える

今作っているソーシャルアプリは、絶対パスで外部サーバのURLを指定している。 外部サーバはGoogle App Engineなので、開発環境と本番環境が用意されている。 絶対パスなので、普通にやるとアプリのデプロイ前に接続先のURLを書き換えないといけないので面倒…

OSDEでgadget.xmlに表示される警告の黄色い波線を消す

gadget.xmlを開くと、No grammar constraints (DTD or XML schema) detected for the document.と右に表示されたり、すべての行に黄色の波線が表示される。 右の警告はともかく、波線は編集するのに邪魔。 この波線はEclipseのValidatorが有効になっているた…

subversiveのSVNKitは更新サイトからじゃなくConnector Discoveryからインストールする

Subversive SVN Team Provider(Incubation) 0.7.8l20091023-1300 をEclipseに導入する場合、SVNKitを併せてインストールする必要がある。 SVNKitは、Polarionの更新サイト(http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-s…

JavaScriptのプロトタイプチェインを図で理解する

javascriptにおけるプロトタイプチェインとその成り立ちを図にしたら自分の理解の助けになるのではと思い、cacooでトライしてみます。 プロトタイプチェインとは ECMA-262によると以下。 オブジェクトのプロパティへが参照される場合、その参照は、プロトタ…

Eclipse+Aptana pluginでFTPアップロード

App Engineのデプロイがとってもらくちんなので、FTPアップロードもEclipseから直接できないかな、と思ってぐぐったらAptana pluginにその機能があった。ちょうどAptana pluginも入れてたので、これを試した。 環境 Mac OS X Eclipse 3.5 Aptana Studio(plug…

jQuery.fn.extendで$()を拡張する

jQueryのセレクタで指定した要素をfadeOutで消して、消えた直後にfadeInで再度表示するようなアニメーションの実装を考えます。 これは、下記のようなコードで実現できます。 $("#hoge").fadeOut("slow", function(){ $("#hoge").fadeIn("slow"); }); このよ…

javascriptのコンストラクタは定義時に関数と区別されない?

new 演算子を付けて呼び出すことを前提とした関数は、コンストラクタと呼ばれる。コンストラクタは大文字で始まる名前の変数に格納されるのが慣例である。 JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス p.35 Javaのように、コンスト…

opensocial-jquery.jsとjsdeferred.jsを一緒に使ってみる

APIからJSON配列を取得して要素を展開する処理は、opensocial-jquery.jsでは下記のように記述できます。 $(document).ready(function(){ $.getJSON("/boke/randomArray?size=5") .next(function(data) { var bokes = data.randomArray; alert(bokes.length);…

jsdeferredのloop()とwait()

jsdeferred.jsを利用すると、待機処理を伴うループを簡潔に記述できる。 Deferred.loop(10, function(i){ return $.getJSON("./boke/random").next(function(data){ //... dom操作(1) return Deferred.wait(1); }) .next(function(){ // ...DOM操作(2) retur…

opensocial-jqueryのgetData()

getData()を使わずにマイミク情報表示 $(document).ready(function(){ var params = {}; params[opensocial.IdSpec.Field.USER_ID] = opensocial.IdSpec.PersonId.VIEWER; params[opensocial.IdSpec.Field.GROUP_ID] = "FRIENDS"; var idSpec = opensocial.n…

mixiアプリにおけるRestful API for PCのJavaサンプルコード

mixi Developer Center (ミクシィ デベロッパーセンター) » 2-legged OAuthによるAPIアクセス mixi developer Centerにはphp, python, perlのサンプルコードが記載されているが、Javaのサンプルコードがない。 そこでJavaでRestful API for PCによって、アカ…

ソーシャルアプリセミナーに行ってきた

人気ソーシャルアプリの作り方〜超人気ソーシャルアプリの企画開発者によるパネルディスカッション : ATNDにいってきました。(Twitterタグは #sac2010) スタッフ、登壇者のみなさまおつかれさまでした。 ソーシャルアプリコンテスト 最初に、株式会社オプト…

JavaによるTwitter APIのOAuth認証

下記のページを参考にさせていただき、JavaでのTwitter API のOAuth認証動作を確認した。以下手順のメモ。 Twitter APIでOAuth認証を利用する方法(Javaの場合) by Inquisitor 準備1 TwitterにConsumerを登録してキーを発行する 1)下記URLにアクセス、Tw…

Eclipseでのjavascript開発環境構築メモ

EclipseでjQueryによるコーディングをするにあたっての、各種インストールメモ。 javascriptライブラリの補完ができるAptana AptanaのCode Assist機能は各種有名ライブラリ(jQuery, prototype.jsなど)に対応している。 Plugging Aptana into an existing E…

iPhoneの母艦をWindowsからmacに移行するためのメモ(調査中)

Mac

macbook Proを購入したけど、未だにiPhone 3GSの母艦はWindowsのまま。 いい加減macへ移動させなきゃと思い、方法を調べた。(まだ調査中です。随時追記予定) ファイルの整理方法を「iTunes Media」形式に統一 iTunesの ファイル > ライブラリ > ライブラリ…

同一トランザクション内でエンキューできるタスクの上限

GAE

App EngineのTask Queueにおいて、エンキューはトランザクション内でも行える。 Queue#add(Transaction, TaskOptions)を使う。 複数タスクの追加をtx内で試してみたところ、TransactionalTaskException(以下、TTE)が発生してエラーとなった。 Caused by:com.…

formタグのenctype属性についてのメモ

formタグではenctypeに以下の値を指定することによってフォームデータの送信方法を指定する。 application/x-www-form-urlencoded multipart/form-data application/x-www-form-urlencoded formの値がurlパラメータとして送信される。 enctypeを省略した場合…

Chromeのはてなブックマーク拡張が「ログインしていません」になる現象の対処

今朝いつものようにGoogle Chromeのはてブ拡張を使おうとしたら、はてなにログインしたにもかかわらず「ログインしていません」となってしまう現象が起きて困った。リロードしたりChromeを再起動してもログインできない。 環境 Mac OS X 10.6.3 Google Chrom…

技術的なドキュメントで出てきた英語

単語・成句 意味 使用例 overview 概説 Task Queue Java API Overview dispatch 送り出す、発送する App Engine automatically dispatch tasks detect 検出する App Engine automatically detects new Tasks initiate 起動する initiated by a user request …

TaskQueueのコード修正

GAE

TaskQueueで500 Server Error - 理系のためのTIPS集に対していただいた指摘を踏まえ、一部修正。 private final int MAX_NUMBER_OF_TASKS = 100; @Override protected Navigation run() throws Exception { FileItem fileItem = requestScope("formFile"); I…

App Engineのエンティティ設計メモ

GAE

はてなスターみたいな要件のエンティティ設計は? はてブとか、はてなスターみたいに、特定のリソースに対してユーザーがブックマーク(fav)したりしなかったりする要件について。(twitterのfavは、ツイートとアカウントがひもづいてるので、ちょっとケー…

英語学習の経過

5/9の計画は下記エントリ。 英語の学習計画予定 - 理系のためのTIPS集学習の実施は、一日120分を目安にしてたけど、計画を下方修正し、半分の60分程度に留めている。 (通勤車内の往復60分) 下方修正の理由1 プライベートを、プログラミングスキル向上と…

jQueryのajax()でslim3のコントローラからjson取得

簡単なサンプル。 GWTを使わず、javascript直書き。javaのライブラリはjson-lib使用コントローラ。(sampleなのでDatastore触ってるけど、本来はControllerは直接Datastoreを触らず、Serviceクラス経由で取得すべき。) public class CountController extend…

Java Cloud Meeting Tokyo 2010に行ってきたメモ

Java Cloud Meeting Tokyo 2010 自分が参加させていただいたもの Seasar3がやってくる « Java Cloud Meeting Tokyo 2010 Google Web Toolkitのすすめ « Java Cloud Meeting Tokyo 2010 Seasarで動いているWebサービスCacooの裏側 « Java Cloud Meeting Tokyo…

ORIGAMI Duke(展開図付き)

JavaのマスコットDukeを折り紙で創作。不切正方形1枚です。 Dukeは指は4本なんだけど、妥協して三本。 折り紙で3色は表現できないので、赤紙を貼ってあります。鼻自体はちゃんと折り出してあります。 展開図 鶴の基本形が二つ重なった感じですね。後ろ姿…