Entries from 2009-05-01 to 1 month

GAE/J 開発サーバー上でのローカルData Viewer

Python版GAEなら、開発サーバー上でも http://localhost:8080/_ah/admin/ でローカル環境用のDashboardを見ることができて便利なんだけど、どうやらJava版にはそれがないらしい(むしろあるのなら教えて下さい)。 せめてData Viewer的なものはローカル環境に…

GAE/JのDatastore Low-level APIを使ってみた その2

GAE/JのDatastore Low-level APIを使ってみた - すぎゃーんメモの続き。 せっかく親子関係の扱いができるのでTransactionを使用してみた。あとEntityを生で使うのがちょっとアレだと思ったので簡単なラップクラスを作ってみた。…けど、微妙。 LowLevelAPISer…

GAE/JのDatastore Low-level APIを使ってみた

ドキュメントを読みつつ、すごく簡単なサンプルを書いてみた。 http://code.google.com/intl/en/appengine/docs/java/javadoc/com/google/appengine/api/datastore/package-summary.html web.xml

Genesis Lightning Talks vol.16 に参加してきた その2

Genesis Lightning Talks vol.16 に参加してきた - すぎゃーんメモの続き。 動画をUPしていただきました。yoozoosatoさん、ありがとうございます。 まぁ、自分の発表内容については既に振り返ったので、もういいや。 声がまだまだボソボソ調になっているなー…

Genesis Lightning Talks vol.16 に参加してきた

毎度参加させていただきありがとうございます。 Vol.11 に初参加だったGenesis Lightning Talks。いつの間にかもうVol.16にまでなっていたのですね。 今回のお題は「笑い」。 とはいえ自分的にはそれにマッチする話題はなくて、ただそろそろワンライナーにつ…

反転ワンライナーいろいろ

引数の順番を反転させる @ARGVを素直にreverseさせると、こうかな。 $ perl -le 'print for reverse @ARGV' hoge fuga piyo piyo fuga hoge改行させたくないなら $ perl -le 'print join " ", reverse @ARGV' hoge fuga piyo piyo fuga hogeが普通だろうか。…

GAEデータストアから取り出せるのは1000件までじゃないの?

先日自作したアクセスカウンター。 http://gae-counter.appspot.com/ 作成したカウンターへのアクセス記録を自作の管理画面からみることができるようにしているのだけど、いまこのダイアリーの右下に張り付けているカウンターの記録を見ると。 とりあえずデ…

Google App Engine でファイルをアップロードする方法 比較

Java版 GAE/J でファイルをアップロードする方法を学ぶ - すぎゃーんメモ の続き。 どうやらJava版でcommons-fileuploadを使ってファイルアップロードをする場合はgetItemIteratorから取り出すのが良いようだ。そうすればFileItemFactoryは必要ない。 import…

Perl, Pythonで1以上100未満の『2個の素数の積』である整数を列挙する

1以上100未満の『2個の素数の積』である整数をワンライナーで列挙する - すぎゃーんメモの続き。 普通にスクリプトを書くとどうなるか。 Perl モジュールを使うとなるとやはりMath::Big::Factorsが便利。 #!/opt/local/bin/perl use strict; use warnings; u…

1以上100未満の『2個の素数の積』である整数をワンライナーで列挙する

from 素数だの積だのよくわかんねっちゃ - 牌語備忘録 -pygo CPANモジュール使ってしまうと、こうかなぁ。 perl -MMath::Big::Factors=factors_wheel -le'map@{[factors_wheel$_]}-2||print,1..99'$ perl -MMath::Big::Factors=factors_wheel -le'map@{[fact…

GAE/J でファイルをアップロードする方法を学ぶ

Google App Engine(Java版)でファイルをアップロードするためにはどうすればいいのか?を色々試しながら勉強してみる。 まず、最もシンプルにこんなHTMLとサーブレットを書いてみる。 <html> <head></head> <body> <form action="upload" method="post" enctype="multipart/form-data"> <input type="file" name="data"></td> <input type="submit"></td> </form> </body> </html> package hoge.fuga…

Pythonで自分のダイアリーについたブックマークを確認

id:CortYumingさんと話してて、あったら便利かなぁ、と思って書いてみた。 はてなのAPIでとれるものを調べてみたカンジでは 自分のダイアリーについた総ブックマーク数 被ブックマーク合計数取得APIというのがある。*1 自分のダイアリーについた新着ブックマ…

GAE/J でancestorによるフィルタリングはできない?

今作っているGAE Counterでは、CounterとAccessRecordで親子関係を作っていて*1、あるCounterの子として作られたAccessRecordを取得するのに、ancestorによるフィルタリングを使ったQueryを用いている。 AccessRecord.all().ancestor(counter) で、同じこと…

GAE/J でDataStoreのよくわからない挙動に遭遇

encodeしたStringをキーにしたデータモデルを作って、そのキーで引き当てて取得したデータを参照しようとしたらUserが何故かnullになっていた。 @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Hoge { @PrimaryKey @Persistent…

Google App Engine のDataStoreからUserでフィルタリングしてデータを取得する方法

com.google.appengin.api.users.Userをプロパティに持つデータモデルから、それがログイン中のユーザーと一致するものだけを取得しようとする場合。 Python版では、 from google.appengine.api import users results = Hoge.all().filter('user = ', users.g…

Google App Engine でカウンターを作ってみた(再)

Gitの練習も兼ねて、Gitでバージョン管理をしながらアクセスカウンターを作ってみた。 http://gae-counter.appspot.com/ ソースをGitHubでまとめて公開。 GitHub - sugyan/GAE_Counter: Google App Engineで作るアクセスカウンター indexが生成されてくれな…

git始めてみた

前々からそれなりに興味はもっていて、WEB+DB PRESS Vol.50に「はじめてのGit」という特集があってそれなりに分かりやすそうで、ちょうど連休である程度まとまった時間とって勉強出来るし、ということではじめてみた。 まずはインストール 本家サイトで確認…

1 分置きにニコニコ動画の再生数を表示するワンライナー

ワンライナーと聞いて。 ニコニコ動画がもうすぐ 100 億再生! - IT戦記 PHPで、 1 分置きにニコニコ動画の再生数を表示するワンライナー - 肉とビールとパンケーキ by @sotarok 目的を果たすだけなら…と、Twitterに発言できるくらいの短さを目指して頑張っ…

GAEアクセスカウンターに記録を残すようにした

Google App Engine でカウンターを作ってみた - すぎゃーんメモの続き。 ちょいちょい変更。 http://sugi1982.appspot.com/ アクセス記録が表示されるようにしてみた。 そしてこのブログの右下に貼り付けてみたので、開いたURLが残るようになる、のかな?