<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description></description><title>michisu's tumblelog</title><generator>Tumblr (3.0; @michisu)</generator><link>http://michisu.tumblr.com/</link><item><title> http://blog.miraclelinux.com/asianpen/2008/05/python-code-rea.html#more...</title><description>&lt;div class="section"&gt; &lt;p&gt;&lt;a href="http://blog.miraclelinux.com/asianpen/2008/05/python-code-rea.html#more" target="_blank"&gt;&lt;a href="http://blog.miraclelinux.com/asianpen/2008/05/python-code-rea.html#more"&gt;http://blog.miraclelinux.com/asianpen/2008/05/python-code-rea.html#more&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;でも実験されていますが、もう少し細かいケースで試してみました。&lt;/p&gt; &lt;p&gt;scope_test.py&lt;/p&gt;
&lt;pre class="syntax-highlight"&gt;
&lt;span class="synStatement"&gt;def&lt;/span&gt; &lt;span class="synIdentifier"&gt;with_local&lt;/span&gt;(num): l = [] l_value = True &lt;span class="synStatement"&gt;for&lt;/span&gt; i &lt;span class="synStatement"&gt;in&lt;/span&gt; xrange(num): l.append(l_value) &lt;span class="synStatement"&gt;def&lt;/span&gt; &lt;span class="synIdentifier"&gt;with_nested&lt;/span&gt;(num): l = [] n_value = True &lt;span class="synStatement"&gt;def&lt;/span&gt; &lt;span class="synIdentifier"&gt;nested&lt;/span&gt;(num): &lt;span class="synStatement"&gt;for&lt;/span&gt; i &lt;span class="synStatement"&gt;in&lt;/span&gt; xrange(num): l.append(n_value) nested(num) m_value = True
&lt;span class="synStatement"&gt;def&lt;/span&gt; &lt;span class="synIdentifier"&gt;with_module&lt;/span&gt;(num): l = [] &lt;span class="synStatement"&gt;for&lt;/span&gt; i &lt;span class="synStatement"&gt;in&lt;/span&gt; xrange(num): l.append(m_value) &lt;span class="synStatement"&gt;def&lt;/span&gt; &lt;span class="synIdentifier"&gt;with_builtin&lt;/span&gt;(num): l = [] &lt;span class="synStatement"&gt;for&lt;/span&gt; i &lt;span class="synStatement"&gt;in&lt;/span&gt; xrange(num):...&lt;/pre&gt;
&lt;/div&gt;</description><link>http://michisu.tumblr.com/post/34476309</link><guid>http://michisu.tumblr.com/post/34476309</guid><pubDate>Mon, 12 May 2008 08:36:47 +0900</pubDate></item><item><title> 5/9 19:00 -...</title><description>&lt;div class="section"&gt; &lt;p&gt;5/9 19:00 -&lt;/p&gt; &lt;p&gt;行ってきました。予備知識的な資料をまとめて発表する係、ソースコードリーディングの進行をする係でした。へたくそな進行でしたが、柴田さんはじめ皆さんに色々つっこんでいただいて勉強になりました。&lt;/p&gt; &lt;p&gt;資料はこちらに上げてあります。&lt;/p&gt; &lt;p&gt;&lt;a href="http://groups.google.co.jp/group/python-code-reading/files" target="_blank"&gt;&lt;a href="http://groups.google.co.jp/group/python-code-reading/files"&gt;http://groups.google.co.jp/group/python-code-reading/files&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;日を改めてもうちょい反省したり消化したりない部分を考えることにします。&lt;/p&gt; &lt;h4&gt;関連リンク&lt;/h4&gt; &lt;p&gt;会場提供していただいたミラクルリナックスのtmorimotoさんによるフォロー。&lt;a href="http://blog.miraclelinux.com/asianpen/2008/05/python-code-rea.html#more" target="_blank"&gt;&lt;a href="http://blog.miraclelinux.com/asianpen/2008/05/python-code-rea.html#more"&gt;http://blog.miraclelinux.com/asianpen/2008/05/python-code-rea.html#more&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;</description><link>http://michisu.tumblr.com/post/34334873</link><guid>http://michisu.tumblr.com/post/34334873</guid><pubDate>Sat, 10 May 2008 21:54:11 +0900</pubDate></item><item><title>Photo</title><description>&lt;img src="http://2.media.tumblr.com/epT4DTlk58a3lbhqG7PEoFrQ_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://michisu.tumblr.com/post/32950891</link><guid>http://michisu.tumblr.com/post/32950891</guid><pubDate>Sun, 27 Apr 2008 03:53:32 +0900</pubDate></item><item><title> 数日前に新しいサーバをセットアップしてて気がついたこと。ToscaWidgetsでのフォームの実装twFormsの名前がtw.formsに変わっていた。だもんで

