忍者ブログ
HOME > 2009年08月の記事 RSS   Admin NewEntry Comment
情報処理、インターネット系の技術に関するお役立ちページを目指します。が、最近はゲームやアニメの話ばっかりかもし~
やぁ、ドラクエが止まらない

いわゆる「まさゆき地図」でメタルキング狩り・・・
はぐれメタルまでと違って、通常ダメージで倒すのはあきらめたです・・・
まじん斬り大活躍w
そして他のキャラが一閃づきを覚えたので狩りまくり・・・
でもMP消費が激しいのでもういっこりせいのサンダルが欲しい~
まぁ指輪やら帽子やらでもいいんですが・・・

そして、「かわさきロッカー」・・・敵はつよいけどレアアイテムがおいしい
武器防具として、メタスラシリーズとか、ほしくずのつるぎ、ひっさつのおうぎなんかをゲット
しにがみのくびかざりも1回もぐると2個くらい手に入るときもあるわけで・・・

錬金が埋まる日も近いカモ~~
ってもレシピがぜんぜん埋まってないけどw

休日にぽつぽつとすれちがい通信やマルチプレイで遊ぶ・・・
ま、モンハンと違ってまったーりできるのも良いですね~

宝の地図クリア回数が120を越えてからというもの、
サンディがいつも120回というセリフしか言わなくなってる・・・おーい・・・

しかしこれ、ヤリ込み要素大杉だ・・・
まぁクエスト配信で持たせる分を除いてもそうとう練り込んである・・・
あんまがんばりすぎないようにしないとなぁ^^;
PR

@IT
[ASP.NET]任意のキーによりページ・キャッシュを切り替えるには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/236aspcustcache/aspcustcache.html

[ASP.NET]リクエスト・パラメータごとにページをキャッシングするには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/225aspctrlcache/aspctrlcache.html

を参考にして、

<Default.aspx>

<%@ OutputCache Duration="3600" VaryByParam="None" VaryByCustom="Difficulty_id" %>

デフォルトページにアウトプットキャッシュの設定をして、


<Global.asax>

<%@ Application Language="C#" %>

<script runat="server">



// デフォルトでの記述は省略

public override string GetVaryByCustomString(HttpContext context, string arg)
{
    if (arg == "Difficulty_id")
    {
        return (string)Session["Difficulty_id"];
    }
    return base.GetVaryByCustomString(context, arg);
}

</script>

Global.asax ファイルに上のような記述をしてみたところ、
ビルドは問題なかったのですが、実行すると

「このコンテキストでセッション状態は利用できません。」

と出てしまいました・・・。

GetVaryByCustomString の戻り値に、
異なるキャッシュを保持すべきかどうか判断するためのキーとなる文字列を
設定してあげれば良いという認識で問題はないと思うんですが・・・


ここで、かなり悩みました。

・Session 情報に依存して異なるバージョンを保持するOutputCache の利用はできない?
→そんなことはないだろうと思っていましたが、思ったよりめんどくさそう

・じゃあ部分的にキャッシュするなどして、ページ単位でのキャッシュをあきらめるか?
→部分キャッシュするにしろ、背景が変化する仕掛けが問題だ
  背景はページのかなり大きな部分を占めるが、そこが動的に変化するということは、
  キャッシュする部分を絞るうえでジャマになる。
  効果が小さい方法なのに、デザインも変更しなければならない?それは却下だ><;
→効果が一番大きいのはやはりページ単位のキャッシュだろう

・じゃぁSession でページが変化する仕組みを変更するか?
→QueryString を使ってもよい部分をSession で実装していたので変更は可能だろう
→でも、Default.aspx だけではなく、Default.aspx へ遷移する部分にも変更が入りそう。
  修正規模が大きそうでイヤだ~~~~!!!

そして一番上の悩みにモドルw


キャッシュやOutputCache について正面から調べていっても、
なかなかSession 情報単位でキャッシュする方法がでてこない・・・。

てことで、
「このコンテキストでセッション状態は利用できません。」
というエラーの文言そのままでググって見たところ~

@IT
質問:
Global_asaxでのセッション情報の使用方法
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=44110&forum=7

という記事がありました。
おぉ、近いな~

たしかに、Global.asax ファイル内でSession が参照できれば、
ほぼ解決?

HttpApplication クラス
http://msdn.microsoft.com/ja-jp/library/system.web.httpapplication(VS.80).aspx

