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色は表現できないので、赤紙を貼ってあります。鼻自体はちゃんと折り出してあります。 展開図 鶴の基本形が二つ重なった感じですね。後ろ姿…

TaskQueueで500 Server Error

GAE

下記コードにて3000行のテキストファイルのputを試みたところ、プロダクション環境で500 server Errorとなった。ファイルアップロード - Slim3 日本語サイト(非公式) FileItemで受け取ったテキストファイルを1行ずつqueueにaddするController public class …

Kotori Web JUnit Runner(ktrwjr)のインストール

GAE

先週のbpstudy33でshin1ogawaさんが紹介されていた、bufferingsさんのktrwjr。プロダクション環境でJunitのテストケースを実行できるようにしてくれます。 インストールしてみた手順のメモ。 maven便利 KotoriWebJUnitRunner - ktrwjr - A junit runner for …

app engineのエンティティグループ

GAE

エンティティグループはリレーションではない 祖先とか親とか子とかいう単語が出てくるので誤解しがちだけど、エンティティグループは、1:多のようなリレーションを表現するものではない。 トランザクションによりACID特性を保障したいときに設定するもの…

app engine ja night kansai 2「Query & Index」メモ

GAE

bpstudy33と同日に開催されたajnk2について、@bufferings さんのUST録画をみながら理解したことをメモ。Cacooで描かれたという図がすごく見やすく、わかりやすかったです。bufferingsさんのブログにpdfとustへのリンクあり。 #appengine ja night in kansai …

BPStudy #33 後半(Slim3)のメモまとめ

BPStudy #33に参加させていただきました。前半は @kazunori_279 さんによる Google I/Oの貴重な最新レポートでした。 しかし私は前提知識が足りなかったため、ざっくりと理解するのがやっとでした。もったいないので、あとで復習したいと思います。 #appengi…

JUnit4におけるhamcrest-libraryの利用

JUnit4の比較はorg.hamcrest.Matchers ある数値の未満とか以上とか以下とかを判定するには、org.hamcrest.MatchersのgreaterThan()やlessThan()を使えばよい。 Matchersの利用にはhamcrest-libraryが必要 で、そのorg.hamcrest.Matchersを利用するには、別途…

Virtualbox for MacでWindows7の仮想環境を構築した手順のメモ(ついでにペンタブも)

なかなか一筋縄でいかなかったので、メモとして残しておきます。 目的 SAIをMacで使いたい。BootCampは再起動が面倒なので、フリーのVirtualboxが適当と判断した。Windows7のライセンスは新規購入。SAIが動けばいいだけなので、professionalやultimateではな…

Slim3でhttpメソッドとControllerをマッピングする

前回、Slim3における拡張子付きURIのマッピングを試した。 今度は、同じURLへのリクエストについて、httpメソッドがGETならGetController、DELETEメソッドならDeleteControllerが呼ばれるみたいな感じで、httpメソッドとControllerを一対一にしたら、RESTful…

Slim3における拡張子付きURIのマッピング

CoolなURIでJSONを返すURLはどう表現するか 内部的には「/user/get?id=12345&type=json」となるようなURI(idが12345のユーザ情報のJSON形式)を、Cool URIではどのように表現するのが適切か悩んでいた。「/user/json/12345」や「/user/12345/json」はなんか…

Maven2でslim3のeclipseプロジェクト作成

slim3を通して初めてmavenを使ってみたので、やり方をメモ。 Maven2があれば面倒な作業が一行の命令で済む Maven2は、構成管理ツール。コマンドプロンプトから1行の命令を実行するだけで、必要なお膳立てを全部やってくれる。インストールは、Maven - Welco…

XCode 3.2.2をインストールしたあとの環境設定メモ

随時追加予定 テキスト編集 行番号を表示 にチェック

自分用Chrome拡張メモ

