タグ別アーカイブ: プログラミング

sleep sort する jQuery プラグイン

注意: sleep sort は、あくまでもネタです。ネタとして楽しんでください。
コメント欄でも指摘されてますが、実用に耐えるものではありません。
間違っても実用しようとか思わないように!

一部で話題沸騰中のソートアルゴリズム「sleep sort」を jQuery 用プラグインとして実装してみました。
via. 常識を覆すソートアルゴリズム!その名も"sleep sort"! – Islands in the byte stream

とりあえず、デモ。
下の textarea に数値をスペース区切りで入力してから「Sleep Sort!」をクリックしてください。
ソートされるはずです。



続きを読む

wp_remote_get のススメ

WordPress プラグインで外部サービスのAPIを叩く場合、以前は Snoopy 等のライブラリを include して行っていました。
# Snoopy が WordPress コアソースに含まれていたため。

しかし、WordPress 2.7 以降では wp_remote_get() という関数が追加されたため、もっぱらこれを使っています。
例えば Topsy の API を使って、パーマリンクに対して言及されたツイートを取得するには以下のようなコードを書けば実現できます。

$response = wp_remote_get('http://otter.topsy.com/trackbacks.json?url='.rawurlencode(get_permalink()).'&tracktype=tweet&perpage=50');
if( !is_wp_error( $response ) && $response["response"]["code"] === 200 ) {
	$response_body = json_decode($response["body"]);
	var_dump($response_body->response->list[0]);
} else {
	// Handle error here.
}

簡単でしょ?

以下、簡単に wp_remote_get の使い方
続きを読む

匿名関数と無名関数 (PHP Advent Calendar 2010 16日目)

shin1x1 さんから、開始された PHP Advent Calendar jp 2010 16日目です。

書くTipsは、10分で考えて、5分で書ける内容で ok です。

とのことなので、さらっと。

PHP5.3から導入された無名関数って、5.2以前からある匿名関数とどうちがうの?ってお話。
続きを読む

Google Eath View API

先日公開されたGoogle Earth ビューが、中々面白い。
APIの呼び出し方も Google Map API に似ているのでさほど面倒ではないし、動作がスムーズでカッコいい。
Windows と MacOS X 10.4以降にしか対応していないのは残念だが

私が配布している WordPress 用プラグイン Google Maps Anywhere も、Earthビューに対応させるために準備中です。
ご期待ください。
とりあえず、動作はするようになったので「続きを読む」以降にデモを置いておきます。
続きを読む

WordCamp Yokohama 公式サイトの作り方 – プラグイン編 (2)

さて、前日に引き続いて WordCamp Yokohama 公式サイトに導入したプラグインの解説。
今回の公式サイト構築にあたり、2つほど専用プラグインを新規で作りました。
時間が無い中で作ったんで汎用的なモノでは無いですが、WordCamp Yokohama が終了したら、改良してリリースしようとは思っています。
気長に待ってくださいね。

で、今回作ったプラグインは以下の2つ

  • Custom Register – 独自のサインアップ画面、ログイン画面をページに実装
    WordCamp Yokohama に参加登録するには WordPress で作成された公式サイトにユーザ登録・ログインしてもらい、アンケートに答えてもらう必要があります。
    ここでサインアップ画面やログイン画面が、デフォルトの WordPress のモノだと芸が無いので、カッコイイサインアップ画面・ログイン画面を実装するためのプラグインです。
  • Custom Profile – プロフィール登録画面の拡張
    WordCamp Yokohama 公式サイトでは、WordPress のプロフィール登録画面で参加登録を行います。
    この画面に、参加登録や簡単なアンケート機能を追加するためのプラグインです。

続きを読む

Custom more text

以前、唯奈さんに Twitter でリクエストされてちょちょっと書いた WordPress 用プラグイン「Custom more text」。
投稿のカスタムフィールド「custom-more-text」にテキストが設定されていた場合、「続きを読む」のテキストを変更するプラグインです。

http://dl.dropbox.com/u/110305/custom-more-text.php
続きを読む

Table optimizer

WordBench 東京が開催した黙々と何かを作る勉強会もくもく部
当日は大掃除したりなんだりで、リアルタイムには参加できなかったのですが、あまりに楽しそうだったので、夜中にこっそりビールを呑みながら、一人もくもく部をやってました。
で、1時間あまりで作ったプラグインがこれ。

http://dl.dropbox.com/u/110305/optimizer.php

wp-cron という WordPress で定期実行してくれる仕組みを使って定期的に全テーブルを optimize してくれるプラグインです。
地味に便利だと思いますよ。
続きを読む

WordPress ShortCode Plugin Builder

ショートコードAPIを使用した WordPress 用プラグインを半自動生成する『WordPress ShortCode Plugin Builder』を作ってみました。
これを使用すると WordPress 2.5 で新しく追加されたショートコード API機能を利用したプラグインを簡単に生成することができます。
100SHIKI さんで紹介されていた『Widgetifyr』が、興味深かったのでインスパイアされたものです。
# 『Widgetifyr』は実際には使用していないので、仕様が違うかもしれませんが、まぁ良しとしてください。
続きを読む

Now On Air

以前、@miyabi_s さんに、FM京都のオンエア曲を Twitter に自動投稿する仕組みは無いものかと聞かれて、「オンエア楽曲検索を、スクレイピングして RSS フィードを作ってやればいいんじゃね?」と答えたことがありました。
ちゃちゃっと PHP でサンプルプログラムを作って渡したんですが、そのプログラムを利用して FM-NIIGATAFM PORTZIP-FM のオンエア曲を提供する bot を作成したので、ご紹介。

今回、作成したのは以下の4つのアカウントです。

動作原理を簡単に説明すると

  1. 各FM局公式サイトの「オンエア楽曲検索」をスクレイピングしてRSSフィードを作成
  2. cron で定期的にRSSフィードを確認して、新しい情報があれば Twitter に投稿

となります。

自前のサーバで cron 実行せずに twitterfeed.com などの外部サービスを利用したい時、移行が簡単になるようにわざわざRSSフィードを作成しています。
さて、ではプログラムの簡単な説明。
続きを読む

JavaScript で画像本来のサイズ(幅, 高さ)を取得する

画像や動画を lightbox 風に表示する拙作の jQuery 用プラグイン jQuery.lightpop.js ですが、画像の拡大表示で大きな問題がありました。
以下のようにサムネイル表示されている画像と、リンク先の画像が同一で、サムネイル表示している画像を width, height で小さく表示している場合、画像本来のサイズ(幅, 高さ)が取得できないため、正常に表示できないのです。

<a href="pict01.jpg" rel="lightbox" title="画像1"><img src="pict01.jpg" alt="画像1" width="160" height="120"/></a>

困ったなぁと思いつつも、画像本来のサイズを取得する方法について調べずに放置していましたが、以下のエントリを読んで解決したので、久々に jQuery.lightpop.js をバージョンアップします。
JavaScript で、画像本来のサイズ(幅, 高さ)を取得する方法 – latest log
続きを読む