« 2007年10月14日 - 2007年10月20日 | メイン | 2007年10月28日 - 2007年11月03日 »



2007年10月21日 - 2007年10月27日 アーカイブ

2007年10月21日

「走ることについて語るときに僕の語ること」 著:村上春樹を買った!

DSCF7024.jpg

まだ読んでないのでレビューのエントリではないのですが、久しぶりに春樹を買いました。
高校の頃にねじまき鳥を読んでからものすごいハマってまして、春樹の本は大体読んでます。
大学受験前、授業をよくサボって高校近くの図書館に通っていたのですが、そこに席が無いときは高校の図書室で勉強をしてました。(授業中なので)司書のおばさんによく注意されていたのですが、その司書のおばさんに勧められたのがねじまき鳥で、春樹との出会いです。
で、高校の頃は、インターネットなんかやって無かったですし、書評なんかに目を通す人間ではなかったので、春樹の作品はワタシにとって非常に不思議でたまりませんでした。
春樹の一部の作品は、なんというか、上っていた梯子を外すような結末というか、そもそも梯子なんか上っていなかったのか?というような結末を見たりします。(自分でも情けないほどの比喩の下手さですが)
で、当時、春樹初心者だったワタシは「この物語は何を語っているのだろう」と、何を読んでもそう思っていました。そう思うからまた次の本を読む。遡って昔の作品を読む。そんな感じでほとんどの作品を読んでしまったわけです。しかも、何度も読み返したりもするわけです。

今回のエッセイは「春樹が初めて自分自身について真正面から綴った・・・」というものらしく春樹ファンには必見ですね。


[ 最近のエントリーとその関連エントリー ]


[ スポンサードリンク ]

2007年10月27日

ニコウゴコメントフォームについて

ニコウゴコメントフォームは、あなただけに見えている情報ではありません。普通の掲示板などと同じで、投稿した内容はもちろんみんなに見えていますので、個人情報を投稿したりしないようにご注意ください。
嫁さんがなんか勘違いしてました。
「え?あたしの投稿はあたしにしか見えないんじゃないの?」だって。ちがいますよ。

ちなみに、フォームになにも入力しないでニコウゴボタンを押下すると、投稿はしないでニコウゴウィンドウがポップします。


[ 最近のエントリーとその関連エントリー ]


2007年10月25日

ニコニコでウゴウゴなサービス作ったよ!

nicougo.PNG

ニコウゴウェブサービスを作りました!ニコニコ動画みたいな流れるメッセージにウゴウゴルーガみたいな動きをプラスしたコメントフォームです。
トップページの上部にフォームがありますのでなにかコメントしてみてください。ニコニコでウゴウゴな窓っぽいのがあがります。
一応、これもクロスドメイン対応ですのでご自身のブログに設定したければできます。そのうち仕様と、導入方法をお知らせします


[ 最近のエントリーとその関連エントリー ]


2007年10月24日

mojaラボ成分解析もJSONP対応であなたのページに使えます!

mojaラボ成分解析もJSONPでクロスドメインで使えるようにしました!

GET URLの構築

送信するURLはコチラです。
http://labs.mojalog.com/mojascript/elemanalysis/crtPie.php

リクエストURL例

http://labs.mojalog.com/mojascript/elemanalysis/crtPie.php?item=%E3%81%AA%E3%81%BE%E3%81%88&userdict=%E3%83%96%E3%83%AD%E3%82%B0%0D%0A%E7%94%9F%E6%B4%BB&fmt=callback

リクエストパラメータ例

item=%E3%81%AA%E3%81%BE%E3%81%88【なまえ】
userdict=%E3%83%96%E3%83%AD%E3%82%B0%0D%0A%E7%94%9F%E6%B4%BB【ブログ(改行)生活】
fmt=callback【callbackというメソッド名で実装する】