easy_install...</title><description>&lt;div class="section"&gt; &lt;p&gt;数日前に新しいサーバをセットアップしてて気がついたこと。ToscaWidgetsでのフォームの実装twFormsの名前がtw.formsに変わっていた。だもんで&lt;/p&gt;
&lt;pre&gt;
easy_install twForms
&lt;/pre&gt; &lt;p&gt;がこけた。&lt;/p&gt;
&lt;pre&gt;
easy_install tw.forms
&lt;/pre&gt; &lt;p&gt;としましょう。というだけの話。&lt;/p&gt; &lt;p&gt;ただし最新版では色々モジュール設計が変わっていたので、既存のTurboGearsアプリで使うために&lt;/p&gt;
&lt;pre&gt;
easy_install tw.forms==0.3.1
&lt;/pre&gt; &lt;p&gt;とした。&lt;/p&gt; &lt;/div&gt;</description><link>http://michisu.tumblr.com/post/32948524</link><guid>http://michisu.tumblr.com/post/32948524</guid><pubDate>Sun, 27 Apr 2008 03:06:19 +0900</pubDate></item><item><title> 会社で新しいサービスを始めました。 Web集合写真 グルーフォ...</title><description>&lt;div class="section"&gt; &lt;p&gt;&lt;a href="http://www.marici.co.jp" target="_blank"&gt;会社&lt;/a&gt;で新しいサービスを始めました。&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.groupho.com/" target="_blank"&gt;Web集合写真 グルーフォ&lt;/a&gt;&lt;/p&gt; &lt;p&gt;まずページを作ります。背景や参加人数、制限時間を決めます。URLが発行されますので、参加者はそこに行って画像をアップロード。人数がいっぱいになるか時間が来ると、合成されて一枚の画像になる仕組みです。&lt;/p&gt; &lt;p&gt;という小ネタっぽいサービスです。例によってTurboGearsで動いてます。&lt;/p&gt; &lt;p&gt;Twitterでやってくれた人もいるみたい。&lt;/p&gt; &lt;p&gt;&lt;a href="http://twitter.g.hatena.ne.jp/gorimaru9/20080423" target="_blank"&gt;&lt;a href="http://twitter.g.hatena.ne.jp/gorimaru9/20080423"&gt;http://twitter.g.hatena.ne.jp/gorimaru9/20080423&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;</description><link>http://michisu.tumblr.com/post/32948525</link><guid>http://michisu.tumblr.com/post/32948525</guid><pubDate>Sun, 27 Apr 2008 03:06:19 +0900</pubDate></item><item><title> which コマンドの実装 id:t2y-1979:20080409#1207749772 whichはPATHを頭から調べて最初に見つけたものを返すので、 
順序を保持しないsetに入れるとまずい...</title><description>&lt;div class="section"&gt; &lt;p&gt;which コマンドの実装&lt;/p&gt; &lt;p&gt;&lt;a href="http://d.hatena.ne.jp/t2y-1979/20080409#1207749772"&gt;id:t2y-1979:20080409#1207749772&lt;/a&gt;&lt;/p&gt; &lt;p&gt;whichはPATHを頭から調べて最初に見つけたものを返すので、&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;順序を保持しないsetに入れるとまずい&lt;/li&gt; &lt;li&gt;ループをbreakしないと最後に見つけたものを出力してしまう&lt;/li&gt; &lt;/ul&gt;
&lt;p&gt;と思います。&lt;/p&gt;
&lt;pre class="syntax-highlight"&gt;
&gt;&gt;&gt; set(['&lt;span class="synConstant"&gt;a&lt;/span&gt;', '&lt;span class="synConstant"&gt;b&lt;/span&gt;', '&lt;span class="synConstant"&gt;c&lt;/span&gt;', '&lt;span class="synConstant"&gt;d&lt;/span&gt;'])
set(['&lt;span class="synConstant"&gt;a&lt;/span&gt;', '&lt;span class="synConstant"&gt;c&lt;/span&gt;', '&lt;span class="synConstant"&gt;b&lt;/span&gt;', '&lt;span class="synConstant"&gt;d&lt;/span&gt;'])
&lt;/pre&gt; &lt;p&gt;順序が変わってます。&lt;/p&gt; &lt;p&gt;重複を排除するには、リストにuniqのようなメソッドがあればいいけど、ないみたいです。&lt;/p&gt; &lt;p&gt;こんな書き方ができました。ただ、遅いかも。&lt;/p&gt;
&lt;pre class="syntax-highlight"&gt;
&gt;&gt;&gt; l = ['&lt;span class="synConstant"&gt;a&lt;/span&gt;', '&lt;span class="synConstant"&gt;b&lt;/span&gt;', '&lt;span class="synConstant"&gt;b&lt;/span&gt;', '&lt;span class="synConstant"&gt;c&lt;/span&gt;', '&lt;span class="synConstant"&gt;a&lt;/span&gt;']
&gt;&gt;&gt; [ x &lt;span class="synStatement"&gt;for&lt;/span&gt; i, x &lt;span class="synStatement"&gt;in&lt;/span&gt; enumerate(l) &lt;span class="synStatement"&gt;if&lt;/span&gt; x &lt;span class="synStatement"&gt;not&lt;/span&gt; &lt;span class="synStatement"&gt;in&lt;/span&gt; l[:i] ]
['&lt;span class="synConstant"&gt;a&lt;/span&gt;', '&lt;span class="synConstant"&gt;b&lt;/span&gt;', '&lt;span class="synConstant"&gt;c&lt;/span&gt;']
&lt;/pre&gt; &lt;p&gt;でも、頭から調べてbreakする処理なら、重複を排除しておく必要はないわけですが。&lt;/p&gt; &lt;p&gt;自分なりに書いたのが以下。&lt;/p&gt; &lt;p&gt;…&lt;/p&gt;
&lt;/div&gt;</description><link>http://michisu.tumblr.com/post/31297160</link><guid>http://michisu.tumblr.com/post/31297160</guid><pubDate>Thu, 10 Apr 2008 08:22:05 +0900</pubDate></item><item><title> 最近「テスト可能なコードが良いコード」と教わり、そういう観点でコーディングを進めてみようと思ってます。 今考えてる進め方はこんな感じです。...</title><description>&lt;div class="section"&gt; &lt;p&gt;最近「テスト可能なコードが良いコード」と教わり、そういう観点でコーディングを進めてみようと思ってます。&lt;/p&gt; &lt;p&gt;今考えてる進め方はこんな感じです。&lt;/p&gt; &lt;p&gt;まず、実際に使うためのコードを大まかに書きます。この時点では、ほとんどメソッド名だけ。頭の中でなるべく細かくメソッドに分けていきます。メソッドのつながりを考えているうちに短いコードを書いたりもします。&lt;/p&gt; &lt;p&gt;ある程度まで書けたら、スクリプトを使って空のテストメソッドを自動生成します。このスクリプトは、カレントディレクトリ以下の*.pyから関数定義、メソッド定義を探してきて、対応するテストメソッドを作ります。自分用なので適当なところもありますが晒しときます。&lt;/p&gt; &lt;p&gt;make_tests.py&lt;/p&gt;
&lt;pre class="syntax-highlight"&gt;
&lt;span class="synComment"&gt;#!/usr/bin/python&lt;/span&gt;
&lt;span class="synPreProc"&gt;import&lt;/span&gt; os, sys
&lt;span class="synPreProc"&gt;import&lt;/span&gt; inspect, _ast excluded_dir_names = ["&lt;span class="synConstant"&gt;tests&lt;/span&gt;"]
excluded_file_names = ["&lt;span class="synConstant"&gt;setup.py&lt;/span&gt;"] &lt;span class="synStatement"&gt;def&lt;/span&gt; &lt;span class="synIdentifier"&gt;get_method_names&lt;/span&gt;(clsdef):...&lt;/pre&gt;
&lt;/div&gt;</description><link>http://michisu.tumblr.com/post/30416680</link><guid>http://michisu.tumblr.com/post/30416680</guid><pubDate>Tue, 01 Apr 2008 11:28:10 +0900</pubDate></item><item><title>敵の陣形は…</title><description>&lt;img src="http://22.media.tumblr.com/epT4DTlk56mje51bsy7p8YJS_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;敵の陣形は…&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/28965962</link><guid>http://michisu.tumblr.com/post/28965962</guid><pubDate>Sun, 16 Mar 2008 11:31:29 +0900</pubDate></item><item><title>木の実</title><description>&lt;img src="http://6.media.tumblr.com/epT4DTlk56mj378coPGa4wS8_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;木の実&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/28965582</link><guid>http://michisu.tumblr.com/post/28965582</guid><pubDate>Sun, 16 Mar 2008 11:22:59 +0900</pubDate></item><item><title>大泉中央公園</title><description>&lt;img src="http://19.media.tumblr.com/epT4DTlk56cqj0ctE9xyZbT2_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;大泉中央公園&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/28343889</link><guid>http://michisu.tumblr.com/post/28343889</guid><pubDate>Sun, 09 Mar 2008 14:53:48 +0900</pubDate></item><item><title>ねこばす発見</title><description>&lt;img src="http://6.media.tumblr.com/epT4DTlk55zlnfvna39njeJt_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;ねこばす発見&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/27564252</link><guid>http://michisu.tumblr.com/post/27564252</guid><pubDate>Fri, 29 Feb 2008 10:16:32 +0900</pubDate></item><item><title>こどもの城・屋上庭園</title><description>&lt;img src="http://4.media.tumblr.com/epT4DTlk5467ahjfcDRD34IQ_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;こどもの城・屋上庭園&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/23703392</link><guid>http://michisu.tumblr.com/post/23703392</guid><pubDate>Mon, 14 Jan 2008 14:49:32 +0900</pubDate></item><item><title>こどもの樹</title><description>&lt;img src="http://5.media.tumblr.com/epT4DTlk545zvn1cIggl9m8G_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;こどもの樹&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/23693208</link><guid>http://michisu.tumblr.com/post/23693208</guid><pubDate>Mon, 14 Jan 2008 11:22:02 +0900</pubDate></item><item><title>"われわれは唯一不変の確固たる現実世界の中で、さまざまに異なった生き方をするのではなく、むしろ逆に、われわれのこの生き方が、この現実世界を構成するのである。"</title><description>“われわれは唯一不変の確固たる現実世界の中で、さまざまに異なった生き方をするのではなく、むしろ逆に、われわれのこの生き方が、この現実世界を構成するのである。”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;野矢茂樹『大森荘蔵－哲学の見本』&lt;/em&gt;</description><link>http://michisu.tumblr.com/post/23146267</link><guid>http://michisu.tumblr.com/post/23146267</guid><pubDate>Mon, 07 Jan 2008 08:05:32 +0900</pubDate></item><item><title>空装。息子がハサミで切って動物にしました</title><description>&lt;img src="http://15.media.tumblr.com/epT4DTlk53v6pvrdO1GBISoK_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;空装。息子がハサミで切って動物にしました&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/23113971</link><guid>http://michisu.tumblr.com/post/23113971</guid><pubDate>Sun, 06 Jan 2008 21:48:03 +0900</pubDate></item><item><title>空装</title><description>&lt;img src="http://11.media.tumblr.com/epT4DTlk53v4bi74vCoiq2Sf_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;空装&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/23110793</link><guid>http://michisu.tumblr.com/post/23110793</guid><pubDate>Sun, 06 Jan 2008 20:40:53 +0900</pubDate></item><item><title>お面</title><description>&lt;img src="http://1.media.tumblr.com/epT4DTlk53tc4y8aSUN5qUyK_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;お面&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/23035094</link><guid>http://michisu.tumblr.com/post/23035094</guid><pubDate>Sat, 05 Jan 2008 14:44:12 +0900</pubDate></item><item><title> 今年もよろしくお願いします。 国語辞書を読むブログ、下の場所でとりあえず始めてみます。 Word Stones Log...</title><description>&lt;div class="section"&gt; &lt;p&gt;今年もよろしくお願いします。&lt;/p&gt; &lt;p&gt;国語辞書を読むブログ、下の場所でとりあえず始めてみます。&lt;/p&gt; &lt;p&gt;&lt;a href="http://dict.michisu.net" target="_blank"&gt;Word Stones Log&lt;/a&gt;&lt;/p&gt; &lt;p&gt;やってみるとなかなか難しいですね。まともにやると時間が足りない。ちゃんと読むと急いでも3ページで10分ぐらいかかってしまうのですが、それ以上に難しいのはどの語をチョイスするかということ。面白い言葉が沢山あって悩んでしまいます。その言葉をWebで調べだすとまた大変です。&lt;/p&gt; &lt;p&gt;やり方は色々変えていくかもしれません。&lt;/p&gt; &lt;/div&gt;</description><link>http://michisu.tumblr.com/post/22922334</link><guid>http://michisu.tumblr.com/post/22922334</guid><pubDate>Fri, 04 Jan 2008 04:00:00 +0900</pubDate></item><item><title>"大森は、知識の不確実性にはほとんど悩まなかった。ただひたすら、「私にはここまでは理解できる。しかし、ここからは理解できない。だが、だからといってそれを切り捨てる気にもならない」、そう呟きながら、電子の存..."</title><description>“大森は、知識の不確実性にはほとんど悩まなかった。ただひたすら、「私にはここまでは理解できる。しかし、ここからは理解できない。だが、だからといってそれを切り捨てる気にもならない」、そう呟きながら、電子の存在の問題に向かい、他我問題に向かい、あるいは自我の問題に向かい、時間の問題に向かっていった。”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;野矢茂樹『大森荘蔵－哲学の見本』&lt;/em&gt;</description><link>http://michisu.tumblr.com/post/22627243</link><guid>http://michisu.tumblr.com/post/22627243</guid><pubDate>Sun, 30 Dec 2007 09:00:59 +0900</pubDate></item><item><title>国語辞書『大辞泉』を全文読む計画</title><description>&lt;a href="http://d.hatena.ne.jp/michisu/20071229#p1"&gt;国語辞書『大辞泉』を全文読む計画&lt;/a&gt;: &lt;p&gt;2864ページありますがこれを1日数ページずつ読んでいこうと思います。 1日3ページ読むと、955日、2.62年かかる計算になります。 なぜ大辞泉 大辞泉は私がまだ和歌山の田舎で高校生をやっていたときに発売された国語辞書です。誕生日になんか買ってやると親がいうので買って&lt;/p&gt;</description><link>http://michisu.tumblr.com/post/22547619</link><guid>http://michisu.tumblr.com/post/22547619</guid><pubDate>Sat, 29 Dec 2007 05:47:31 +0900</pubDate></item></channel></rss>
