コマンドラインオプションのテストを書く

見てしまった、、、 で、optparseをテストしたいのだが、どうすんべ2010-11-24 17:47:14 via Echofon 昨日の今日なのでやりましょう、頼まれていませんがー(> テスト対象のサンプルとして http://d.hatena.ne.jp/t2y-1979/20101124/1290534464 から optparse…

ログ解析ツールを作る

ログ解析ツールを作っててノッテきてつぶやいたら、 ログ解析ツールを python で書いているときの嬉しさを誰かに共有したい、本当に簡潔に書けて便利なんだよ2010-11-18 20:29:14 via TweetDeck @t2y 例題とかみてみたいです。2010-11-18 22:37:54 via TwitB…

言語設計者たちが考えること

プログラミングは創造性を発揮できる創作活動の1つです。機能を実現したり、決められた仕様通りに出力すること自体は単なるお仕事の作業でしかありません。しかし、要件を満たすためにどう設計、抽象化してメンテナンスし易く拡張性の高い仕組みに創り上げる…

PyQt4 の QtWebKit モジュールを使う

Python Hack-a-thon 2010.11 : ATND で @ransui による PyQt4 のハンズオンに参加してきました。お題は以下の通りです。 「メディアプレーヤ&スクリーンショット作成機能付き俺様ブラウザを作りながらPyQt4の基礎を学ぶ」 GUIとPhononというマルチメディア…

エキスパートPythonプログラミング読書会04に参加しました

エキスパートPythonプログラミング読書会04 : ATND に参加してきました。今回は第3章のクラスのお話です。私は小規模開発や普通のアプリケーション開発にしか携わったことがないのですが、wikipedia:オブジェクト指向プログラミング を行うところの、本質的…

エキスパートPythonプログラミング読書会03に参加しました

エキスパートPythonプログラミング読書会03 : ATND に参加して講師のお手伝いをしてきました。2章の後半、以下の内容を行いました。 イテレータとジェネレータ itertools モジュール デコレータ with と contextlib エキ Py 読書会02 2章後半最後にこんな質…

pypoppler を使用して PDF からテキストを抽出する

最近の Linux だと Poppler というライブラリを使用して PDF の処理を行っているようです *1 。Poppler をインストール(Fedora13 だと poppler-utils パッケージ)すると pdftotext というコマンドが付属していて、そのコマンドからテキスト抽出することもで…

PyQt4 のメインウィンドウの構成を把握する

Qt でフォーム画面を作成する際に QDialog や QWidget でちょっとした画面を作成することもできますが、メイン画面は QMainWindow で作成します。Qt Main Window Framework によると、QMainWindow にはメニューバー、ツールバー、ドックウィジェット、中央ウ…

PyQt4 のスロットを関数名で対応付ける

Qt Designer を使用してウィンドウやフォームを作成すると .ui という XML ファイルが作成されます。そして pyuic4 というコマンドを使用して .ui ファイルから uic モジュール(Python モジュール)へ変換することができます。ここで生成された uic モジュー…

PyQt4 の UI 操作のマルチスレッド処理

PyQt4 のシグナル/スロットの新旧スタイルの違いを比較するサンプル - forest book で紹介したサンプル、指定したディレクトリ配下にあるファイル数を数える簡単なアプリケーションでは、大量のファイルがあるディレクトリを指定した場合、全てのファイル数…

PyQt4 のシグナル/スロットの新旧スタイルの違いを比較するサンプル

wikipedia:Qt ではオブジェクト間通信、具体的には「ボタンをクリックした」「ラベルの表示を変更する」といったオブジェクトやウィジェットの状態の変更を通知する仕組みにシグナルとスロットを使用します。シグナルとスロットの詳細はここ *1 を参照してく…

エキスパートPythonプログラミング読書会02に参加しました

エキスパートPythonプログラミング読書会02 : ATND に参加して講師のお手伝いをしてきました。今回の読書会でお話できたのは第2章のうち以下の内容だけでした。 リスト内包表記 イテレータとジェネレータ ジェネレータ コルーチン ジェネレータ式 準備不足で…

0と1を次々返す方法の実装

0と1を次々返す方法 - When it’s ready. を考えてみました。私だったらこう実装するかな。 #!/usr/bin/env python # -*- coding: utf-8 -*- from operator import not_ def toggle(obj): while True: obj = not_(obj) yield obj def main(): g = toggle(True…

2010/8/12 から 2010/9/1 までの更新

以下の標準モジュールのチュートリアルを翻訳しました。 mailbox – メールアーカイブのアクセスと操作 - Python Module of the Week mhlib – MH メールボックスと連携する - Python Module of the Week os.path – プラットホーム独自のファイル名を操作する …

エキスパート Python プログラミングに学ぶ PyMOTW 翻訳の進め方

Taru-hime's waterfall posted by (C)t2yPyMOTW-ja *1 という Python 標準モジュールのチュートリアルを翻訳しています。2009年の5月頃から始めて、一時中断していたものの、現在は数10個のチュートリアルの翻訳が完了し、まだまだ鋭意翻訳中です。PyMOTW そ…

Pikzie でデータ駆動テストをやってみた

クリアコード さんが開発している Pikzie (ピクジー) という Python のための書きやすさとデバッグのしやすさを重視した Unit Testing Framework があります。ブログでデータ駆動テスト *1 の紹介をされていました。以前、素数を求めるアルゴリズム -エラト…

2010/8/4 から 2010/8/11 までの更新

以下の標準モジュールのチュートリアルを翻訳しました。 abc – 抽象基底クラス - Python Module of the Week dis – Python バイトコードディスアセンブラ - Python Module of the Week functools – 関数を巧みに操作するためのツール - Python Module of the…

calendar モジュールを使う

アリエル・ネットワークさんで Python を学び始めた @na_toi さんの パスワード認証 を見て、私だったらこう実装するなって書いてみました。calendar.weekday() が曜日を表す値を返すなら、そのままタプルのインデックスとして使用すると良いと思います。リ…

2010/7/20 から 2010/8/3 までの更新

以下の標準モジュールのチュートリアルを翻訳しました。 array – データ型固定のシーケンス - Python Module of the Week contextlib – コンテキストマネージャユーティリティ - Python Module of the Week difflib – シーケンスを比較する - Python Module …

Python × Django × AWSで作るソーシャルアプリ〜3日に1つアプリをリリースできた理由〜に参加しました(エキスパート Python プログラミングの紹介)

Python × Django × AWSで作るソーシャルアプリ〜3日に1つアプリをリリースできた理由〜に参加してきました。Account Suspended の CTO 堀内さんを私は初見でした。堀内さんは Web 開発10年のキャリアがあり、Perl 歴が10年、Python 歴は1年らしいです。Perl …

いざ物流センター

KLab×はてな エンジニア応援ブログコンテストSIer 時代の思い出シリーズ3部作の最後のブログです*1 *2。最後は「物流センター」にまつわるお話です。流通業における物流センターとは2種類のタイプに区分されます*3。 DC (Distribution Center) TC (Transfer …

返品訂正のマイナスって?

KLab×はてな エンジニア応援ブログコンテストSIer 時代の思い出*1を続けます。顧客はドラッグストアで、私は SIer で運用サポートを行っていました。基幹システムのリプレースという当社の中では最も大きな開発プロジェクトでした。「取引先別請求データアン…

Python × Django × AWSで作るソーシャルアプリ〜3日に1つアプリをリリースできた理由〜に参加して「エキスパート Python プログラミング」をゲットしよう

私は1年前から Django*1 で業務アプリを開発しています。今になって1年前を思い返せば、業務パッケージのスクラッチからの新規開発に Django を採用すると決めたときには不安がたくさんありました。社内には PHP での開発実績しかなく、Python で開発するこ…

日次売上報告書の間違いを直せ

KLab×はてな エンジニア応援ブログコンテストSIer で働いていた頃、流通小売系基幹システム(ドラッグストアのバックエンドシステム)のリプレース案件に携わりました。昔の同僚に聞いたお話では、私が開発に携わったシステムが今ちょうど新システムにリプレー…

文字列の先頭又は最後にある任意の文字を取り除く

c

在り来たりな C 言語の課題、ポインタ、、、ポインタ(*)はまだ少しは分かりますが、ポインタのポインタ(**)になると、世界が一気に広がるような気がして私は使わないようにしていました。ポインタのポインタについて難しく考えないように以下のように言われ…

文字列から数値への変換

c

呼称: 文字列から数値への変換 目的: 文字列を数値へ変換する 特徴: strtol()/strtoul() を使用するとエラーを検出できる 用例: どこでも、いつでも 備考: errno を検査する必要がある*1C 言語で文字列から数値への変換はよく使う処理です。数値として計算す…

C 言語で split 処理を関数化したらコピペの方が良いと言われた

c

区切り文字があるデータ構造を分割する場合、Python なら以下のように split メソッドを使用すれば良いです。 $ python -c "print 'a,b,c,33,e'.split(',')" ['a', 'b', 'c', '33', 'e'] $ python -c "print 'a,,c,,e'.split(',')" ['a', '', 'c', '', 'e'] …

(第11回)Zope/Plone開発勉強会

(第11回)Zope/Plone開発勉強会 : ATND に参加してきました。タイムテーブルは以下のような感じです。 11:00-11:30 自己紹介とか 11:30-12:00 やること決めたり準備とか 12:00-13:00 昼食 13:00-18:00 もくもくと開発 18:00-19:00 成果発表(できたとこまで) 1…

CentOS 5.5 に Django 1.2 をインストールする

2011 2/9 追記 最新のアップデートパッケージを使用してください ブログに古いバージョンのパッケージを公開するのは良くないことに気付きました。いつまでパッケージを作成するか分かりませんが、現在の最新バージョンを確認した上で以下の bitbucket に最…

IT業界を楽しく生き抜くための「つまみぐい勉強法」

「本書はどういう本?」と聞かれたら、私だったらこう答えます。 勉強ってそもそも何なのかを考えるための本。 私は2年ぐらい前からコミュニティや勉強会へ積極的に参加するようになりました。もともとの目的は技術的な優位性を持つことでお仕事でイニシアテ…