2007年11月アーカイブ

.NET Framework における比較的特徴的な動作としてボックス化が挙げられます。これは、Java でもそうですが値型と参照型という根本的に異なる型が存在するためです。参照型が値そのものは変数そのものとは独立した場所にあるのに対し、値型は変数内に値そのものがあります。ただ言うまでもなく、値型を参照型に型変換する必要が生じます。そのため、.NET Framework の場合は自動ボックス化が働き、ヒープ上に領域を確保し、そこにデータをコピーするという動作が働きます。しかし、これがループ内などで頻繁に起きたりするとパフォーマンスにネガティブな影響を与えます。Java も 1.5 系列からは自動ボックス化が導入されているのでその辺に注意が要るかなと思います。

で、そういった背景から Box 化確認ツールがいくつか作られているようです。一つは当面 C# と .NET な記録の2006/11/8 のエントリです。これは 1 年くらい前のアーティクルです。それ以外にも最近だと NyaRuRu の日記の "boxing チェッカー"なんかもあります。ポイントは同じで基本的には隠れたボックス化を見つけだすことにあります。ボックス化に関する警鐘はこの記事では Jeffery Richter に書かれているとあるので恐らく、プログラミング Microsoft .NET Framework のことでしょう。欲しい本なんですけど、ちょっと値が張るんですよね。

まあ、NyaRuRu さんのアーティクルは XNA のタグが振られておりターゲットに XNA Framework が入っているのでボックス化のもたらすパフォーマンスの悪化は非常に大きなポイントでしょう。もちろん、ボックス化そのものは非常に便利な機能です。これのおかげで値型と参照型を区別せずに扱えるという強力なベネフィットがありますから。ただ、根本的に違う型ですから便利さにかまけているとその暗黒面に足を取られるということです。

プログラミングMicrosoft .NET Framework 第2版 (マイクロソフト公式解説書) プログラミングMicrosoft .NET Framework 第2版 (マイクロソフト公式解説書)
ジェフリー リッチャー Jeffrey Richter 吉松 史彰

日経BPソフトプレス 2006-12
売り上げランキング : 65445

Amazonで詳しく見る
by G-Tools
Technorati のタグ:

Phantasy Star Universe のプレイ日記を収容する予定で構築した、"Gurhal Dialy" を仮運用開始します。

主に FC2 から来るトラックバックの文字化け対策を実施しました。実施内容は馬に蹴られてのアーティクル "トラックバック文字化け対策(MT3.33)" と同一内容です。lib/MT/App/Trackback.pm を変更しました。

機動戦士ガンダム 00 の刹那・F・セイエイのやたらと口の軽さはあちらこちらでツッコミが入っているようです。

たとえば、ピッコロさんのゲームやアニメについてぼそぼそと語る人では機動戦士ガンダム00 第8話 「無差別報復」のエントリーで以下のように書かれています。

そして、ここで彼から驚くべき一言が飛び出します。「俺のコードは刹那・Fセイエイ。ソレスタルビーイングのガンダムマイスターだ!!」。自ら告白しやがったよ・・・ガンダムのパイロットは、機密事項だとこの前言われたところだと言うのに・・・全く何を考えているのでしょうか?同郷出身のマリナだから心を開いたのか?ただの自己顕示欲か・・・この男やはり危うい・・・。

また、カメリアさんの Weblog cosicosi機動戦士ガンダムOO(ダブルオー) 第8話のエントリーではこのように。

それにしても、刹那は軽々しく秘密をしゃべりすぎてませんか?!
沙慈にコードネーム言ったり、今回はソレスタルビーイングにガンダムマイスターだとバラしてるし。
マリナに最初に言った名前が本名なのかな?
刹那、お口にチャックです!

ここで自分がガンダムマイスターであることを告げる積極的な 戦術的な意味はなさそうですし。戦略的な意味も皆無です。単に機密を漏えいし仲間を危険にするだけの行為に見えます。少なくとも、そこにヴェーダの意図は見えません。まあ、ご本人は自分がここにいるそれが意味だと前回かな言っていましたけど。私ならお口にチャックじゃなくて、お口を縫い付けるかないしはαシアノクレート系の接着剤で張り付けるか、少なくともガムテープです。まあ、ガムテープを鼻まで貼り付けて窒息死するかもしれませんが。

この部分だけみると少々危うい脚本ですね。全体の構成の中でここでマリナが刹那の正体を知る必要はあったのだろうけどもう少しうまい出し方はなかったかと思います。少なくともマイスターのプロフェッショナリズムと矛盾するパーツなんですね。そこに意味があるのなら何も言わないで済むのですが。ちっと、減点1かなぁ。

