<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" >
  <channel>
  <title>ユハニブログ</title>
  <link>http://juhani.blog.shinobi.jp/</link>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://juhani.blog.shinobi.jp/RSS/" />
  <description>たま～に色々書き込む所</description>
  <lastBuildDate>Fri, 07 Oct 2011 16:04:17 GMT</lastBuildDate>
  <language>ja</language>
  <copyright>© Ninja Tools Inc.</copyright>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />

    <item>
    <title>明日山に行く！</title>
    <description>
    <![CDATA[前回丹沢主脈縦走にリポート最終的に書かなかったな・・・　一応写真と軽いコメントをFBの<a href="http://www.facebook.com/media/set/?set=a.10150266560922374.330503.522722373&l=794ce06ed6&type=1" target="_blank">共有アルバムに</a>入れた。<br />
<br />
<br />
今回は上高地に行きます！　今企んでるルートは<br />
上高地バスターミナル→槍ヶ岳→新穂高温泉。<br />
もし槍ヶ岳についた所で時間の余裕があるなら、槍ヶ岳から大キレットを通り、穂高岳→上高地<br />
<br />
荷物こんなんになちゃった。　テントとスリーペィングバッグで半分ぐらい埋まってるな・・・<br />
<img height="400" width="300" src="//juhani.blog.shinobi.jp/File/bag.jpg" alt="" />]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E6%98%8E%E6%97%A5%E5%B1%B1%E3%81%AB%E8%A1%8C%E3%81%8F%EF%BC%81</link>
    <pubDate>Fri, 07 Oct 2011 16:05:00 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/50</guid>
  </item>
    <item>
    <title>解析の本音シリーズ： ログの違い</title>
    <description>
    <![CDATA[　初めての人、どうもこんにちは、忍者アナライズのバックエンドの開発担当、ユハニです。<br />
<br />
　現在色々なアクセス解析が存在しています。 ググれば色々見つかると思います。 結構前から存在している「忍者アクセス解析」に似ている物もあれば、もっと企業向きな高い有料のものもあります。<br />
<br />
<br />
　今回の忍者アナライズでは色んなこだわりをもって、一般のユーザーが簡単に使えるようなアクセス解析を作るつもりでやっています。　開発者なので宣伝とかは苦手ですが、同時に「こう言った所にこだわって作っています」、「こんな風に使うのも面白い」、「何でこうなっているか」などが分かるようにちょこちょこ書きたいと思っています。　どちらかと言うと忍者アナライズだけでなく、アクセス解析全体がどんな物になっているのかをちょこちょこ書きたいと思っています。　それを知った上で忍者アナライズを使ってもらえるとありがたいです。勿論「ここがもうちょっと！」的な意見も聞きたい。<br />
<br />
ってのが全体的な意気込みです！？　それでは今回のお題に入ります。<br />
<br />
「x社と忍者のアクセス解析をはっていますが、ログが違います！？」、もしくは「アクセス解析とカウンターの数字が違うよ！？」見たいな質問がユーザーサポートに来ています。　それをある程度明かすために、今回話したいのはアクセスログの取得の失敗の原因とアクセスログの取り方の違いです。　<br />
<br />
本題に入ります！<br />
<br />
取得失敗の理由はいくつかあり、アクセス解析の作りとはまったく関係のないものも多いです。：<br />
<br />
<span style="font-size:150%"><u>取得失敗の原因</u></span><br />
<ul><br />
<li>タグがはられた時点で文字化けし、一部のブラウザーで読めなくなった。　<br />
　ー＞貼り付けた後はソースコードを確認して、同じタグになってるかどうかを確認する。</li><br />
<li>他のJavascriptのエラー：一部のサイトで正しくタグが設置されていても、そのタグが読み込まれる前に違うJavascriptエラーが発生した場合、タグが実行されずに解析されません。　</li><br />
<li>ユーザーの早いリロード：　ページのロードが終わる前に、閲覧者がページを離れたり、リロードしたりすると解析されない事があります。</li><br />
<li>ユーザー環境：閲覧者の環境によるバグでまれにJavascriptの間違っている取り方をするものもある。</li><br />
<li>一部のアクセス解析は特定の条件でアクセスを除外する（クローラーなど）。</li><br />
<li>ユーザーの”Opt-out”：　一部のアクセス解析では閲覧者が「解析されたくない」事を設定することが出来ます。</li><br />
<li>最後の理由は取り方にあり、この後もう少し細かく説明します。</li><br />
</ul><br />
忍者アナライズのタグが正しく設置されているかの確認方法：<br />
<br />
今後ヘルプにJavaScriptの問題が確認出来る詳しい説明を追加するつもりです。　<br />
<br />
普段だと：<br />
<ul><br />
<li>JavaScriptのエラーが出てるか確認して、直す。</li><br />
<li>ページの解析タグと設置すべき解析タグの形を比べる。　一部のブログやホームページサービスでは、勝手に&gt;を&amp;gt;に変えたりすることで、行の間に&lt;br &gt; タグが入ってしまうことがあります。</li><br />
</ul><br />
<br />
<span style="font-size:150%"><u>アクセスの取得方法について：</u></span><br />
<br />
もちろんアクセス解析は魔法で動いてるような物ではないので、閲覧者からデータを収集する必要があります。　これをやる方法には大きく分けて三つあります。　取得方法によっては、結果にくせがあったりもします。<br />
<ol><br />
<li>画像での取得。　一番シンプルなもので、画像さえはる事が出来れば、どこにも使えます。　<br />
＋画像さえブロックされていなければ、JS対応されていなくても、アクセスが取れます。<br />
＋Javascript取得とのコンビネーションでも使えます（JSオフの閲覧者を解析するために）<br />
ー取れる情報が限られる。</li><br />
<br />
<li>JavaScriptでの取得。　現在殆どの一般ユーザー向けはこの方法がメインです（忍者アクセス解析・アナライズ含めて）<br />
＋殆どの情報が見られる。<br />
ーjavaScript対応されてないユーザーが解析されない（もしくは画像取得の方を使う）</li><br />
<br />
<li>サーバー側での取得。色んな方法があります。サーバーのログを分析したり、ページを送るHTTPサーバーに直接プラグイン見たいなものを付ける、とか、リクエストを受け取るさいにスクリプトを加入させたりなど、　主に企業向けの有料アクセス解析で見られる方法です。<br />
＋全てのアクセスが解析可能になります。ダウンロードなど含めて（Javascriptのクリックの分析に頼らなくても）。<br />
＋良くも、悪くも、分析されてる事が閲覧者には見えない（クッキーが残ってれば分かるけど）<br />
ー大抵のブログやホームページユーザーはサーバー側にアクセス出来ない。<br />
ー他より設定が難しい。</li><br />
</ol><br />
<br />
忍者アクセス解析と忍者アナライズのアクセスの取得方法：<br />
<br />
忍者アクセス解析では、１＋２をコンビで使用しています。コンビで使用することで、他に問題がない限り、普通のページへの全てのアクセスが取得できます。<br />
<br />
但し、訪問やユニークの分析結果がJavascriptなしだとIPベースになり、複数のブラウザーやユーザーのアクセスがまざってしまいます。　そのため、セッションやユーザーの経路にこだわって作られた忍者アナライズでは２の方法のみを使用しています。　個人的な希望を言うと今後は上級ユーザー用に３のオプションも是非つけたい(その前には管理者除外など)。　アナライズの開発や進展は今回のリリースで勿論終わってないから。<br />
<br />
少々長い記事になりましたが、大体こんな物です。<br />
<br />
何か知りたい事などあれば、<a href="http://twitter.com/syuri_ninja" target="_blank">しゅりちゃんのツィッター</a>で是非！<br />
<br />
技術的に気になる点などあればコメントなどで聞いたら出来るだけ答えるようにします。<br />
バグなどあればすぐに知りたい、直したいので、是非教えて下さい！]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E8%A7%A3%E6%9E%90%E3%81%AE%E6%9C%AC%E9%9F%B3%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%9A%20%E3%83%AD%E3%82%B0%E3%81%AE%E9%81%95%E3%81%84</link>
    <pubDate>Thu, 06 Jan 2011 01:22:21 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/48</guid>
  </item>
    <item>
    <title>レベル上げ</title>
    <description>
    <![CDATA[うは・・・　上に広告が出てるからそろそろ何か書かないと・・・<br />
<br />
最近昼休憩中や家にいる時に<a href="http://projecteuler.net/" target="_blank">projecteuler.net/</a>の問題をといて、数学のレベルを上げてる。<br />
<br />
Rubyで。　いい練習になるし、ちょこちょこやりつづければRubyの考え方になれるかと。<br />
<br />
後、問題のないようで結局一番簡単な方法で他お香とするとパソコンが永遠にぐるぐる回るのでアルゴリズムのいい練習になる。　大抵の問題は5分から一時間かかる。<br />
<br />
後一回といたら色んな人のやり方も見えます・・・　色んな言語で書いてる人もいるし、色んな解き方もある。　Jで一行の答えがあれば、同じ問題にx86アセンブラーに１００行のプログラムがある。　刺激になる]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E3%83%AC%E3%83%99%E3%83%AB%E4%B8%8A%E3%81%92</link>
    <pubDate>Mon, 06 Dec 2010 06:28:36 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/47</guid>
  </item>
    <item>
    <title>ググルDevQuizの結果が出たぞ～</title>
    <description>
    <![CDATA[<blockquote>***** Juhani 様<br />
<br />
このたびは、Google Developer Day 2010 Japan にご応募いただきまして、まことにありがとうございます。<br />
<br />
クイズの解答を審査した結果、見事、参加の基準点をクリアされました。おめでとうございます。<br />
<br />
後日、参加証をご登録いただいたメールアドレス宛に送付いたしますので、今しばらくお待ちください。<br />
<br />
会場で皆様にお会いできることを楽しみにしております。</blockquote><br />
<br />
と言うわけで無事参加できるようになりました。　まあ、それなり時間をかけて、結果をがすぐに見える全問で満点を取ったからそこまでサプライズではないが・・・<br />
<br />
問題も結構面白かったので、後日ちょっと時間あれば自分の解き方と解決方法をアップしたい・・・]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E3%82%B0%E3%82%B0%E3%83%ABdevquiz%E3%81%AE%E7%B5%90%E6%9E%9C%E3%81%8C%E5%87%BA%E3%81%9F%E3%81%9E%EF%BD%9E</link>
    <pubDate>Fri, 03 Sep 2010 16:31:31 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/46</guid>
  </item>
    <item>
    <title>探し中！</title>
    <description>
    <![CDATA[一ヶ月前にテレビのCMでアサヒの「The Master Pilsener」という、ドイツのワールドビアチャンピオンシップでピルズナー部門の優勝を取ったビール、を見ました。　勿論気になりました。普段日本のビールではYebisuが好きですがこんなのは勿論試さなければ。<br />
<br />
で・・・　どこでも見当たらなかった。<br />
<br />
やっと一週間前に近所のコンビニで現れ、飲めました。<br />
。<br />
。<br />
。<br />
美味しかった。　数回飲んでならなければ、比較するのは難しいけど中々いいものでした！　多分俺の中でのトップ日本製ビールになったでしょう。<br />
<br />
だが、最近また見当たらなくなった・・・<br />
<br />
<br />
<br />
<br />
<br />
新しいもの作って、CMに金をかけて、どこにも売ってくれないなら何の意味があるのかよ！？！？<br />
<br />
がっかりだ。　だれか護国寺の周りでMasterを打ってる所を知ってたら、教えて下さい・・・]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E6%8E%A2%E3%81%97%E4%B8%AD%EF%BC%81</link>
    <pubDate>Thu, 02 Sep 2010 16:00:16 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/45</guid>
  </item>
    <item>
    <title>jango</title>
    <description>
    <![CDATA[&nbsp;最近はよく音楽を聞く時に<a href="http://www.jango.com">「Jango」</a>と言うオンラインラジオサービスを使ってます。<br />
<br />
好きなバンドを入れるとそれらの曲と似たアーティストの曲を流してくれる。　そのおかげで最近色んな新しいバンドにも出会ってます。音楽好きな方にはとてもお勧めです。<br />
<br />
その内Riverside（ポーランドのプログメタル）, &nbsp;pain of salvation（スエーデンのプログメタル）とanathema（イギリスのDoomメタル・アンビエントロック）に出会えました。<br />
<br />
最近Anathemaの「re-connect」って言う曲がとても好き。　２：２７からの叫びで始める部分が得にいい・・・<br />
<br type="_moz" />
<script type="text/javascript" src="/ScriptLoader?type=YouTube&amp;id=jiw-lr7aP6Q&amp;width=200&amp;height=150"></script>]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/jango</link>
    <pubDate>Thu, 12 Aug 2010 03:49:48 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/44</guid>
  </item>
    <item>
    <title>Amazonの推奨ってちょっとミスってる・・・</title>
    <description>
    <![CDATA[漫画とかは好きです。　認めます！　ですが、Amazonの推奨でず～～～っと漫画が出てる。　ってか、興味主に興味がない漫画です。<br />
<br />
その理由？　<br />
<br />
&nbsp;４年前にまだ海外に住んでた時に数枚を買ったから。　ローゼンメィデン・ベルセルク・マリみて・ゆびさきミルクティー・げんしけん（ちなみに全部今でもお勧め！）<br />
<br />
で、それ以来は一冊もAmazonで買ってない。　今日本に住んでるし、そんなの普通に本屋で買えばいいじゃん。<br />
<br />
で、最近はかなりの量で英文の物を買ってる。　殆ど勉強用のものばっかり。<br />
<br />
<br />
<br />
なのにAmazonの推奨でわけのわからない萌漫画が相当推奨される。　<br />
<br />
で、それよりも気になるのはなぜこれが推奨される：<br />
<br type="_moz" />
<a href="http://www.amazon.co.jp/TOSHIBA-Lacoo-%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AC%E3%82%B9%E3%82%B9%E3%83%81%E3%83%BC%E3%83%A0%E3%82%A2%E3%82%A4%E3%83%AD%E3%83%B3-TA-FV61-%E3%83%A1%E3%82%BF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%96%E3%83%AB%E3%83%BC/dp/B001AA018A/ref=pd_ys_qtk_rnr_13">TOSHIBA Lacoo コードレススチームアイロン TA-FV61(L) メタリックブルー</a><br />]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/amazon%E3%81%AE%E6%8E%A8%E5%A5%A8%E3%81%A3%E3%81%A6%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%E3%83%9F%E3%82%B9%E3%81%A3%E3%81%A6%E3%82%8B%E3%83%BB%E3%83%BB%E3%83%BB</link>
    <pubDate>Thu, 08 Jul 2010 14:07:34 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/43</guid>
  </item>
    <item>
    <title>美しいコード</title>
    <description>
    <![CDATA[本がたくさんたまっていて、すべてに興味がある。　同時にいくつか呼んでますが、今「リラックス」目的で読んでるのは<a href="http://www.amazon.co.jp/Coders-at-Work-Peter-Seibel/dp/1430219483/ref=sr_1_1?ie=UTF8&amp;s=english-books&amp;qid=1275758922&amp;sr=8-1">「Coders at work」</a>。　何人かのすごいプログラマーとのインタビューが記録されてる物です。　まだまだ途中ですが、今まで読んだ中で大抵の人がやっぱり言うのは「他の人のソースを詠むべき」だと。　今までも少々やってますが、大抵は仕事関連、もしくは興味単位で。　<br />
<br />
Doug Fitzpatrick（LiveJournalの発明者、今ググル）のインタビューが気になり、結局Memcachedのソースを見る事にした。<br />
<br />
<a href="http://github.com/memcached/memcached/blob/master/memcached.c">http://github.com/memcached/memcached/blob/master/memcached.c<br type="_moz" />
</a><br type="_moz" />
前から使ってる技術だし、自分のプログラムでもローカルなキャッシュとかを作ってますのである程度気になってました。<br />
ロジックは勿論とてもいいけど、それよりもコードは以外とわかりやすい・・・　コメントが結構あるし、スタイル、関数・変数の名称が分かりやすい。　いつも皆が「コメントを書くのはいい事と分かるけど・・・　結局書かないな」ってのはよくあります。自分でも難しいアルゴリズムよりあんまり書かない。だけど一ヶ月後に読むと「え、これって何やってたっけ？」って思う。　あの時１分でコメントを書いてたら、その悩みはせずに住んだ・・・<br type="_moz" />]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E7%BE%8E%E3%81%97%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89</link>
    <pubDate>Sat, 05 Jun 2010 17:36:33 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/42</guid>
  </item>
    <item>
    <title>最適化とJavaのプロファイラー</title>
    <description>
    <![CDATA[&nbsp;&nbsp;元々C/C＋＋のプログラマーの私ですが、最近あるプロジェクトの関係でJavaで開発してます。
<div>&nbsp;</div>
<div>結構いい所もあります！</div>
<div>&nbsp;</div>
<div>前に作ったドメインのサブドメインを削る簡単な文字列の処理のプログラムがありますが、この同じプログラムをJavaで書いたら、10倍重かった！</div>
<div>&nbsp;</div>
<div>まあ、普通だったら、全体の内でどうでもいいでしょうが、この場合はその関数は一つのリクエストで何百万回呼ばれる事もありうる。７００万行がCで２秒以下で出来た物がJavaで22秒かかりました。　これはまずい。　で、Javaの問題では。 Cのようなポインターアリスメチックは出来ないけど、Javaってそこまで遅くはないよ。</div>
<div>&nbsp;</div>
<div>最終結果：　Cとほぼ同じスピードに削れました！</div>
<div>&nbsp;</div>
<div>それはどう出来たのでしょう？</div>
<div>&nbsp;</div>
<div>・まずはEclipseで使えるJavaのプロファイラーをインストールしました。</div>
<div>　TPTPは直接Eclipseの環境にプラグイン出来る高性能のプロファイラー。　セットアップが困難な場合もありますが、入れると助かります。</div>
<div>&nbsp;</div>
<div>・一回プロファイラーで回してネックの所を探した。</div>
<div>　・意外な事に一番ネックがロジックの所ではなくスタート時点にあった！？</div>
<div>　・実はString.splitとString.formatが犯人だった。</div>
<div>&nbsp;</div>
<div>まず、String.formatの代わりにStringBuilderを使う事で処理が半分になりました！　おおお。正直最初からそうするべき物だったけど、そこまで差があるとは思わなかった。</div>
<div>&nbsp;</div>
<div>そしてString.splitをどうにかしなければならなかった。大変便利な関数ですが、二つの問題があります：</div>
<div>・すべてのサブパーツの文字列を作成する。いらない物も。</div>
<div>・簡単な処理でも一応正規表現を使ってる。</div>
<div>&nbsp;</div>
<div>その代わりにString.indexOfとlastIndexOfを使って、欲しい部分を見つかり、String.substring出取得する事にすると、何と処理時間がど〜んと落ち、Cとほぼ同じになった。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>覚える事：</div>
<div>&nbsp;</div>
<div>最適化はプロファイラーから始めよう。　自分がボトルネックになってると思ってる所と実際の問題点がよく違ったりする。　また、よく言われるのは９０％のスピードアップが１０％のコードの最適化で得られる。</div>
<div>また、「最適化は燃えるぞ！」</div>
<div>&nbsp;</div>]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E6%9C%80%E9%81%A9%E5%8C%96%E3%81%A8java%E3%81%AE%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%A9%E3%83%BC</link>
    <pubDate>Tue, 01 Jun 2010 03:21:41 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/41</guid>
  </item>
    <item>
    <title>TomcatのJVM設定</title>
    <description>
    <![CDATA[これはちょっと前に各つもりの記事です。消えたと思ったけど奇跡的に一時保存され、助かりました。<br />
<br />
&nbsp;一番見るブログはやっぱり開発系の「こうやってこれを直せる」見たいな物。困ってる人がたまたまこっちのブログを見たら、同じように役に立てるといいな〜って思ってますので、これからちょこちょこ困った問題と解決策を書こうと思ってます。<br />
今回の物はあまりこった物ではないが、JavaをリモートでDebugしたかった・・・Tomcatのアプリを、Eclipse環境から。  <br />
<br />
参考に<br />
http://wiki.apache.org/tomcat/FAQ/Developing#Q2 <br />
<br />
まず、JVMに -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n こんなパラメーターをパスして、Eclipseなどの環境からリモートデバッグは8000ポートで出来ます。  <br />
色んなDeployのやりかたもあるけど、こっちはRPMのTomcatを使っていて、serviceで機動してます。 その環境だとtomcat5.confのファイル（普通のRH系環境だと/etc/tomcat5/tomcat5.conf)に JAVA_OPTS=&quot;-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n&quot; を入れる事でOK  ここからEclipseを機動して、 Run-&gt;Debug Configurations... Remote Java Applications New  Host/Portを設定して（.confで使ったaddressパラメーター）を設定して、Debug押す<br />
<br />
じゃじゃ〜ん：　ローカルでデバッグしてるようにServletのデバッグが！<br type="_moz" />]]>
    </description>
    <category>未選択</category>
    <link>http://juhani.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/tomcat%E3%81%AEjvm%E8%A8%AD%E5%AE%9A</link>
    <pubDate>Tue, 01 Jun 2010 03:21:08 GMT</pubDate>
    <guid isPermaLink="false">juhani.blog.shinobi.jp://entry/40</guid>
  </item>

    </channel>
</rss>