いや、そんなことはないやorz
override した GetVaryByCustomString の内部で参照できなければ
意味がないような気がする・・・

なにか基礎というか、構造に対する知識がまだまだ足りないかなぁ~~

結局、手の届きそうなところで、
ページを修正して QueryString を使って見ることにしました。

ただ、これがまたうまくいってくれない・・・。

< Default.aspx > にて、

<%@ OutputCache Duration="3600" VaryByParam="Difficulty_id" %>

こんなふうに記述をして、

< .cs > ファイルにて、
Response.Redirect("~/Default.aspx?Difficulty_id=2");

などとしてやると、異なる Difficulty_id ごとにキャッシュしてくれます。
ここは、ページに埋め込んだラベルの時計で確認できました。
こんな感じ。

< Page_Load > にて、
Label.Text = DateTime.Now.ToString(); // キャッシュ確認用


ででで、データベースの更新後に

// キャッシュの削除
HttpResponse.RemoveOutputCacheItem("/Default.aspx");

などとすればキャッシュが消えてくれるのかな??と
思ったんだけど・・・

うむむぅ??

消えてくれないです、、、難しいなぁ・・・

エニアグラムというのは・・・
まぁ性格を9つに分類し、
自己の性格と、他人の性格を知ってみんなで幸せになろうよ的な何かです。
関係ないけどウルティマには8つの徳がありましたねw

詳しくはWikiなどをどうぞw

Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%8B%E3%82%A2%E3%82%B0%E3%83%A9%E3%83%A0


読んでみたのは次の二冊。


リーダーズノート・エニアグラム-自分の性格タイプを知り人を理解する方法があった-
和泉育子/著 明日香出版社

人づきあいが9倍楽しくなる心理学-エニアグラムが解き明かした人生のドラマ-
吉田久夫/著 しょういん


性格を分析するということで、占いというよりは心理学に近いみたいですね。

『リーダーズノート~』の方はまず9つ分のチェックシートがあって、
当てはまるものが一番多いのがあなたの性格です・・・と。

チェックの項目が多くて、
9つのうち、2つか3つは「あ、自分はこの性格かな?」と思い、
2つか3つは「まぁこの性格ってことは無いな」と思う程度で、
なかなか判断が難しい。
ただ、人は必ずどれか1つにあてはまるのだということ・・・うむむぅ。

『人づきあいが9倍~』の方はまず人生のドラマから入ります。
つまり、50代前後の方の人生を振り返り、その根底にあったものこそ、
n番目の性格に当たります・・・と。

こちらの方が性格としての実像がはっきりと浮かび上がります。
とはいえ、人それぞれ環境が違うので自分と重ね合わせてどうか?
と考えるのが難しくなる部分もあります。
また、その性格の人が遭遇するであろう困難、乗り越えるべき壁
がより具体的に表現されていますので、こちらの本の方がとっつき安かったです。

自分ですか?
自分は・・・5か9あたりですかねぇ???
(9つの性格に名前を付けるのを避けて番号で呼ぶことが多いようです)
もう少し読み込まないとわからんかも?w
あるいは他の誰かに判定してもらった方がよさそうですね^^;


ところで、読んでいる最中、仕事中とプライベートでチェックの付き方が違うかも?
なんて思ったこともありました。

どうなんでしょうね。
確かに、「仕事とプライベートであの人は性格が変わる」なんてことは
ありえそうですが・・・。
でも、性格を変えるなんてことは案外難しく、
もしかしたら心の根底にある価値観から行動が変わっているだけで、
「その人の性格が変わっている」わけではないのかも知れません。

この前、こんなことがありました。

Project DIVA というゲームで(おなじみ?PSPのリズムゲームです)、
「初音ミクの消失」という曲がGREAT でクリアできず、
とある友人に「クリアしてあげましょうか?」と言われました。

クリアしないと、HARDモードもプレイできないし、
たぶんアイテムも手にはいらないんですが、私は断りました。
「やってあげますよ?」
ともう一度聞かれましたが、頑固にももう一度断りましたw
少し迷ったんですけどねw

これ、たぶん仕事上のことで上手く行かない部分を、
「やってあげましょうか?」と言われたら、
あまり迷わずに、まずはやってもらうことを優先したと思います。

