最近、出かけて撮った写真をアップする機会が増えてきたので、GPSデータがある場合に Google Mas のピンアイコンのようなものを画像に表示するようにしてみました。下記のサイトを参考に簡単なCSSのテクニックとアイコンを利用させてもらっています。
・効果的に画像を重ねて使う方法:CSS小技
・GoogleMapのピン ~TOUCH&SLIDEが運営する編集可能なアイコンがダウンロードできる「アイコン配布中!」~
合宿以来プライベートが忙しくてNucleus関連の活動がご無沙汰になってしまっていましたが、ぼちぼち活動を再開していこうかと。ということで、blog.cles.jpの開設以来一度もやったことがなかったスキンの変更に取りかかろうと思っています。
† やったこと
・VMwareにCentOSをインストール
・PHP, MySQLを導入
・blog.cles.jpの環境を上記環境に移し替え
・nc.Vicunaの導入
・スキンのカスタマイズ ← イマココ
2時間くらいでテスト環境が構築できて正直かなり驚きました。
こういうときにスキンをヘタにカスタマイズしすぎているのが重課になりますね。。。。。。
何件か動作確認報告画面からNP_OpenId関連の質問が飛んできているので参考までに記載しておきます。
XREAやCORESERVERでNP_OpenIdを使おうとするとlibxmlのバグにより認証ができない(画面が真っ白になる)という症状になることがあります。
Geez in the universe: XREA / CORESERVER で OpenID を使うと Yahoo や livedoor が使えない問題
XREA に PHP で OpenID を使用した認証システムを導入したいと思った。 しかし、OpenID Enabled にある JanRain のライブラリを使うとYahoo ID でログインしようとした時に画面が真っ白になってしまう問題に直面した。今時 OpenID 対応サービスを始めるなら間違いなく Yahoo ID は外せない存在になると思うので応急処置を施してみた。
原因はどうも XML に関連した処理の途中(libxml)でエラーを起こしていることらしく、ググるだけで問題箇所を特定できたためそれを回避するコードを書いた。
応急的な処置ですが、上記のページの対象法に従ってsharedlibsディレクトリ内にある、XML.phpの中身を下記で公開されているXML_php_modified.phpsの中身に書き換えることによりNP_OpenIdが使えるようになる可能性があります。不具合に心あたりがある場合には試してみることをお勧めします。
8月にNucleusの開発合宿があるので、漠然とやりたいなと思っていることをメモしておきます。
日程は2泊3日ですが、多分、ある程度準備をしていかないと何もできないうちに終わっちゃいそうなので。今のところはばりばりコーディング希望ですが、今回は以前のカレーオフで合えなかった、Nucleusチームのメンバーと会って楽しく盛り上がれればそれはそれでいいのかなとも思ったりしています。
久しぶりにCACHEMANAGER.phpのバグ取りをしています。
だいぶ使い込んでそんなに大きな不都合はなかったので、だいたいバグは取りきったのかと思っていましたが、細かく見ていくと細かいバグをたくさん見つけてしまいました。近日中に修正点をまとめた新しいパッチを用意しようと思います。
† コアについてのメモ
PLUGIN.php
上記のコメントに続く部分を眺めていてちょっと疑問に思ったのでメモしておきます。上記の部分ではオプションがデフォルトと同じ場合でも値をDBに格納しています。特にItemOptionの場合にはこれによってItem数分DBに値が保存されてしまうので、あまり挙動としてはよろしくないような気がします。
これはプラグインのバージョンアップのときにデフォルトが変更される可能性を見越したということなんでしょうかね。
PHP5に移行してからNP_SearchedPhraseの検索語ランキングが出力されなくなってしまったのですが、このエラーの原因についてはちゃんとerror_logに出力されていました。
PHP Fatal error: Using $this when not in object context in NP_SearchedPhrase.php on line 262
どうやら、PHP5からはクラス定義の中以外で$thisという変数を使うとFatal Errorとなるようです。NP_SearchedPhraseの中で$thisが使われているのはrankList()の部分です。プログラムを読む限りでは呼び出し時の引数と、関数定義の仮引数名を同一にしているだけのようだったので、この関数内の$thisを$tに書き換えて回避することができました。
php5にすると細かい部分でチェックが厳しくなっていたりしますね。まぁ、$thisは予約語みたいなものですし・・・・・こういうチェックを入れること自体はプログラムの健全性に貢献するので互換性の問題を抜きにすれば賛成ではあるんですが。。。。
NP_TrackbackのアイコンはSILK ICONSをそのまま使っていますが、やまさんから背景が透過されないという報告と、透過処理がしてあるアイコンを送ってもらったのでアイコンを差し替えをしました。
差し替えたのは今のところ開発用のCVSのみで、公開版については次回のバージョンアップ版から反映します。これまで管理画面で背景に色がついたデザインで使ったことがなかったので、気づきませんでした。管理画面で背景に色をつけていたりする場合には見た目が改善されると思います。
Yahoo!もOpenIDを使うと言い出してしまったので、事実上認証サービスの標準がOpenIDに決まってしまったような感じなので、NP_TypeKey, NP_HatenaAuth, NP_BBAuthのリプレース用としてこっそりNP_OpenIdを書き始めています。中身はほとんど使いまわしなんですけど。
とりあえず、OpenIDのコンシューマーライブラリはこれを使ってみました。
The PHP OpenID library lets you enable OpenID authentication on sites built using PHP. It features the OpenID consumer, Store implementations, and an OpenID server.
最近、あまりプライベートな時間がとれないで思うように進んでいませんが、なるべく早く公開できるるようにしたいと思っています。
なんか気がつかないうちに過ぎてしまいましたが、セキュリティーホールがあってプラグインを一斉アップデートしてから1年が過ぎていました。その間にもNucleus本が出たりとか色々あった訳ですが、正直あまり時間がとれないのでNucleus関連の話題にはあまり関われていません。プラグインへの要望リストも長くなっていく一方という感じです。
† 興味があることリスト(と、直近の積み残し?)
・AndyさんのRoR Nucleus
何か貢献できることがあればいいんですが、今のところあがっているソースに目を通すので精一杯。
・NP_Moblogのリビルド
実装がかなり古いのと、いろいろ高速化の手法もそろってきたこともあるので、そろそろNP_Moblog2を作りたいかなと。
・NP_SpamBayesの日本語ドキュメント
効果はかなり実証されてきたと思うので、そろそろちゃんとしたドキュメントを書かないとまずいかなと。
† あれ?
他にもいろいろあったはずなんだけど、最近本当にやってなかったので思い出せない。
漏れてるものがあったら教えてください。。。。
Andyさんが気になることを書いていたので反応してみます。
さらに,夜1回1時間くらい寝てしまってから,起きて作業をすると,目が冴えてしまって,今度は眠りに着くのが大変。夕べも結局睡眠時間が3時間くらいに。こうなると昼間の仕事に影響が出てしまうので,一回寝てしまった日はプログラム書かないとか,デバッグしないとか,ルールを決めないと体壊しそうです。
僕もNucleusのプラグイン開発は今のところ本業とはあまり関係がないので、開発は土日か平日であれば仕事が終わって帰ってきてからということになるんですが、没頭しすぎて睡眠時間を削ってしまうとと翌日の仕事がものすごく辛かったりすることがあります。
やっぱりみんな同じところで苦労するんですね。僕は実際に痛い目にあってしまったので、最近は何かやりたいときは早めに寝て早起きすることにしました。