このBlogは移転しました。今後は aish.dev を御覧ください。

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

僕たちPythonistaは、プログラミングに、Excelを使います!

みんな、Excel使ってますか!?もちろん使ってますね!?休暇届も、作業日報も、見積書も、スケジュール表も、みーんなExcelですね!? もちろん、プログラミングだってExcelですね!? 当然です!みんなそうやって仕事してるんです! Excel版のTwitter公式…

Python3 Advent Calendar 二十日目 PEP 380 -- Syntax for Delegating to a Subgenerator

Python3 Advent Calendarとやらに参加しろ、なんか書けと言われて泣く泣くキーボードを叩くatsuoishimotoです。書けと言われてもネタがないのでどっかからパクろうと Python3 Advent Calendar を最初から目を通してみると、しょっぱなから良いネタがあった。…

Motorola Photonに乗り換えた

携帯を、HTC DesireからMotorola Photonに乗り換えたので、感想など。DesireとPhotonではAndroid 2.2と2.3の違いもあるので単純には比較できないが。 Photonの方が断然バッテリの持ちが良い 速い。DesireではWeb版Twitterは実用的な速度で表示されなかったけ…

Python Developers Festa 2011.10 の発表資料

Python Developers Festa 2011.10で、「Pythonのシグナル処理」というネタを発表させて頂いた。 Pythonのシグナル処理 View more presentations from atsuoishimoto 内容的には、Pythonがどのようにシグナルを受け付けているのかという初歩的な解説と、一般…

BeProudさんで草鞋を脱ぐ

まだ100%確定という訳ではないが、著名なPython企業である BeProud さんで、11月からお仕事をさせていただくことになりそうだ。ちょっとお話でも、という事でお邪魔させていただいたら、なかなか面白そうな案件を伺って、決めてきてしまった。自分でもちょっ…

Re:Python とクロージャ

@kumagi: @shomah4a 記法をちょっと改める事で回避出来るというのも謎ですし、なぜリストならクロージャ出来るのかわからないのですがどういう哲学でこんな設計になってるのでしょうorz http://d.hatena.ne.jp/shomah4a/20110909/1315542720 関数をネストで…

いまさらながら、エキスパートPythonプログラミング

遅ればせながら、エキスパートPythonプログラミング を読んでみた。翻訳者の一人、森本さんに頂いたのだが、なんと彼は本をやるから書評を書けと私に強制するのだ。ひどい男である。聞くところによればこの本、すでに第4刷まで増刷されたヒット作であり、い…

Consoleの日本語入力対応-その3

ダウンロード: http://wiki.pythonpath.jp/moin/ConsoleIme 修正内容 半角/全角キーだけでもIMEをオン・オフできるようにした

Consoleの日本語入力対応-その2

ダウンロード: http://wiki.pythonpath.jp/moin/ConsoleIme 修正内容 変換ウィンドウの位地・フォント設定 IMEオンの状態でEnter等のキーが正しく動作していなかった。 問題が無さそうなら、パッチを本家に送ろうと思う。動作報告を@atsuoishimoto までご連…

Consoleの日本語入力対応

Windows用のコマントプロンプトの置き換えアプリに、Console というのがある。タブで複数のコマンドプロンプトを切り替えたり、ドラッグだけでウインドウ幅を変えられたりと、色々と便利なツールである。Consoleは結構昔からあるツールで、私も以前試してみ…

お前ら効率悪い勉強してんなー

って思う人たちがたくさんいる。何かを学びながら、その対象の悪口をTwitterとかに書き込んでるような人たちだ。勉強するなら、嘘でもいいからその対象を愛した方が良い。気に入らなくても、どっか褒めるところがあるだろう。キャバ嬢になったつもりでコビま…

ANS-prog : プログラマが質問し、プログラマが答える Q&Aフォーラム

先日もちらっと書いたが、 ANS-prog : プログラマが質問し、プログラマが答える Q&Aフォーラム をオープンした。既に一週間ほど運用しているが、十分安定しているようだ。 Stack Overflowとは さて、「Q&Aフォーラム」と聞いて、どんなイメージを持たれるだ…

uniq()あれこれ

ふとこちらの記事を拝見して、頭に浮かんだことをメモってみる。id:aroma_blackさんの [y for x,y in enumerate(seq) if seq[:x+1].count(y) == 1] や、id:cocoatomoさんの [x for i, x in enumerate(a) if i == a.index(x)] でも良いんだけど、あえて別解を…

許されざる悪事