プライベートのゲームのことは、たとえクリアできなくても
誰に迷惑がかかるわけでもないし、
もしかしたら自分でクリアする喜びが大きいかもしれないので「断る」選択。
(まぁ、まだ挫折するほどやり込んでないというのも大きいかな?)

仕事上のことであれば、確実に納期があるため、(効率が求められるため)
仮に他人に協力してもらうことで格好悪く思われても、
(むしろ納期に間に合うことこそが評価につながるとの認識もある)
「お願いする」選択になると思われます。

あなたはどうですか?
そしてこんな内向的な分析をしてみたりする自分はやっぱり5番でしょうかw
 

さて、キャッシュとひとことで言ってもいろいろあるので困ってしまいました・・・。
このブログの記事でも扱ったことがあったんですが・・・

(20)『ASP.NET』&『C#』でOutputCache使ってみた
(21)『ASP.NET』&『C#』でCacheを使ってみた


まぁよくよく考えると、このページは「こうキャッシュすることにしよう」と
決めたうえで、ページを設計していくのが良かったカモしれません。
まぁマスターページを使ったり、ユーザーコントロールを使ったりと、
適当に分割はしているので、その単位でキャッシュ方法をうまく選択できるかなっと・・・。


①とりあえず、ページをキャッシュする

簡単なのは、OutputCache で、
ページ単位、ユーザーコントロール単位でキャッシュする方法です。

<%@ OutputCache Duration="300" VaryByParam="None" %>

こんな記述を aspx もしくは ascx ファイルの先頭に記述しておけば、
300秒の間キャッシュが保持されます。

これなら楽チンw

とはいっても、5分キャッシュを保持するということは、5分もの間、
変更したスコアの内容が書き換わらないわけです。
これでは動的なページには適用しづらいです。
(できれば自分の登録したスコアは即時に反映されて欲しいですよね~)

ま、5分あたりに何件、何十件、何百件も参照があるようなページなら、
5分の設定でキャッシュして、反映までは5分くらいかかります的な仕様でも、
キャッシュはばしばしヒットするので意味があるとは思いますが・・・。

しかし、何秒に設定するにしろ、この方法だけでは不便ですね。
スコアの更新があった時に、キャッシュを無効にする手段があれば、
キャッシュ保持の時間を長めに設定しておいてもよさそうです。
なにしろスコアの更新はわりと(とても orz)「希」なサイトですのでw

で、さがしてみたです。


②データ更新契機でキャッシュの削除をする

MSDN
SqlCacheDependency クラスによる ASP.NET のキャッシュ
http://msdn.microsoft.com/ja-jp/library/ms178604.aspx

「SqlCacheDependency クラスを使用してデータベースのテーブルまたは行に対して
  キャッシュ項目の依存関係を作成できます」

とのことですが・・・どうにもメンドウそうです。
依存関係というのは、まぁ依存しているテーブルなり行なりの更新を
検知してキャッシュを無効にしてくれるということでしょう。
まぁプログラムでキャッシュを制御すればより細かく制御できるのはわかるんですが、
手間もかかる訳で・・・。

なんとか簡単な設定と、数行のプログラム追加だけで
似たような効果のでる方法があれば~~~~~~~と思うわけです。

 

③任意の契機でキャッシュの削除をする

MSDN
HttpResponse.RemoveOutputCacheItem メソッド
http://msdn.microsoft.com/ja-jp/library/914c7ktw.aspx


これが使えれば、何時間でもページをキャッシュすることにしておいて、
(まぁサーバーのリソースと相談が必要かもしれませんが)
スコアの更新が発生した時にキャッシュを削除すればよさそうです。
例えば、GridView コントロールのRowUpdated イベントなんかで使うとか・・・。

ただ、引数が path となってるんで、ユーザーコントロールにも使えるのかどうか??
がちょっと気になりますが・・・。

 

④ページの一部分だけキャッシュしない(キャッシュ対象外とする)

MSDN
Substitution クラス
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.substitution.aspx

ふーむ、これは部分的に頻繁な更新があるページには有効そうですね~。
キャッシュが効いているかどうか確認するのに、時刻を表示させるというのは
前にもやりましたが・・・。
ページ上に時計のようなものを表示したい場合、そこだけキャッシュしないことに
すればよいんでしょうね~。

 

さて、ここまで調べてきて、ふと思ったこと・・・

①と③を組み合わせるのがよさそうだけれど、
実は①を使うにあたって困るページがあるんじゃないかな??・・・と