Technorati のタグ:
第8話です。前回の最後でテロ組織がソレスタルビーイングの活動停止と武装解除を要求して無差別連続テロを起こしたところからです。テロの難しさというのは正規軍とはことなりヘッドクォーターを潰せばほぼ活動を無力化できるとは言えないところです。そのため、どこかの国みたいにテロとの戦いを宣言していても成果の上がらない事態になっているということからもわかります。
まあ、今回は諜報機関が意図的にソレスタルビーイングに対して情報をリーク、それをもとにテロという名の紛争を起こしたテロ組織をソレスタルビーイングが叩くという状況になっています。しかし、今回のイベントは随分と口の軽い刹那です。自分がソレスタルビーイングの構成員であること、自分がガンダムマイスターであること自分のコードネームアザディスタン王国の皇女にしゃべって大丈夫と思いたくなります。この男どうもマインドセットが弱そうです。
ガンダムマイスターの面々はどうも特殊な人材ということもあっていろいろとマインドセットに問題のある人間が多いですね。そういう意味ではミスリルの西太平洋戦隊トゥアハー・デ・ダナンの面々はまだ軍人としてまともな部類です。もっとも、一部の外伝を見ればかれらのイメージも結構、ふやふやになるのですけれども。
今回の件に関してだけ言えば、ソレスタルビーイングという存在は各国にとって都合のいい存在であったのは確かです。正規軍が動けばそれだけで大きな騒動になるが、施設武装組織であるソレスタルビーイングに情報をリークして誘導すれば労せずして一部とはいえテロ組織を叩けますから。
Technorati のタグ:

goo ランキングでゲームの世界に行ったらなりたい職業ランキングが出ているようです。もっとも、URL に fantasy と含んでいる割にはファンタジーじゃない職業もあるようですが。砂イパーはどちらかというと現代戦でしょうしね。ファンタジーだと弓矢はどっちかというと軽戦士の範疇でしょうし。

もっとも、スナイパーは現代戦においてはスポッターが射撃の補助をする場合もあります。ゲームにおいてはまず出てこない存在ですが。一般的には風や目標等の情報を補助する立場です。そういった、射撃以外の仕事を引き受けることでスナイパーが射撃に集中できるようにするのがスポッターです。あまりにも地味すぎるのかフィクションの話でも山猫は眠らないとかでしかあまりみないですが。

忍者も結構ランキングでは高いのですが、NINJA GAIDEN の忍者が忍者かどうかは議論の余地がありますな。だって、ぜんぜん忍んでないんだもん。天誅千乱もポイントの関係で標的だけをあっさり始末するよりも、そのあたりに血の雨を降らせた方がよりポイントが高いんですよ。そういう意味では、忍者とは縁もゆかりもないヒットマン ブラッドマネーが一番忍者的かもしれない。

Technorati のタグ: , ,

rbbtoday の記事によれば "グーグル利用者の10人に一人は友達0人――Eストアー調べ" だそうです。しかし、この話、ちょっとデータを見るだけで突っ込むところが多すぎます。要は"あなたにとって、仲良しの「友達」は何人いますか?" という質問らしいんですが。最初に Google の利用者と Yahoo の利用者を分けているんですね。で、それが 148:249 だったと。その上で Google の人に 0 人が 9.8% いたということを言っているんですが。まず、サンプル数が少なすぎます。さらに、Google と Yahoo の人数が違い、Google の人数が少ないので極端なサンプルがあった場合 Google の方が簡単に多い割合になるはずです。

9.8 % が 0 人とのことなんですが、0.098 * 148 = 14.504 なのでこれもよくわからないですね。仮に 14 人なら 0.09459459 で 9.5% としたいところ。15 人なら 10% ほどでしょうか。計算が合わないんですけれども。まあ、こういう調査をしてみようと思った動機がさっぱり判んないんですけれども。私なら思いつきもしないというか、検索エンジンと友達の数が相関関係があるかななどと考えもしないですが。

まあ、いろいろ書いたんですが。いずれにしても、このニューズは統計としてはゴミに近いどころかゴミそのものです。どの程度の数の標本があれば統計的に有意だといえるのかはもう少し勉強が必要ですが一般に n = (λ2pq)/d2で求められるようです。n が 標本数、d が標本誤差、λが信頼水準によって定まる値でpが当該比率(賛成者の比率)qが1-q だそうです。また、λ=1 のとき信頼水準が 68 %、2 のとき 95%、3 のとき 97% となるようです。これは埼玉県の統計企画指導担当のものが Web 上にあったのでこれを参照しています。

問題設定が違うのでそのままは使えませんが、Google をつかっていますか Yahoo を使っていますかというところでも必要な標本数は信頼水準で 95% を出すのに  (22 * 0.63 * 0.37)/0.032=1036 で 1000 本余りの標本数は要りそうです。今の標本数だとごく単純な話でも信頼水準は 68% 程度ですね。まあ、明らかに因果関係がなさそうなものを無理にこじつけているので完全にトリックなので信頼水準を議論する必要性すらないのですがね。