パラメータ説明
itemstring(URLエンコード)解析対象テキストです
userdictstring(URLエンコード)※解析マッピングシードです。改行で区切って複数のシードが設定可能です。(最大20個)
fmtstring(コールバックメソッド名)実装するスクリプトのコールバック関数名を与えます

※解析マッピングシードとは、「××」が○パーセントという結果の、「××」を生成するワードです。
このワード1つ1つを連想検索エンジンに送信し、受信に成功した場合、1件当たり50個の関連ワードを受信します。
(例:「ブログ」を送信した結果)
http://labs.preferred.jp/reflexa/api.php?q=%E3%83%96%E3%83%AD%E3%82%B0&format=xml
この結果の総数(最大1000個)から成分解析を行います。

レスポンスフィールド例

callback ([{"title" : "ブロガー", "value" : "93"},{"title" : "申し入れ", "value" : "6"},{"title" : "Blogger", "value" : "1"}]);

パラメータのfmtを省略した場合RESTで結果を返却します。

<?xml version="1.0" encoding="UTF-8" ?>
<pie>
    <slice title="ブロガー">93</slice>
    <slice title="申し入れ">6</slice>
    <slice title="Blogger">1</slice>
</pie>

HTMLサンプル

サンプルhtmlはコチラになります。このhtmlサンプルはJSONscriptRequestというライブラリを使用しています。
javascriptのライブラリは、
JSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScript
こちらからダウンロードしてきてください。「1.My JSONscriptRequest class」ってとこにアンカされてます。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=uft-8" />
<title>sample html</title>
<script type="text/javascript" src="jsr_class.js"></script>
<script type="text/javascript">
var jsrInst;
function getItems(){
    jsrInst = new JSONscriptRequest('http://labs.mojalog.com/mojascript/elemanalysis/crtPie.php?item=' + encodeURI( document.getElementById( 'item' ).value ) + '&userdict=' + encodeURI( document.getElementById( 'userdict' ).value ) + '&fmt=json');
    jsrInst.buildScriptTag();
    jsrInst.addScriptTag();
}
// コールバックがjsonなのでjsonというメソッド。
function json( data ) {
    var html = "";
    for( idx = 0; idx < data.length; idx++ ){
        html = html + data[ idx ].title + ":" + data[ idx ].value + "%<br />";
    }
    // スライスしたリファラはご自由に使ってください
    document.getElementById('result').innerHTML = document.getElementById( 'item' ).value + "を構成する成分の分析結果<br />" + html;
    jsrInst.removeScriptTag();
}
</script>
</head>
<body>
<input type="text" id="item">
<!--ユーザに解析マッピングシードを変更させたくない場合は非表示にする-->
<span style="display:none">
<textarea id="userdict">成分
原料
</textarea>
</span>
<input type="button" onclick="getItems()" value="解析">
<div id="result"></div>
</body>
</html>

HTMLサンプルamCharts適用版

ampiedir.PNG

コチラのサンプルは、amChartsのPIE & DONUT CHARTを使用したものです。ダウンロードページにリンクを張っておきます。

  1. まず、(現在のバージョン)ampie_1.2.5.zipというアーカイブをダウンロードして解凍します。
  2. 解凍したディレクトリを開くと、「examples」というディレクトリがあるかと思います。そこに、コチラからダウンロードしたexamples.zipを解凍し、そのままかぶせてください。
  3. さらに、JSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScriptをダウンロードして解凍します
  4. jsr_class.jsというファイルをexamplesディレクトリの中に放り込みます

ampiedir2.PNG

それぞれのファイルをかぶせると、ディレクトリはこんな感じの状態(画像参照)になるかと思います。test.htmlを開いてデータを送信し、受信した内容がレンダリングされることを確認してください。ブラウザのフラッシュのバージョンによっては、グラフが正しく表示されない可能性があります。
一応、受信したJSON形式のデータをフラッシュに食わせて表示されるところまで確認が取れています。

  • IE
  • fire fox
  • sleipnir
  • bugbrowser

