<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10japanesetitles.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemtitles.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xml:lang="ja" xml:base="http://rewish.org/wp-atom.php">
	<title type="text">Rewish</title>
	<subtitle type="text">ウェブデザイン、HTML、CSS、JavaScript、PHP、WordPress、Movable Typeなど、Web制作で役立つかも知れないBlog.</subtitle>

	<updated>2011-12-14T09:36:52Z</updated>

	<link rel="alternate" type="text/html" href="http://rewish.org" />
	<id>http://rewish.org/feed/atom</id>
	

	<generator uri="http://wordpress.org/" version="3.3.1">WordPress</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/rewish" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="rewish" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.co.jp/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Frewish" src="http://i.yimg.jp/i/jp/my/addtomy/standard_bb.gif">myyahoo???</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feedpath.jp/feedreader/feeds_add?url=http%3A%2F%2Ffeeds.feedburner.com%2Frewish" src="http://feedpath.jp/common/images/sub_feedpath.gif">feedpath???</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/rewish" src="http://www.bloglines.com/images/sub_modern11.gif">Bloglines???</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Frewish" src="http://buttons.googlesyndication.com/fusion/add.gif">Google???</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://r.hatena.ne.jp/append/http://feeds.feedburner.com/rewish" src="http://r.hatena.ne.jp/images/addto_w.gif">???RSS???</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://reader.livedoor.com/subscribe/http://feeds.feedburner.com/rewish" src="http://image.reader.livedoor.com/img/banner/91_17_1.gif">Livedoor???????</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://reader.goo.ne.jp/web/bookmarklet.html?,,http%3A%2F%2Ffeeds.feedburner.com%2Frewish" src="http://reader.goo.ne.jp/web/img/addwebrss.gif">goo RSS???????</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.fenrir.co.jp/rd/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Frewish" src="http://images2.fenrir.co.jp/fb/sleipnir_feed.gif">Sleipnir に追加</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://reader.excite.co.jp/subscribe/?url=http%3A%2F%2Ffeeds.feedburner.com%2Frewish" src="http://reader.excite.co.jp/images/add_rss_excitereader.gif">エキサイトリーダーに登録</feedburner:feedFlare><entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[@5509にDMを送れるMacアプリを作りました]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/mac/dm09" />
		<id>http://rewish.org/?p=1342</id>
		<updated>2011-12-14T09:36:52Z</updated>
		<published>2011-12-14T08:53:13Z</published>
		<category scheme="http://rewish.org" term="Mac" /><category scheme="http://rewish.org" term="Download" />		<summary type="html"><![CDATA[こんにちは、ネタです。 Twitterのscreen_nameが数字だけだと「d screen_name」としてもDMが送れないらしいですね。jQueryな彼(@5509)もそんな数字アカウントの1人です。 てな訳で、@ [...]]]></summary>
		<content type="html" xml:base="http://rewish.org/mac/dm09">&lt;p&gt;こんにちは、ネタです。&lt;/p&gt;
&lt;p&gt;Twitterのscreen_nameが数字だけだと「d screen_name」としてもDMが送れないらしいですね。jQueryな彼(&lt;a href="http://twitter.com/5509"&gt;@5509&lt;/a&gt;)もそんな数字アカウントの1人です。&lt;/p&gt;
&lt;p&gt;てな訳で、@5509にDMを送るためだけのMacアプリを作ったので公開します。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1342"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;ダウンロード&lt;/h2&gt;
&lt;p&gt;&lt;a href="/download/DM09.zip" class="downLoad"&gt;DM09.app&lt;/a&gt; &amp;#8211; Version 0.1.1&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;作った理由&lt;/h2&gt;
&lt;p&gt;Objective-Cが書きたかっただけとかそんなんじゃないです。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;裏技&lt;/h2&gt;
&lt;p&gt;&lt;del datetime="2011-12-14T09:35:43+00:00"&gt;×ボタンを押すとメインウインドウが行方不明になります。&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;Version 0.1.1で使えなくなりました。残念。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;謝辞&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/oauthconsumer/"&gt;OAuthConsumer&lt;/a&gt; &amp;#8211; OAuthライブラリ&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sites.google.com/site/yorufukurou/"&gt;夜フクロウ&lt;/a&gt; &amp;#8211; OAuth部分のUI及び実装(公開されていないので推測ですが)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/hiloki"&gt;ひろきんぐ隊長&lt;/a&gt; &amp;#8211; アイコン作成&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ありがとうございました。&lt;/p&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=wa_sO0YO1lM:HkYxOuPVuIE:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=wa_sO0YO1lM:HkYxOuPVuIE:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=wa_sO0YO1lM:HkYxOuPVuIE:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/mac/dm09#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/mac/dm09/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[Herokuを利用したナントカstagramの作り方]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/ruby/nantokastagram" />
		<id>http://rewish.org/?p=1266</id>
		<updated>2011-04-15T02:14:41Z</updated>
		<published>2011-04-15T01:30:58Z</published>
		<category scheme="http://rewish.org" term="Ruby" /><category scheme="http://rewish.org" term="sinatra" />		<summary type="html"><![CDATA[Herokuを利用してナントカstagramを作る方法をザックリ紹介。]]></summary>
		<content type="html" xml:base="http://rewish.org/ruby/nantokastagram">&lt;p&gt;先週の水曜日に@&lt;a href="http://twitter.com/hiloki"&gt;hiloki&lt;/a&gt;さんと一緒に作った &lt;a href="http://shiba.heroku.com/"&gt;Shibastagram &amp;#8211; 柴犬たくさん、しばすたぐらむ&lt;/a&gt; というモフモフ系癒しWebサービスをリリースしました。&lt;/p&gt;
