月別アーカイブ: 2013年8月

Chiba.pm #2 と #3 に参加したときの話 #chibapm

おがたです。

2013年4月末から7月末までブログが無かったときと、ブログ執筆意欲が枯渇していたときに書いていなかったイベント参加レポートを思い出して書くシリーズ。Chiba.pm 編。

#1 には参加しなかったんだけど、いつも市川市文化会館で行われているみたい。

Twilogxtetsujiの#chibapmのツイートを見ると、なんとなく雰囲気が分かるかも。#2でロケタッチ使っているのは、4sqの調子が悪かったんだと思う。

Chiba.pmは発足間もない地域.pmなので、色々手探り感があっていい感じ。千葉県に住んでいる人に限らず、東京からの参加も結構いるっぽい。Twitterアカウント @chibapm はあるけど、公式ページはなさそう。なので公式ページからの参加者の参加レポートまとめとかは無いっぽい。

探してみたらこんなのはあった。

比較的自由で毎月必ず開催されている(非公認)地域.pmであるHachioji.pmが居酒屋を会場にして居酒屋LTを軸としているのと対照的に、施設を借りて勉強会の体裁が整っている感じ。ただ、Perlの集まりのはずなのに、参加者が面白がってPerlの話をあまりしないというところが気さくな感じ。MySQLの話をしても許されるし、他の勉強会のネタで用意したけど使えなかったネタを持っていっても許されそうな感じ(許されなくても責任は持てません)。

私は、普段のPerlの勉強会では飽きもせずApache mod_perlの話ばかりをしているのですが、Chiba.pmでは別の顔を持とうとしてMacのペーストボード(クリップボード)の話しかしていません。

余談ですが、#3 で話した AnyEvent::Mac::Pasteboard で CPAN Authorデビューしました。PAUSEの設定画面をいじっていたらうっかりデビューした感じ。#4 ではWindowsやLinuxのクリップボードの話でもしようかなって考えています。

YAPCとかPerlの集まりで「あ、クリップボードやっている人だ!」って言われたら千葉県民認定できるくらいまで話そうと思います。

懇親会は

というところでした。会場は本八幡駅から多少歩くけど、懇親会会場は本八幡駅から比較的近い場所という印象。土間土間は結構落ち着けて良かった。まぐろのカリスマは、人数の割に狭い場所に押し込まれて、出てきた料理も少なめだったので、肩透かしを食らった感じでした。コースということで、まぐろ三昧を期待していたんですが、食べ物が足りないという人が自主的に注文しだしたりするくらいだったので、本当に料理は少なかった気がする。

ここまで他の参加者のトーク内容に触れていないのですが、まとまった公式レポートもないし、思い出せるのは「みんなPerlの話しなかったなー」「面白かったなー」ということ。検索すれば公開されているブログエントリやスライド資料は出てくるはず。

少なくともPerl成分を求めて行くとアテが外れるけど、それなりに面白いという勉強会です。良い人集まっているし、オープン系IT業界の情報収集を兼ねて行ってみるといいかなと思います。#4 にも期待していますが、不定期開催のようで、次はいつかなと Twitter @chibapm からのアナウンスを待っている今日この頃です。次回も都合がつけば行きたいです。

WordPressのWXR形式とPosterousからのインポート

2013年4月末に終了したPosterousというブログサービスから、借りているVPSに手作業でインストールしたWordPressに記事を移した際に行った事のメモ書きです。もうPosterousというものは世の中にはないけど、手法としては参考になるかもしれないし、自分への覚え書きとして残しておきます。

WordPressでは、インポートやエクスポートの形式として WXR形式 というものをサポートしています。RSS+αといった感じ。用途としてはMovableTypeのMT形式のようなものでしょう。

Posterousもさすがに終了時に記事をZIPでエクスポートできて、その中に wordpress_export_1.xml というファイルがあったので「あぁこれはWXR形式なんだな」と思っていたんだけど、3ヶ月放置してマズイマズイと思ってWordPress設置してWXR形式としてインポートしたら見事にエラーが出た。参った。これは妥当なWXR形式じゃない!