ちなみに、examples.zip内のampie_data.xmlは初期化データが入っています。これは、initPieメソッドで表示されるデータが空であって欲しいためです。もっといい方法があれば適宜変更するなどしてください。
ampie_settings.xmlはフラッシュのコンフィグファイルです。グラフのカラーや大きさ、タイトルヘッダなどはここで変更を加えます。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=uft-8" />
<title>sample</title>
<script type="text/javascript" src="../ampie/swfobject.js"></script>
<script type="text/javascript" src="jsr_class.js"></script>
<script type="text/javascript">
function initPie(){
    var so = new SWFObject("../ampie/ampie.swf", "ampie", "520", "400", "7", "#FFFFFF");
    so.addVariable("path", "../ampie/");
    so.addVariable("chart_id", "ampie");
    // グラフのコンフィグセッティング
    so.addVariable("settings_file", escape("ampie_settings.xml"));
    // 空のグラフデータ
    so.addVariable("data_file", escape("ampie_data.xml"));
    so.addVariable("preloader_color", "#999999");
    so.write("flashcontent");
}

var jsrInst;
function getItems(){
    jsrInst = new JSONscriptRequest( 'http://labs.mojalog.com/mojascript/elemanalysis/crtPie.php?item=' + encodeURI( document.getElementById( 'item' ).value ) + '&userdict=' + encodeURI( document.getElementById( 'userdict' ).value ) + '&fmt=json' );
    jsrInst.buildScriptTag();
    jsrInst.addScriptTag();
}
// コールバックがjsonなのでjsonというメソッド。
function json( data ) {
    var html = "";
    
    // 0件返却時のampie.swfエラー抑止
    var xml = "<slice title=\"\">0</slice>";
    for( idx = 0; idx < data.length; idx++ ){
        html = html + data[ idx ].title + ":" + data[ idx ].value + "%<br />";
        xml = xml + "<slice title=\"" + data[ idx ].title + "\">" + data[ idx ].value + "</slice>";
    }
    // 分析結果のレンダリングはご自由に
    document.getElementById( 'result' ).innerHTML = document.getElementById( 'item' ).value + "を構成する成分の分析結果<br />" + html;
    jsrInst.removeScriptTag();
    var flashMovie = document.getElementById("ampie");
    flashMovie.setData('<pie>' + xml + '</pie>');
}
</script>
</head>
<body>
<input type="text" id="item">
<!--ユーザに解析マッピングシードを変更させたくない場合は非表示にする-->
<span style="display:none">
<textarea id="userdict"></textarea>
</span>
<input type="button" onclick="initPie();getItems()" value="解析">
<div id="result"></div>
<div id="flashcontent"></div>
</body>
</html>

ざっくりですが、こんな感じです。これでご自身のページにも簡単(では無いかもしれませんが)に成分解析ページがつくれますね!適宜、ファイルのアップロードパスなどを調整してご自身のブログやホームページに使ってみてください。ほいでわ


[ 最近のエントリーとその関連エントリー ]


2007年10月23日

検索ワードの有効利用エントリのお詫びと訂正

リファラをスライスするサービス作ったよ!なんてココココで鼻息を荒くしながら紹介したのですが、あのままですと他のドメイン(mojalog.com以外)からjavascriptで呼ぶことが出来ないじゃんかってことが調べていたら判ったので(ブフー)呼べるようにしました。みて下さった方にお詫びいたします。すみませんでした。

特に当該エントリに引用いただいたコマネタ帳のネタ帳さん。申し訳ございません。
コマネタ帳:コチラがメインブログでしょうか

このクロスドメインの問題はウェブサービスをいくつか作っているうちに判っていたことなのですが、放置していました。重ねてすみません。