随時追加。 Googleリーダーでプレビューや色分けができるGoogle Reader Plusがすごい BoogleMarks LinkOpenNewTab AutoPatchWork, AutoPagerize, AutoPager Chrome google reader -puls-hatena - Project Hosting on Google Code Chrome Reader (Google Read…

macbook pro で初めてのmacに慣れる

Mac

祝、macbook pro購入。というわけでWindowsしか触ったことない自分の視点で、戸惑ったところや違い、モーメンタムスクロールの操作などを列挙。随時追加予定。 backspaceキーがない。fn+DelでwindowsのDelに対応。macのDelは、windowsのbackspaceと同じ挙動…

音読パッケージについてあれこれ(「英語上達完全マップ」の実践)

音読パッケージにはバージョンの差異がある 「英語上達完全マップ」と「みるみる英語力がアップする音読パッケージトレーニング」では、音読パッケージの具体的手順に差異があった。英語上達完全マップ―初級からTOEIC900点レベルまでの効果的勉強法posted wi…

英語の学習計画予定

2010年04月 時点の英語力 中学・高校時代から英語が不得意な状態を持続。当時のテストは50〜70点。 英語圏のホテルスタッフに話しかけられたことを、20%程度しか聞き取れない。 英語圏のホテルスタッフへ、こちらの意思をほとんど伝えられない。単語の羅列、…

iPhoneで英語学習。「英語上達完全マップ」の実践

効果のある英語学習方法を知っておく 英語上達完全マップを10ヶ月やってみた 英語上達完全マップによると、次のような手順が最も効率的。 1.文法・フレーズ・構文などの知識を学ぶ 2.知識を使うための回路を作るトレーニングをする(回路とは、英語を言語と…

ジョギングを始めるときに知っておきたいことまとめ

やっと暖かくなってきたので、さぼってたランニングを再開。復習のため、以前調べたり実践してたことをまとめ。 このエントリの概要 正しいフォームを身につける 準備運動はケガ防止のために必須 シューズ、ウェアについて iPhoneをランニングに活用する ま…

getJSON(), get(), ajax()について

$.getJSON(url, [data], [callback])は、getのラッパメソッド。下記と等価。 $.get(url, data, callback, "json"); さらに、$.get()は、$.ajax(options)のラッパメソッド。 ajax()とそれ以外の違い 通信完了時、エラー時のハンドリングが行える。 // @param …

App Engine SDKを導入したEclipseが起動時に固まる現象

GAE/Java開発で困っていた現象なのですが、twitterで回避策を教えてもらいました。 具体的な操作をメモとして残しておきます。 現象 Eclipseを起動すると、ステータスバーに「Updating ... gine」と進捗バーが表示された状態でフリーズする。 強制終了して、…

svnリポジトリにhttpプロトコルで接続できない場合の回避方法

googlecode.comからslim3をチェックアウトしようとしてハマった現象。 いろいろぐぐってみたところ、どうやら下記のようなことだと推定できたので、回避策を載せておきます。 ■現象 Eclipse プラグインのsubversiveにて、httpプロトコルでsubversionリポジト…

mixiアプリをインストールしたマイミク同士で遷移するUIのサンプルコード

OWNERのプロフ画像とニックネームを表示 アプリをインストールしているマイミクの一覧と各自をOWNERとしたアプリへ遷移するボタン 動作はchrome4.0で確認 js function init() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest(o…

opensocialで、永続化したデータを取得するまでのシーケンス図

※2010/02/13 20:00 画像差し替え get()だのgetData()だのgetField()だのがややこしくてこんがらがってしまったので、astah*でシーケンス図作った。 自分のなかでだいぶ整理できた気がする。印刷して貼っとこ。 DataResponseクラスやResponseItemクラスは覚え…

newFetchPersonAppDataRequestのパラメータは1行で記述できる

newFetchPersonAppDataRequest()の第一引数の渡し方。空のオブジェクトparamをつくって、パラメータを設定。 var req = opensocial.newDataRequest(); var param = {}; param[opensocial.IdSpec.Field.USER_ID] = opensocial.IdSpec.PersonId.VIEWER; param[…

newUpdatePersonAppDataRequestで更新できるのはVIEWERだけ

OWNERの情報は書き換えられない。 ownerのアプリの状態をVIEWERが直接変更できないってことだ。 サンシャイン牧場で水をあげるみたいな操作はkey-valueではどうやって管理してるんだろう?外部DB?mixiアプリ » mixiアプリ(PC) » mixiアプリを作ってみよう…