「みくみくなスコサバ」では難易度の要素をSession で管理しています。
そして、それはつまり同じアドレスのページでもSession の内容しだいで、
表示すべき情報が異なるということです。

要するに、ページ+難易度(EASY,NORMAL,HARD)ごとのキャッシュが欲しいことになります。

MSDN
ページの複数バージョンのキャッシュ
http://msdn.microsoft.com/ja-jp/library/xadzbzd6.aspx

うーん、ここをみると、クエリー文字列(Request.QueryString のことだよね?)
で別バージョンを持つのは簡単そうなんだけど・・・。
Session は・・・カスタム扱いになるんか??

MSDN
OutputCacheParameters.VaryByCustom プロパティ
http://msdn.microsoft.com/ja-jp/library/system.web.ui.outputcacheparameters.varybycustom.aspx


しまった、これもめんどくさそうです・・・。
部分的には難易度はRequest.QueryString を使っているところもあるんだけど、
ユーザーID+難易度ID で表示内容が変わるページで、

ユーザーIDは誰にも見せたくない!!
→なので、QueryString は使いたくない!!
→じゃぁSession に持とうか
→「ついで」だから難易度ID  も Session に持とう

としてしまいました。
それにひっぱられるような形で、難易度IDをSession に持つページがちらほらw

なんかちらっと読んだだけでは使い方がわからんすなorz

しかも「OutputCacheParameters.VaryByCustom」でググっても情報少なっ!!w

①が使いにくいページは④を使ってみるってのも1つの手ではあるか・・・。
入れ子の一番内側にあるGridView コントロールだけキャッシュ対象外にするとか・・・。
(という使い方ができるはず??)

キャッシュ使わないよりはマシになると思うけどどうだろう??

キャッシュありきでページ設計してれば後になってぐだぐだせずに済んだかなぁ。
まぁアフターカーニバルなんで仕方ないやねw

てことでにょろにょろと前進あるのみでつ~

さて、作ってみたはいいけど、やっぱり重たいですな。

デフォルト画面で、難易度の変更を行うと5秒くらいかかる・・・。
http://ifthenelse.jp/p_diva/ (の画面で、EASY や HARD を選択した時)

一応、データベースのインデックスをまったく使ってないので、
そちらを検討してみました。
(まったくといっても、プライマリキーでのインデックスは自動的に作られるようですが)

まぁ結論から言ってしまうと、今回の場合はインデックスはほとんど意味ありませんでしたw
(データ数も少ないですしね~)

インデックスの設定方法メモ

VWD2008(Microsoft Visual Web Developer 2008 Express Edition)の場合

インデックスを付与したいテーブル定義を開く
→右クリックのメニューで「インデックス/キー」を選択

たぶんデフォルトで、「PK_テーブル名」という
プライマリキーのインデックスがあると思います。

IDENTITY の(オブジェクト名)が、インデックスの名前になります。

「インデックス/キー」ウィンドウの左下にある「追加」ボタンで
インデックスを追加できます。
勝手に「IX_テーブル名」という名前を付けてくれます。

簡単なインデックスの付け方は、検索で使っているWHERE 句の列を指定する方法です。
(簡単な付け方しかわからないとも言いますw)

例えば、ストアドプロシージャにて、

スコアテーブルの、以下4つの列がWHERE 句に登場していました。
score
music_id
show_flag
difficulty_id

この場合、「インデックス/キー」ウィンドウで
新しく作ったインデックスの「列」に4つの列を追加します。
「…」ボタンからマウスでできるので、そう迷わないと思います。

で、このインデックスをレンサバのDBに反映する方法ですが・・・。
Active Web では MyLittleAdmin からクエリが実行できるので、それを利用します。

VWD2008 ではクエリを作ってくれないので、例によって
SQL Server2005 でインデックスを作成して
右クリックメニューの「名前を付けてインデックスをスクリプト化」を使いました。


こんな感じになります。

USE [PRO_DIVA.MDF]
GO
/****** オブジェクト:  Index [IX_PRO_DIVA_score]    スクリプト日付: 08/20/2009 21:38:25 ******/
CREATE NONCLUSTERED INDEX [IX_PRO_DIVA_score] ON [dbo].[PRO_DIVA_score]
(
 [score] ASC,
 [music_id] ASC,
 [show_flag] ASC,
 [difficulty_id] ASC
)WITH (PAD_INDEX  = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]