まあ、いずれにせよ説得力は "It's not close  to zero. It is zero." です

Technorati のタグ: ,

Second Life 内に富士通の SIM が出来たと聞いたのでちょっと見てきました。どこに出しても恥ずかしくない立派なゴーストタウンですが。いやあ、人っ子ひとりいやしない立派なゴーストタウンです。まあ、FM-TOWNS 初代が置いてあったので前でパチリとやってきました。

Fujitsu_Island_001

Technorati tags:

今回の場合、ポイントは先週の回で出てきたアレルヤとソーマのつながりが示唆されたこと。スメラギとビリーとのつながりなど人間関係の構築に見どころがありました。ソーマはグリアを中心に強化されているようです。グリアというのは中枢神経の神経ネットワークに直接的に関与していない細胞群のことです。Glia はギリシア語で糊の意であり、古くは神経細胞群を固定する糊の役割をしていると考えられていたことに由来します。

実際には、その後の脳研究の進展で単純に何の役割も果たしていないわけではあるらしいということが分かってきています。もっとも、この辺の研究は現在進行形のところもありますから、ある日突然ひっくり返る可能性も少なくはありません。そのため、この辺はリアリティを持たせるために持ち出された一種の Buzz word でしょう。

今回はセブンソードがそろったことでエクシアの動きは割と良くなったように思います。もっとも、デュナメスにシールドが装備されたことで。ん、これってデスサイズヘルですか? と思ったのも確かなのではありますが。というか、どうしてもデスサイズヘルのアクティブクロークに見えてしまうのは仕方のないところではあります。

もっとも、今回の最もホットなタームは民間軍事会社 (PMC) でしょう。PMC というのはエンカルタによれば以下の記述を見つけることができます。

直接的に紛争地や紛争終結後の危険地域で、軍事力の提供や、軍事訓練をふくむ軍事コンサルティング、また警備や護衛、物資輸送などの後方支援を、軍隊にかわっておこなう民間企業をさす。

PMC は冷戦の終結が契機となっています。冷戦の終結後、軍事費は削減され各国の軍隊は人員の削減を行っています。結果、訓練を受けた人材が外部に流出したわけです。あまた、米ソ両超大国の締め付けが緩んだこともあって地域紛争が頻発し、いわゆる非対象戦が増加したというのも背景にあります。

ガンダム 00 そのものは架空のドラマです。しかし、架空戦争の行方のアーティクルでも書きましたが現在の時間でフィクションが構築される以上、現在の影響を少なからず受けると思います。これは、最初のガンダムがどこか独仏戦をトレースしているように見えるのもそのためだと思います。つまり、最初のガンダムを作った時点で作り手の中にあったのは第2次世界大戦だったと思います。しかし、ベトナム戦争、フォークランド紛争、湾岸戦争とメディアに移る戦争の空気を映してフィクションの戦争も変わってきたのだと思います。

Technorati のタグ:

今回の Visual Studio 2008 の多分、最大の目玉は LINQ です。LINQ というのは Visual Basic/C# 双方に適用される新規の構文です。LINQ の Visual Basic に関連するまとまったアーティクルは MSDN マガジン記載の 『Visual Studio "Orcas" でのクエリの性能を最大限に引き出す』 というアーティクルです。初期の仕様に基づいていますがアーティクルとしては十分に使えます。

関連したアーティクルでは『基本的な本能:拡張メソッド』, 『基本的な本能:ラムダ式』 も面白いです。それぞれ11月号、9月号の記事です。ただ、十分な分量がある記事なので暇な時に読むでいいかとおもいます。どちらも、LINQ を導入するために Visual Basic に追加された機能です。LINQ とは要するに SQL や XML への問い合わせを Visual Basic/C# で書く機能です。で、これを実現するために後付け的にクラスの機能を拡張する"拡張メソッド"と特殊な delegate という形でラムダ式が導入されたというところです。

ラムダ計算はメソッドの定義と実行を抽象化した計算体系です。これは理論としては 1930 年代に考案された比較的古参の話です。元々は関数型プログラミング言語の論理的な基盤です。実際、Microsoft Research の F# 言語の本である Foundations of F# でも pp24, 26 と比較的前のページで出てきます。

この拡張メソッドとラムダ式が取り入れられた経緯は 2007 年 6 月号の『C# 3.0: LINQ の進化の過程と C# のデザインへの影響』がよいアーティクルです。LINQ の Visual Basic でのサンプルは 101 LINQ Samples という MSDN のサンプル集がいいでしょう。C# のコードは先の MSDN マガジンのアーティクルも面白いです。

