iPhone で任意のサイトを全画面アプリっぽくできるツールを作りました

発端はこれ。

iOS6でGoogleMapsをフルスクリーン表示にしてみました – W&R : Jazzと読書の日々
http://d.hatena.ne.jp/wineroses/20120921/p1

上記サイトでは Google マップと YouTube が紹介されていますが、任意のサイトを作成するためのツールがあったら便利だよね。ってことで作成しました。

Web アプリアイコン作成ツール
http://waim.remora.cx/

Continue reading

スパムコメントを防ぐ(MovableType v5.2 版)

120918-0001-2.png

MovbleType には標準でコメントのスパムフィルタが付いていますが、何もしないとそれをすり抜けてくるコメントが多数来ます。たまりたまった英文コメントが 10 万件 を超えてしまったので何とかすることにしました。

mt-keystrokes プラグイン

何とかするには、人間が 投稿 ボタンを押したときのみ、コメントを受け付けるようにすればいいわけです。これをシンプルに実現してくれるのが mt-keystrokes プラグイン

Keystrokes for Movable Type – cosmos blog
http://www.krcube.net/blog/archives/2009/06/keystrokes_for_movable_type.html

技術的には以下のようにして実現しています。

Continue reading

JSONP で広告を供給するサーバーを書く

最近の話ですが、このサイトにも広告を載せるようになりました。

Google Adsense の方はタグ貼るだけで終わりの簡単なものなのですが、縁あってレバレジーズ株式会社の広告を載せることになり、これはこのサイトでバナーを供給しています。

このサイトは MovableType + DynamicMTML で運用していますので、普通に考えれば PHP で直接広告タグを書けばいいだけなのですが、サーバー負荷の観点からいまいちだし、第一余りおもしろくありません。

そこで、広告供給サーバーを別に立て、JSONP で供給するようにしてみました。

Continue reading

nginx + Starman + バーチャルホストなサイトの作成

前回の記事で Amon2 + Starman な Web アプリを公開してみたのでその時のまとめ。

「MovableType 5.2b2 を nginx + PSGI/Plack @ Mountain Lion な環境で動かす」ですでに nginx + Starman な環境を作成しています。今回はコレに新しいアプリを追加してみます。図に書くとこんな感じです。

120826-0001.png

Continue reading

pjax(pushState + Ajax)で遷移するウェブページを作る

  • Ajax 使わずにページ全体を読み込ませるのが許されるのは小学生までだよねー!
  • でも、ハッシュフラグメント(#!)を使った方法はいろいろと問題がある ので使いたくない。
  • でもでも、pushState だって非対応ブラウザじゃだめなんでしょ?
  • そこで pjax ですよ!

Continue reading

【Vim】syntastic + vim-rooter で構文チェック

ファイルを保存したときに自動的にコンパイル・構文チェックをする方法として以前次のような記事を書きました。

【Vim】errormarker.vim + Project::Libs で構文チェック – blog.remora.cx
http://blog.remora.cx/2012/02/errormarker-and-project-libs.html

その後、vim なら syntastic というプラグインがすごいという話を聞きましたので、いろいろ試してみました。こいつは C, Java, Perl, PHP, Ruby, Python, HTML, Javascript, ……等々、とにかく多数の言語の構文チェックに対応していることが特徴です。

Syntastic – Automatic syntax checking : vim online
http://www.vim.org/scripts/script.php?script_id=2736
scrooloose/syntastic
https://github.com/scrooloose/syntastic/

120818-0001.png

インストールは例によって、.vimrcBundle 'scrooloose/syntastic' と書いた後、:BundleInstall するだけで ok です。(vundle 利用者の場合)

ファイルを保存するときに勝手に構文チェックが走り、右の画像のような感じで、エラーのあった箇所と内容について知らせてくれます。

エラーリストが表示されないときは、:Errors とか :lope とかしてみてください。

Continue reading

MovableType 5.2b2 を nginx + PSGI/Plack @ Mountain Lion な環境で動かす

MovableType 新版のベータ版がリリースされています。新バージョンの目玉はなんと言っても nginx + PSGI/Plack 環境に対応し、大幅な高速化が図られたことです。

Movable Type ベータ
http://www.movabletype.jp/beta/52/index.html
nginx – Wikipedia
http://ja.wikipedia.org/wiki/Nginx
PSGI/Plack – Perl Superglue for Web Frameworks and Web Servers
http://plackperl.org/

バージョンアップするに辺り、今まで Apache で運用してきた環境をそのまま生かすため、静的コンテンツは Apache で、動的コンテンツ(MovableType の .cgi)は Starman + PSGI/Plack で動かすことにします。PSGI/Plack 自体は Web サーバを選ばないのですが、MovableType 5.2 のドキュメントによると Starman がいいらしいです。

さらに nginx を Reverse Proxy として使うので、図に書くとこんな感じ。

Continue reading