URLをbitlyで短縮するSmartyプラグインを作った

3重くらいに今さらですが、Smartyプラグインがマイブームです。多分あとで後悔することになるとは思いますが、オプション的な機能をSmartyプラグインで分割していくとテンプレートと処理プログラムがすっきりするのが快感で。とりあえず無理しない範囲で分割していたり。 で、Twitterへの投稿をサポートする目的でURLを短縮する必要が出てきて、まぁ別にJavaScriptでも良かったんですが、個人的に応用しやすいのはJavaScriptよりSmartyプラグインの方だったのでさっくりプラグインを作りました。 なお使用に当たっては、tknzkさん謹製のopenpear/Services_Bitlyを利用させていただきました。感謝します。

続きを読む

【JavaScript】 createEventとinitMouseEventを覚えた 【メモ】

JavaScriptの演習がてら、Greasemonkeyをいじったんですが、createEventとinitMouseEventを使ったらめちゃくちゃ簡単になることが分かって凄く嬉しくなった。createEventはDOM2にあるけどinitMouseEventはGeckoのDOMメソッドぽい。でもまぁ、Greasemonkeyをいじるぶんにはそれで十二分。 document.createEvent – MDC event.initMouseEvent – MDC 以下、自分用のちょっとしたメモ。

続きを読む

【PHP】日の出・日の入り計算用ライブラリ【改訂版】

Codeのリニューアルに合わせて、日の出・日の入り計算用ライブラリを書き直し、「Suntime.php」として改めてリリースしました。PEARとかに上げれたら良かったんですが、コードの内容はもとより形式などかなり不安だったのでとりあえずGist@GitHubにあげてあります。

Download

http://gist.github.com/gists/225915/download

続きを読む

GitHubを利用することにしてみました。

パッケージとして開発しているコードがあるわけでもない僕にとってはちょっと大袈裟すぎるような気もしますが、ちょっとしたコードの置き場所が欲しくなったので、アカウント取ったまま放置していた(というか登録しようと思って気づいた)GitHubを引っ張り出してきました。 http://github.com/nobodyplace 今のところとりあえずGistにGreasemonkeyを2つ置いてあるだけですが、ちょっとしたライブラリの保管として利用しようかなぁとぼんやり考えています。自分のところにおいて置いても仕方がないけど、公開するようなもんでも無い的ななにかとか。もっぱらPHPしか書かない生活を送っているので、その辺は特に出すものもない気もしますが(classの欠片をGistにとかはありかも知れませんが)、Greasemonkeyについてはやりたいちょっとしたことってのが結構あるので、暇を見つつ追加していければと思ってます。

続きを読む

【ニコニコ動画】 ブログ貼り付け用コードを動画画面に表示するGreasemonkey 【Greasemonkey】

ニコニコ動画(9)からブログに貼り付けるためのコードが別窓で開くようになって、ブログに貼り付ける機会が多い僕としては大層面倒になりました。やってられん。 というわけで、別窓を開かなくても貼り付け用コードを取得できるようなGreasemonkeyを書いてみましたよ。インストールはこちらから。 http://gist.github.com/raw/224859/nico_blogparts.user.js 表示はこんな感じ。 正直、ちょっとごちゃつきますが、前よりかはマシかなと。多少は楽になるかなー

続きを読む

【PHP】 TokyoTyrant(NET_TokyoTyrant)

キャッシュの用途の問題で、memcachedではないキャッシュを使おうと思って色々調べたのだけど、やっぱり管理面の容易さを考えてTokyoTyrantかなぁってことで、試してみた。

Pecl::Memcached使ったら嵌った。

TokyoTyrantはmemcachedのインターフェイスも採用しているので、クライアントがそのまま流用できる。小さなデータで試したところ問題なく動いたので、そのまま本番データを流し込んでみたらばどうも上手くデータが返ってこない。なぜだ。 色々調べてみたところ、どうやら、クライアントとしてPecl::Memcachedを使っていたのが良くないらしい。Pecl::Memcachedはデフォルトで一定サイズ以上(デフォルトでは100バイト以上)のデータを圧縮してくれるのだけど、どうも取り出すときに解凍してくれない。圧縮されたまま。memcachedとして使えば問題ないので、互換インターフェイスの問題なんだろう。そーなのかー。

で、結局、NET_TokyoTyrantを使うことにした。

圧縮の設定を切っちゃうとか、Pecl::Memcacheを使うとか、あれこれやっても良かったのだけど、要するに互換インターフェイスよりネイティヴの方を使った方が良ってことじゃね?と思ったので、PEARのNET_TokyoTyrantをインストールしてみた。
Net_TokyoTyrantとは? PurePHPで書かれた、TokyoTyrantのネイティブなインターフェースを叩くライブラリです。 memcache互換のインターフェースなどとは違い、TokyoTyrantのLUA拡張などTokyoTyrant本来の機能をほぼすべて使えるというのが特徴で
 

続きを読む

初心者だとかよく分かってないとか書くのはもう止めようか、と

思ったけど、本当にそうだし、書いておかないとメモ書きを鵜呑み→大惨事とか起きても困るし、やっぱこれは言い訳だよな、間違ってても初心者だから許してって甘えてるよなと思いつつ、自覚のために書いておこうと思った。これが教えて君とかで、「初心者だからわかりやすく教えてください」とかだとアレだけど、そういう「強要」ではなしに著者のプロフィール的な意味で。 ちなみに「許して」っていう気はないっていうか仮に誰かが許してくれたところで現実は1ミリも動かないので、恥じつつ勉強していくしかないのよね。初心者どうこうとかじゃなくちゃんと確証取れてから書けよ、ってのは毎度の話なんだけれども、僕個人の話で言うとアホみたいな失敗も書いておかないと忘れちゃう。 ただ、「初心者だから」とか書いてもやっぱり1ミリも良いことないのは事実なので、自分がやったことをまとめる以上、何をやったのかをきちんとメモるのは当然のこととして、何が解決できなかったのか、とりあえずこう設定して動いたけど自分ではよく分かっていないこと、そもそも何が分かっててこんなことやってるのか、なんかを書いておく方が有益かもしんない。 別にこのサイトは分かったふりしてライフハックとか言っちゃうブログじゃないからね。自分を分かってる人にする演出は要らないんで。僕、解ってない人っす。全く。人生常に泥縄。 そんな感じ。

続きを読む

ネットワーク内の他のPCからゲストOSにアクセスする【VirtualBox】

前回、前々回のエントリを通して開発環境を構築できたんだけども。 CentOSの開発環境、設定手順(with VirtualBox) WindowsXP上でCentOSを動かす【VirtualBox】 仮想環境にメモリの割り当てやら何やらしてる関係で、フルに動かすと結構重いのよね。。それでなくてもFirefoxとeclipseでめちゃめちゃメモリ食ってる(双方とも使い続けると800KB程度までメモリ食う)ので、どうせなら他の空いているPCに環境を構築して、そこにアクセスできるようにした方が良い。ただぽかーんと開いてる高性能PCなんかあるはずもないので、とりあえず殆ど働いてないPCを拾ってきてそこに仮想環境を構築するという方向で。 以下手順。

続きを読む