たごもりすメモ

コードとかその他の話とか。

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

LL Tigerに行ってきた

最近は8月末の開催で乗鞍でのヒルクライムと重なっちゃってて行けてなかったんだけど、今年は7月末開催になったので行ってきた。……と思ったらGoogle AppEngineのhack-a-thon #6 および AppEngine ja night #9 と重なっちゃった。ajn#9はBeerTalkでしゃべるこ…

iPad/iPhone用ソースコードビューア作ってます

気付いたらすごい時間が経っている……。最近はずっと、iOS SDKいじってiPad/iPhone用のソースコードビューアのアプリを作ってます。なぜか世の中にないのが不思議で、しゃーないから作るかー、と。けっこう楽しい。 ついでだからちゃんと使えるものにしてiTun…

iOS4デバイスは .local ドメインのホスト名を解決できない

忘れないようにメモ。 表題の通り。ここにAppleの説明がある。Unable to resolve unicast DNS names that end in .local in iOS - Apple Support原因としては、Mac OS X 10.2 あたりから入ってきたマルチキャストDNSクエリがiOS4で有効になったせいらしい。…

Illustratorとか持ってない人が簡単安価に名刺を作る方法

今日の午前中はコード書けない予感がするので(ぉぃ 前提 Adobe Illustratorとか持ってなくて、デザインぽいことはKeynote(and/or PowerPoint)でしかできないぜ! という人向け。キンコーズ使うから近くにあると嬉しいな。 自分はキンコーズ前の作業は全部iPa…

appengine hack-a-thon #4でやること

GAE

忘れないうちに書いておこう。 dbモジュールのwrapper作成 db.put()などに機能を追加するwrapper 具体的にどんな機能かというとSlim3 Datastoreのputを読む - bufferingsを読んで「妬ましい!」と思うモノw 名刺の作りかた Kinko'sを利用してiPadユーザがい…

appengine ja night #8にいってきたよ

GAE

去る6月4日にappengine ja night #8 : ATNDにいってきました。Beer Talkに参加し、その後の二次会にも参加。飲みまくりの夜だった。ていうか最近銀座づいてます。週に3回くらい銀座周辺(有楽町、日比谷)行って飲んでるぞ。大丈夫か。大丈夫じゃないぞ。 内容…

simpleoauth-gae直しながらTwitter APIと戯れる

simpleoauth-gaeを前の記事の時点以降で実用するのにちょっとずつ直してるんだけど、あれこれあったのでメモ程度に書いておく。要約するとTwitter APIに対するapi.twitter.comの挙動ヒドいっす。ゆるふわAPIとか言い得て妙すぎる。 23日前後の状況 前に書い…

GAE用のOAuthライブラリ simpleoauth-gae を作ってる

ある人の発言から時事ネタサービスを作ろうと思いたったわけだが、TwitterとのOAuthまわりでハマりにハマって、結局有りモノに手を入れてしまったのでその話。結論からいくと、使いやすい(と自分では思っている)ライブラリに修正して公開しましたよ、という…

GAETestBaseの公開について

先日のエントリーで公開したGAETestBaseだけど、とりあえずスクリプト置き場をーくらいの気持ちでGoogle Codeに置いたら速攻でKay frameworkにバンドルされてしまってひいい*1、という状況に。ライセンスはGoogle Codeの設定をする必要があって一応決めてた…

AppEngine SDK標準テスト用環境の問題

そういえばしゃべったりTwitterに垂れ流したりするだけでまとめてなかったぞ、ということでまとめてみる。よく考えたら問題点もまとめずにテスト環境の改善が!とか言ってても、何が問題なのかわからない人にはわからないよなあ。反省。 まとめたら @tmatsuo…

テストケースのベースクラス GAETestBase を作った

前に書いた記事からはやくも半月たってしまったが、やっと出してもいいかなという状態になったので公開します。ファイルそのものはこちら。GAETestBaseはPython標準のunittest.TestCase継承クラスとなってます。ユニットテストを書く際に、通常のTestCaseの…

クラスメソッド入れ替えに伴うバグ?

AppEngine用のテスト基盤を作るのにあれこれやってたら、Pythonのバグ?らしきものを見付けたのでメモ。Python2.5でも2.6でも起きる。 あとで本当にバグなのか仕様なのかを調べる。仕様だったらやだなあ……と思ったが、バグでも、これ一朝一夕には直らない気…

yaccja合宿第一回をやってきた

唐突に合宿がしたくなった*1。 前に一人開発合宿をやったときに参加したそうな人がけっこういたので、今回はいちおう公開イベントということにして開発合宿を開催してみた。yaccjaなる怪しげなページをこのために作ってある。名前は10分で考えた。後悔はして…

GAE/Pythonテスト環境に欲しいもの

いまPython on GAEのテスト環境の貧弱さをなんとかするべく、あれこれやってる。とにかくテスト環境がショボいんだよね。 App Engine/Pythonはローカルのデータストアのstubの出来が良くないので、ローカルとプロダクションで動きが違うことが結構あり、ロー…

AppEngine ja night #7に行ってきた

GAE

昨夜のappengine ja night #7 : ATNDに行ってきた。AppEngineいじりはじめてからでは前回の#6は申し込みが間に合わず参加できなかったので、今回が初めて。参加者にはhackathonに参加したりそれ以降Twitterであれこれやりとりした人が大勢。 セッション1: ap…

run_in_transaction内でトランザクション外データストアアクセスを行う方法

基本的なトランザクションの話をすこし GAE/Pythonではトランザクション処理を行うのに db.run_in_transaction() を使う。典型的な使いかたは以下のような感じで、指定した関数内の処理がまるごとトランザクション内として扱われ、関数から出たところで自動…

GAEUnit試してみた

GAE Python環境でテストどうしよう、という話でGAEUnitを試してみた。簡単に方法と特徴をまとめておく。 使いかた gaeunit.pyをダウンロードして、他のコントローラと同じ場所に置く app.yamlに設定を追記する 内容はGAEUnitのページの先頭に書いてあるまん…

ApiCallHandlerは本当にTransactionを処理できないのか?

前に書いたremote_apiのトランザクション処理は実はproduction環境そのものとは違った件の続き。remote_api_shell(およびRemoteStub)経由でTransactionを処理するとどうなるのか? を調査した結果。結論:できませんでした。 ApiCallHandlerにTransactionを…

会社で働く前に確認したいこと

自分が会社で働くときに、何がわかってると安心して検討できるだろう、という内容を考えてたので書き出してみる。 いまの勤務環境について改めて以下の項目を検討してみるとなかなか愉快。 勤務時間・就業形態 時間 実態は? 時間外は? 勤務時間じゃないの…

production環境の実装を調べ……ちゃダメだよ!

前からTransactionの挙動について調べてるが、remote_apiのトランザクション処理は実はproduction環境そのものとは違った件で既に書いたとおり、どうもproduction環境とdev環境では実装がかなり違うっぽい。 その調査はやってる(まだ途中)んだけど、その経過…

ibus-skk 0.0.4入れてみた

skk

会社の手元LinuxマシンをUbuntu9.10にしたので、IMとしてibus-skk 0.0.4を入れてみた。やりかたはこちらを参照。 $ sudo aptitude install skkdic libglib2.0-dev fakeroot alien $ ./autogen.sh --prefix=/usr $ make install DESTDIR=$(pwd)/target $ cd t…

remote_apiのトランザクション処理は実はproduction環境そのものとは違った件

前にremote_api_shell.pyの使い方 - tagomorisのメモ置き場を書いたとき、balmysundaycandy-scala betaをリリースしました! - marblejediaryにある「トランザクションが使えない問題がこっちでは起きてない」旨の話をTwitterでもらった。が、このときは「Re…

production環境のDatastoreを使って手元でUnitTestを実行する

前にremote_api_shell.pyを使って対話実行環境でproductionのDatastoreに接続する方法を書いた。 で、もちろん次は自動テストをproductionのDatastoreでやりたいよね? ということで、そのための方法を書いたのでご紹介。Javaとかだとproduction環境内で直接…

TransactionとEntity Groupについての理解

GAE

ドキュメントや各所のblog、TwitterのTLなどを眺めていると、TransactionとEntity Groupについての理解で混乱することがあったので注記しておく。production環境のDatastoreで動作を確認するまで確信できなかった。 TransactionとEntity Groupについて一般的…

remote_api_shell.pyの使い方

手元の端末からGAE production環境のデータストアに接続する GAE/pythonのSDKについているDatastoreモドキ(datastore_file_stub)は実に機能が貧弱で、トランザクションの衝突を手元でシミュレートしたりできない。これは本物のDatastoreの理解には割と困る。…

なんかちゃんと書こうと思った

最近ようやくコード書く以外に生きる道はない!(かもしれん!)と決意し直した感じで、あれこれ書いたり調べたりしてる。とりあえず対象はGoogle AppEngine/Python。 SDKにドキュメントがいまいち揃ってないし、ぐぐってもあまりにもひっかからなかったりする…