WordPressの画像縮小はデフォルトでGDというライブラリを用いているようですが、お世辞にも綺麗とは言えません。
画像縮小に定評のあるLanczosというアルゴリズムが使えたら綺麗になるんではなかろうかと考えました。
ImageMagickという画像操作ツールのconvertコマンドの画像リサイズではデフォルトでLanczosが使われるそうです。
個人的にconvertコマンドはブログアップロード前に縮小する際によく使います。
WordPressでImageMagickを使う方法を探してみたらパッチを公開しているサイトを発見。
Wordpress patches | land of bile
wp-include/media.phpにこのパッチを当ればOK! どうやらimage_resize()を書き換えているようです。
convertコマンドのパラメータいじくりたかったら付け加えましょう。
画像縮小後の画像が綺麗になっている気がする~。
ちなみにPHPよりImageMagickを使う方法の一つにPECL::Imagickというライブラリもあります。
当初それを使おうと頑張ってインストールまでしましたが、細かいパラメータが変更できなそうだったのでやめました。
おそらくPECL::Imagickを使った方がコードは綺麗になる気がしますが、インストールが面倒だったような気がします。
2009年4月23日木曜日
2009年4月21日火曜日
Apacheのアクセスログを日付別に分割する:mod_log_rotate
AWStats等のアクセスログ解析のためにApacheのアクセスログを日付別に分割したい場合がある。今まではパイプでcronologを使って分割パイプで使用していたが、なんだか怪しい気がしていた。
Apacheのモジュールで存在しないか探してみたところ発見した。
Mod-log-rotate - Hexten
mod_log_rotateをCentOS 5.2にインストールしたときのメモ
◆ダウンロード
◆インストール
※apxsコマンドがない場合はhttpd-develをインストールする
◆設定(/etc/httpd/conf/httpd.conf)
おそらくこれは上記インストール時に追加される。
◆設定(/etc/httpd/conf.d/ssl.conf)
ssl_access_log部分の変更
◆Apache設定再読み込み
問題点としては/var/log/httpd/の権限がデフォルトでroot:rootの700となっているが、これだと新規ファイルが書き込めずエラーとなってしまうらしい。ひとまずapacheが動作しているユーザ(デフォルトapahce)に変更した。
<参考>
・mod_log_rotate がよさげかも - (ひ)メモ
・mod_log_rotate のススメ
Apacheのモジュールで存在しないか探してみたところ発見した。
Mod-log-rotate - Hexten
mod_log_rotateをCentOS 5.2にインストールしたときのメモ
◆ダウンロード
$ wget http://hexten.net/assets/apache2/mod_log_rotate.c
◆インストール
# apxs -i -a -c mod_log_rotate.c
※apxsコマンドがない場合はhttpd-develをインストールする
# yum install httpd-devel勝手に/etc/httpd/conf/httpd.confも書き換わるっぽい。
◆設定(/etc/httpd/conf/httpd.conf)
おそらくこれは上記インストール時に追加される。
LoadModule log_rotate_module /usr/lib64/httpd/modules/mod_log_rotate.so下記を追加する。
RotateLogs OnCustomLog部分の変更。日付別の形式とする。
RotateLogsLocalTime On
#CustomLog logs/access_log
combined CustomLog "logs/access_log.%Y%m%d" combined
◆設定(/etc/httpd/conf.d/ssl.conf)
ssl_access_log部分の変更
#TransferLog logs/ssl_access_logssl_request_log部分の変更
CustomLog "logs/ssl_access_log.%Y%m%d" combined
#CustomLog logs/ssl_request_log \
# "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
CustomLog "logs/ssl_request_log.%Y%m%d" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
◆Apache設定再読み込み
# service httpd reloadこれでOK。日付別のログが作成されていると思う。
問題点としては/var/log/httpd/の権限がデフォルトでroot:rootの700となっているが、これだと新規ファイルが書き込めずエラーとなってしまうらしい。ひとまずapacheが動作しているユーザ(デフォルトapahce)に変更した。
# chown apache:apache /var/log/httpdもっと良い方法があれば、誰か教えてください。
<参考>
・mod_log_rotate がよさげかも - (ひ)メモ
・mod_log_rotate のススメ
2009年4月15日水曜日
Rubyを使ってTwitterに投稿する
RubyGemsにTwitterというライブラリを使うと簡単にできる。
Ruby Twitter Gem by John Nunemaker
まずインストールする。
サンプルコード twitter.rb
こんな感じでコマンドライン引数にメッセージを渡すと投稿できる。
Ruby Twitter Gem by John Nunemaker
まずインストールする。
# gem install twitter
サンプルコード twitter.rb
#!/usr/local/bin/ruby
require 'rubygems'
require 'twitter'
message = $*.first
httpauth = Twitter::HTTPAuth.new('userid', 'password')
base = Twitter::Base.new(httpauth)
base.update(message)
こんな感じでコマンドライン引数にメッセージを渡すと投稿できる。
$ ruby twitter.rb てすてすてす
2009年4月2日木曜日
CentOS 5.3がようやくリリース
されたみたい。yum updateが凄いことになっているなぁ。
http://www.centos.org/
http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.3/Japanese
http://www.centos.org/
http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.3/Japanese
登録:
投稿 (Atom)