Archive for category プログラミング

TwitterのOAuthアカウント作成ではまったこと

こんなことではまったのは僕だけかもしれませんが・・・(実際ぐぐっても事例がでてこず、一人孤独にはまってました)

Twitterのアプリケーション登録画面で何度保存しても駄目なあなた!

CAPTCHAは単語と単語の間に半角スペースが必要です。以上!

No Comments

Plack Advent Calendar Day 4

4日目「アプリケーションのリロード」
http://advent.plackperl.org/2009/12/day-4-reloading-applications.html

4日目は開発中のファイルの再読み込み関連です。

Read the rest of this entry »

,

No Comments

Plack Advent Calendar Day 3

3日目:「plackupの使い方」
http://advent.plackperl.org/2009/12/day-3-using-plackup.html

> plackup hello.psgi

シンプルな起動ですね。

> plackup -s Starman hello.psgi

-s もしくは–serverで文字通りサーバを指定するようです。
StarmanとはPerlで書かれたサーバらしく、かなり高速なようです。
じゃあStarman以外はどう指定するんだろうと思いましたが、そのうち出てきそうなのでとりあえず次にすすむことにしました。

> plackup -E production -s Starman hello.psgi

plackupを起動してリクエストを送ると、標準でアクセスログとスタックフレームが出力されてるようなのですが、-E もしくは–environmentでこれを無効にできますよと。

-E はデフォルトで-E development と等価らしいので、それ以外ならとりあえずなんでもよさげです。

そのほか–host 127.0.0.1 –port 8080(ホストポートの指定)やソケットでFCGIなど紹介されています。が、流します。

Day4へ!

,

No Comments

Plack Advent Calendar Day 2

2日目:「世界の国からこんにちは」
http://advent.plackperl.org/2009/12/day-2-hello-world.html

さてチュートリアル序盤といえばhello Worldです。
その前に注意書きがあります。

Note: today’s code is written in a raw PSGI interface to understand what’s going on, but in reality you should never have to do this unless you’re a web application framework developer.
今日紹介するコードはPSGIを理解するためのわざとっぽいコードなので、実際はフレームワーク使うから、こんなことはしないんだぜ!

と、書いてある気がします。

Read the rest of this entry »

,

No Comments

Plack Advent Calendar Day 1

2006~7年時にCatalystを超がんばって使ってみてなんとか形になった程度の自分ですが、その後ちょっとPerlの技術を磨く行為から遠ざかってしまっていました。
そんな中、軽くウェブアプリを作ることになり、Catalystについて再び調べていると、どうやら最近はPlackという技術が流行っているらしく「その程度ならPlackで※○△しちゃえばいいんじゃないですか?」(※○△は現時点で理解できず)とアドバイスをいただいたのでPlackを勉強してみることにします。

調べていると、まずはPlack Advent Calendarを一通り学べ!という記事が多かったのでここからやってみます。

Read the rest of this entry »

,

No Comments

TortoiseSVNをバージョンアップしたら、リポジトリが利用できなくなった

開発物から資料に至るまであらゆるファイルをTortoiseSVN(Subversion)を利用して管理してるのですが、この手の重要なツールってバージョンアップが怖くてずっと古いまま使いがちです。

今日思い切ってバージョンアップしてみたら、案の定トラブルになりました。

正確には記録がないのですが、 「ra_localなんちゃらエラー:BDB読めません」みたいなエラーで、コミットもできなければリポジトリブラウザすらつかえない始末。

BDBとはBerkeley DBのことで、SubversionではFSFSとBDBのどちらかのファイルシステムでデータを保存することができます。
ところが、file:// プロトコルにおいては互換性の理由から、これが今後FSFSのみの推奨にかわったらしく、今回アップグレードしたTortoiseSVN1.6ではfile:// プロトコルでのBDB利用をサポートしない仕様にかわってしまっていたようです。(参考

Read the rest of this entry »

,

No Comments

HTML::Elementの罠

HTML::TreeBuilderなんかを使うと帰ってくるHTML::Element
なんかメモリーリークしてる・・・と前から思ってたんだけど、やっとわかりました。
このオブジェクトは、内部で循環参照してるので、Destroy時に明示的に$obj->deleteしないとリークの原因になるみたいです。
なんてことはPerldocにしっかりかいてあるわけで・・・ほんと英語が出来ないと不利だなぁ・・・;

http://search.cpan.org/~petek/HTML-Tree-3.23/lib/HTML/Element.pm#%24h-%3Edelete()

CGIなら気にもならないけど、mod_perlや大型クロールプログラムだと致命的。
気をつけないとっ。

No Comments

Perlちょいメモ

コマンドラインからPerlライブラリパスを調べる

perl -e ‘use Config; print $Config{sitearchexp};’

CPANショートカットURI

http://search.cpan.org/perldoc?モジュール名

http://search.cpan.org/perldoc?DBIx::Class

No Comments

MT3.3にアップグレード

※以下のエントリーを投稿後、再構築で悪戦苦闘したので、一度3.2に戻してDBをSQLiteにConvertしてきました。ロリポップ+BerkeleyDB+MT3.3は使い物にならないんじゃないかと思います。(多分MTのメモリ消費量とロリポップのCGIメモリ利用制限のせい)
DBのコンバートにはOgawa::Memorandaさんのmt-db-convert.cgiを利用させてもらいました。
mt.cgiと同じディレクトリにアップして実行するだけ、すごく簡単です!すばらしい。
========================
MT3.3が正式リリースされたので、さっそくアップグレードしてみました。
作業概要は以下の通り。
基本的な流れはMilano::Monologさんを参考にさせて頂きました。
◆バックアップる
◆mt-config.cgiを書く
◆MT3.3のファイルアップロード
◆パーミッションの設定
◆とりあえず完了
◆TagwireのタグをMTのタグに変換
◆タグクラウドを作る
◆月別アーカイブが生成できない件

Read the rest of this entry »

No Comments

名前空換 – 更新履歴

名前空換
名前空換について
=最新の更新==============================
2006年06月29日 – alcと連携
検索結果にイマイチ信用がない場合は、さらに英和で調べたくなるです。
そんな時は検索結果のicon_alc.gifから直接翻訳しましょう。
=更新履歴================================
2006年06月29日 – alcと連携
2006年05月27日 – 公開開始

1 Comment