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

CentOS 5.5 に Django 1.2 をインストールする - forest book 2010/05/17 に Django 1.2 がリリースされました。Django 1.2 RC1 がリリースされました。Django-1.1.1-2.el5.src.rpm を用いて CentOS 用の RPM パッケージを作成してみました。以下からダウン…

Django 1.2 RC1 リリースノート

Django 1.2 RC 1 release notes | Django documentation | Django 本稿は上記リンク元の和訳になります 転載ミス、誤訳等については適宜修正します Django 1.2 の最初のリリース候補版へようこそ!このリリース候補版は3度目の、おそらくは最後となるプレビ…

リモートサーバの特定ディレクトリと MySQL データベースをバックアップする

呼称: 簡単なバックアップスクリプト 目的: MySQL を使用する Web アプリの特定ディレクトリとデータをバックアップする 特徴: 常にフルバックアップ!!! 用例: Trac サイトを構築してバックアップする 備考: エラーになったら自分で対応してください(- -#…

ジェネレータへ値を渡す

呼称: send() メソッドを使用してジェネレータへ値を渡す 目的: yield を式として使用する際の動作を学ぶ 特徴: 特になし 用例: コルーチンの実装の一つ 備考: エキスパート Python プログラミングの第2章「構文ベストプラクティス - クラスの世界」-イテレ…

select モジュールの基本

呼称: select モジュールの基本 目的: select モジュールの動作を学ぶ 特徴: 標準出力/エラーの判別をファイルディスクリプタで行う 用例: 複数のソケットやパイプから非同期にデータのやり取りをする 備考: subprocess の PIPE 経由でデータをやり取りする…

IPython で簡単プロファイリング

methane のつぶやき を見て IPython で timeit を使用すると、簡単に実行時間を計測することができるのを知りました。例えば、[1,3,2,3,4,1,5] -> [1,3,2,4,5] のような、同じ値を含むリストから順序を保持した上で重複を取り除きたいときに色んな実装が考え…

フラグのような条件比較にブール演算を利用する

呼称: ブール演算による条件比較 目的: 条件比較に定数を利用してメンテナンス性を高める 特徴: 条件のグループ化ができて、且つソースコードが読み易くなる 用例: コマンドラインのオプションや設定ファイルの設定項目などに使用する 備考: エキスパート Py…

subprocess モジュールでパイプによる入出力を扱うときの注意事項

Python 2.4 から OS のコマンドを実行したり、それらの標準入出力/エラー出力のやり取りをするのに subprocess モジュールが追加されています。commands モジュールの置き換えとして使用していたところ、あるコマンドの標準出力を受けとる処理がデッドロック…

営利活動と社会貢献のはざま

キヤノンマーケティングジャパンさんのhttp://teiki.saiyo.jp/canon-mj2011/contents/dm_2/index.htmlを読みました。当初は、大手企業なのに業績不振で新卒採用の予算がないぐらい厳しい状況なんだなと思いました。もし現在、選考中の学生さんがいたとしても…

Plone で RSS フィード付きのポータルタブコンテンツを作成する

nakagami さんから Zope/Ploneアドベントカレンダー 2009 のバトンが贈られてきました。Plone サイトにブログプロダクトを追加して RSS フィードを配信するのに挑戦してみます。ポータルタブの News や Events がどのようにして作成されているのかを確認しな…

営業と技術のお仕事はどちらが大変?

営業さんと技術さんとの飲み会でのある話題です。 営業は数字があがらないと解雇されることがあるけど、技術はそういう心配がない 営業さんに悪気があったわけでもなく、技術さんが嫌味を言ったわけでもないのですが、飲み会だったので、そんなようなお話に…

CentOS 5.3 に Django-1.1.1 をインストールする

セキュリティアップデートの Django-1.1.1 がリリースされました。 以下から CentOS 用の src.rpm をダウンロードできます。 Django-1.1.1-1.centos.src.rpm src.rpm を用いたインストール方法 ディストリビューションマクロを編集する # vi /etc/rpm/macros…

PEP 3120 -- デフォルトソースエンコーディングとして UTF-8 を使用

Python Enhancement Proposal: 3120 — Python製ドキュメンテーションビルダー、Sphinxの日本ユーザ会 へ移転しました。

Django におけるスレッド

Threading in Django | Artful Code 本稿は上記リンク元の和訳になります 転載ミス、誤訳等については適宜修正します web 開発で利便性の高いスレッドの使用方法は珍しく、特に Python のグローバルインタープリタロックと共に使用するのは稀です。これに対…

テキストファイルで使用されている文字コードを目視で確認する

呼称: 文字コード指定によるファイルオープン 目的: テキストファイルで使用されている文字コードを判別する 特徴: Python がサポートしている文字コードを全て試せる 用例: テキストファイルがどの文字コードを使用しているか分からないときに使用する 備考…

inspect モジュールでオブジェクトの情報を取得する

呼称: インスペクション機能の触り 目的: inspect モジュールの使用方法を学ぶ 特徴: ログ出力時に pprint モジュールを使うと整形されて見易い 用例: 実行中のソースの行番号を出力する、デバッグ 備考: inspect モジュールはもっと奥が深そうPython で実行…

HTML タグ付き文字列を動的に生成する

2011/1/13 追記 リファクタリングしました。 HTML タグ付き文字列を動的に生成する実装のリファクタリング - forest book 呼称: HTML タグ付き文字列の生成 目的: HTML タグ付き文字列を取得する 特徴: if 文を使用せずに分岐制御を行う 用例: HTML タグ付き…

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

(第2回)Zope/Plone開発勉強会と(第3回)Zope/Plone開発勉強会に参加してきました。第2回(先月)のときは、PyLucene のビルドができない、原因が分からないとはまってしまい、ブログを書けるほどの成果がなかったので2ヶ月まとめて書きます(^ ^;;タイムテーブル…

CentOS 5.3 に ZABBIX 1.6.6 をインストールする

2011/2/9 追記 最新のパッケージは ZABBIX-JP からダウンロードしてください ZABBIX-JP ダウンロードZABBIX 1.6.6 がリリースされました。今回も多くのバグ修正やセキュリティアップデートが行われているようです。以下に過去のリリース履歴を辿ってみました…

リストからディクショナリへの変換の最適化にみる賢明な Python プログラミング

Python クックブック 第2版「4.12 キーと値が交互に入ったリストから dict を構築」というレシピがあります。 原典: Dicts from lists « Python recipes « ActiveState Codeリストからディクショナリを生成する方法として、zip() と dict() 関数を組み合わせ…

JavaScript のインタラクティブシェル

先週から JavaScript の勉強をしています。 JavaScript は、オブジェクト指向機能を備えたインタプリタ型のプログラミング言語です。一般的に JavaScript と言うと、Web ブラウザに組み込まれていて実行されるものとして使われています。厳密には、言語とし…

Python のループ処理の最適化

元ネタ: このページは削除されました これが「やっぱPythonですって」と言いたい人の一助になれば完璧。 さくらのブログ これは素晴らしい結果です(^ ^;; しかしながら「ランダム数値リスト作成」で僅かに Ruby に遅れを取っています。 以下がそのソースコー…

CentOS 5.3 に Django-1.1 と MySQL-Python-1.2.2 をインストールする

2009/10/09 セキュリティアップデートの Django-1.1.1 がリリースされました。 CentOS 5.3 に Django-1.1.1 をインストールする - forest book Django-1.1 がリリースされました。以下、CentOS 用のアップデートパッケージの作成方法になります。ご参考まで…

メールヘッダから日付を取得する

呼称: メールヘッダパーサー for Date 目的: メールヘッダから Date フィールドの日付を取得する 特徴: 意図したフォーマットでない場合はそのまま表示する 用例: メール日付を取得する 備考: email モジュールの使い方のお勉強このプログラム自体にあまり意…

"An O(NP) Sequence Comparison Algorithm" with Python の添削

元ネタ: "An O(NP) Sequence Comparison Algorithm" with Python - 考える人、コードを書く人おとなり日記をたまたま見たところ、面白そうな内容でしたので添削してみました。 ドキュメンテーション文字列をクラスの中に入れました クラス名を Python コード…

素数を求めるアルゴリズム -エラトステネスの篩(ふるい)-

呼称: エラトステネスの篩(ふるい) 目的: 素数を求める 特徴: enumerate() を使うと便利ですアルゴリズムそのものとは全然関係ないのですが、お仕事でエラトステネスさんに由来する名前に関わっているので、実装してみました(^ ^;;アルゴリズムの解説を Pyth…

議事録のテンプレートとその目的

資料のフォーマットを作ることはとても重要です。プログラミングにおける設計と同じです。ある作業を行う際、資料のフォーマットがあれば、経験の少ない人でもそのフォーマットに沿って、穴埋めしていくだけで、一定レベルの品質を担保できるからです。どこ…

学術論文の書き方のメモ

7年前の、当時、修士1回生のときに受講していた「科学技術表現」という講義のメモが出てきたので(自分用に)整理してみました。メモ書きなので講義を受講していない人には分かり難いかもしれません(^ ^;; 学術論文は、技術文書とは違い、内容の良し悪しに加え…

クロージャによるタグパーサー

呼称: クロージャによるタグパーサー 目的: 任意の区切り文字でタグをパースする(タグの入れ子は不可) 特徴: クロージャを生成する 用例: はてなブックマークのタグを解析する 備考: クロージャの勉強にも良いかも?2009/10/09 空白文字類を除外するように変…

IPAX2009 パネルディスカッション クラウド、グリーンIT、Webプラットフォーム・・・最新IT技術は未来を切り開くか?

「クラウド、グリーンIT、Webプラットフォーム・・・最新IT技術は未来を切り開くか?」を聴講してきました。当日、tsuda っていたので、自分用のメモがなく、発表資料が公開されたら感想を書こうと思いつつ約2ヶ月が経過してしまいました。 このパネルディス…