&lt;p&gt;スクロールすると柴犬がモリモリ出てきて無限に癒されるナイスWeb。&lt;/p&gt;
&lt;p&gt;今回はソースコード自体を公開し、Shibastagramのチワワ版「&lt;a href="http://chihua.heroku.com/"&gt;chihuastagram &amp;#8211; チワワたくさん、チワスタグラム&lt;/a&gt;」を作りながら、ナントカstagramの作り方を紹介したいと思います。&lt;/p&gt;
&lt;p class="note"&gt;※記事中のChihuaやChihuastagramは自分のナントカstagramに合わせて読み替えて下さい。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1266"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;目次&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#installation"&gt;準備&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#configuration"&gt;各種設定&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#localTest"&gt;ローカルでテスト実行&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#customize"&gt;カスタマイズ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#deploy"&gt;デプロイ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#cron"&gt;Cronの設定&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="installation"&gt;
&lt;h2&gt;準備&lt;/h2&gt;
&lt;p&gt;早速いってみましょう。&lt;/p&gt;
&lt;p class="note"&gt;注意) 以下の内容はMac環境を前提としています。UNIX/Linux系のOSを使ってる人は問題無いと思いますが、Windowsの人はRubyやRubyGemsなど必要なモノを別途インストールする必要があります。あと全部ターミナルで作業です。&lt;/p&gt;
&lt;section&gt;
&lt;h3&gt;Herokuを使う準備&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://heroku.com/"&gt;Heroku (ハーオークー/ヘロク)&lt;/a&gt;は最近流行のPaaS。DeployにGitを使っているのが特徴でしょうか。Rubyアプリケーションを簡単に動かせるのでRubyistを使いまくってるらしい。&lt;/p&gt;
&lt;p&gt;ユーザ登録を済ませた後、以下のコマンドを実行してherokuコマンドをインストールします。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
sudo gem install heroku
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;必要なGemライブラリをインストール&lt;/h3&gt;
&lt;p&gt;以下のコマンドを打てばきっと大体OK！&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
sudo gem install instagram
sudo gem install activerecord
sudo gem install json
sudo gem install sqlite3
sudo gem install sinatra
sudo gem install haml
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;Gitをインストール&lt;/h3&gt;
&lt;p&gt;とりあえずGitが無いと始まりません。&lt;/p&gt;
&lt;p&gt;Gitのインストール方法とか書き出したら大変なことになるので、調べるか、お近くのプログラマーさんに質問するのが良いと思います。GitHubでリポジトリを作ると表示されるチュートリアル的なモノもオススメ。&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="configuration"&gt;
&lt;h2&gt;各種設定&lt;/h2&gt;
&lt;section&gt;
&lt;h3&gt;Shibastagramのソースコードを入手&lt;/h3&gt;
&lt;p&gt;Chihuastagramの元となるソースコードを入手します。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/rewish/Shibastagram"&gt;rewish/Shibastagram &amp;#8211; GitHub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;上記のリポジトリを&lt;strong&gt;forkしてからclone&lt;/strong&gt;する。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git clone git://github.com/ユーザー名/Shibastagram.git chihuastagram
&lt;/pre&gt;
&lt;p&gt;cloneし終わったら対象ディレクトリに移動しておく。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
cd chihuastagram
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;Herokuにアプリケーションを作成&lt;/h3&gt;
&lt;p&gt;以下のコマンドを打つと自動でHerokuのアプリが作成される。アプリ名.heroku.comみたいなドメインになる。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
heroku create アプリ名
&lt;/pre&gt;
&lt;p&gt;初めての場合はHerokuに登録したメールアドレスとパスワードを入力してって言われるので入力してください。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;Instagram APIのClient IDを取得&lt;/h3&gt;
&lt;p&gt;まず&lt;a href="http://instagr.am/developer/"&gt;http://instagr.am/developer/&lt;/a&gt;にログインする。アカウントが無ければ作る。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://instagr.am/developer/manage/"&gt;http://instagr.am/developer/manage/&lt;/a&gt;から&lt;strong&gt;Register a New Client&lt;/strong&gt;を選択してクライアントを追加する。&lt;/p&gt;
&lt;p&gt;追加したら&lt;strong&gt;CLIENT ID&lt;/strong&gt;というのが出てくるので、&lt;code&gt;config/environment.rb&lt;/code&gt;のCLIENT_IDのところに貼り付ける。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
# Client ID
CLIENT_ID = 'こぴぺぺぺぺぺぺたり'
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;取得したい写真のタグを設定&lt;/h3&gt;
&lt;p&gt;どんな方法で柴犬の画像を集めてるの的な質問があったけど、&lt;a href="http://bijostagram.com/"&gt;Bijostagram&lt;/a&gt;とは違って、写真に付いてるタグで検索してるだけです。&lt;/p&gt;
&lt;p&gt;目的のタグを&lt;code&gt;config/environment.rb&lt;/code&gt;のTARGET_TAGSに追加していく。複数のタグを指定できますが、増やしすぎるといっぱいアクセスして取得時間が長くなります。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
# Target tags ['shiba', 'shibainu', 'shibadog', 'shibas']
TARGET_TAGS = ['chihuahua', 'chiwawa']
&lt;/pre&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="localTest"&gt;
&lt;h2&gt;ローカルでテスト実行&lt;/h2&gt;
&lt;p&gt;アプリのルートディレクトリで以下のコマンドを打ってみる。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
ruby application.rb
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://localhost:4567/"&gt;http://localhost:4567/&lt;/a&gt;にアクセスするとそれっぽいモノが見えます。&lt;/p&gt;
&lt;p&gt;動いているのが確認出来たら&lt;strong&gt;Ctrl + C&lt;/strong&gt;を押してコマンドを終了させます。&lt;/p&gt;
&lt;section&gt;
&lt;h3&gt;データベースの設定&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;config/database.yml.default&lt;/code&gt;をコピーして&lt;code&gt;config/database.yml&lt;/code&gt;を作成。&lt;/p&gt;
&lt;p&gt;デフォルトではSQLite3を使うようになっていますが、MySQLなどを使いたい場合は設定を変更して下さい。この設定はローカルのみで有効です。&lt;/p&gt;
&lt;p&gt;データベースの設定が完了したら以下のコマンドを実行してテーブルを作る。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
rake db:migrate
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;Instagramのデータを取得&lt;/h3&gt;
&lt;p&gt;以下のコマンドを実行すると、指定したタグのデータを取得し始めます。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
rake hh:update
&lt;/pre&gt;
&lt;p&gt;終わったらもう一度ruby application.rbしてブラウザで確認。完全に自分用ならココで終わっても問題無いですね。&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="customize"&gt;
&lt;h2&gt;カスタマイズ&lt;/h2&gt;
&lt;p&gt;HTMLは&lt;code&gt;views&lt;/code&gt;ディレクトリの中にあるファイルを適当にイジる。&lt;/p&gt;
&lt;p&gt;他は雰囲気で感じ取って適当に修正して下さい。&lt;/p&gt;
&lt;/section&gt;
&lt;section id="deploy"&gt;
&lt;h2&gt;デプロイ&lt;/h2&gt;
&lt;p&gt;Herokuにアプリケーションを配備します。deploy自体はGitでpushするだけなので凄くシンプル。&lt;/p&gt;
&lt;section&gt;
&lt;h3&gt;最初に1回だけ実行するコマンド&lt;/h3&gt;
&lt;p&gt;最初に一回だけ以下のコマンドを実行して、Heroku側にmasterブランチを作るのと、データベースのマイグレーション、データ取得を行います。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git push heroku master
heroku rake db:migrate
heroku rake hh:update
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;2回目以降に実行するコマンド&lt;/h3&gt;
&lt;p&gt;2回目以降は単純にpushするだけで変更が反映される。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git push heroku
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;動作確認&lt;/h3&gt;
&lt;p&gt;直接 http://アプリ名.heroku.com/ にアクセスするか、以下のコマンドを叩く。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
heroku open
&lt;/pre&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="cron"&gt;
&lt;h2&gt;Cronの設定&lt;/h2&gt;
&lt;p&gt;Herokuの無料版ではCronを一日一回しか回せないので、設定した時間毎にURLを叩いてくれる&lt;a href="http://www.cron-job.org/cgi-bin/cronweb"&gt;cron-job.org&lt;/a&gt;を利用して定期的にデータ取得処理を実行します。データ取得用のURLを勝手に叩かれても困るので、Tokenを設定してそれが一致しない場合はURL自体を無効化する感じです。&lt;/p&gt;
&lt;p&gt;以下のコマンドでトークン文字列が表示されるのでメモる。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
rake hh:token
&lt;/pre&gt;
&lt;p&gt;メモったトークン文字列を&lt;code&gt;config/environment.rb&lt;/code&gt;のCRON_TOKENに貼り付ける。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
# Cron token
CRON_TOKEN = 'トークン文字列ペタリ'
&lt;/pre&gt;
&lt;dl&gt;
&lt;dt&gt;実際にcron-job.orgで叩くURL&lt;/dt&gt;
&lt;dd&gt;http://アプリ名.heroku.com/tasks/update?token=&lt;em&gt;トークン文字列&lt;/em&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;cron-job.orgの設定については &lt;a href="http://designblog.ecstudio.jp/tool/twitter-bot-memo.html"&gt; プログラミングできないデザイナーでも制作できるTwitter bot 制作メモ &amp;#8211; EC studio デザインブログ&lt;/a&gt;が参考になると思います。&lt;/p&gt;
&lt;p&gt;回すタイミングは取得内容によりますが、1時間〜2時間に一回くらいで大丈夫じゃないでしょうか。&lt;/p&gt;
&lt;/section&gt;
&lt;p&gt;以上です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://shiba.heroku.com/"&gt; Shibastagram &amp;#8211; 柴犬たくさん、しばすたぐらむ &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://chihua.heroku.com/"&gt;chihuastagram &amp;#8211; チワワたくさん、チワスタグラム&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=eHZ1gKtLjiE:UU4Hj1hVqNI:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=eHZ1gKtLjiE:UU4Hj1hVqNI:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=eHZ1gKtLjiE:UU4Hj1hVqNI:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/ruby/nantokastagram#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/ruby/nantokastagram/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[SubversionのリポジトリをGitで扱う]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/tools/git_svn" />
		<id>http://rewish.org/?p=1251</id>
		<updated>2011-10-16T23:33:05Z</updated>
		<published>2011-03-10T01:20:38Z</published>
		<category scheme="http://rewish.org" term="ツール/サービス" /><category scheme="http://rewish.org" term="Git" />		<summary type="html"><![CDATA[GitでSubversionのリポジトリを扱えるようにするコマンドgit-svnの使い方。]]></summary>
		<content type="html" xml:base="http://rewish.org/tools/git_svn">&lt;p&gt;svnコマンドはログが見づらいし、コミットしたらリモートにソッコーで飛んで行くし、gitに慣れた僕には凄く扱いづらい。てことでgit-svnネタです。&lt;/p&gt;