PosterousのエクスポートZIPには、中を見ると1ファイル1記事となったPosterous独自と思えるXML形式があったので、とりあえずメールのような「ヘッダ、空行区切り、ボディ」といった自分独自のテキストファイル変換した

XMLは見づらいし扱いづらいので、メールっぽいUTF-8テキストファイルになれば、後はWordPressが受け付けてくれるWXR形式を作ればいいだけになる。今回は WXR(WordPress eXtended RSS)から記事をインポートする方法 – (DxD)∞ というページを大いに参考にさせてもらった。記事中のWordPress(2013年8月現在バージョン3.6)もWXR形式もバージョンが古いけど、それでもうまく行った。XML文字列をテンプレートにして、渡した独自形式テキストファイルの数だけitem要素を反復するスクリプトを書いて動かした。

タグやカテゴリのインポートは面倒なので諦めることにした。たかだか40くらいの記事だし、元々がタグやカテゴリの設定に不満なこともあって、取り急ぎインポート出来ればいいやと思った次第。タグやカテゴリ、あと欠損した画像とかは手作業でやると割り切りました。

40記事くらいであれば本当に全部手作業でインポートしてもいいかなと思ったけど、WordPressの投稿インターフェースでは過去の投稿日で投稿することはできないことが分かったので、WXR形式を少し真面目に作ることにしました。これはパーマリンクを “/?p=数字” ではなくて “/年/月/ポスト名” などとしている場合に響いてくる話。MySQLのWordPressのデータ構造を読みといて…というのも、テーブル数が少ないWordPressであることもあって出来なくは無さそうかなと思ったけど、WXR形式を作るほうが安全だろうなと思います。

他のPosterous難民は、Posterous終了直前にWordpress.comやTumblrから救済措置としてPosterous APIを使ったインポートツールを提供したので、そっちに移行したか、コンテンツを失ってしまったかのどちらかなのかなと思います。私も一応 post-tumblr.tetsuji.jp というTumblrに一時避難させました。ただ、こちらはしばらくしたら閉鎖したい。あと、PosterousのパーマリンクがWordPressとは相容れない形式だったので、URLとしての一意性を失ってしまったというのは痛い。独自ドメインでやっていたので、そういうリンクを拾おうと思えば拾えるのだけが救い。これをApache+mod_perlで拾って適切なリンクに誘導する方法も考えているので、後々のブログネタにする予定です。

もし将来的にWordPressから別のブログサービスに移行したくなったときも、たぶんWXR形式が役に立つんじゃないかな。永続性の担保されないサービスへデータを預けると、後々大変になるかもという話でした。

4月末から3ヶ月以上アウトプットの場を失っていた感じでしたが、いよいよ復活。これからアウトプットもどんどんしていきます。以前にさかのぼって記事を書いたり、いろいろはかどりそうです。

YAPC::Asia Tokyo 2013 で「mod_perlの展望とApacheの超絶技巧」をトークします #yapcasia

こんにちは、おがた (@xtetsuji) です。

2013年9月19日〜21日まで慶応大学日吉キャンパスで行われる YAPC::Asia Tokyo 2013 でトーク「mod_perlの展望とApacheの超絶技巧」をさせていただけることになりました。

Apache httpd server (以下Apache) 上で動作して、長らくPerlのウェブサーバ高速化環境として欠かせなかったmod_perl。今では新たな技術が出てきてその役割が少しずつ減っているように感じる昨今ですが、そのmod_perlのこれからの展望について話す予定です。

昨年のYAPC::Asia Tokyo 2012では「モダンmod_perl入門」というトークをさせていただきましたが、そちらがmod_perlの本質のご紹介とその実践であれば、今年はより思想的かつ哲学的な話、具体的に言えばmod_perlの未来といった話をしようと考えています。もちろん、コードや動くものが出てこないのは楽しくないので、後半半分くらいは「超絶技巧」と題して「そんなことまでApache+mod_perlでやるのか!」と人を驚かせるような事を披露する予定です(が、2013年8月7日現在構想段階です)。

