Get me outta here!

blog.delphinus.dev

vim とか Perl な話題とか……

Menu

Skip to content
  • プライバシーポリシー
  • perl
  • Vim
  • 映画
  • 投稿一覧
  • はじめに

Author Archives

delphinus

Perlの小ネタ集

2010年3月27日 by delphinus

備忘録。単独記事に書くまでもない小ネタ。


Perl 5.10で追加された予約語(“say”、“given ~ when”、“state”)などをワンライナーで使うときは“-e”の代わりに“-E”を使う。

$ perl -E 'say "Hello, World!"'
Hello, World!

Perl 5.8だか5.10だかわからんときは、“-l”オプションを付けておくとprintがsayに変身するので便利。

$ perl -le 'print "Hello, World!"'
Hello, World!

スクリプトの一行目(shebang)にオプションを書いても良い。

#!/usr/bin/perl -l
print "Hello, World!";

これは「$\ = $/;」を本文に含むことと等価だ。そのため、「$/」特殊変数をいじるオプション(“-0”など)と共に利用するときは順番に注意しないといけない。

$ perl -e '$\ = $/; print "Hello, World!"'
Hello, World!

Continue reading →

perl Leave a comment

【Apache】サイトのコンテンツ全てをgzip圧縮する

2010年3月26日 by delphinus

「Javascriptライブラリをgzip圧縮する」や「YUI CompressorでJavascriptを圧縮する」では、個々のファイルを圧縮して転送量を減らす技を書いた。でも、このように個別に指定するのではなく、透過的に実行してくれる方がありがたい。そのようなときに便利なのがApacheのmod_deflateモジュールだ。

@IT:mod_deflateによるコンテンツの圧縮転送
http://www.atmarkit.co.jp/flinux/rensai/apache2_04/apache04a.html
wadsのblog » Blog Archive » [Apache] mod_deflateでコンテンツをgzip圧縮して通信する
http://wadslab.net/2008/09/mod_deflate/

mod_deflateに関しては上の2つのリンクが詳しいのだが、ちょっと情報が古い。

「圧縮するべきファイルのタイプ」を指定する為に使われている「AddOutputFilterByType」ディレクティブは現在では非推奨になっている。

下で説明される理由により、本ディレクティブは非推奨です。 (中略) AddOutputFilterByTypeディレクティブにより有効にしたフィルタは場合によっては、部分的もしくは完全に適用されないことがあります。例えば、MIMEタイプが決定できないときにはDefaultTypeの設定が同じだったとしても、DefaultType設定を使うようになります。
http://httpd.apache.org/docs/2.2/ja/mod/core.html#addoutputfilterbytype

その代替策として使えるのがmod_filterだ。

Apache 2.2 mod_filterを使いこなす – AddOutputFilterByType DEFLATE text/htmlを書き換えてみる « cyano
http://www.onflow.jp/cyano/archives/137

Continue reading →

Apache 3 Comments

自分のサイトのURLをOpenIDとして利用する

2010年3月25日 by delphinus

OpenID – Wikipedia
http://ja.wikipedia.org/wiki/Openid

まだOpenIDに対応したサイトは数少ないが、一つのIDで複数のサービスを利用可能というのはおもしろい。加えて、認証作業を「委譲」(delegate)すれば自分の所有するサイトのURLをIDとして使えるのだ。今回はOpenID.ne.jpで取得したIDを自分のサイトに関連づけてみた。

作業自体は単純である。OpenID.ne.jpで「delphinus」というアカウントを取得したとするとOpenIDは「http://delphinus.openid.ne.jp/」となる。URLのように見えるがこれがIDだ。そして次のコードをIDにしたいサイトの<head>〜</head>の中に記載する。

<link rel="openid.server" href="http://www.openid.ne.jp/index.php/serve">
<link rel="openid.delegate" href="http://delphinus.openid.ne.jp/">

これで完成。今回は試しにこのブログのトップ「https://blog.delphinus.dev/」に載せてみた。

OpenID対応サイト「Live Journal」で実際に試したところ、OpenID「https://blog.delphinus.dev/」で確かにログインできた。これは非常に便利。もっと対応サイトが増えないかなあ。

Web Leave a comment

【Catalyst】HTML::Tidyを使って出力を整形する

2010年3月24日 by delphinus

いろんなテンプレートをインクルードしまくったせいか生成されるHTMLが非常に汚かったので、HTML::Tidyを使って整形してみた。

HTML::Tidyのインストール

これは前の記事を参照。

【MovableType】Tidy を使って HTML を整形するプラグイン | blog.delphinus.dev
https://blog.delphinus.dev/2010/03/tiding-movabletype.html

簡単に手順だけ書いておく1。

$ sudo yum install tidy libtidy libtidy-devel
$ sudo cpan -i P/PE/PETDANCE/HTML-Tidy-1.08.tar.gz

Continue reading →

catalyst perl Leave a comment

【GVim】Proggy + Osakaで快適コーディング

2010年3月23日 by delphinus

vim_guifontwide.png