&lt;p&gt;一年くらい前からずっと下書き状態だったのを思い出したので公開。他にもコレ系の記事は沢山あるけど自分用のメモとして。ね。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1251"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;svnリポジトリからチェックアウト&lt;/h2&gt;
&lt;p&gt;いつものcloneコマンドにsvnを付けるだけ。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git svn clone -s http://svn.example.com/Project_Name/
&lt;/pre&gt;
&lt;p&gt;-sオプションを付けると、svnリポジトリが&lt;em&gt;trunk&lt;/em&gt;、&lt;em&gt;branches&lt;/em&gt;、&lt;em&gt;tags&lt;/em&gt;のような、お馴染みの構造だよって言うのをgitに教えられる。教えておくと、ブランチやタグがgitのリモートブランチとして扱えるようになるので便利。&lt;/p&gt;
&lt;p&gt;また、&lt;em&gt;trunk&lt;/em&gt;、&lt;em&gt;branches&lt;/em&gt;、&lt;em&gt;tags&lt;/em&gt;の名称が一般的なモノとは異なる場合は、&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git svn clone http://svn.example.com/Project_Name/ -T trunkの名前 -b branchesの名前 -t tagsの名前
&lt;/pre&gt;
&lt;p&gt;のように、-T、-b、-tオプションを付ければOK。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;コードを書く&lt;/h2&gt;
&lt;p&gt;ファイルの追加や、ローカルへのコミットはいつものgitコマンドが使える。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git add .
git commit -m "first commit"
&lt;/pre&gt;
&lt;p&gt;ローカルブランチも切り放題。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git branch ticket1
git checkout ticket1
&lt;/pre&gt;
&lt;p&gt;や、&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git checkout -b ticket1
&lt;/pre&gt;
&lt;p&gt;など。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;svnリポジトリにコミット&lt;/h2&gt;
&lt;p&gt;git pushのような勢いで。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git svn dcommit
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;svnリポジトリの更新を取り込む&lt;/h2&gt;
&lt;p&gt;svn updateのようなノリで。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git svn rebase
&lt;/pre&gt;
&lt;p&gt;ノリとか関係無いしって場合はfetchしてからmergeする。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git svn fetch
git merge trunk
&lt;/pre&gt;
&lt;p&gt;確認してからmergeできるので、こちらの方が安全かな。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;svnリポジトリにタグやブランチを作成&lt;/h2&gt;
&lt;p&gt;タグ、ブランチ共に、いつものコマンドにsvnを付けるだけ。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git svn tag v0.1
git svn branch v1.0
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;svn:ignoreを取り込む&lt;/h2&gt;
&lt;p&gt;無視するファイルの設定をgitに取り込むには、git svn show-ignoreの結果を.git/info/excludeに書き込むのが楽。&lt;/p&gt;
&lt;pre class="brush: xml"&gt;
git svn show-ignore &amp;gt;&amp;gt; .git/info/exclude
&lt;/pre&gt;
&lt;p&gt;また、下記のコマンドを使えば自動で.gitignoreが作成される。svnリポジトリに.gitignoreは似合わないな、って場合は上記の方法でやるのが良さそう。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
git svn create-ignore
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;認証情報&lt;/h2&gt;
&lt;p&gt;認証情報は&lt;code&gt;~/.subversion/auth/svn.simple/&lt;/code&gt;内のファイルに保存されている。デフォルトの設定ではパスワードも平分で保存されるので、&lt;code&gt;~/.subversion/config&lt;/code&gt;を書き換えてパスワードを保存しないようにする。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
vi ~/.subversion/config
&lt;/pre&gt;
&lt;pre class="brush: shell"&gt;
[auth]
store-passwords = no
&lt;/pre&gt;
&lt;p&gt;設定が終ったら&lt;code&gt;~/.subversion/auth/svn.simple/&lt;/code&gt;内の該当ファイルを手動で削除する。&lt;/p&gt;
&lt;p&gt;認証時に毎回パスワード打たないとダメだけど、パスワードが平文で保存される気持ち悪さに比べたらまだマシかな。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;属性設定&lt;/h2&gt;
&lt;p&gt;git-svnからは属性の設定が出来ないっぽい？&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;リポジトリごとGitにしちゃう&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/nirvdrum/svn2git"&gt;svn2git&lt;/a&gt;で変換してGitのリポジトリにpushすればGitリポジトリに早変わり！&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;おわり&lt;/h2&gt;
&lt;p&gt;svnリポジトリとやり取りするコマンドを除けば、ほぼ普通のgitと変わらないですね。&lt;/p&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=pycYnYZBvoc:VPlOIIY13_I:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=pycYnYZBvoc:VPlOIIY13_I:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=pycYnYZBvoc:VPlOIIY13_I:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/tools/git_svn#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/tools/git_svn/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[CakePHPのコンソールで初期データのインポート/エクスポート]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/php_mysql/cakephp_data_shell" />
		<id>http://rewish.org/?p=1198</id>
		<updated>2011-03-28T09:16:26Z</updated>
		<published>2011-02-28T12:20:15Z</published>
		<category scheme="http://rewish.org" term="PHP/MySQL" /><category scheme="http://rewish.org" term="CakePHP" /><category scheme="http://rewish.org" term="Download" />		<summary type="html"><![CDATA[CakePHPのコンソールからデータのインポート/エクスポートが行えるようになるShellクラス。]]></summary>
		<content type="html" xml:base="http://rewish.org/php_mysql/cakephp_data_shell">&lt;p&gt;開発用のデータをチームで共有する仕組みがデフォルトでは無いっぽかったので、CakePHPのコンソールを使って、初期データのインポート/エクスポートを行うShellクラスを書いてみました。&lt;/p&gt;
&lt;p&gt;仕組みは単純で、テーブルに入っているデータをCakePHPで扱えるデータ(Array)にして保存し、保存したデータをsaveメソッドを使って保存すると言った感じです。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1198"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;インストール&lt;/h2&gt;
&lt;p&gt;コードはGitHubに置いていますので、&lt;code&gt;git clone&lt;/code&gt;またはダウンロードして下さい。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/rewish/CakePHP-DataShell"&gt;CakePHP-DataShell&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ダウンロードしたコードを、CakePHPのアプリケーションルート(appなど)以下に&lt;code&gt;venders/shells/data.php&lt;/code&gt;をコピーすればインストールは完了。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;使い方&lt;/h2&gt;
&lt;p&gt;仕組み上、まずはテーブルにデータを入力した方がスムーズです。&lt;/p&gt;
&lt;section&gt;
&lt;h3&gt;エクスポート&lt;/h3&gt;
&lt;p&gt;全てのテーブルのデータをエクスポートする場合は以下のようにする。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
cake data export
&lt;/pre&gt;
&lt;p&gt;特定のテーブルのみエクスポートする場合は、&lt;strong&gt;モデル名&lt;/strong&gt;または&lt;strong&gt;テーブル名&lt;/strong&gt;を指定する。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
cake data export User
cake data export users
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;インポート&lt;/h3&gt;
&lt;p&gt;全てのデータをインポートする場合は以下のようにする。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
cake data import
&lt;/pre&gt;
&lt;p&gt;特定のテーブルのみインポートする場合は、&lt;strong&gt;モデル名&lt;/strong&gt;または&lt;strong&gt;テーブル名&lt;/strong&gt;を指定する。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
cake data import User
cake data import users
&lt;/pre&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;p&gt;何かあればforkしてpull requestでも送って下さい :)&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=0qDz-796XjM:SHlhHi4dy6U:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=0qDz-796XjM:SHlhHi4dy6U:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=0qDz-796XjM:SHlhHi4dy6U:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/php_mysql/cakephp_data_shell#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/php_mysql/cakephp_data_shell/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[Skypeがおかしくなったらshared.xmlを削除すると大体直る]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/tools/skype_shared_xml" />
		<id>http://rewish.org/?p=1203</id>
		<updated>2011-01-24T18:46:18Z</updated>
		<published>2011-01-24T01:30:37Z</published>
		<category scheme="http://rewish.org" term="ツール/サービス" />		<summary type="html"><![CDATA[Skypeのshared.xmlを削除する方法をWindows版とMac版それぞれ紹介。]]></summary>
		<content type="html" xml:base="http://rewish.org/tools/skype_shared_xml">&lt;p&gt;皆さん、Skypeの画面共有機能使ってますか。ある日、僕のSkypeで画面共有が出来なくなりました。それどころかビデオ通話すら出来ません。困った。&lt;/p&gt;
&lt;p&gt;でね、タイトルで答え全部言っちゃってますが、最終的にはSkypeのプロファイルディレクトリにあるshared.xmlを消したら直ったわけですよ。&lt;/p&gt;
&lt;p&gt;shared.xmlについて調べてみると、他の不具合の場合でもコレが原因であることが多いみたいなので、お手元のSkypeがおかしくなった場合は是非一度試して見て下さい。&lt;/p&gt;
&lt;p&gt;以下、shared.xmlの消し方をWindows・Macそれぞれ簡単に書いてみます。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1203"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;目次&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#windows"&gt;Windowsの場合&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mac"&gt;Macの場合&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="windows"&gt;
&lt;h2&gt;Windowsの場合&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Skypeを終了する&lt;/li&gt;
&lt;li&gt;Windowsキー + Rキーを押す&lt;/li&gt;
&lt;li&gt;&lt;code&gt;%APPDATA%\Skype&lt;/code&gt;と入力しEnterを押す&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;shared.xml&lt;/strong&gt;をリネームまたは削除する&lt;/li&gt;
&lt;li&gt;Skypeを起動する&lt;/li&gt;
&lt;li&gt;不具合直ってるやったー&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
&lt;section id="mac"&gt;
&lt;h2&gt;Macの場合&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Skypeを終了する&lt;/li&gt;
&lt;li&gt;Finderを開く&lt;/li&gt;
&lt;li&gt;shift + command + Gキーを押す&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/Library/Application Support/Skype&lt;/code&gt;と入力しEnterを押す&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;shared.xml&lt;/strong&gt;をリネームまたは削除する&lt;/li&gt;
&lt;li&gt;Skypeを起動する&lt;/li&gt;
&lt;li&gt;不具合直ってるやったー&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
&lt;p&gt;ね？簡単でしょ？&lt;/p&gt;
&lt;p&gt;そんなことより、何だか久しぶりのブロギングな気がしますね。ブログに書こうと思ってたネタをTwitterに書いてしまうことが結構増えたような気がしますが、Twitterだとブログよりもさらに断片的な情報になりがちなので、少しまともな情報としてアウトプットしてみました。&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=7ZaydrXZUfg:7teacr60bLQ:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=7ZaydrXZUfg:7teacr60bLQ:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=7ZaydrXZUfg:7teacr60bLQ:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/tools/skype_shared_xml#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/tools/skype_shared_xml/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[2010年は色々ありました]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/etc/2010_the_end" />
		<id>http://rewish.org/?p=1195</id>
		<updated>2010-12-31T09:32:49Z</updated>
		<published>2010-12-31T09:32:49Z</published>
		<category scheme="http://rewish.org" term="その他/告知" />		<summary type="html"><![CDATA[今年も残すところ5時間とちょっとになりました。 今年は人生の転機やら出会いやら色々ありました。中でも特に記憶に残っているのは、5月と7月にブログを書き忘れて、2007年7月の冷やし中華から始まった毎月ブログ更新記録が途切 [...]]]></summary>
		<content type="html" xml:base="http://rewish.org/etc/2010_the_end">&lt;p&gt;今年も残すところ5時間とちょっとになりました。&lt;/p&gt;
&lt;p&gt;今年は人生の転機やら出会いやら色々ありました。中でも特に記憶に残っているのは、5月と7月にブログを書き忘れて、2007年7月の&lt;a href="/etc/1st_post"&gt;冷やし中華&lt;/a&gt;から始まった毎月ブログ更新記録が途切れ、月別アーカイブにぽっかり穴が空いてしまったことでしょうか。&lt;/p&gt;
&lt;p&gt;そんなこんなで色々あった2010年でした。&lt;/p&gt;
&lt;p&gt;来年の話をすると鬼が笑うらしいので、来月からもよろしくお願いいたします。&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=D1YmxZBModo:CSfx2MBuWsY:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=D1YmxZBModo:CSfx2MBuWsY:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=D1YmxZBModo:CSfx2MBuWsY:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/etc/2010_the_end#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/etc/2010_the_end/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[こんにちは、フリーランス]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/etc/hello_freelance" />
		<id>http://rewish.org/?p=1163</id>
		<updated>2010-11-03T19:42:20Z</updated>
		<published>2010-11-02T01:30:38Z</published>
		<category scheme="http://rewish.org" term="その他/告知" />		<summary type="html"><![CDATA[2010年11月1日より個人事業主になりました。な報告。]]></summary>
		<content type="html" xml:base="http://rewish.org/etc/hello_freelance">&lt;p&gt;10月末に開業届けを提出して11月1日付けで個人事業主になりました。&lt;/p&gt;