チケット発売は8月11日(日曜日)までです。私は2007年から毎年参加していますが、Perlをメイン言語にしないプログラマの方も絶対に楽しめる3日間です。この規模のイベントにしては5000円は安い!しかも学生は無料(申し込みは8月11日までに必要です)。ぜひ会場で会いましょう!

質問など有りましたら、Twitter @xtetsujiなどへお気軽にどうぞ。

ブログを作り直した

こんにちは、おがたです。

Posterousが2013年4月末に終了して、ひとまずコンテンツをTumblrに退避していたのですが、Posterous終了のショックが大きくて、Tumblr上でブログを投稿する気にもなれず、3ヶ月アウトプットの場を無くしていました。どうしようかとあれこれ考えていたのですが、ひとまず自分が借りているVPS上にWordPressをインストールして運用することにしました。

2013年8月1日現在、まだ過去ブログ記事の移行が済んでいないので、まだ post-tumblr.tetsuji.jp のほうは活かしてあります。

Posterousショックもあって、商用ブログに対する不信感というほどでもないけど、リスクというものを感じてしまって、どうしようかなーと思っていたところでした。Googleがサービスをサクサク終了するのと同じリスク。まぁ、数学ブログははてなブログを使っていますが、頻繁に更新する予定の本拠地ブログを商用ブログサイトに入れてまたカジュアルに終了されたら堪らんなぁとも思ったり。そして独自ドメインでの運用をしたかったので、商用ブログサイトだと大抵VPS一つ借りれるくらいの課金が発生してしまう。Tumblrは「リブログどうなの」って感じであまり本流にはしたくないなってのがあって、結局自分が借りているVPSにWordPressを設置するところに落ち着いた感じです。

Perlを使っているしMovableTypeをセットアップするといいんじゃないかなと思ったけど、セキュリティに関する防御策がイマイチよく分からなかった(理解力不足)し検索しても「こう設置したらこう動いた」って記事ばかりで分からなかったのと、mod_perl2で動作しなかったのが気に入らなかった。mt.psgiも試してみたけどまぁそれは別として。それに、MovableTypeのライセンスが商用を禁じていて、MTOSもバージョン6で無くなることが最近決定されたこともありました。個人でアフィリエイト用途なら個人版でもいいよって書いてありましたが、いつ業務寄りになるかとか起業するか(たぶん無いけど)なんて分からないですからね。MovableTypeは、より公益性の高いオープンプロジェクトで採用したいと思いました。ただ、MovableTypeの静的生成モデルはちゃんと理解して使えばWordPressの動的生成モデルよりずっとセキュリティは担保できるわけで、MovableTypeの導入事業者が商売になる理由が分かって勉強になりました。

要するに、情報公開の「手段」であるブログ設置が、様々な思惑でブログ設置自体が「目的」になってしまって、それが元で数ヶ月情報公開の場が失われるのは本末転倒だなと思ったわけです。

「Perl loverのはずなのにPHPのWordPressなんですか?」って聞かれそうだけど、PHPは悪い言語でもなく、PHP製のソフトウェアには他にも多くお世話になっているし、WordPress+mod_perlってのも将来的に面白そうだなと思って選択しました。会社でブログ設置したときもWordPressでしたから、経験があったのも大きな選択肢の一つ。お金の無い会社にMovableTypeの商用ライセンスの課金は正直キツイですから…。

2013年夏、Perl界隈では空前のブログソフト開発ブームではありますが、アルファバージョンのものを導入する勇気がまだなかったことと、自分で作る直近の余裕もなかった感じでした。また気分で別のブログを選んだり、前述の数学ブログのように使い分けたりすることもあるかもしれませんが、とりあえず2013年8月から本拠地ブログはWordPressではじめてみることにします。

これからWordPressへPosterousの過去記事のインポートをどうするか、悩む日々が始まります。