SiNBLOG

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

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を…

年開けてるけど、忘年会まとめ

色々あったので、とりあえず次回のためにまとめ。特に帰郷組のために催した会でしたが、帰郷組はほぼ来ないという奇跡!以下、前日から当日のtwitterを交えながらまとめ。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]…

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で…

slim3で、RSS配信を実装してみた。

作成中のローカルなコミュニティが集まる掲示板に、RSS配信を実装したい! ということで、やってみた。とりあえず、RSSについてまったく知らなかったので、とりあえずWikiPediaさんを見た。 RSS - Wikipedia日本では、RSS1.0とRSS2.0を実装してれば良さそう…

ktrwjr実行時のDatastore 続編

ktrwjr実行時のDatastore - SinDiary前回の記事のコメントで、higayasuo 殿に「Slim3のテストケース(AppEngineTestCase)を使えば、テスト中にputしたデータは、テスト終了後に自動的に削除されますよ。本番でも。」と教えていただいたので、改めて自分のアプ…

ktrwjr実行時のDatastore

slim3にはktrwjrがバンドルされている。Google Code Archive - Long-term storage for Google Code Project Hosting.クラウド上の本番環境で、単体テストを簡単に実行できる。開発環境と本番環境で、動作が違う可能性はあるし、テストは行いたい。gae/jの大…

M/SからHRDへの変更した場合、設計は変える必要があるのか?

appengine office hoursで、松尾殿にDatastoreの2つの形式は今後どうなるのか聞いてみた。「これからのDatastoreの主流はHRDとなり、いずれ、M/Sは使えなくなるだろう。」既にPython2.7はHRD限定だし、javaでも新規AppはHRDだ。M/Sも最低数年はサポートする…

携帯の料金プランについて考えた。

すまほん! - FC2 BLOG パスワード認証上記の日記を拝見して、そういう手もあるのか!と思い、ちょっと考えた。 現状の自分の環境は以下。テザリングはできない。Galaxy S2 SC-02C //パケホーダイフラット L-02C //Xiデータプラン2年 Galaxy S2を買う時に、L…

slim3の単体テストでAppEngineの環境構築しているのは誰なのか。

slim3 で単体テストを行う時のDataStoreの扱いが分からない。 - SinDiary上記エントリーで迷宮入りしていた内容を、コメントにて、shin1ogawa殿にご教授していただいた。 迷宮入りしていたのは、単体テスト時に、Datastoreを触ろうとすると、以下のエラーが…

slim3 で単体テストを行う時のDataStoreの扱いが分からない。

jUnitで単体テストを実行していたら、エラーが発生した。No API environment is registered for this thread.どうやら、Datastore.createKey()実行時に発生しているようなのだが、原因が分からない。テスト用のクラスを継承したクラスで実行する場合は動くの…

gae/jの大文字小文字の判断

とてつもなく、しょうもないことなのだが、自分で穴を掘ってハマったので記録・・・。 gae/jで開発をしていて、localでは動作するのに本番環境にデプロイすると404になる。ずっと、悩んでいたのだが、原因はファイル名の大文字小文字の差異によるものだった…

Eclipseで、gae/j のデプロイができない時の対処

久々にEclipseで、gae/jのデプロイをしようとしたら、うんともすんとも言わない。ボタンを押しても無反応。特にメッセージもでない。 どうしたものかと調べていたら、先駆者の方々が解決してくださっていた。http://666sence.blogspot.com/2011/06/gaej-ecli…

使っているサービスとかツールとか

お前が何のサービスを使ってるのか、分からん!と言われたので、ちょっくら書きだしてみることにした。SNS系twitter 右側のウィジェットにも表示しているtwittermixi ROM専通り越して、滅多にログインすらしない感じ。 twitter使う前は、割と使っていた。は…

オンラインストレージを使ってみる

自宅のHDDは、二重化しているのだが、家ごと消滅すると駄目。 大切なデータは、オンラインストレージに多重化して格納しよう作戦を決行。 ちょっと前から、DropBoxの無料版は利用していた。 ただ、デジカメのデータなんかを全部置こうとすると、容量が足らな…

Java正規表現サンプルメモ

import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatchSample { public static void main(String[] args) { String txt = "pokemon, pikachu, fire45, thunder"; String regex = "([a-z0-9]+), ([a-z0-9]+), ([a-z0-9]+), ([…