というわけで、テスト用のhtml(エントリ下部参照)と、javascriptのライブラリをご自身のサイトにアップロードして、正しく動けばいろいろいじくれるかと思います。一応、labs.mojalog.comのサブドメインで試してみたので大丈夫かと思います。
javascriptのライブラリは、
JSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScript
こちらからダウンロードしてきてください。「1.My JSONscriptRequest class」ってとこにアンカされてます。

このクロスドメイン版は、JSONPという技術で実現しているのですが、JSONのデータフォーマットにコールバック関数なる記述を加えることによってクロスドメインの制約を解決しているわけです。判りにくいですね。
判りやすい説明がありましたので引用させていただきます。といいますか、ほとんどこちらの戯言++さんでいろいろ調べさせていただきました。

via : 戯言++さん
JavaScript でリモートのデータを呼び込む際に2通りの方法があると説明しました。ひとつは XMLHttpRequest クラスを使う方法,もうひとつは JavaScript ソースとしてインクルードする方法です。「クロスドメインの制約」からXMLHttpRequest を使う方法では読込先が他ドメインの場合は使えません。そこでデータを JSONP の形式にして JavaScript のソースとしてインクルードしてしまうわけです。また JSONP は関数呼び出しの形式になっているので,その関数の処理を別に記述することでコールバック関数のように機能します。

リモートのデータをjavascriptのソースとしてインクルードするということみたいですね。すごいね。
リファラのスライスサービス・サーバ側は、json([{"idx":"0","item","hoge"}]);というコールバックをしますので、script側の実装はお好きな方法でどうぞ。
サンプルソースはこんな感じです。上記のjsr_class.jsというライブラリを使用させていただいています。

<html>
<head>
<script type="text/javascript" src="jsr_class.js"></script>
<script type="text/javascript">
var jsrInst;
function getItems(){
    // google でjavascript jsonという検索を行ったと仮定します。
    jsrInst = new JSONscriptRequest('http://mojalog.com/mojascript/gsajax/refrxml.php?refr=http%3A//www.google.co.jp/search%3Fhl%3Dja%26q%3Djavascript+json%26lr%3D&fmt=json');
    // 実際にはこう使う
    // var jsrInst = new JSONscriptRequest('http://mojalog.com/mojascript/gsajax/refrxml.php?refr=' + escape( top.document.referrer ) + '&fmt=json');
    jsrInst.buildScriptTag();
    jsrInst.addScriptTag();
}

// コールバックがjsonなのでjsonというメソッド。変えちゃだめっぽい
function json( data ) {
    var html = "";
    for( idx = 0; idx < data.length; idx++ ){
        alert( data[ idx ].item );
        alert( data[ idx ].idx );
        html = html + data[ idx ].item + ",";
    }
    // スライスしたリファラはご自身の検索フォームにおくなど、ご自由に使ってください
    document.getElementById('result').innerHTML = html;
    jsrInst.removeScriptTag();
}
</script>
</head>
<body>
<input type="button" onclick="getItems()" value="send">
<div id="result"></div>
</body>
</html>

[ 最近のエントリーとその関連エントリー ]


2007年10月22日

mojaラボ 気になる成分解析をつくったよ!

elemanalysis.PNG

昨日、受け攻め度チェックをやってみたのですが、こういう占いみたいのって結構おもしろいなぁと思ってmojaラボ気になる成分解析を作ってみました!

成分解析って、「××」が「○○」パーセントの、「××」の部分の列挙が結構しんどいんですね。で、グッと来るワードってなんだろうなぁなんて考えていたのですが、途中でめんどくさくなって、これを連想検索エンジンに任せることにしました。
連想検索エンジンとは、あるワードに対して、(検索エンジンの上でかな?)連想されるワードを50個返してくれるもので、適当な言葉をたくさん列挙したい場合にはとても便利です。
というわけで、成分解析の「××」が「○○」パーセントの「××」の部分を連想検索エンジンに任せて成分解析apiに通すと、自分も予期していなかった変な言葉が返ってきて意外と面白かったです。
今日、10/22にmojalogを解析してみましたら

  • word press:65.3%
  • スポ根:21.3%
  • さきっちょ:8%
  • 溜息:5.3%