インデックスは、テーブルのCREATE とは全く切り離された存在みたいですね。
インデックスを追加した状態で、テーブルのCREATE 文を生成しても、
全く変化はありませんでした。

インデックスはテーブルの持ち物のようなイメージから、
テーブル作成のクエリに含まれるのかなぁと思ったんですが・・・。

インデックスはインデックス作成用のクエリを別途用意する必要があるみたいです。
環境違いによるインデックスの付け忘れには要注意デス~

まず、ローカルでテストしても、ほとんど体感差はありませんでした。
まぁもともとローカルは速いしなぁ・・・と思いながら、
次に、レンサバ環境にて試してみる・・・。
微妙に速くなった気がしないでもないでもないでもないw

こういうときはちゃんと計測しないとダメですね・・・。
や、むしろ計測をちゃんとしてから性能向上の方法を検討するのが上策だったかも。

MSDN
http://msdn.microsoft.com/ja-jp/library/system.diagnostics.stopwatch.aspx

こんなのを参考にして・・・。

こうしてみました。
SqlDataSource3 がおそらく重たいであろうストアドを使っているデータソースです。
(当然、インデックスを作成したテーブルを利用しています)


Stopwatch _StopWatch = new Stopwatch();

protected void SqlDataSource3_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
    _StopWatch.Start();
}

protected void SqlDataSource3_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
    _StopWatch.Stop();
    TimeSpan ts = _StopWatch.Elapsed;

    string _elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
        ts.Hours, ts.Minutes, ts.Seconds,
        ts.Milliseconds / 10);
    Label8.Text = _elapsedTime;
}

新規にページを開く場合と、そこから難易度のHARDを選択する場合で、
結果を3回計測してみました。


【インデックスなし】
新規
00:00:00.16
00:00:00.17
00:00:00.13

新規→HARD 選択
00:00:00.10
00:00:00.08
00:00:00.08


【インデックスあり】
新規
00:00:00.13
00:00:00.14
00:00:00.15

新規→HARD 選択
00:00:00.07
00:00:00.07
00:00:00.07

うん、かすかに、0.02秒くらい?w
つか、こんなのは誤差の範囲とも言えるレベルですねwww
データが数千件レベルであれば差がはっきりするかもですが・・・。

当然、Active Web のDBサーバの負荷状況によっても変動するでしょうし。

うむ、どうやらSQL の実行そのものは5秒の待ち時間の内訳でいうと、
ごくごくわずかということのようです。

ま、かすかに改善しているようなので?
インデックスはそのままにしておきましょうか。

てことはアレだ、もう一つ策があります。
ページのキャッシュです。

誰かが、データを更新しないかぎり、ほとんどのページは誰が見ても同じはずです。
データベースにアクセスする必要すらないはずなんです・・・。
英語でいうとcache です。

ちなみに、
cash はおなじみ現金の意味で、
cache は隠し場所、貯めておく場所という意味みたいです。

追記:うぁ、はずかしい自分で書いておいてスペルミスとか><; 訂正しましたよ~

うまいこと、誰かがテーブルを更新するまで有効なキャッシュの仕組みが
作れるといいんだけど・・・

てことで以下次号です~

値段は1.3倍みたいですが、通常の3倍売れるとか思ってマスか?
まぁ試しに買ってみようとは思うw
氷が身にしみすぎる、甘いな……シャア専用MSアイスが登場
http://www.itmedia.co.jp/news/articles/0908/18/news077.html

時代は変わる・・・ウルトラマンがしゃべる並にはびっくりしたw
ドロンジョ様がマスクの下の素顔を解禁!?結婚観まで赤裸裸告白!
http://topics.jp.msn.com/entertainment/movie/article.aspx?articleid=121667

まぁなんというか、業界との軋轢を生みたくないクリプトンの立場はわかるよw
「碧いうさぎ」替え歌「白いクスリ」、削除申請の理由をクリプトンが説明
http://www.itmedia.co.jp/news/articles/0908/14/news034.html

噂はあったけど、ついに来ましたか・・・つても買うかは微妙かもw
【gamescom】新型PS3(120G)が正式発表!9月3日より29,800円で発売!!
http://playstation-3.seesaa.net/article/126001318.html
 

よく、動画のうp主が