Windows版のGVimでフォントを指定するときは「guifont」「guifontwide」の二種類を指定する必要がある……というのを今日初めて知った。前者は半角、後者は全角のフォントを指定する。今までは前者しか指定してなかったので、全角文字についてはレジストリをいじってFontLinkを使うことで対処していた。

Windows 2000/XPのFont Link機能(Font Linking)の紹介
http://blue.ribbon.to/~akene/fontlink.htm

これでも機能的には十分なのだが、変更するのにレジストリエディタを起動するのは億劫だし、OSを再起動しないと有効にならないのが困りもの。でも、わざわざこんな苦労することなかったのだ。

Gvim on Windows: フォント設定: まじかんと雑記
http://magicant.txt-nifty.com/main/2009/03/gvim-on-windows.html

ここに詳細に書かれているのだが、指定すべきオプションは3つある。

Continue reading →

Vim Windows 1 Comment

【MovableType】決まった時刻にブログを自動で再構築する

2010年3月22日 by delphinus

記事を投稿したとしても、最新の状態になるのはその記事とトップページなどで、他の記事に含まれる「最近のエントリー」「関連するエントリー」は更新されない。これらを更新するためにはブログ全体の再構築が必要なのだが、記事の投稿のたびにやるのでは二度手間だ。そういうときにはこれ。

Movable Type 備忘録 – MovableTypeを自動的に再構築する
http://bizcaz.com/archives/2006/08/09-221138.php

mt-rebuild / Code / The Appnel Group
http://appnel.com/code/mt-rebuild

ずいぶん古いスクリプトだがMT5でも問題なく動くようだ。インストールした上で、Cronを使ってサーバの暇な頃(朝4時とか)に実行するよう設定した。

mt-rebuildのインストール

ダウンロードしたファイルをmtディレクトリに展開する。

$ cd mt
$ tar zxvf ~/Downloads/mt-rebuild-0.2.tar.gz
x Changes
x docs/
x docs/mtrebuild.html
x mt-rebuild.pl

試しに再構築してみる

コマンドラインから実際に再構築をやってみよう。

$ ./mt-rebuild.pl -blog_id=ブログID -mode="all"

-modeオプションや-archive_typeオプションで(必要ならば)再構築する範囲を指定できるが、今回はそこまで指定していない。

指定時刻に実行するように設定する

$ sudo crontab -e
10 4 * * * /path/to/mt/mt-rebuild.pl -blog_id=4 -mode="all" > /dev/null 2>&1

これで毎日午前4時10分に実行されるようになった。

Movable Type 1 Comment

iPhone用ページに自動で転送する

2010年3月21日 by delphinus

「【MovableType】iPhone用テンプレートの導入 | blog.delphinus.dev」では iPhone 用のページを作成し、切り替えて利用できるようにした。しかし、実際に使うときにはPCで見たときは PC 用ページ、iPhone で見たときには iPhone 用ページを表示して欲しい。そんなときは Apache の mod_rewrite モジュールを利用する。ここのサイトが詳しかった。

杉浦とホームページ製作〜 URL を書き換えろ!「Rewrite 機能とは」
http://www.nurs.or.jp/~sug/homep/rewrite/rewrite1.htm

Apache の設定を確認

httpd.conf に次の一行があるか確認する。そもそもこれがないとモジュール自体が機能しない。

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

そして肝心の「iPhone 用のページに自動で転送する」ためには次の設定を使う。

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod)
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule ^(.*)\.html$ /m/$1.html [L]

User-Agent 文字列に「iPhone」「iPod」を含み(2 行目)、要求された URI が「/m/」で始まらない場合は(3 行目)、HTML ファイルの要求を「/m/」ディレクトリにある同名のファイルへ転送する(4 行目)。これをどこに書くかは二通りある。

  1. httpd.conf(またはそこにインクルードされるファイル)に書く
  2. 転送したいファイルのあるディレクトリの .htaccess に書く

Continue reading →

Apache Movable Type Leave a comment

Post navigation

← Older posts
Newer posts →

アカウントでログイン

最近の投稿

  • Moves API のための Perl モジュールを作りました 2013年9月11日
  • ロボットは僕に言った「君は人間じゃない」 2013年7月30日
  • 人は一生に何回キーを叩くんだろう? 2013年7月29日
  • 【Vim】カラースキームを切り替えるたった一つのさえたやりかた 2013年7月23日
  • 【WordPress】「前の記事」「次の記事」のリンクにサムネイルを付ける 2013年7月17日
  • 【Powerline】Git branch セグメントが Mac OS X で動かない? 2013年7月16日
  • 【Vim】80桁教信者の憂鬱 その2(ホットキーでトグル、他) 2013年6月24日
  • 【vim】80桁教信者の憂鬱 2013年6月20日
  • 【MacVim】メニューバーでアイコンが見えない! 2013年6月19日
  • 【unite.vim】set_substitute_pattern は衰退しました(その2) 2013年6月18日
Proudly powered by WordPress | Theme: Something Fishy by Caroline Moore.
blog.delphinus.dev
Proudly powered by WordPress | Theme: Something Fishy by Caroline Moore.