&lt;p&gt;経緯としては、6月末で3年間勤めていた会社を退職し、紆余曲折を経てフリーランスとして活動することに決めました。大事な部分を端折った気がしますが、大体そんな感じです。&lt;/p&gt;
&lt;p&gt;ちなみに屋号は &lt;strong&gt;Rewish (レウィッシュ)&lt;/strong&gt;。名刺も作り直す予定なので、既に名刺交換させていただいた方には、改めてお渡ししたいと思います。&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;できること&lt;/h2&gt;
&lt;p&gt;今後どういった方向へ行くかは分かりませんが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML/CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;Webデザイン&lt;/li&gt;
&lt;li&gt;Webシステム開発&lt;/li&gt;
&lt;li&gt;iPhoneアプリ開発&lt;/li&gt;
&lt;li&gt;CMSの構築/プラグイン作成等
&lt;ul&gt;
&lt;li&gt;WordPress&lt;/li&gt;
&lt;li&gt;Movable Type&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;サーバ構築/保守&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;辺りでお困りの際は是非ご相談下さい！&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;連絡先&lt;/h2&gt;
&lt;p&gt;レスポンスが早い順です。&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Skype&lt;/dt&gt;
&lt;dd&gt;rewish.org&lt;/dd&gt;
&lt;dt&gt;Twitter&lt;/dt&gt;
&lt;dd&gt;@&lt;a href="//twitter.com/rewish"&gt;rewish&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Mail&lt;/dt&gt;
&lt;dd&gt;&lt;a href="/contact/"&gt;Contact&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;p&gt;それでは皆さん、今後ともよろしくお願いします。&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=tgpbXOlpETY:-56heZoyDWI:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=tgpbXOlpETY:-56heZoyDWI:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=tgpbXOlpETY:-56heZoyDWI:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/etc/hello_freelance#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/etc/hello_freelance/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[jQuery.bgSwitcher バージョン0.2をリリースしました]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/etc/jquery_bg_switcher_0_2" />
		<id>http://rewish.org/?p=1143</id>
		<updated>2010-10-25T19:50:35Z</updated>
		<published>2010-10-26T01:30:13Z</published>
		<category scheme="http://rewish.org" term="その他/告知" />		<summary type="html"><![CDATA[jQuery.bgSwitcher バージョン0.2をリリース。オプションの簡略化、切り替えのコントロールなどを追加。]]></summary>
		<content type="html" xml:base="http://rewish.org/etc/jquery_bg_switcher_0_2">&lt;p&gt;だいぶ前に作った&lt;a href="/javascript/jquery_bg_switcher"&gt;jQuery.bgSwitcher&lt;/a&gt;を一から作り直しました。&lt;/p&gt;
&lt;p&gt;オプションの簡略化や切り替えの開始/停止/リセットなど、0.1系より便利に使えるようになっていて、フェードアウトの実装も0.1系よりは若干ましになったと思います。&lt;/p&gt;
&lt;p&gt;ただ、オプションの指定方法などの兼ね合いで&lt;strong&gt;0.1系と互換性がありません&lt;/strong&gt;。互換性を保つことも出来ましたが、利用者数が少ないことと、前のバージョンがあまりにも酷かったので、あえて互換性を捨てました。&lt;/p&gt;
&lt;p&gt;背景を切り替えたいんだよ！という珍しい案件があれば使ってみて下さい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/javascript/jquery_bg_switcher"&gt;指定した背景画像をx秒毎に切り替えるjQueryプラグイン &amp;#8211; Rewish&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://github.com/rewish/jQuery.bgSwitcher"&gt;jQuery.bgSwitcher at master &amp;#8211; GitHub&lt;/a&gt;[開発版]&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=FM-7r7mxbzg:-V29S_AxzVk:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=FM-7r7mxbzg:-V29S_AxzVk:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=FM-7r7mxbzg:-V29S_AxzVk:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/etc/jquery_bg_switcher_0_2#comments" thr:count="5" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/etc/jquery_bg_switcher_0_2/feed/atom/" thr:count="5" />
		<thr:total>5</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[ソーシャルブックマークの情報を取得するWPプラグイン「WP SBM Info」]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/wp/sbm_info" />
		<id>http://rewish.org/?p=1130</id>
		<updated>2010-10-25T16:52:49Z</updated>
		<published>2010-09-10T01:26:41Z</published>
		<category scheme="http://rewish.org" term="WordPress" /><category scheme="http://rewish.org" term="Download" /><category scheme="http://rewish.org" term="Plugin" />		<summary type="html"><![CDATA[ソーシャルブックマークのカウントやコメントを取得するWordPressのプラグイン.]]></summary>
		<content type="html" xml:base="http://rewish.org/wp/sbm_info">&lt;p&gt;先日作った&lt;a href="/php_mysql/services_sbm_info"&gt;Services_SBM_Info&lt;/a&gt;を利用して、ソーシャルブックマークのカウントやコメントを取得するWordPressのプラグインを作ってみました。&lt;/p&gt;
&lt;p&gt;対応サービスや取得できる情報についてはServices_SBM_Infoと同じです。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1130"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;概要&lt;/h2&gt;
&lt;p&gt;URLに対するソーシャルブックマークの情報を取得するWordPressプラグインです。&lt;/p&gt;
&lt;section&gt;
&lt;h3&gt;名称&lt;/h3&gt;
&lt;p&gt;WP SBM Info&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;ライセンス&lt;/h3&gt;
&lt;p&gt;GNU General Public License&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;取得できるSBMの情報&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ブックマーク数&lt;/li&gt;
&lt;li&gt;ブックマーク数の単位 (user|users|tweet|tweets)&lt;/li&gt;
&lt;li&gt;ブックマーク数のランク (色の変わるブックマーク数に応じたランク)&lt;/li&gt;
&lt;li&gt;ブックマークコメント (Deliciousを除く)&lt;/li&gt;
&lt;li&gt;エントリーページのURL&lt;/li&gt;
&lt;li&gt;追加ページのURL&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;対応しているSBMサービス&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://b.hatena.ne.jp/"&gt;はてなブックマーク&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.delicious.com/"&gt;Delicious&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://clip.livedoor.com/"&gt;livedoorクリップ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://buzzurl.jp/"&gt;Buzzurl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;ダウンロード&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://downloads.wordpress.org/plugin/wp-sbm-info.zip" class="downLoad"&gt;wp-sbm-info.zip&lt;/a&gt; &amp;#8211; v0.1.0&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;オプション&lt;/h2&gt;
&lt;p&gt;[&lt;em&gt;設定&lt;/em&gt;]メニューの[&lt;em&gt;WP SBM Infoの設定&lt;/em&gt;]でオプションを設定できます。&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;有効にするサービス&lt;/dt&gt;
&lt;dd&gt;チェックしたサービスを取得します。&lt;/dd&gt;
&lt;dt&gt;キャッシュの有効期限&lt;/dt&gt;
&lt;dd&gt;指定時間経過後、APIデータを再取得します。&lt;/dd&gt;
&lt;dt&gt;バックグラウンド実行&lt;/dt&gt;
&lt;dd&gt;APIデータの取得をバックグラウンドで行います。CGIモードで動いている場合のみ。&lt;/dd&gt;
&lt;dt&gt;Proxy&lt;/dt&gt;
&lt;dd&gt;APIデータの取得にProxyを使います。&lt;/dd&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;使い方&lt;/h2&gt;
&lt;section&gt;
&lt;h3&gt;個別ページ(ポスト、ページ)で使用する場合&lt;/h3&gt;
&lt;pre class="brush: php"&gt;
&amp;lt;?php
$info = sbm_info_all();
// $infoに配列が入るのでprint_r($info);などで確認して下さい。

