WordPressのチューニングをしてみようかと思った

2009-12-30
このエントリーをはてなブックマークに追加

ApacheBenchでこのブログのパフォーマンスを計測したら、

Requests per second:    9.94[#/sec]

という、思っていたより残念な結果でした。うーん、思っていたより低いなぁ。。。

で、とりあえずmysql_connectをmysql_pconnectに変えてみたのですが。

Requests per second:    10.01 [#/sec]

と、大して変わらず。。。

めんどくさいけど、ApacheとMySQLの設定から見直そう。PHPをDSOで使ってるのも影響してるのかなぁ。。。

ReportLabを使ってPythonでPDFに画像を貼り付ける

2009-12-30
このエントリーをはてなブックマークに追加

from reportlab.pdfgen import canvas
from reportlab.lib.units import cm
hoge = canvas.Canvas(“hoge.pdf”)
hoge.drawInlineImage(“/path/to/imagefile”,0,0,width=3.0*cm, height=3*cm)
hoge.showPage()
hoge.save()

ReportLabを利用しています。PythonからPDFを作成するライブラリはいくつかありますが、どうもこれが一般的っぽいので、まずはReportLabを使ってみました。日本語も使えるようなのでひとまず安心。後日日本語を使ったエントリーも書きましょう。

2行目は、位置や縦横の指定にセンチメートルを使うために必要です。これがないとピクセル指定になるようです。

drawInlineImageの第1引数が画像のパス。第2第3が描画座標。0,0は左下を意味します。左上だと思っていたのでちとつまづきました。ちなみに、ReportLabで作成したPDFはデフォルトでA4縦になります。というか、なってました。

ReportLabでは既存PDFの編集ができないので、テンプレートを用意しておいてそれを編集、という技が使えませんでした。帳票作成時これはつらい。

が、テンプレートを画像にしておけば無事に読み込めます。これで帳票の罫線を必死に書きまくらなくてすみます。

ありがたやありがたや。

WordPressいいね

2009-12-28
このエントリーをはてなブックマークに追加

iPhoneアプリからも投稿できるんですね。

まあ、書き難いですが。

WordPressに移行します

2009-12-24
このエントリーをはてなブックマークに追加

MovableTypeが使いにくいというか、WordPressの使い勝手がよすぎるので移行しようかと。

問題点は、URLが引き継げないこと。

URLコミの移行方法もあるようなのですが、「めんどくさい」というダメ人間なハセテツに勝てず、エントリだけをごっそりと移行することにしました。

検索エンジン経由できた方はNotFoundがでてしまうかもしれませんが、何卒サイト内検索をご利用いただければと思います。

CentOS5.4の64bit版をネットワークインストールする

2009-12-20
このエントリーをはてなブックマークに追加

CentOSをネットワークインストールというエントリーでネットワークインストールする方法を書いておいたのですが、これは32bit版のやりかた。

といってもほとんど変わりません。FTPで見に行く先が変わるだけです。今回はCentOS5.4の64bit版をCore2Duoのマシンにインストールしました。

ディレクトリが「/Linux/centos/5.4/os/x86_64」に変わるだけでした。あとは32bit版とまったくおんなじ。

初の64bit環境ですが、ちといろいろと試して遊んでみたいと思います。

Tags:

PythonでActiveDirectoryと連動したLDAP認証をする方法

2009-12-18
このエントリーをはてなブックマークに追加

まぁよくある話で、社内イントラのシステムでユーザ認証が必要になったのですが、社内ドメインと各々のシステムでユーザ認証を統一したかったのです。

「アレはこのパスワード、コレはこのアカウント名、コッチはメールアカウント」というのはありえないと思っています。で、そんなときは社内ドメインを仕切ってくれているActiveDirectoryさんにお願いしちゃうのが簡単というわけです。

「ADとしゃべりたいならASP.NETで書けよ」と、ごもっともなご指摘をいただきそうな気もするのですが、まぁ数年ぶりにASP.NET書こうとしたらまったく思い出せなかったアプリケーションはLinux上で稼動させたいわけですよ。

以下の例はPython-LDAPを利用してます。

import ldap

conn = ldap.open(“ADサーバ”)
conn.simple_bind_s(“アカウント@ドメイン”,”パスワード”)

(97, [])

「(97, [])」と表示されれば認証OKです。認証に失敗すると例外が起きます。ここがスマートじゃないですね。Falseじゃなくて例外が返ってきちゃうので、tryは必須です。TrueかFalseで返ってきてくれればありがたかったです。

日本語ユーザ名とか詳細情報の取得までやりたいのですが、そこまでまだ調べきれてません。。。

Tags:

PythonからMySQLに接続

2009-12-01
このエントリーをはてなブックマークに追加

#!/usr/bin/python

import MySQLdb
conn = MySQLdb.connect(db=”DB名”, host=”ホスト名”, user=”ユーザ名”, passwd=”パスワード”)

cur = conn.cursor()
query = “select * from hoge”
cur.execute(query)

result = cur.fetchall()
cur.close()
conn.close()

for row in result:
print row[0]

PythonでもMySQLにつなげてみました。事前にMySQL-Pythonがインストールされていることが条件です。Windowsならexeがあるし、Linuxならeasy_installを使えば便利かと。

ハセテツの例では、事前に結果セットを取得して、それをループしています。これとは別にカーソルを使ってMySQLから順に取得していく方法もあります。

個人的に、いつまでもDBにつないでおきたくなかったのでこちらの手法をとっています。まぁメモリ消費しちゃうじゃんかというデメリットもありますが。

お好きな手法で実装していただければと思います。

 

 

Tags: ,