« ループする写真 |Main| 1行でテトリス »

« ループする写真 | zakki(雑記) | エスパー日記 »

Django勉強会とか日記

アメリカでしか買えないものでもこれを使えば買えるかも、だそうな。 Mail Forwarding Leader - Your Very Own U.S. Mailing Address - Mailforwarding 朝ご飯に食べようと思って買ってきたプチトマトが、 パッケージを開けてみるとカビまみれだったり半分腐って解けて流れていたり。
= 2006-11-22 12:13:30 ThinkGeek :: Grow Your Own 1up Mushroom Kit。 デザインおかしいよ。ハテナブロックから出さないと。 X51.ORG : 町中に設置されたスーパーマリオのハテナブロックに爆弾処理班が出動 米
= 2006-11-22 15:58:18 防災訓練。 地震を体験できる車に乗ったけども、地震の怖さはあんまり伝わらないですね。 てんぷら揚げてるときに揺れたり、本棚が倒れてきたりしないので。
= 2006-11-22 16:19:20 WindowsXPのアカデミックパックにはアップグレード版しかないようだ。 うーん。通常版を買うか、2000でやるか。
= 2006-11-22 18:08:34 今日はDjango勉強会。 しまった。ラボにあんパンを忘れてきた。
= 2006-11-22 18:14:50 strとunicodeはbasestringの子
>>> isinstance("aaa", str)
True
>>> isinstance(u"aaa", str)
False
>>> isinstance(u"aaa", unicode)
True
>>> isinstance("aaa", unicode)
False
>>> isinstance("aaa", basestring)
True
>>> isinstance(u"aaa", basestring)
True

= 2006-11-22 19:15:24 Django勉強会。

あらかじめBlogの名前を聞かれたのでどういうことかと思ったら 名札にBlog名が付いていました。なるほど。 real nameとhandle nameの対応がつきやすくなるのでいいかもしれない。

AMFというのは知らなかったけど ActionScriptでサーバと通信したりするフォーマットらしい。 OZACC.blog: Django AMF を使うと、Flashからの通信をDjangoで受けて色々するのが簡単にできるらしい。

Flashだとかっこいいグラフを書くのも楽かも知れないなぁ、と思いつつ、 GRINEditに関しては、やっぱりJavaアプレットで作るのが 今のコードを再利用できるから楽だろうなぁ。

DreamHost

「manage.py dbshell」でDBの対話式になる。

今日はDjango再入門 RandomNoteを作る vol.1 下準備 (ueBLOG)のペアプログラミングをしてきました。

MySQL自体は以前PHPのウェブアプリをいじったときに入れてあったのだけども、 PythonからMySQLにアクセスするライブラリMySQLdb (SourceForge.net: MySQL for Python) を入れていなかったのでにっちもさっちも。 PHS接続でダウンロードするのは時間がかかりそうだったのでsqliteを使う方針に変更。

sqliteを使うときはデータベース名(DATABASE_NAME)が データベースファイルのフルパス (Windowsなら例えばC:/から始まるもの)でなければいけない。 ユーザやパスワードは必要なくなる。

python manage.py dbshellでsqliteの対話式に行こうとしたけど、 sqliteにそもそもパスが通ってなくて失敗。 パスを通してコマンドプロンプトを起動し直したが、 どうもうまく動かない。sqliteのコマンドを入れているのに、 そんなDOSコマンドはない、という反応をしたりして謎。 追求するのは面倒なのでsqlite3を直接起動した。

結局2章の途中までしかいけなかった。 続きはまた今度。

飲み会。

for文のelse節は便利だけど、なくても別にいい。 ジェネレータも便利だけど、なくても別にいい、 っていうかできる前から使ってたし。 というようにPythonの機能をちょっとずつはがしていったときに、 何がなくなると嫌か、何がなくなったら Pythonじゃなくて他の言語をメイン言語にするか。 そう考えた。「辞書」かもしれない。 「名前空間は単にキーが文字列の辞書」これがイイ。 なぜこれができるかというと、 文字列が破壊できないオブジェクトだから。 RubyでSymbolをStringの子にするかどうか云々の議論がされているときに、 「なんでSymbolが必要なんだろうなぁ」とぼんやり考えていたんだけど、 結局「Pythonの文字列はimmutableだから、わける必要がないんだ」 という結論に達した。 文字列が変更不可能なオブジェクトであることのデメリットはなんだろう。 replaceなりcapitalizeなりを呼んだときに、 新しいインスタンスが生成されるから多少余計に時間がかかるかも。 ゲノムの解析みたいなので、 1ギガのファイルをメモリが2ギガしか積まれていないマシン(笑) で読み込んでraplaceを何回かかけたりすると 体感可能な実行速度の差が出るかも知れない。 でもこの場合はもちろんそんなでかい文字列をメモリに全部読もうという 富豪的発想がまずいとも言える。

Emacsのetcディレクトリの中には色々変なものが入っている。 sで始まる5文字のファイルなんかとあるコマンドのマニュアルなんだけど 多種多様なコマンドラインオプションが解説されていてすごい。 最古のプログラムだと書かれているけど、 すでにこちらの画像をすべてのピアに送信するオプションがあって、 P2Pによるファイル共有の先駆けといえるかも知れない(無理矢理)

dictが色々できるのをはじめて知った。 dictとupdateの違い。 辞書(dict)のコンストラクタに キーワード付き引数を渡すと新しく作られた辞書に そのキーワードと値の対も入る。 また、第一引数として辞書を渡すとその辞書のエントリーも入る。 辞書のupdateメソッドも同様に、第一引数に辞書を渡したり、 キーワード引数で渡したりできる。挙動はほぼ同じ。 ただし、dictは新しいオブジェクトを作成するのに対し、 updateはレシーバを破壊的に変更する。

次にDjangoをいじるのはいつになるかなぁ。 春に出る本には1.0という言葉が(1.0がすでに出ているものとして)登場するので それまでにはきっと出るだろうとのこと。 4月になってから使おうかなぁ。


= 2006-11-23 04:13:30 またつまらないものを作ってしまった(五右衛門の声で)。 西尾泰和のブログ: 1行でテトリス

SourceForge.net: python-mode.el for Emacs and XEmacsを入れた。 配色が微妙だ。調整しないと気に入らない。 1行Brainf*ckインタプリタを作ったときに作ったPythonワンライナー圧縮プログラムにかけたら 1980文字に縮まったけど、シングルクォーテーションやバックスラッシュを適切にエスケープしていない のが原因と思われるバグで動かない。もういいや。今度気が向いたときにでも。

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/433

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.