// foreachとprintfを使った例
foreach ($info as $name =&gt; $c) {
	printf('&amp;lt;li class=&amp;quot;%s&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;追加&amp;lt;/a&amp;gt; &amp;lt;a href=&amp;quot;%s&amp;quot; class=&amp;quot;count rank%s&amp;quot;&amp;gt;%s%s&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;',
		$name, $c['add_url'], $c['entry_url'], $c['rank'], $c['count'], $c['unit']);
}
?&amp;gt;
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;Homeなど個別ページ以外のURLを取得する場合&lt;/h3&gt;
&lt;pre class="brush: php"&gt;
&amp;lt;?php
$url = 'http://example.com/';
$title = 'Example Web Page';
sbm_info_execute($url, $title);
$info = sbm_info_all($url, $title);
// $infoの情報を適当に使う
?&amp;gt;
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;各サービスごとのスタイリング&lt;/h3&gt;
&lt;p&gt;このブログで使用しているスタイル(&lt;a href="/share/css/sbm.css"&gt;sbm.css&lt;/a&gt;)を参考にしてみて下さい。&lt;/p&gt;
&lt;p&gt;	&lt;/srction&gt;&lt;br /&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;定義されている関数&lt;/h2&gt;
&lt;p&gt;引数を省略して実行すると、$urlは&lt;code&gt;get_permalink()&lt;/code&gt;、$titleは&lt;code&gt;get_the_title()&lt;/code&gt;の値がそれぞれ代入されます。&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;sbm_info_execute($url = null, $title = null)&lt;/dt&gt;
&lt;dd&gt;APIからデータを取得します。ポスト及びページ以外で使用する場合に使います。&lt;/dd&gt;
&lt;dt&gt;sbm_info_all($url = null, $title = null)&lt;/dt&gt;
&lt;dd&gt;全ての情報を取得します。&lt;/dd&gt;
&lt;dt&gt;sbm_info_count($url = null)&lt;/dt&gt;
&lt;dd&gt;ブックマーク数を取得します。&lt;/dd&gt;
&lt;dt&gt;sbm_info_unit($url = null)&lt;/dt&gt;
&lt;dd&gt;ブックマーク数の単位を取得します。&lt;/dd&gt;
&lt;dt&gt;sbm_info_rank($url = null)&lt;/dt&gt;
&lt;dd&gt;ブックマーク数のランクを取得します。&lt;/dd&gt;
&lt;dt&gt;sbm_info_comments($url = null)&lt;/dt&gt;
&lt;dd&gt;ブックマークコメントを取得します。&lt;/dd&gt;
&lt;dt&gt;sbm_info_entry_url($url = null)&lt;/dt&gt;
&lt;dd&gt;ブックマークのエントリーページURLを取得します。&lt;/dd&gt;
&lt;dt&gt;sbm_info_add_url($url = null)&lt;/dt&gt;
&lt;dd&gt;ブックマークの追加ページURLを取得します。&lt;/dd&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;section id="updateHistory"&gt;
&lt;h2&gt;更新履歴&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;2010-10-26 &amp;#8211; v0.1.4&lt;/dt&gt;
&lt;dd&gt;APIデータの取得に失敗した場合、情報がリセットされる問題を修正。&lt;/dd&gt;
&lt;dt&gt;2010-09-13 &amp;#8211; v0.1.3&lt;/dt&gt;
&lt;dd&gt;同時アクセスがあった場合、executeが複数走る問題を修正。&lt;/dd&gt;
&lt;dt&gt;2010-09-12 &amp;#8211; v0.1.2&lt;/dt&gt;
&lt;dd&gt;bugfix&lt;/dd&gt;
&lt;dt&gt;2010-09-10 &amp;#8211; v0.1.1&lt;/dt&gt;
&lt;dd&gt;Proxy対応&lt;/dd&gt;
&lt;dt&gt;2010-09-09 &amp;#8211; v0.1.0&lt;/dt&gt;
&lt;dd&gt;公開&lt;/dd&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=hvBm_ubHfl8:qN6nVMwzvsI:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=hvBm_ubHfl8:qN6nVMwzvsI:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=hvBm_ubHfl8:qN6nVMwzvsI:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/wp/sbm_info#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/wp/sbm_info/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[ソーシャルブックマークの情報を取得するPHPライブラリ「Services_SBM_Info」]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/php_mysql/services_sbm_info" />
		<id>http://rewish.org/?p=1108</id>
		<updated>2010-10-31T18:52:08Z</updated>
		<published>2010-09-08T01:30:24Z</published>
		<category scheme="http://rewish.org" term="PHP/MySQL" /><category scheme="http://rewish.org" term="Openpear" />		<summary type="html"><![CDATA[URLに対するソーシャルブックマークの情報を取得するライブラリ「Services_SBM_Info」の概要と使い方。]]></summary>
		<content type="html" xml:base="http://rewish.org/php_mysql/services_sbm_info">&lt;p&gt;&lt;ins datetime="2010-09-08T11:27:43+00:00"&gt;Twitterに対応しました。&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;URLに対するソーシャルブックマークの情報を取得するライブラリを&lt;a href="http://openpear.org/"&gt;Openpear&lt;/a&gt;で公開しています。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://openpear.org/package/Services_SBM_Info"&gt;Services_SBM_Info &amp;#8211; Openpear&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;と言う報告だけでは何なので、概要と使い方を書いてみます。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1108"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;概要&lt;/h2&gt;
&lt;p&gt;URLに対するソーシャルブックマーク(以下SBM)の情報を取得するPHP(PEAR)ライブラリです。&lt;/p&gt;
&lt;section&gt;
&lt;h3&gt;ライセンス&lt;/h3&gt;
&lt;p&gt;New BSD License&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;依存ライブラリ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;HTTP_Request2&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;取得できるSBMの情報&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ブックマーク数&lt;/li&gt;
&lt;li&gt;ブックマーク数の単位 (user|users)&lt;/li&gt;
&lt;li&gt;ブックマーク数のランク (色の変わるブックマーク数に応じたランク)&lt;/li&gt;
&lt;li&gt;ブックマークコメント&lt;/li&gt;
&lt;li&gt;エントリーページのURL&lt;/li&gt;
&lt;li&gt;追加ページのURL&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;対応しているSBMサービス&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://b.hatena.ne.jp/"&gt;はてなブックマーク&lt;/a&gt; (Hatena)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.delicious.com/"&gt;Delicious&lt;/a&gt; (Delicious)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://clip.livedoor.com/"&gt;livedoorクリップ&lt;/a&gt; (Livedoor)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://buzzurl.jp/"&gt;Buzzurl&lt;/a&gt; (Buzzurl)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; (Twitter)&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;インストール&lt;/h2&gt;
&lt;section&gt;
&lt;h3&gt;PEARコマンドを使う場合&lt;/h3&gt;
&lt;pre class="command"&gt;
pear channel-discover openpear.org
pear install --alldeps openpear/Services_SBM_Info-beta
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;SVNでチェックアウトする場合&lt;/h3&gt;
&lt;p&gt;直接チェックアウトする場合はinclude pathに注意して下さい。&lt;/p&gt;
&lt;pre class="command"&gt;
svn co http://svn.openpear.org/Services_SBM_Info/trunk/src Services_SBM_Info
&lt;/pre&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;使い方&lt;/h2&gt;
&lt;section&gt;
&lt;h3&gt;基本的な使い方&lt;/h3&gt;
&lt;pre class="brush: php"&gt;
&amp;lt;?php
// ライブラリ読み込み
require_once 'Services/SBM/Info.php';

// コンストラクタ
// 第一引数にURL、第二引数にページタイトル、
// 第三引数に取得するSBMサービスを指定可能 (初期値は'Hatena,Delicious')
$SBMInfo = new Services_SBM_Info('http://example.net/', 'Example Web Page', 'Hatena,Delicious,Livedoor');

// 実行 (APIからデータを取得)
$SBMInfo-&amp;gt;execute();

// 有効サービスの全SBM情報を配列で取得 (コメントを除く)
print_r($SBMInfo-&amp;gt;getAll());

// コメントを含めたい場合は第一引数にtrueを渡す
print_r($SBMInfo-&amp;gt;getAll(true));
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;URL、ページタイトル、SBMサービスを後で指定する&lt;/h3&gt;
&lt;p&gt;複数のURLの情報を連続して取得する場合に便利。&lt;/p&gt;
&lt;pre class="brush: php"&gt;
&amp;lt;?php
// ライブラリ読み込み
require_once 'Services/SBM/Info.php';

// コンストラクタの引数は省略可能
$SBMInfo = new Services_SBM_Info;

// URLをセット
$SBMInfo-&amp;gt;setUrl('http://example.com/');

// ページタイトルをセット
$SBMInfo-&amp;gt;setTitle('Example Web Page');

// SBMサービスをセット
$SBMInfo-&amp;gt;setServices(array('hatena', 'delicious', 'livedoor', 'buzzurl'));
// or
$SBMInfo-&amp;gt;setServices('hatena,delicious,livedoor,buzzurl');

// セットしたら必ずexecute
$SBMInfo-&amp;gt;execute();

// 有効サービスの全SBM情報を配列で取得 (コメントを除く)
print_r($SBMInfo-&amp;gt;getAll());
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;SBM情報を個別に取得する&lt;/h3&gt;
&lt;p&gt;引数に何も入れずに実行すると、SBMサービスの名前をキーにした配列が取得できます。&lt;/p&gt;
&lt;pre class="brush: php"&gt;
&amp;lt;?php
require_once 'Services/SBM/Info.php';
$SBMInfo = new Services_SBM_Info('http://example.net/', 'Example Web Page');
$SBMInfo-&amp;gt;execute();

// ブックマーク数
echo $SBMInfo-&amp;gt;getCount();

// ブックマーク数の単位
echo $SBMInfo-&amp;gt;getUnit();

// ブックマーク数のランク
echo $SBMInfo-&amp;gt;getRank();

// エントリーページのURL
echo $SBMInfo-&amp;gt;getEntryUrl();

// 追加ページのURL
echo $SBMInfo-&amp;gt;getAddUrl();

// ブックマークコメント
print_r($SBMInfo-&amp;gt;getComments());
&lt;/pre&gt;
&lt;p&gt;引数にSBMサービス名を入れると、個別に値を取得できます。&lt;/p&gt;
&lt;pre class="brush: php"&gt;
require_once 'Services/SBM/Info.php';
$SBMInfo = new Services_SBM_Info('http://example.net/', 'Example Web Page');
$SBMInfo-&amp;gt;execute();

// はてなブックマークのブックマーク数
echo $SBMInfo-&amp;gt;getCount('hatena');

// はてなブックマークのブックマーク数の単位
echo $SBMInfo-&amp;gt;getUnit('hatena');

// はてなブックマークのブックマーク数のランク
echo $SBMInfo-&amp;gt;getRank('hatena');

// はてなブックマークのエントリーページのURL
echo $SBMInfo-&amp;gt;getEntryUrl('hatena');

