<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ANOWORL Portfolio</title>
	<atom:link href="http://portfolio.anoworl.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://portfolio.anoworl.net</link>
	<description>やってたこととか。</description>
	<lastBuildDate>Sat, 07 Aug 2010 05:01:08 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>フォロワーの行方不明事件</title>
		<link>http://portfolio.anoworl.net/follower-yukuehumei/</link>
		<comments>http://portfolio.anoworl.net/follower-yukuehumei/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 05:01:08 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[やっていること]]></category>
		<category><![CDATA[ウェブサービス]]></category>

		<guid isPermaLink="false">http://portfolio.anoworl.net/?p=242</guid>
		<description><![CDATA[行方不明のフォロワーを探索します。
]]></description>
			<content:encoded><![CDATA[<p>行方不明のフォロワーを探索します。</p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/follower-yukuehumei/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projects Twitter</title>
		<link>http://portfolio.anoworl.net/projects-twitter/</link>
		<comments>http://portfolio.anoworl.net/projects-twitter/#comments</comments>
		<pubDate>Mon, 03 May 2010 02:57:13 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[やってたこと]]></category>
		<category><![CDATA[ウェブサービス]]></category>

		<guid isPermaLink="false">http://portfolio.anoworl.net/?p=229</guid>
		<description><![CDATA[概要
Twitterで個人的なProjectsを管理するためのツール。Twitterのツイートに特定文字列が含まれているものを抽出してそれらを表示する。
下記のように登録をすると、

以下のように表示される。ハッシュタグ [...]]]></description>
			<content:encoded><![CDATA[<h3>概要</h3>
<p>Twitterで個人的なProjectsを管理するためのツール。Twitterのツイートに特定文字列が含まれているものを抽出してそれらを表示する。</p>
<p>下記のように登録をすると、</p>
<p><img class="alignnone size-full wp-image-234" title="twitter-projects1" src="http://portfolio.anoworl.net/wp-content/uploads/twitter-projects1.png" alt="" width="679" height="174" /></p>
<p>以下のように表示される。ハッシュタグだけでなく一般的な文字列（おはようなど）も登録可能。</p>
<p><img class="alignnone size-full wp-image-233" title="twitter-projects2" src="http://portfolio.anoworl.net/wp-content/uploads/twitter-projects2.png" alt="" width="496" height="777" /></p>
<p><a href="http://projects.kiseki.info/">URL</a></p>
<p><a href="http://projects.kiseki.info/anoworl">サンプルページ</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/projects-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>アイデアを共有するウェブサービス</title>
		<link>http://portfolio.anoworl.net/idea-river/</link>
		<comments>http://portfolio.anoworl.net/idea-river/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 18:00:33 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[サスペンド]]></category>
		<category><![CDATA[ウェブサービス]]></category>

		<guid isPermaLink="false">http://portfolio.anoworl.net/?p=179</guid>
		<description><![CDATA[概要
自分が好きになれる創造物をもっと味わいたい、との思いから作り始めたウェブサービス。創造物はアイデアとそれを実現するリソース（ヒト、モノ、カネ、情報など）の両方が充足されることにより、初めて創造されると考えた。そこで [...]]]></description>
			<content:encoded><![CDATA[<h3>概要</h3>
<p>自分が好きになれる創造物をもっと味わいたい、との思いから作り始めたウェブサービス。創造物はアイデアとそれを実現するリソース（ヒト、モノ、カネ、情報など）の両方が充足されることにより、初めて創造されると考えた。そこでアイデアの共有を促すことによりその二つを充足させ、世界の創造物増加を目論んだプロジェクト。</p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/idea-river/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>アウトラインプロセッサー</title>
		<link>http://portfolio.anoworl.net/outliner/</link>
		<comments>http://portfolio.anoworl.net/outliner/#comments</comments>
		<pubDate>Sun, 31 May 2009 15:00:02 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[サスペンド]]></category>
		<category><![CDATA[ウェブサービス]]></category>

		<guid isPermaLink="false">http://www.anoworl.net/?p=101</guid>
		<description><![CDATA[概要
これから大きな可能性を持つと思われるGoogle App Engineを使った習作である。Google App Engine（クラウドサービス）、Python、Django（Webアプリケーションフレームワーク）、 [...]]]></description>
			<content:encoded><![CDATA[<h4>概要</h4>
<p>これから大きな可能性を持つと思われるGoogle App Engineを使った習作である。Google App Engine（クラウドサービス）、Python、Django（Webアプリケーションフレームワーク）、Ext JS（RIAの為のJavaScriptライブラリ）を使用して作成している。制作途中である。</p>
<p>いつも使っているビレッジセンター（現<a href="http://www.wzsoft.jp/">WZソフトウェア</a>）のWZ BOARDというアウトラインプロセッサー（下図）を、インターネット経由で使えたら嬉しいなと思い作成している。</p>
<p><img class="alignnone size-full wp-image-102" title="outliner_source" src="http://portfolio.anoworl.net/wp-content/uploads/outliner_source.gif" alt="outliner_source" width="626" height="533" /></p>
<h4>なぜGoogle App Engineか</h4>
<p>自分でサーバを運用したり、大規模サービスを運用する際のサーバ構成に関わる本などを読んだ。それにより、大規模サービスにおけるサーバ管理という物が、非常にややこしくて、かつ面倒臭いということが分かった。それだけならまだ良いかもしれないが、そこまでやってサービスが上手く動かないリスクも多分にあるのだ。</p>
<p>そこで、私はGoogle App Engine（以下GAEと略す）について勉強し始めた。GAEはRDBではなくBigtableを使うなど、プログラミング上の制限がある。GAEには性質というものがあり、データベースについても、プログラムについても、その特性を理解した上で行わなければ有効に活用できない。しかし、自動的にスケールするというのは非常に魅力的である。小さく作り、スケールアップの技術的なトラブルに悩まされず大きく育てるサービスが可能になるということである。その利点にとても惹かれ勉強を進めた。</p>
<h4>創造物</h4>
<h5>全体説明</h5>
<p>GAE上でのデータベースの扱い方、Djangoによるアカウント認証、ルーティングの仕方など、ライブラリの使い方を学んだ。下図は実際にGAEのSDKで稼働している画面だが、保存などは出来ない。</p>
<p><img class="alignnone size-large wp-image-103" title="outliner_main" src="http://portfolio.anoworl.net/wp-content/uploads/outliner_main-690x606.gif" alt="outliner_main" width="690" height="606" /></p>
<h4>感想</h4>
<p>これまで私はMySQLなどといったRDBを使ってきたが、それとは全く勝手が違うので最初戸惑った。これを通じてGAEを使う際にはどんな事に注意すればいいのか少し分かった。</p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/outliner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ソーシャルブックマークでのタグによるリコメンドとその検証方法</title>
		<link>http://portfolio.anoworl.net/recommend-and-evidence-for-sbm/</link>
		<comments>http://portfolio.anoworl.net/recommend-and-evidence-for-sbm/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 15:00:46 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[やってたこと]]></category>
		<category><![CDATA[詳細有]]></category>
		<category><![CDATA[ウェブサービス]]></category>

		<guid isPermaLink="false">http://portfolio.anoworl.net/?p=167</guid>
		<description><![CDATA[概要

ソーシャルブックマークのレコメンドシステム作成のまねごとと、レコメンドシステム検証方法の考察を行った。以下はレポートである。誇張が入り交じってるがご容赦いただけると幸い。

はじめに
近年、ソーシャルブックマーク [...]]]></description>
			<content:encoded><![CDATA[<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">概要<br />
</span></div>
<div>ソーシャルブックマークのレコメンドシステム作成のまねごとと、レコメンドシステム検証方法の考察を行った。以下はレポートである。誇張が入り交じってるがご容赦いただけると幸い。</div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">はじめに</span></div>
<div>近年、ソーシャルブックマークの利用者が増えている。それに伴い公開されているブックマークのデータも増え、集合知を活用出来る環境が整っている。</div>
<div>その一つの方法としてはレコメンドシステムが挙げられる。しかし現状のレコメンドシステムは、利用者が満足できるほどの性能を持ち合わせていないように思える。</div>
<div>そこで、ソーシャルブックマークにおける新たなリコメンド手法を提案すると共に、その評価を行いたい。</div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">環境と問題設定</span></div>
<div>Windows XP SP3にインストールしたVMWare Player上のDebian etchを開発環境とした。そして、Railsフレームワークを使い開発を行った。</div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">扱うデータと前準備</span></div>
<div>ここではlivedoorから提供されている<a href="http://labs.edge.jp/datasets/">研究用データセット</a>を使用する。これは<a href="http://labs.edge.jp/datasets/">livedoor クリップ</a>というソーシャルブックマークの実データをCSV形式で纏めた物である。今回はこれをMySQLデータベースに格納して処理を行った。</div>
<div>格納したデータはまず扱いやすくするため、下図のように正規化及びメタデータの付加を行った。</div>
<div><img class="alignnone size-full wp-image-204" title="sbm-rec_norm" src="http://portfolio.anoworl.net/wp-content/uploads/sbm-rec_norm.gif" alt="sbm-rec_norm" width="567" height="338" /></div>
<div></div>
<div style="margin: 0em 0em 0em 1.14em;"><span style="font-size: 1.14em; font-family: ＤＦ特太ゴシック体;">処理時間短縮</span></div>
<div>まず始めに、何回もクエリに使われるカラムにインデックスを張った。このとき、出来るだけUNIQUEを使うことにより処理速度を向上した。</div>
<div>しかし、200万以上のブックマークデータそれぞれに対して、SELECTを2 + タグの価数回、INSERTもしくはUPDATEを3 + タグの個数 * 2回行うので処理量が膨大になってしまい、1日以上変換にかかってしまった。</div>
<div>処理時間を短縮できる鍵は無いかと探していたところ、どうやらディスクIOに時間がかかっているようだった。よってClipsテーブルを MEMORYテーブルにしようとしたが、固定長のレコードフォーマットしか使用出来ないためメモリに入りきらなかった。そこで、VSuite Ramdiskというソフトを使いメモリ上にディスクを構築し、そこに全てのテーブルデータを移行した。そして更に、このシステムにおけるテーブルは基本 的に更新されない、つまりトランザクション処理を行う必要がないので、ストレージエンジンをInnnoDBからMyISAMに変更した。また、MySQL のメモリに関する設定を弄り、チューニングを行った。こうして処理を行ったところ、処理時間を半分ほどにまで縮めることが出来た。</div>
<div>しかしそれでも遅いので、全てのブックマークについて変換することはやめ、これから行うレコメンド処理の特性を使い時間の短縮を図ることにし た。今回のレコメンドでは、利用者が事前にリコメンドして欲しいタグを指定する。よって、事前にレコメンド処理に必要とされる利用者をタグから割り出し、 その利用者のみについてテーブルの変換を行うことにした。これにより大幅に処理時間を短縮することが出来た。最終的に処理時間は当初の四分の一以下、六時 間まで縮まった。</div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">レコメンドシステム評価方法</span></div>
<div>定量的なレコメンドシステムの評価方法について考えた。ここではレコメンドシステムを、所謂バックテスト方式によって評価したい。</div>
<div>各人のブックマークを時系列にプロットすると以下のようになる。</div>
<div><a href="http://portfolio.anoworl.net/wp-content/uploads/sbm-rec_evidence.gif"><img class="alignnone size-full wp-image-205" title="sbm-rec_evidence" src="http://portfolio.anoworl.net/wp-content/uploads/sbm-rec_evidence.gif" alt="sbm-rec_evidence" width="567" height="148" /></a></div>
<div>ここである一つのタイムポイントを取り、そこを境に過去の情報と未来の情報に分ける。ここで、Aに対してのレコメンドを評価したいとすると、 まず過去の情報からAにレコメンドするブックマークを生成する。そして、Aの未来のブックマークに、レコメンドしたブックマークがいくつ含まれているかが レコメンドシステムの評価となる。つまり、利用者がこの先ブックマークするブックマークをレコメンドすることが出来るとき、そのレコメンドシステムは優れ ているとする。</div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">レコメンド方法</span></div>
<div>自分と各人において、各々のタグと使用頻度における相関を取り、相関が高い人を抽出する。その人と自分がよく使っているタグの中で、同じブッ クマークがよくあるタグを探す。そのタグで自分がブックマークしていないが、その人がブックマークしているブックマークをレコメンドすることにしたが、処 理に時間がかかってしまい実用的とは言えなかった。<a href="http://labs.edge.jp/cicindela/">livedoorで使われているレコメンドシステム</a>では、処理をバッチで行っていたので、リアルタイムで処理を行うというのは元から諦めた方が良いのかもしれない。それにしても時間がかかりすぎるので、次の様に処理を変更した。</div>
<div>自分が登録しているあるタグについてのレコメンドを受けたいとする。そのとき、各人のそのタグにブックマークされているサイトと、自分がその タグにてブックマークしているサイトを比較して一致度を調べる。一致度が高い人がブックマークしているサイトで、自分がブックマークしていないサイトをリ コメンドする。ここの実験ではそのタグを「イラスト」とした。</div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">タグ名の表記揺れなどの修正</span></div>
<div>通常タグは各個人ごとに付けられる。タグ名も然り。よって、同じ分類を意図したタグでも、表記揺れなどによってタグ名が異なる場合が出てくる。このシステムではその修正を図った。</div>
<div>しかし、適切なシソーラスが見つからなかった。よって、「イラスト」の類義語として「絵」、「illust」、 「illustration」、「picture」を採用し、下位語として「漫画」、「マンガ」、「まんが」「comic」、「同人」、「dojin」、 「doujin」を採用した。ここでの、類義語、下位語は一律して「イラスト」と同じ語として扱う。</div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">グラフの作成</span></div>
<div>当初<a href="http://www.graphviz.org/">Graphviz</a>を使う予定だったが、もっとインタラクティブなグラフを作成したかったので<a href="http://www.creativesynthesis.net/blog/projects/graph-gear/">Graph Gear</a>（無 向グラフをFlashで表示出来るライブラリ）を使用してグラフを表示した。しかし、これはグラフを放射状にしか表示出来なかったので、非常に見にくく なってしまった。よって、Graphvizを使い再度グラフを作成した。全てを楕円で表示したときは分かりにくかったが、色を付けたりすることによって分かりやすくなった。以下は指定したユーザへのイラストタグに限定したリコメンドである。UIDと書いてあるノードはユーザ、そこからリンクされているノードはタグ、そしてタグからリンクされている数字のノードはURLである。以下の場合、赤いノードはUID:1のみ、青いノードはUID:5344のみ、紫のノードは両方のユーザが登録しているURLを表す。この場合はUID:1に青いノードがレコ面倒される。</div>
<div><a href="http://portfolio.anoworl.net/wp-content/uploads/sbm-recom_main.gif"><img class="alignnone size-large wp-image-208" title="sbm-recom_main" src="http://portfolio.anoworl.net/wp-content/uploads/sbm-recom_main-690x298.gif" alt="sbm-recom_main" width="690" height="298" /></a></div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">Railsとの連携 </span></div>
<div><a href="http://nb.inode.co.nz/articles/graphviz_on_rails/index.html">Graphviz on Rails</a>を参考にしてRailsへのグラフ実装を行った。user_idとタグ（現在は決めうち）を入力することにより、リコメンド結果とリコメンド結果をグラフ表示したものが返ってくるように設定した。</div>
<div></div>
<div><span style="font-size: 1.33em; font-family: ＤＨＰ特太ゴシック体;">おわりに</span></div>
<div>こうして作成したが、タグを限定してレコメンドするとユーザ同士の重複するブックマークが少なくなってしまい、適切にレコメンドが行えなかった。</div>
<div>また検証方法だが、URLが指す実体というのは不変ではない。URL先のページが削除され、以後ブックマークされないといった事態が存在するとご指摘を頂いた。ある時点でのページの有無も考慮に入れたバックテストを行うことも必要だと考えた。</div>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/recommend-and-evidence-for-sbm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhoneゲームチーム開発</title>
		<link>http://portfolio.anoworl.net/controller/</link>
		<comments>http://portfolio.anoworl.net/controller/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 15:00:56 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[やっていること]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.anoworl.net/?p=148</guid>
		<description><![CDATA[概要
フレームワークを主に使ったiPhoneゲーム開発。三人でチームを組んで開発し、主にプログラミングを担当した。
iPhone Appsに提出後レビュー中。




]]></description>
			<content:encoded><![CDATA[<h3>概要</h3>
<p>フレームワークを主に使ったiPhoneゲーム開発。三人でチームを組んで開発し、主にプログラミングを担当した。</p>
<p>iPhone Appsに提出後レビュー中。</p>
<h3><img class="alignnone size-full wp-image-224" title="iphone0" src="http://portfolio.anoworl.net/wp-content/uploads/iphone0.gif" alt="" width="320" height="480" /></h3>
<p><img class="alignnone size-full wp-image-219" title="iphone1" src="http://portfolio.anoworl.net/wp-content/uploads/iphone1.gif" alt="" width="320" height="480" /></p>
<p><img class="alignnone size-full wp-image-218" title="iphone2" src="http://portfolio.anoworl.net/wp-content/uploads/iphone2.gif" alt="" width="320" height="480" /></p>
<p><img class="alignnone size-full wp-image-217" title="iphone3" src="http://portfolio.anoworl.net/wp-content/uploads/iphone3.gif" alt="" width="320" height="480" /></p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ジンセイ</title>
		<link>http://portfolio.anoworl.net/life/</link>
		<comments>http://portfolio.anoworl.net/life/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 15:00:34 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[やってたこと]]></category>
		<category><![CDATA[インタラクティブアート]]></category>

		<guid isPermaLink="false">http://www.anoworl.net/?p=76</guid>
		<description><![CDATA[概要
フルカラーLED、三軸加速度センサ、自作の振動モジュール、Pri/Pro、Processingを使用して、四日間のインタラクティブアートワークショップにて制作したインタラクティブアートである。


]]></description>
			<content:encoded><![CDATA[<h3>概要</h3>
<p>フルカラーLED、三軸加速度センサ、自作の振動モジュール、Pri/Pro、Processingを使用して、四日間のインタラクティブアートワークショップにて制作したインタラクティブアートである。</p>
<p><img class="alignnone size-large wp-image-81" title="jinsei_main" src="http://portfolio.anoworl.net/wp-content/uploads/jinsei_main-690x517.jpg" alt="jinsei_main" width="690" height="517" /></p>
<p><img class="alignnone size-large wp-image-82" title="jinsei_inside" src="http://portfolio.anoworl.net/wp-content/uploads/jinsei_inside-690x517.jpg" alt="jinsei_inside" width="690" height="517" /></p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>読書記録ウェブサービス</title>
		<link>http://portfolio.anoworl.net/reading-record-web-service/</link>
		<comments>http://portfolio.anoworl.net/reading-record-web-service/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 15:00:09 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[やってたこと]]></category>
		<category><![CDATA[詳細有]]></category>
		<category><![CDATA[ウェブサービス]]></category>

		<guid isPermaLink="false">http://www.anoworl.net/?p=40</guid>
		<description><![CDATA[概要
理想的な書籍管理システムが欲しいため、また前々から考えていた、汎用性がある理想的なデータブラウザを実現するため作成した。

データブラウザについては下図が当初想定していた画面である。しかし、データ詳細部分の設計が間 [...]]]></description>
			<content:encoded><![CDATA[<h3>概要</h3>
<p>理想的な書籍管理システムが欲しいため、また前々から考えていた、汎用性がある理想的なデータブラウザを実現するため作成した。</p>
<p><span id="more-40"></span></p>
<p>データブラウザについては下図が当初想定していた画面である。しかし、データ詳細部分の設計が間に合わなかったので、このアプリケーションでは実装されていない。</p>
<p><img class="alignnone size-full wp-image-44" title="book_browser" src="http://portfolio.anoworl.net/wp-content/uploads/book_browser.gif" alt="book_browser" width="549" height="366" /></p>
<p>XHTML、PHP、symfony（Webアプリケーションフレームワーク）、Ext JS（RIAの為のJavaScriptライブラリ）を使用して作成した。</p>
<h3>背景</h3>
<p>本棚というテーマは私が非常に興味を持っていたので採用した。日頃、知識を得る上で書籍は私にとって不可欠な物だった。しかし、その運用には問題があった。ある事柄を復習しようとするとき、それについてどの書籍を読んだのか忘れてしまうのだ。また、書籍に関するメモを散乱させてしまい、復習に必要以上に時間がかかってしまっていた。<a href="http://mediamarker.net/">メディアマーカー</a>や<a href="http://booklog.jp/">ブクログ</a>、<a href="http://book.akahoshitakuya.com/">読書メーター</a>などのウェブサービスはあったが、私にとって使いにくく、また書籍の特定ページに結びつけたメモを取ると言うことが難しかった。よってこのウェブサービスを作成した。</p>
<h3>創造物</h3>
<p><img class="alignnone size-large wp-image-51" title="book_main" src="http://portfolio.anoworl.net/wp-content/uploads/book_main-690x528.png" alt="book_main" width="690" height="528" /></p>
<h4>全体説明</h4>
<p>前述したデータブラウザの設計に則って作成した。このウェブサービスでは、書籍に状態（読了、読書中など）、場所、タグ、レートを付けることが可能である。タグはもちろん、状態と場所についてはユーザが任意に追加することが出来る。</p>
<p>左上のフォルダツリーで状態と場所を、左下のタグクラウドでタグを選択し、特定のデータのみを右側のデータ一覧に表示させることが出来る。データ一覧の上部にあるSearchを使い、キーワードで絞り込むことも可能である。</p>
<h4>書籍の登録</h4>
<p>少し面白い案があったので、それを採用し実装した。書籍の登録には、左上にあるAdd New Booksを押して出てきたウィンドウを使用する。その名の通り、複数の本を同時に追加出来る。</p>
<p>方法としては、まずキーワードで本を検索し（複数回可能）、表示された本の中から追加したい本の一番右にあるボタンを押していく。</p>
<p><img class="alignnone size-large wp-image-53" title="book_search" src="http://portfolio.anoworl.net/wp-content/uploads/book_search-690x528.png" alt="book_search" width="690" height="528" /></p>
<p>追加したい本全てについて行ったら、ウィンドウのAdd Booksというタブを選択する。ここには先ほどボタンを押した本が登録されている。ここでレーティング、場所、状態、タグを入力する。タブキーを押せば次の項目に移動するので、キーボードから手を離さずに全ての入力作業が行える。そして、全て入力し終わったら登録ボタンを押す。</p>
<p><img class="alignnone size-large wp-image-55" title="book_add" src="http://portfolio.anoworl.net/wp-content/uploads/book_add1-690x528.png" alt="book_add" width="690" height="528" /></p>
<p>スピーディーな登録作業が行えるようにしたつもりだ。しかし、書籍の検索についてはタイトルや著者名で絞り込んだり、ソートを実装したかったが間に合わなかった。</p>
<h4>メモの登録</h4>
<p>本のタイトルを押すとページ数とそれに関するメモを入力する画面が表示される。しかし悲しいことに未実装である。</p>
<p><img class="alignnone size-large wp-image-56" title="book_memo" src="http://portfolio.anoworl.net/wp-content/uploads/book_memo-690x528.png" alt="book_memo" width="690" height="528" /></p>
<h4>感想</h4>
<p>登録書籍一覧で本のサムネイルを表示させたりもしたかったが、時間が間に合わず断念した。今度は二週間ではなく、長期休みのようにもっと長い期間で、もっと一日あたりの時間をとって計画的に作成してみたいと思った。</p>
<p>今回、汎用的なデータブラウザということを念頭に置いて作ったが、状態や読書など書籍に特有な仕様を作ってしまった。しかし、これが悪いとも限らない。様々なデータを扱う上で、何処を特化するか、そして何処を汎用化するか。目的を忘れずにこれからも突き詰めていきたい。</p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/reading-record-web-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>２ちゃんねるではてなスター&amp;パーマリンク</title>
		<link>http://portfolio.anoworl.net/2ch-hatena-star-permalin/</link>
		<comments>http://portfolio.anoworl.net/2ch-hatena-star-permalin/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 15:00:50 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[やってたこと]]></category>
		<category><![CDATA[ウェブサービス]]></category>

		<guid isPermaLink="false">http://www.anoworl.net/?p=147</guid>
		<description><![CDATA[はてなハイクにぽちぽちはてなスターを付けてて思った。２ちゃんねるの書き込みにはてなスターを付けたら面白いのではないだろうか。そしてぽちぽち作った。
ま ず、はてなスターの設置にはPermalinkが必要である。だが、２ち [...]]]></description>
			<content:encoded><![CDATA[<p>はてなハイクにぽちぽちはてなスターを付けてて思った。２ちゃんねるの書き込みにはてなスターを付けたら面白いのではないだろうか。そしてぽちぽち作った。</p>
<p>ま ず、はてなスターの設置にはPermalinkが必要である。だが、２ちゃんねるは板の置いてあるサーバが変わってしまうと、レスのアドレスが変わってし まう。よって、２ちゃんねるのアドレスをそのまま使うことは出来ない。恐らくは一意のアドレスを与えればなんだって良いのだろうが（追記：良くなかった。 はてなスター&gt;Starsのリンクが正常に作動しなくなっしまう。）、気持ち悪いので『<a href="http://pl2ch.kiseki.info/" target="_blank">Permalink（パーマリンク） for ２ちゃんねる</a>』なる物を作る。</p>
<p><a href="http://portfolio.anoworl.net/wp-content/uploads/2chstar-pl_pl.gif"><img class="alignnone size-large wp-image-161" title="2chstar-pl_pl" src="http://portfolio.anoworl.net/wp-content/uploads/2chstar-pl_pl-690x371.gif" alt="2chstar-pl_pl" width="690" height="371" /></a></p>
<p>そして、次にはてなスターをどうやって設置するか。まず、IEコンポーネントを使っているメジャーなブラウザ、twintailに設置を試みたが失敗。次にGreasemonkeyを考えたけど、JavaScriptの経験が乏しいのでやめ。結局、やりやすそうな『<a href="http://akid.s17.xrea.com/" target="_blank">p2 &#8211; PHPでつくった2ch Viewer</a>』を改造してはてなスターを表示。</p>
<p>サンプル：<a href="http://p2.kiseki.info/" target="_blank">rep2</a>（ID, PASS共にanonymous）</p>
<p><a href="http://portfolio.anoworl.net/wp-content/uploads/2chstar-pl_star.gif"><img class="alignnone size-large wp-image-162" title="2chstar-pl_star" src="http://portfolio.anoworl.net/wp-content/uploads/2chstar-pl_star-690x392.gif" alt="2chstar-pl_star" width="690" height="392" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/2ch-hatena-star-permalin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projects</title>
		<link>http://portfolio.anoworl.net/projects/</link>
		<comments>http://portfolio.anoworl.net/projects/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 15:00:23 +0000</pubDate>
		<dc:creator>anoworl</dc:creator>
				<category><![CDATA[やってたこと]]></category>
		<category><![CDATA[ウェブサービス]]></category>

		<guid isPermaLink="false">http://www.anoworl.net/?p=88</guid>
		<description><![CDATA[概要
RubyとRuby on Rails（Webアプリケーションフレームワーク）を使い二週間で作成したウェブサービスである。これを通してWebアプリケーションフレームワークの力に私は目覚めた。
このサービスは個々人の「 [...]]]></description>
			<content:encoded><![CDATA[<h4>概要</h4>
<p>RubyとRuby on Rails（Webアプリケーションフレームワーク）を使い二週間で作成したウェブサービスである。これを通してWebアプリケーションフレームワークの力に私は目覚めた。</p>
<p>このサービスは個々人の「プロジェクト」を管理するサービスである。ここで言うプロジェクトとは、個々人が自分の時間を費やし達成を目論んでいる目的である。目的のサイズは問わない。</p>
<p>なぜ、プロジェクトを管理するサービスを作成したかというと、個々人が進めるプロジェクトにはその人が色濃く反映されると思ったからだ。プロフィールというものがインターネット上には存在するが、それの代替になり得るのではないかと考えた。また、日々継続してやらなければ達成出来ない目的のために、日々の進捗を記録して達成を支援するために作成した。</p>
<h3><img class="alignnone size-full wp-image-95" title="projects_main" src="http://portfolio.anoworl.net/wp-content/uploads/projects_main.png" alt="projects_main" width="425" height="244" /></h3>
<h3><img class="alignnone size-full wp-image-96" title="projects_project" src="http://portfolio.anoworl.net/wp-content/uploads/projects_project.png" alt="projects_project" width="425" height="369" /></h3>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.anoworl.net/projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