ってでました。なにこれ。どっちかっていうとword pressより、movable typeが65.3%なんだけど。しかもさきっちょて。なんのだ。

ちなみに、成分解析結果は日ごとに変わるように出来ています。
デフォルトで連想検索に飛ばすワードがなんとなく恣意的なのは、面白い解析を得たかったからです。へへへ。

尚、ψ(プサイ)の興味関心空間さんでロジックを参考にさせていただきました。また、gigazineさんのエントリでamchartsの適用を参考にさせていただきました。(amchartsすげー)
via :amCharts, ψ(プサイ)の興味関心空間, gigazine


[ 最近のエントリーとその関連エントリー ]


受け攻め度チェックやってみた。

uranai.JPG

受け攻め度チェックというのがあったのでやってみました
○○○○は実名を使ったので、伏せています。(キャプチャのほうも)

○○○○さんは自己中攻 です!

● 自己中攻の貴方は
★性格★
実直で義理人情に厚いタイプでとても円満な人格者。
他人と争うことが嫌いで、自分が傷つくことはもちろん、相手が痛手を受けることも苦手。
人との調和をとったり、お互いに楽しく気分良く過ごせることが何より大切だと考えてます。
どんな環境にも順応できる、たくましさと適応力を持っている人です。

>インライン
>バランス感覚はいいほうかなーなんて思ったりしてます。
>環境適応能力もそんなにわるくないかなと。ほう。結構あってそうだ。

★夜の性格★
ヤリたいと思ったら相手の都合を考えずに盛ります。
自分が満足する為に快楽を追い求める、まさに自己中心。
相手を支配したい欲求が強いのでバックの体勢が一番のお気に入り。
自分ひとりがスッキリしてしまうことも多々あります。
もう少し相手のコトも考えてみましょう。

>インライン
>なんか全体的にしかられました。。。

★相性★
天然受・誘い受

>インライン
>「天然受」「誘い受」をダレカ説明してくれ

● ○○○○さんは一生のあいだに、500人の異性を好きになります。

>インライン
>もうずっと人大杉(´∀`)


[ 最近のエントリーとその関連エントリー ]


2007年10月21日

「走ることについて語るときに僕の語ること」 著:村上春樹を買った!

DSCF7024.jpg

まだ読んでないのでレビューのエントリではないのですが、久しぶりに春樹を買いました。
高校の頃にねじまき鳥を読んでからものすごいハマってまして、春樹の本は大体読んでます。
大学受験前、授業をよくサボって高校近くの図書館に通っていたのですが、そこに席が無いときは高校の図書室で勉強をしてました。(授業中なので)司書のおばさんによく注意されていたのですが、その司書のおばさんに勧められたのがねじまき鳥で、春樹との出会いです。
で、高校の頃は、インターネットなんかやって無かったですし、書評なんかに目を通す人間ではなかったので、春樹の作品はワタシにとって非常に不思議でたまりませんでした。
春樹の一部の作品は、なんというか、上っていた梯子を外すような結末というか、そもそも梯子なんか上っていなかったのか?というような結末を見たりします。(自分でも情けないほどの比喩の下手さですが)
で、当時、春樹初心者だったワタシは「この物語は何を語っているのだろう」と、何を読んでもそう思っていました。そう思うからまた次の本を読む。遡って昔の作品を読む。そんな感じでほとんどの作品を読んでしまったわけです。しかも、何度も読み返したりもするわけです。

今回のエッセイは「春樹が初めて自分自身について真正面から綴った・・・」というものらしく春樹ファンには必見ですね。


[ 最近のエントリーとその関連エントリー ]


ツリータイプ・カテゴリー

open all | close all

リファラから検索