// はてなブックマークの追加ページのURL
echo $SBMInfo-&amp;gt;getAddUrl('hatena');

// はてなブックマークのブックマークコメント
print_r($SBMInfo-&amp;gt;getComments('hatena'));
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;0.3.0で追加した機能&lt;/h3&gt;
&lt;p&gt;API取得に失敗した場合、例外を投げるようになったので、&lt;em&gt;エラーログを記録するファイルの指定&lt;/em&gt;と&lt;em&gt;API取得に失敗したサービスを取得する&lt;/em&gt;メソッドを追加しました。&lt;/p&gt;
&lt;pre class="brush:php"&gt;
&amp;lt;?php
require_once 'Services/SBM/Info.php';
$SBMInfo = new Services_SBM_Info('http://example.net/', 'Example Web Page');

// エラーを記録したい場合はファイルのパスを指定
$SBMInfo-&amp;gt;setErrorLog('./sbm_info_error.log');

$SBMInfo-&amp;gt;execute();

// API取得に失敗したサービスを配列で取得
print_r($SBMInfo-&amp;gt;getFailedServices());
&lt;/pre&gt;
&lt;p&gt;	&lt;/srction&gt;&lt;br /&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=bJejVRzx5Mg:0Z3RqabBLwY:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=bJejVRzx5Mg:0Z3RqabBLwY:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=bJejVRzx5Mg:0Z3RqabBLwY:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/php_mysql/services_sbm_info#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/php_mysql/services_sbm_info/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[VirtualBoxでLinuxな開発環境を作る]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/tools/virtualbox" />
		<id>http://rewish.org/?p=1090</id>
		<updated>2010-08-23T03:45:00Z</updated>
		<published>2010-08-20T04:24:54Z</published>
		<category scheme="http://rewish.org" term="ツール/サービス" /><category scheme="http://rewish.org" term="VirtualBox" />		<summary type="html"><![CDATA[VirtualBoxにCentOS5をインストールした後の設定やWindows向けの小ネタなど。]]></summary>
		<content type="html" xml:base="http://rewish.org/tools/virtualbox">&lt;p&gt;今までLinux環境が必要な開発ではVMware Playerを使っていましたが、ちょっと開発環境の見直しも兼ねてVertualBoxを試して見ました。&lt;/p&gt;
&lt;p&gt;今回はVirtualBox-3.2.8-64453-Winをインストールしましたが、基本的な流れやメリット等は&lt;a href="http://d.hatena.ne.jp/p4life/20090413/1239624784"&gt;VirtualBox 2.2 と CentOS 5.3 でローカル開発環境 &amp;#8211; もやし日記&lt;/a&gt;とほぼ同じなので、詳しいインストール手順はそちらを参照して下さい。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1090"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;仮想マシンの作成&lt;/h2&gt;
&lt;p&gt;こんな感じで作成しました。&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;名前&lt;/dt&gt;
&lt;dd&gt;CentOS5&lt;/dd&gt;
&lt;dt&gt;オペレーティング システム&lt;/dt&gt;
&lt;dd&gt;Linux&lt;/dd&gt;
&lt;dt&gt;バージョン&lt;/dt&gt;
&lt;dd&gt;Red Hat&lt;/dd&gt;
&lt;dt&gt;メインメモリのサイズ&lt;/dt&gt;
&lt;dd&gt;512MB&lt;/dd&gt;
&lt;dt&gt;ハードディスク ストレージ タイプ&lt;/dt&gt;
&lt;dd&gt;固定サイズのストレージ&lt;/dd&gt;
&lt;dt&gt;サイズ&lt;/dt&gt;
&lt;dd&gt;5GB&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;ホストOSがWindowsの場合、断片化を防ぐため固定サイズのストレージにしておくのが良い。&lt;/p&gt;
&lt;p&gt;OSはCentOS5.5をネットインストールしました。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;共有フォルダの設定&lt;/h2&gt;
&lt;p&gt;「開発環境でsambaとかマジ無いわ」な感じなので共有フォルダを有効にします。&lt;/p&gt;
&lt;section&gt;
&lt;h3&gt;Guest Additionsのインストール&lt;/h3&gt;
&lt;p&gt;まず、メニューの[デバイス]から[Guest Additionsのインストール]を選択。&lt;/p&gt;
&lt;p&gt;CD-ROMとして読み込まれるのでディレクトリにマウントする。&lt;/p&gt;
&lt;pre class="command"&gt;
[root@dev ~]# mkdir /mnt/cdrom
[root@dev ~]# mount -r /dev/cdrom /mnt/cdrom
&lt;/pre&gt;
&lt;p&gt;マウントしたら&lt;code&gt;VBoxLinuxAdditions-x86.run&lt;/code&gt;を実行する。&lt;/p&gt;
&lt;p&gt;gcc、make、kernel-devel辺りが必要なので、入っていなければ入れておく。&lt;/p&gt;
&lt;pre class="command"&gt;
[root@dev ~]# yum install gcc make kernel-devel
[root@dev ~]# /mnt/cdrom/VBoxLinuxAdditions-x86.run
&lt;/pre&gt;
&lt;p&gt;インストールが終ったらCD-ROMをアンマウントしておく。&lt;/p&gt;
&lt;pre class="command"&gt;
[root@dev ~]# umount /mnt/cdrom
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;共有するフォルダを指定&lt;/h3&gt;
&lt;p&gt;メニューの[デバイス]から[共有フォルダ]を選択。&lt;/p&gt;
&lt;p&gt;表示されるダイアログボックスの右側＋アイコンをクリックするかInsertキーを押す。&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;フォルダのパス&lt;/dt&gt;
&lt;dd&gt;ホストOS側の共有フォルダのパス。&lt;/dd&gt;
&lt;dt&gt;フォルダ名&lt;/dt&gt;
&lt;dd&gt;ゲストOS側の共有フォルダ名。マウントする際に使用。&lt;/dd&gt;
&lt;dt&gt;読み込み専用&lt;/dt&gt;
&lt;dd&gt;ファイルの書き込みを拒否する。&lt;/dd&gt;
&lt;dt&gt;永続化する&lt;/dt&gt;
&lt;dd&gt;VirtualBoxを終了しても設定を消さない。チェック！&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;この設定はそんなに難しくは無いと思います。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;共有フォルダをマウント&lt;/h3&gt;
&lt;p&gt;ファイルシステムのタイプを&lt;code&gt;vboxsf&lt;/code&gt;にし、デバイスに先ほどのフォルダ名を指定、対象ディレクトリを/mnt/フォルダ名にしてマウント。&lt;/p&gt;
&lt;pre class="command"&gt;
[root@dev ~]# mkdir /mnt/フォルダ名
[root@dev ~]# mount -t vboxsf フォルダ名 /mnt/フォルダ名
&lt;/pre&gt;
&lt;p&gt;ゲストOSを再起動しても自動でマウントするようにしたい場合は、/etc/rc.localなんかにマウントコマンドを記述すると良いかも。&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;Windows向けの小ネタ&lt;/h2&gt;
&lt;section&gt;
&lt;h3&gt;仮想マシンを一発起動&lt;/h3&gt;
&lt;p&gt;仮想マシンを起動する時、イチイチVertualBox.exeを起動して仮想マシンを選択して起動するのは面倒なので、ショートカットを作って一発で起動するようにしておく。&lt;/p&gt;
&lt;p&gt;具体的には、VirtualBox.exeの起動オプションに&lt;strong&gt;-startvm 仮想マシン名&lt;/strong&gt;を指定する。&lt;/p&gt;
&lt;pre class="command"&gt;path\to\VirtualBox.exe" -startvm &lt;strong&gt;CentOS5&lt;/strong&gt;&lt;/pre&gt;
&lt;p&gt;こんな感じでショートカットを作ればOK。簡単ですね。便利ですね。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;VertualBoxをタスクトレイに入れる&lt;/h3&gt;
&lt;p&gt;&lt;a href="/tools/vmware_tasktray"&gt;TrayzerでVMware Playerをタスクトレイに入れてスッキリ&lt;/a&gt;で紹介したTrayzerを使ってVirtualBoxをタスクトレイに入れました。&lt;/p&gt;
&lt;p&gt;設定方法はVMware Playerと同じです。&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=dzZqYrx-z6g:SNCwJCE4Wd8:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=dzZqYrx-z6g:SNCwJCE4Wd8:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=dzZqYrx-z6g:SNCwJCE4Wd8:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/tools/virtualbox#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/tools/virtualbox/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[ものすごい勢いでロールオーバーするjQueryプラグイン「jDTRollover」]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/javascript/jdtrollover" />
		<id>http://rewish.org/?p=1079</id>
		<updated>2010-06-18T03:01:31Z</updated>
		<published>2010-06-18T03:01:31Z</published>
		<category scheme="http://rewish.org" term="JavaScript" /><category scheme="http://rewish.org" term="jQuery" /><category scheme="http://rewish.org" term="Plugin" />		<summary type="html"><![CDATA[ロールオーバーしているのが一目瞭然！ものすごい勢いでロールオーバーするjQueryプラグイン。]]></summary>
		<content type="html" xml:base="http://rewish.org/javascript/jdtrollover">&lt;p&gt;画像のロールオーバーを実装する方法は数多く存在しますが、ロールオーバーしてるのかしてないのかよく分からないモノが多いですよね。多いです。&lt;/p&gt;