「この動画がきっかけで見に来ましたとコメントすること」
や、
「別の動画で、うp主の名前をコメントにだすこと」

を自重するように言う(書いてある)のを見かけるが、どうにもそういうのは嫌いだ。

「○○から~」

とコメントに連なるのはウザイかもしれないが、
ほうほう、それじゃぁ○○の動画も見てみようかと思うのである。
コメがウザイなら消せるんだし・・・ね。

また、工作だと思われるのがイヤってのはあるかもだけど、
工作だけで人気が長続きするはずがないし、
中身のあるものを作ったのならそれでいいじゃない?

それが、
「あの動画から~」

と言われた日には『どの動画だよ><;』となるわけで~

だいたい、『歌ってみた』系の動画をニコニコにうpするということは、
カラオケで誰かが歌ったのと同じ曲をもう一度歌うに等しい行為ですよ?
(うpが初ならそれはそれで、これより上手いの上げてみろ!と旗を立てたようなもの)

比較されて当然だし、それは迷惑じゃなくて好ましいものだと思うんですケド。
うp主はそれを覚悟の上でみんなうpしてるはずだよね?
それがイヤならニコニコじゃなくてどこか違うところでひっそりとうpすればいい。

試聴する方だって、よりニコニコできる動画であることを期待してる。

期待してたのに別の誰かの方が良かった(前作の方が良かった)となれば、
なんらかの形でそれを言葉にしたくなるものです。
そしてそれは、少なからずうp主への期待があるからです。
何の期待も持てない動画にはコメントすらしないのが普通でしょう?

ただ拍手だけが欲しいってんじゃなくて、いろいろあった方が面白いと思う。

仮にそれがつまらないことだったとしても、
それを糧にして、次回の動画へのモチベーションにして欲しい

そのあたり、わかって欲しいなぁ・・・とか
 

いやーレベル高い高い!
まぁなんの権威も権限もないんですが私的オススメということで~

●独特のセンス・・・?
ベルセルクを知ってるとなお面白いと思うが、知らなくても圧倒されるだろう。
今回最狂だと思いましたw
マックカラー(こういうとマッキントッシュみたいだがw)のフィギュアがでたら欲しいw

【ニコニコ動画】【第3回MMD杯本選】 蝕

●動き、ノリ、勢い、3拍子そろってる

●お約束といっていい展開だがやはり面白い


●これもよかった・・・感動映画の要素をこれだけ短い時間で集約できるとはw


 

 ●アクション好きな方へ
単純なバトルがおもしろい
【ニコニコ動画】【第3回MMD杯本選】スイカ割り

ストーリーものでバトルあり
【ニコニコ動画】【第3回MMD杯本選】KAITOくんの楽しいおつかい

ネタ的には銭湯とかぶってるが、これもよかった
【ニコニコ動画】【第3回MMD杯本選】レンダース ~失われたパンツ~


●PV系好きな方へ

ボカロ大集合!これもベスト3に入れるか非常に迷った
【ニコニコ動画】【第3回MMD杯本選】 SET FREE 【PV】

アクションではなく演出で勝負といったところでしょうか
【ニコニコ動画】【第3回MMD杯本選】誰ガタメニ花ハ咲ク

ミクオンリーだけど、とても凝っています
【ニコニコ動画】【第3回MMD杯本選】ストロボナイツ~Mステ出演~【初音ミク】

●懐かしいアニメ系

後半のサッカーにも注目
【ニコニコ動画】【第3回MMD杯本選】キャプテン翼OPをかっこよく踊る(PV)

よくみると8人だけど良くできてます
【ニコニコ動画】【第3回MMD杯本選】 サイボーグ0039

 

[1]  [2]  [3
最新コメント
[05/13 backlink service]
[03/21 北斗]
[07/04 肌色タイプ]
[05/22 NONAME]
[08/29 ゼフィ]
最新トラックバック
プロフィール
HN:
イフゼンエルス
性別:
男性
職業:
SE
みっくみくになーれ♪
フリーエリア
メールはこちら♪
広告
カレンダー
07 2009/08 09
S M T W T F S
1
2 3 5 6
10 11 15
16 20 22
23 25 26 28 29
31
カウンター
おすすめ?
IfThenElseのブログ Produced by イフゼンエルス
日めくりカレンダーBLUE Designed by がりんぺいろ
ブログ [PR]不動産売却 電話代行