djangoの中に、こんな処理がある。 def get_cache(backend_uri): scheme, host, params = parse_backend_uri(backend_uri) … … … return getattr(module, 'CacheClass')(host, params) cache = get_cache(settings.CACHE_BACKEND) (http://code.djangoprojec…

オープンソースQ&Aシステム OSQAのインストール方法

さて、 昨日紹介した オープンソースQ&Aシステム OSQAのインストール方法を解説する。ここではUnuntu Linux 10.4 を対象に、インストール先ディレクトリは /home/osqa とした。 動作環境 Python 2.6以上 ソースの取得 まだ正式なリリースが出ていないので、S…

オープンソースstackoverflowクローン OSQA

IT技術者の皆さんなら、Stack Overflow というサイトをご存じだろう。いわゆるQ&Aサイトだが、非常に使い勝手の良いサービスで、この手のサイトにはあまり足を運ばないようなプログラマでも、ここでは書き込んでいるのを見かけることも多い。Stack Overflow…

Twitter 音声読み上げクライアント Tweet it Loud! 0.0.3

Tweet it Loud! はTwitterのタイムラインを音声で読み上げるWindows用アプリケーションです。このアプリケーションは、スクリーンリーダNVDA日本語化プロジェクトの成果物を元に開発しています。 ボリューム・速度・音声の設定 ユーザの読み上げ設定 ダウン…

はてなブックマーク研究

私は従来、「はてなブックマーク」とはあまり縁がなく、特に気にとめたこともなかった。ブックマークサービスとしてはDeliciousを使っていたし、注目エントリにあがるブログも私があまり読まないようなものが多かったからだ。それでも、最近はてな日記でブロ…

はてなダイアリのURL一覧を取得してみる

はてなダイアリの記事一覧を取得し、lxmlを使って日記一覧とタイトルをcsv形式で出力してみるテスト。なんかAPIとかないのか? import urllib2, re, csv, sys, locale from lxml import etree def fetchentries(hatenaid, n): url = "http://d.hatena.ne.jp/…

メソッドオブジェクトの不思議とid()の落とし穴

さて、@aroma_blackさんがこんなスクリプトで悩んでおられたのである。 class C(object): def foo(self): pass c = C() print id(c.foo) == id(c.__class__.foo) print c.foo is c.__class__.foo @aroma_blackさんはメソッドオブジェクトがどこに隠れている…

Python2のstrは死んだ

Python3の概略をざっと聞くと、Python3ではPython2のユニコード型が文字列型になり、文字列型はバイト文字列型になった、というイメージを持ってしまう人も多いだろう。Python2の s="spamspamspam" は、Python3の s=b"spamspamspam" と同じだ、と。しかし、P…

Twitter 音声読み上げクライアント Tweet it Loud! 0.0.2

Tweet it Loud! はTwitterのタイムラインを音声で読み上げるWindows用アプリケーションです。このアプリケーションは、スクリーンリーダNVDA日本語化プロジェクトの成果物を元に開発しています。 TLだけでなく、ハッシュタグなどを検索して読み上げ http://w…

MoinMoinでOpenIDを使う

OpenID専用にしてしまうなら、wikiconfig.pyを from MoinMoin.auth.openidrp import OpenIDAuth auth = [MoinAuth(), OpenIDAuth()] cookie_lifetime = (2,12) 普通のログインも併用するなら from MoinMoin.auth import MoinAuth from MoinMoin.auth.openidr…

【求む】Twitter 音声読み上げクライアント Tweet it Loud!【人柱】

Tweet it Loud! はTwitterのタイムラインを音声で読み上げるWindows用アプリケーションです。このアプリケーションは、スクリーンリーダNVDA日本語化プロジェクトの成果物を元に開発しています。 ダウンロード http://www.pythonpath.jp/download/tweetitlou…

internのひみつ

Pythonにはintern()という組み込み関数がある。結構特別扱いで重要な組み込み関数なのだが、使い道が今ひとつ分かりにくいのか知らない人も多いようだ。 intern (一定の区域内に)拘禁する, 抑留する. [新英和(第7版)・和英(第5版)中辞典 株式会社研究…

プログラミングを学んでみたい人に

Twitterなんかをいろいろ眺めていると、もどかしくってたまらなくなってしまうことがある。プログラミングをやってみたいな〜と思いながらも、いつまでも最初の一歩を踏み出せない、そんな人を見たときだ。踏み出してはみたものの、自分の進路に自信を持てな…

is演算子のふしぎ

Pythonには、二つのオブジェクトが同じオブジェクトかどうか判定する is演算子というのがある。==演算子とちょっと似ているが、==演算子は二つのオブジェクトの値が等しいかどうかを判定し、is演算子は値に関わらず異なるオブジェクトが指定されればFalseを…

Python2のsoftspace

いまさら言うのもなんだが、Python3ではファイルのsoftspaceが廃止されている。これはprintステートメントでテキストを出力するとき、先頭にスペースを付加するかどうかのフラグだ。Python2ではprintステートメントの最後に , をつけると print "a", # 改行…

リストのかけ算

Python初学者が引っかかる落とし穴に、 seq = [[]] * 5 seq[0].append('A') print(seq) としたとき、どのような出力が出るか?というのがある。 一見、 [['A'], [], [], [], []] となりそうだが、実際には [['A'], ['A'], ['A'], ['A'], ['A']] となる。 seq…

さくらVPSでLVMを設定したときのメモ

新しくさくらVPSで 1.5Gプランを契約してみたが、このプランではディスクが仮想ドライブ2台として提供されている。デフォルトで入っているCentOS5のインストールでは、2台目のディスクが /home ディレクトリにマウントされているようだ。いろいろOS入れ替え…