&lt;p&gt;そんな悩みはサクッと解決しちゃいたい！そんなアナタのために、ものすごい勢いでロールオーバーするjQueryプラグインを作りました。&lt;/p&gt;
&lt;p class="note"&gt;※&lt;a href="http://rewish.org/javascript/jquery_rollover_plugin"&gt;input要素にも使えるjQueryのロールオーバープラグイン&lt;/a&gt;との互換性もバッチリなので、プラグインのファイルを差し替えるだけで動作します。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1079"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;ダウンロードとデモ&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://jdtplugins.googlecode.com/svn/trunk/jdtrollover/jdtrollover.js" class="downLoad"&gt;jdtrollover.js&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jdtplugins.googlecode.com/svn/trunk/jdtrollover/example.html" class="demo"&gt;デモを見る&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;導入方法&lt;/h2&gt;
&lt;section&gt;
&lt;h3&gt;1. jQueryとjDTRolloverを読み込む&lt;/h3&gt;
&lt;pre class="brush: html"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;jquery.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;jdtrollover.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;2. 実行する&lt;/h3&gt;
&lt;p&gt;$()で対象にする要素を指定します。アンカーの中にある画像を指定するのが一般的ですね。&lt;/p&gt;
&lt;pre class="brush: js"&gt;
jQuery(function($) {
  $('a img').jdtRollover();

  // 以下の指定方法にも対応！最高の互換性！
  $('a img').rollover();
});
&lt;/pre&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;オプション&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;第一引数&lt;/dt&gt;
&lt;dd&gt;ロールオーバー画像に付けるsuffix。デフォルトは&lt;strong&gt;_on&lt;/strong&gt;だ。&lt;/dd&gt;
&lt;dt&gt;第二引数&lt;/dt&gt;
&lt;dd&gt;勢い。1か2くらいにしないと正常に動作しない。&lt;/dd&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;注意&lt;/h2&gt;
&lt;p&gt;わりと喋ります。&lt;/p&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=k8izUV30YG8:6NjSBRJZW8Q:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=k8izUV30YG8:6NjSBRJZW8Q:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=k8izUV30YG8:6NjSBRJZW8Q:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/javascript/jdtrollover#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/javascript/jdtrollover/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[スムーズにスクロールしないjQueryプラグイン「jDTScroll」]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/javascript/jdtscroll" />
		<id>http://rewish.org/?p=1067</id>
		<updated>2010-06-11T05:07:17Z</updated>
		<published>2010-06-11T02:11:38Z</published>
		<category scheme="http://rewish.org" term="JavaScript" /><category scheme="http://rewish.org" term="jQuery" /><category scheme="http://rewish.org" term="Plugin" />		<summary type="html"><![CDATA[普通のスムーススクロールがスムーズに感じられる、スムーズにスクロールしないjQueryプラグイン。]]></summary>
		<content type="html" xml:base="http://rewish.org/javascript/jdtscroll">&lt;p&gt;ページ内リンクでスクロールをスムースにするスクリプトは良くありますが、アレってもっとスムーズにスクロール出来ないのかなーとか思いますよね。僕は思います。&lt;/p&gt;
&lt;p&gt;もっとスムーズにするのは僕には難しいので、普通のスムーススクロールがスムーズに感じられるように、スムーズにスクロールしないjQueryプラグインを作りました。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1067"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;ダウンロードとデモ&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://jdtplugins.googlecode.com/svn/trunk/jdtscroll/jdtscroll.js" class="downLoad"&gt;jdtscroll.js&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jdtplugins.googlecode.com/svn/trunk/jdtscroll/example.html" class="demo"&gt;デモを見る&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;導入方法&lt;/h2&gt;
&lt;section&gt;
&lt;h3&gt;1. jQueryとjDTScrollを読み込む&lt;/h3&gt;
&lt;pre class="brush: html"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;jquery.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;jdtscroll.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h3&gt;2. 実行する&lt;/h3&gt;
&lt;p&gt;$()で対象にする要素を指定します。ページ内リンクなのでフラグメント識別子が付いてるっぽいアンカーを指定するのがいいですね。&lt;/p&gt;
&lt;pre class="brush: js"&gt;
jQuery(function($) {
  $('a[href^="#"]').jdtScroll();
});
&lt;/pre&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;オプション&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;第一引数&lt;/dt&gt;
&lt;dd&gt;スクロールアニメーションの速度を指定。&lt;/dd&gt;
&lt;dt&gt;第二引数&lt;/dt&gt;
&lt;dd&gt;良く見つけましたね。これは隠し引数です。&lt;/dd&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;注意&lt;/h2&gt;
&lt;p&gt;たまに喋ります。&lt;/p&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=652HPdScUsM:fGgWSVpNZPA:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=652HPdScUsM:fGgWSVpNZPA:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=652HPdScUsM:fGgWSVpNZPA:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/javascript/jdtscroll#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/javascript/jdtscroll/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[記事保存時にリンク先のタイトルを取得するWordPressプラグイン]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/wp/title_fetcher" />
		<id>http://rewish.org/?p=1035</id>
		<updated>2010-04-22T02:09:26Z</updated>
		<published>2010-04-22T02:09:26Z</published>
		<category scheme="http://rewish.org" term="WordPress" /><category scheme="http://rewish.org" term="Download" />		<summary type="html"><![CDATA[a要素にhref属性を設定し、テキストを空にした状態で保存すると、リンク先のタイトルを自動で取得するWordPressプラグイン。]]></summary>
		<content type="html" xml:base="http://rewish.org/wp/title_fetcher">&lt;p&gt;&lt;a href="/wp/hn_v1_0_0"&gt;WP HatenaNotation v1.0.0を公開&lt;/a&gt;した時に実装した、はてな記法の&lt;code&gt;[URL:title]&lt;/code&gt;のような機能を提供するプラグインです。&lt;/p&gt;
&lt;p&gt;はてな記法プラグインのように独自のDBテーブルにタイトルを保存するのでは無く、記事の内容を直接書き換えるタイプなので一応注意して下さい。&lt;/p&gt;
&lt;p&gt;あと、ブックマークレット使えよとか言わないで下さい。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1035"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;概要&lt;/h2&gt;
&lt;p&gt;a要素にhref属性を設定し、テキスト部分を空にして保存すると、リンク先のタイトルを自動で取得し挿入します。href以外の属性が在る場合でも他の属性を残しつつ処理を行います。&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;ダウンロード&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://downloads.wordpress.org/plugin/titlefetcher.zip" class="downLoad"&gt;titlefetcher.zip&lt;/a&gt; &amp;#8211; v0.1.0&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;h2&gt;使い方&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://downloads.wordpress.org/plugin/titlefetcher.zip"&gt;titlefetcher.zip&lt;/a&gt;をダウンロード&lt;/li&gt;
&lt;li&gt;zipを解凍して&lt;code&gt;wp-content/plugins&lt;/code&gt;にディレクトリごとコピー&lt;/li&gt;
&lt;li&gt;[プラグイン]メニューの[インストール済み]から&lt;strong&gt;TitleFetcher&lt;/strong&gt;を有効化。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;あとは記事を書く時に&lt;/p&gt;
&lt;pre class="brush: html"&gt;
&amp;lt;a href=&amp;quot;http://example.com/&amp;quot; class=&amp;quot;hoge&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;
&lt;/pre&gt;
&lt;p&gt;のようにテキスト部分を空にして保存すると&lt;/p&gt;
&lt;pre class="brush: html"&gt;
&amp;lt;a href=&amp;quot;http://example.com/&amp;#038;quot class=&amp;quot;hoge&amp;quot;&amp;gt;Example Web Page&amp;lt;/a&amp;gt;
&lt;/pre&gt;
&lt;p&gt;のようにリンク先のタイトルが自動で挿入されます。&lt;/p&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=xf4oD8GDQcM:2CDD2e7un0o:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=xf4oD8GDQcM:2CDD2e7un0o:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=xf4oD8GDQcM:2CDD2e7un0o:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/wp/title_fetcher#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/wp/title_fetcher/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Hoaki</name>
						<uri>http://rewish.org/</uri>
					</author>
		<title type="html"><![CDATA[CSSの@importを動的に1ファイルにまとめて圧縮するPHPのクラス「CSS_DynamicCompressor」]]></title>
		<link rel="alternate" type="text/html" href="http://rewish.org/php_mysql/css_dynamic_compressor" />
		<id>http://rewish.org/?p=997</id>
		<updated>2010-04-21T02:36:23Z</updated>
		<published>2010-04-21T01:32:01Z</published>
		<category scheme="http://rewish.org" term="PHP/MySQL" /><category scheme="http://rewish.org" term="Download" /><category scheme="http://rewish.org" term="HTTP" />		<summary type="html"><![CDATA[@importを自動で解析して連結・圧縮するPHPのクラス「CSS_DynamicCompressor」の使い方]]></summary>
		<content type="html" xml:base="http://rewish.org/php_mysql/css_dynamic_compressor">&lt;p&gt;CSSを小分けにして&lt;strong&gt;@import&lt;/strong&gt;で読み込んで管理している方も多いかと思いますが、これではHTTPリクエストがファイルの数だけ発生して、パフォーマンス的に良くありません。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html"&gt;Googleがページの表示速度を検索結果に反映する&lt;/a&gt;とか言い出したりもしているので、これはもうリクエスト数を減らすしか無いですね！&lt;/p&gt;