例えば、Visual Basic 2008 で db.Customers から ContactName と Phone を抽出する動作は 101 LINQ Samples の Select - Anonymous Type 1 のサンプルからこのように書けるとされています。

Dim q = From c In db.Customers Select c.ContactName, c.Phone

これを C# で書き換えるとこのようになるでしょう。

var q = from c in db.Customers select new { c.ContactName, c.Phone };

単純に言うと今までだと、ADO.NET とかを使ってぐだぐだと書いていた問い合わせを言語の枠内で書けます。で、それを実現するために拡張メソッドや型推論などが使われています。例えば、型推論がなければ特に C# で LINQ の問い合わせの中身の型がなんであるか頭を痛めることになるでしょう。この場合、型推論が効くので C# で q なる変数は object 型ではなく何らかの特定の型として取り扱われます。そうでないと鬼のようなキャストがあちこちで発生し大変見づらいコードになるでしょう。

Foundations of F# (Expert's Voice in .Net) Foundations of F# (Expert's Voice in .Net)
Robert Pickering

Apress 2007-05-28
売り上げランキング : 14833

Amazonで詳しく見る
by G-Tools
入門OCaml ~プログラミング基礎と実践理解~ 入門OCaml ~プログラミング基礎と実践理解~
OCaml-Nagoya

毎日コミュニケーションズ 2007-05-22
売り上げランキング : 131664

Amazonで詳しく見る
by G-Tools
Technorati のタグ:

MSDN の Breaking Changes にも書かれていますし。放っておいても話題になるとは思いますが。Visual C++ 2008 からはついに Windows 9x のサポートが削られ、吐き出したバイナリは Windows 9x で動くことが保証されなくなります。まあ、動かないと思った方がいいでしょうね。従って、WINVER 等のマクロは常に 0x500 より大きい状態で動く必要があります。あと、_osplatform、_get_osplatform 等の変数や関数群もライブラリから取り除かれます。

Technorati のタグ:

mixi をアクセスするライブラリを作ったので上げておきます。OpenSocial の絡みがあるのでいつまで使えるのかどうかは皆目見当がつきませんが。C# で構築し、.NET Framework 及び .NET Compact Framework で使用可能です。取得できる情報はお知らせと足跡です。ライセンスは 修正 BSD ライセンスでの取扱いをお願いします。ソースコード中にはライセンスは一行も書かれていませんので。

使い方を少し説明します。Iron Python での例です。

import clr
clr.AddReference("Cworld2000.Net.Service.Mixi") 
from Cworld2000.Net.Service import * 
credential = MixiAuthentication("ユーザ名", "パスワード") 
client = MixiClient.Create(credential) 
tracks = client.GetFootstamps() 
for track in tracks: 
	print track.Name

この場合、足跡を取得し、名前を表示ます。

エースコンバット 6 をやっています。まあ、この Web Log の Xbox Live のゲーマーカードを見ればやっているのは明らかですが。ストーリーはユリシーズとかの名前が出てくるので エースコンバット 04 の流れをくんでいる感がありますね。フライトモデルは良くも悪くもエースコンバットですね。OverG とはさすがにだいぶ違います。まあ、エースコンバット 3 だけがある種、鬼子のような存在ですからね。

ゲームそのものはかなり面白いと思います。シナリオをど~たらこ~たらいってもこのゲームの場合、意味はないですしね。ゲームとして面白いかが問題でしょうし。面の構成は今は Mission 9 でアイガイオンの攻略をしているところです。アイガイオンはエースコンバット名物と化しているデカブツですね。

バルカンはかなり強化され使い物になる武装になったようです。ファーストインプレッションとしてはこんな感じですね。

エースコンバット6 解放への戦火 エースコンバット6 解放への戦火

ナムコ 2007-11-01
売り上げランキング : 17

Amazonで詳しく見る
by G-Tools
エースコンバット6 オリジナルサウンドトラック エースコンバット6 オリジナルサウンドトラック
ゲームミュージック

キングレコード 2007-11-21
売り上げランキング : 95

Amazonで詳しく見る
by G-Tools
Technorati のタグ:

Somasegar's Weblog の "TechEd Developer in Europe" によれば Visual Studio 2008 と .NET Framework 3.5 が 11 月終わりにはリリースのフェイズを迎えるようです。また、Windows Server 2008 と SQL Server 2008 も 2008.02 月にはリリースの模様です。Task Parallel Library (TPL) はもう少しかかりそうな雲行きですが。

Technorati のタグ:

Recent Tracks

gorn708's Profile Page

このアーカイブについて

このページには、2007年11月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年10月です。

次のアーカイブは2007年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Adwords