« September 2008 | Main | November 2008 »

2008.10.27

Yahoo! Pipesの地図出力をYahoo! Japanの地図で表示させる

Yahoo! Pipesの地図表示が「面白いけど使えない」という話を何度か書いたことがある。どれぐらい使えないかというと、Art Beat APIで新宿駅周辺1500mを表示させたときの表示が、こんな感じで、ズームすると「Sorry」と表示されてしまう。

Pipes1

で、他の地図のAPIに渡せば、それなりの表示をしてくれるんじゃないかと、こんなのを作ってみた。

PipesY!Map

(注:Lacoocanを解約する予定ですので、ソースのみGitHubで見ることができるようにしました。http://gist.github.com/44722

Pipesymap1

Yahoo! Pipesを使ったことのある人ならわかると思うが、URLからid=....の部分をコピペするとPipesのgeorssをマッピングする。残念ながら表示位置の調整は手動で、何もしないと新宿中心である。

「ソースを見る」で表示するとHTMLとJavaScriptを合わせて25行しかないが、ちょっと苦労したのでメモしておく。自分で作ってみたい人はどうぞ。

Yahoo! 地図によるgeorss表示

元々はGoogle Maps APIで作ろうと思っていた。Yahoo!のバックエンドをGoogleでフロントエンドするなんて素敵だなぁ、と思いながらGoogle Maps APIのgxmlのXMLから緯度経度を抜き出して表示するサンプルなどを見ていたが、肝心のRSSからgeocodeを抜き出す方法がよくわからない。

で、検索してるとYahoo!地図では、なんと1行でgeorssを読み込み、マーカーや吹き出しまで表示してくれるのだとか。

GeoRSSを表示してみよう! - 地図スタッフブログ - Yahoo!ブログ
はてなユーザーの評価  livedoorユーザーの評価 

乱立するgeorss

早速、PipesのRSSを読み込ませてみたが、案の定、そのままでは読み込んでくれないらしい。Pipesが出力するgeocodeは、こんな感じである。

<geo:long>139.69826169864</geo:long>
<geo:lat>35.693038126664</geo:lat>

一方、Yahoo!地図のサンプルで読み込ませているワイワイマップは、こんなに冗長である。

<ygeorss:point>139.701495 35.68979694</ygeorss:point>
<geo:Point><geo:long>139.69826169864</geo:long>
<geo:lat>35.693038126664</geo:lat></geo:Point>
<georss:point>35.693038126664 139.69826169864</georss:point>

何事か!ということはヘッダに書いてある。

<rss version="2.0"
xmlns:georss="http://www.georss.org/georss" 
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" 
xmlns:ygeorss="http://map.yahoo.co.jp/ygeorss" xmlns:media="http://search.yahoo.com/mrss">

結局、PipesのRSSを読み込んでgeocodeの部分だけを書き換えるプロキシを書いて、その返り値をYahoo!地図に渡したら動いた。

それ以外は工夫してないのだけど、コードを書くこと自体が久しぶりなので構想から随分とかかってしまった。追加機能とか、そのうちに。

--

Rubyレシピブック 第2版 268の技
Rubyレシピブック 第2版 268の技 まつもとゆきひろ

おすすめ平均
starsプログラム言語一つにつきレシピ本は持っておくべき。
stars「Rubyでやりたい」のならとりあえず読んでみて

Amazonで詳しく見る
by G-Tools

| | Comments (0) | TrackBack (0)

2008.10.23

innovatorを胸に

普段、あまり服を買うことに積極的ではないのだが、手持ちの服の色の組み合わせとか選択肢が随分と少なくなっていることに気付いて、ネットで服を買ってみようかと思った。

ちなみにユニクロで靴下と肌着を大量購入、というのはやったことあるが、人に見えない部分の買い物である。人から見える部分の買い物となると、それほどこだわりがないといえ、ちょっと不安だったりする。

ネットでTシャツを売っているサイトは、それこそドロップシッピングなども含め数多くあるが、幼稚なジョークをTシャツ全面にプリントしているようなのが多く、とてもじゃないが着る気は起きない。ユニクロのTシャツは洗練されてるが、それでも「デザインが主張し過ぎじゃない?」と思ってしまう。こだわりがない割に、文句は多いのである。

で、CollectiveStore

いわゆる企業コラボのTシャツが多いが、素材の色・型、文字の色など、とことんカスタマイズできるところがいい。なにしろ目的は、クローゼットに色の選択肢を増やすことだから。基本デザインを選んだら、あとはクローゼットを見ながら、こういう色が加わったら面白いかな、と想像しながらプチプチと選ぶ。

innovatorというのは、なんとも欲張りそうな社名だが、実はセンスの良いソファで有名なスウェーデンの会社。社名で立ち位置(というか目標)を示してるなんてカッコいい!

届いて、さわった感じは普通。でも、しばらく着てみないと品質はわからないよね。(追記:2ヶ月たちましたが、品質も、まぁまぁです。少なくともgraniphより全然いい)

ところで、ブログに書こうと思ったのは、どこかに「ブログに書いたら何かあげます」って書いてあったからなのだけど、どこに書いてあったんだっけ?まあ、久しぶりに何か書いたし、いっか。

| | Comments (0) | TrackBack (1)

2008.10.14

僕が学んでこなかったこと

Excelに関するエントリを続けて書いて、なんだか「やっちまったなぁ」という感じがした。こういうノウハウものって、書いてる側は棚卸しのつもりでも、一歩間違えたら自慢っぽく見えて厄介だ。

そもそもExcelってメジャーだから、それだけで魅力半減と思う人も多いだろう。こないだ見たブラッディ・マンデイというドラマで天才ハッカー氏が普通のコマンドプロンプトを高速に叩いててゲンナリした感覚にも似てる。(修理を頼んだら、100円ショップで売ってるような工具で直されて、結構な修理代を請求された、と書いた方が伝わるかな。。。)

話が逸れた。

2005年頃にSolarisを覚えようと思って、いろいろインストールしてた。自分のブログを検索してみると、余ったPCに入れようと奮闘している記録が残っているが、どこまでやったんだっけ。ApacheにPukiwikiぐらい入れたかな。その後、Book Portfolioというサイトを立ち上げるときに、Solarisでは何かと面倒だからとWindows 2000に入れ替えたのだが、今、考えても勿体ない選択をしたなぁ、と思う。

その後、Twitterが出た頃にSolarisで動いているという話が出て、Mac OS XでもLeopardからDTraceが使えるようになった。サーバが安くなったから並列化しましょう、とか言って、結局はお金で解決してる人たちの脇で、DTraceでボトルネックを見つけるなんてスタイル、技術者として魅力的じゃないかな。

もうひとつ、Javaも、いつか勉強したいと思いつつ、結局、何もしないまま今に至ってる。本当に出たばかりの頃にブラウザ上で動くアプレットでグラフを書いたっきりだ。サーバサイドは未だに興味ないが、.jar形式のクライアントで動くツールを幾つか仕事で使っていて、こういうのを自分で作れたら楽しいだろうなぁ、と思った。ネットワークもメディアも弄れてOS依存じゃないという素晴らしい環境だけど、あまり見かけない。

PHPは、仕事で使う機会はゼロだったにもかかわらず、なぜかモチベーションが持続し、それがキッカケで、Smartyなどテンプレート開発を試せたり、AmazonのAPIを使ったサイトを試せたり(あれってオライリーがWeb 2.0の論文を発表した2ヶ月後だったんだなぁ)、いろいろとオツリのあるスキルだった。コードは初級者の域を出なかったにもかかわらず。

オツリのありそうな技術がいいのか、というと、そういうわけではなく、どこか孤高の香りが漂い、できればPerlとかRubyしか使えないプログラマが悔しがるようなのがいい。ついでに、仕事で全くカラミがなくても持続できるか、というのも重要な気がする。

All About スタイルストア

| | Comments (0) | TrackBack (0)

2008.10.08

Excelでチームプレイするための必修項目

少し前にExcel関連で「奥深い」と思ったネタを書いたが

uessay: Excelの奥深さがわかる実例
はてなユーザーの評価  livedoorユーザーの評価

マクロ以上に奥深いと思っているのが、共同作業するための機能ではないかと思っている。知ってるか否かで作業効率に直結するし、タイトルに「必修項目」と書いたのも決して言い過ぎではないと思う。

1.読み取り専用を推奨するオプション

「推奨する」なんて妙なオプションだが、これをチェックしておくとファイルを開いたときに「読み取り専用で開きますか?」と聞かれるようになる。

ただ参照したくて開いてるだけなのに、同僚から「編集したいので、早くファイルを閉じて!」と言われるような場合に便利である。

E1


2.ブックを共有する

複数の人で同時に編集する場合は「ブックを共有する」オプションが便利である。ただ、これを2番目に書いたのは、便利すぎて危険だからである。

例えばExcelで注文管理をしていて、最終行に日付と注文内容を追記するというExcelを2人で同時に編集しようとすると、2人で同じ行に書き込もうとして競合してしまうわけだ。勿論、競合チェックは走るが、自動で行をずらしたりといった親切機能はない。

E2

「ブック共有」と「読み取り推奨」を、あえて使い分けるとすると

ブック共有⇒あらかじめ入力するセルが決まっているシート向き

読み取り推奨⇒追加を下に書き足していくシート向き

といった感じか。

どうしてもブック共有で「下に伸びる形式」を扱いたければ、書き込み権限は整理券方式にして、ブックA(排他モード)で編集番号を取得して、ブックB(共有モード)で該当する編集番号の行に書くなどの工夫が必要だろう。


3.シートの保護

これは、保護されたセルをクリックしたときに表示される警告画面が鬱陶しいので好きではないが、より厳密にブックを管理していこうとする場合には欠かせないオプション。

ここまでは編集していいけど、ここはダメですよ、といったことを制御できるのだが、上手に使えば公開用データと非公開用データを別々に管理するのではなく、ひとつのデータを保護して公開用にしたりできる。(保護パスワードを破られれる可能性もあるので用途は限られるが)

E3 

これらの機能、OpenOfficeでは使えなかったり、使ってもファイルが壊れてしまったりするらしく、まさしくMicrosoftのノウハウの結晶という感じがする。

サーバを立ててTracとかで管理したいと思うこともあるが、そう何台も社内にApacheを走らせるわけにもいかないので、Excelでのチームプレイも身につけて損は無いと思う。

<追記>

今、テレビで「24 - twenty four」を放映している。相変わらず妙なパソコン画面が多いが、映画の中で出てくるようなコンピューターにExcelの画面とかって出てこないですよね。現実っぽすぎるからかな。

| | Comments (0) | TrackBack (0)

« September 2008 | Main | November 2008 »