&lt;p&gt;でも手動でファイルを一つ一つ連結するのはとても面倒です！と言うわけで、そんな面倒な作業を自動でやってくれるPHPのクラスを書いてみました。&lt;/p&gt;
&lt;p&gt;&lt;span id="more-997"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;section&gt;
&lt;h2&gt;目次&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#dcOverview"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dcDownload"&gt;ダウンロード&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dcHowToUse"&gt;使い方&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#dcHowToUse-rewrite"&gt;mod_rewriteを使う&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dcHowToUse-ext"&gt;拡張子.cssでPHPを実行する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dcHowToUse-phpload"&gt;link要素で直接PHPを読み込む&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dcHowToUse-static"&gt;キャッシュファイルを静的に読み込む&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#dcConfig"&gt;各種設定&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dcNote"&gt;注意点&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="dcOverview"&gt;
&lt;h2&gt;概要&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;@import&lt;/strong&gt;で複数のファイルを読み込んでいるCSSを、動的に解析し、連結・圧縮を行います。また、表示する際に&lt;strong&gt;Last-Modified&lt;/strong&gt;や&lt;strong&gt;Expires&lt;/strong&gt;などのHTTPヘッダーを送出したり、&lt;strong&gt;gzip圧縮&lt;/strong&gt;を行うなど、リクエストを出来るだけ軽減できるようにしています。&lt;/p&gt;
&lt;p&gt;具体的には&lt;a href="/share/css/_import.css"&gt;/share/css/_import.css&lt;/a&gt;が&lt;a href="/share/css/import.css"&gt;/share/css/import.css&lt;/a&gt;のようになります。&lt;/p&gt;
&lt;/section&gt;
&lt;section id="dcDownload"&gt;
&lt;h2&gt;ダウンロード&lt;/h2&gt;
&lt;p&gt;&lt;a href="/download/css_dynamic_compressor.zip" class="downLoad"&gt;css_dynamic_compressor.zip&lt;/a&gt; &amp;#8211; v0.1&lt;/p&gt;
&lt;p class="note"&gt;※PHP5以上で動作します。&lt;/p&gt;
&lt;p&gt;ファイルの内容は以下の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CSS_DynamicCompressor.php&lt;/li&gt;
&lt;li&gt;css.php&lt;/li&gt;
&lt;li&gt;.htaccess&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;開発版は&lt;a href="http://github.com/rewish/CSS_DynamicCompressor"&gt;http://github.com/rewish/CSS_DynamicCompressor&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="dcHowToUse"&gt;
&lt;h2&gt;使い方&lt;/h2&gt;
&lt;p&gt;以下の4つの使い方を想定しています。環境に合わせて最良の方法を選択して下さい。&lt;/p&gt;
&lt;p&gt;以下の例の前提条件として、&lt;strong&gt;@import&lt;/strong&gt;を使用しているファイルの名前は&lt;code&gt;import.css&lt;/code&gt;とします。&lt;/p&gt;
&lt;section id="dcHowToUse-rewrite"&gt;
&lt;h3&gt;mod_rewriteを使う&lt;/h3&gt;
&lt;p&gt;既存のHTMLを書き換えずに導入することが出来ます。&lt;/p&gt;
&lt;p&gt;以下のようにCSSを読み込んでいる場合は、&lt;/p&gt;
&lt;pre class="brush: html"&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/css/import.css&amp;quot;&amp;gt;
&lt;/pre&gt;
&lt;p&gt;/css/ディレクトリに、&lt;code&gt;CSS_DynamicCompressor.php&lt;/code&gt;・&lt;code&gt;css.php&lt;/code&gt;・&lt;code&gt;.htaccess&lt;/code&gt;をコピーすればOKです。&lt;/p&gt;
&lt;p&gt;動かない場合は、.htaccessやmod_rewriteが使えない可能性があります。&lt;/p&gt;
&lt;/section&gt;
&lt;section id="dcHowToUse-ext"&gt;
&lt;h3&gt;拡張子.cssでPHPを実行する&lt;/h3&gt;
&lt;p&gt;mod_rewrite同様、既存のHTMLを書き換える必要はありませんが、若干作業が増えます。&lt;/p&gt;
&lt;p&gt;設定方法はサーバーによって異なるので、不明な場合はサーバー管理者に問い合わせて下さい。&lt;/p&gt;
&lt;pre class="brush: shell"&gt;
# .cssでPHPを実行する設定の一例
AddHandler application/x-httpd-php .php .css
&lt;/pre&gt;
&lt;p&gt;以下のようにCSSを読み込んでいる場合は、&lt;/p&gt;
&lt;pre class="brush: html"&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/css/import.css&amp;quot;&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;import.css&lt;/code&gt;を&lt;code&gt;_import.css&lt;/code&gt;など適当にリネーム。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;CSS_DynamicCompressor.php&lt;/code&gt;・&lt;code&gt;css.php&lt;/code&gt;を/css/ディレクトリにコピーして、&lt;code&gt;css.php&lt;/code&gt;の以下の部分を編集して下さい。&lt;/p&gt;
&lt;pre class="brush: php"&gt;
//-&gt;setTarget('import.css')
↓
-&gt;setTarget('_import.css')
&lt;/pre&gt;
&lt;p&gt;編集した後、&lt;code&gt;css.php&lt;/code&gt;を&lt;code&gt;import.css&lt;/code&gt;にリネームすればOKです。&lt;/p&gt;
&lt;/section&gt;
&lt;section id="dcHowToUse-phpload"&gt;
&lt;h3&gt;link要素で直接PHPを読み込む&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;CSS_DynamicCompressor.php&lt;/code&gt;・&lt;code&gt;css.php&lt;/code&gt;を/css/ディレクトリにコピーして、link要素で&lt;code&gt;css.php&lt;/code&gt;を読み込むだけ。&lt;/p&gt;
&lt;pre class="brush: html"&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/css/css.php&amp;quot;&amp;gt;
&lt;/pre&gt;
&lt;/section&gt;
&lt;section id="dcHowToUse-static"&gt;
&lt;h3&gt;キャッシュファイルをそのまま読み込む&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;CSS_DynamicCompressor.php&lt;/code&gt;・&lt;code&gt;css.php&lt;/code&gt;を/css/ディレクトリにコピーしてブラウザから/css/css.phpにアクセスして書き出されるファイルをlink要素で普通に読み込む。&lt;/p&gt;
&lt;pre class="brush: html"&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/css/_cache.css&amp;quot;&amp;gt;
&lt;/pre&gt;
&lt;p&gt;書き出されるキャッシュファイルの名前を変更したい場合は&lt;code&gt;css.php&lt;/code&gt;を編集。&lt;/p&gt;
&lt;pre class="brush: php"&gt;
//-&gt;setCache('_cahce.css')
↓
-&gt;setCache('hoge.css')
&lt;/pre&gt;
&lt;p&gt;この方法のメリットは、PHP5が動けばほぼ確実に使えること、静的ファイルなので若干軽いと言うことですが、キャッシュ関連のHTTPヘッダーやgzip圧縮などは、サーバーの設定に依存します。&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="dcConfig"&gt;
&lt;h2&gt;各種設定&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;CSS_DynamicCompressor::getInstance()&lt;/code&gt;でインスタンスを取得して、メソッドチェーンで設定を記述する事が出来ます。&lt;code&gt;-&gt;setHoge('fuga')&lt;/code&gt;みたいな感じですね。&lt;/p&gt;
&lt;p&gt;設定のひな形は&lt;code&gt;css.php&lt;/code&gt;に記述してありますので、参考にしながら色々試してみて下さい。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;メソッド&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;初期値&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;setCharset&lt;/td&gt;
&lt;td&gt;文字コードを指定&lt;/td&gt;
&lt;td&gt;UTF-8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;setTarget&lt;/td&gt;
&lt;td&gt;@importしているファイルの名前を指定&lt;/td&gt;
&lt;td&gt;import.css&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;setCache&lt;/td&gt;
&lt;td&gt;キャッシュファイルの名前を指定&lt;/td&gt;
&lt;td&gt;_cache.css&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;setExpireDay&lt;/td&gt;
&lt;td&gt;Expiresヘッダーに付与する日数(X日後)&lt;/td&gt;
&lt;td&gt;30日後&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;setDirectory&lt;/td&gt;
&lt;td&gt;CSSファイルが置かれているディレクトリをフルパスで指定&lt;/td&gt;
&lt;td&gt;カレントのワーキングディレクトリ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;setCSSFiles&lt;/td&gt;
&lt;td&gt;CSSファイルの名前を配列で指定&lt;br /&gt;指定した場合@importの自動読み込みは行われません&lt;/td&gt;
&lt;td&gt;空&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;setBaseUrl&lt;/td&gt;
&lt;td&gt;File listのベースURL&lt;br /&gt;空の場合[File list]は表示されません&lt;/td&gt;
&lt;td&gt;空&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;圧縮のみ実行したい場合は&lt;code&gt;-&gt;compression();&lt;/code&gt;を、圧縮から表示までを一括で実行したい場合は&lt;code&gt;-&gt;display();&lt;/code&gt;を最後に呼んで下さい。&lt;/p&gt;
&lt;/section&gt;
&lt;section id="dcNote"&gt;
&lt;h2&gt;注意点&lt;/h2&gt;
&lt;p&gt;PHPにファイルの書き込み権限が無い場合、キャッシュファイルが書き出されません。その場合は、ディレクトリのパーミッションを変更したり、キャッシュファイルを予め作成してパーミッションを変更しておくなどの対策を行ってください。&lt;/p&gt;
&lt;p class="note"&gt;※キャッシュが無い場合、毎回圧縮処理を行うのでちょっと重たいです。&lt;/p&gt;
&lt;/section&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rewish?a=3h68KTknfb4:z19kG82t-xg:spdCosxkSQE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=spdCosxkSQE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=3h68KTknfb4:z19kG82t-xg:OAQBO0PjnPA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=OAQBO0PjnPA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rewish?a=3h68KTknfb4:z19kG82t-xg:fqmcRPSHgvs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rewish?d=fqmcRPSHgvs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://rewish.org/php_mysql/css_dynamic_compressor#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://rewish.org/php_mysql/css_dynamic_compressor/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	</entry>
	</feed>

