rider.お品書きサクッと書いて公開して、後でちまちま修正する事がママあります。なんじゃこりゃ?と思ったら、数日してから見て貰えると嬉しいです。「スクラムの実践方法を分かりやすくマンガも交えて解説。2016」が開催され、そこで登壇してきました。動画での配信も行われました。タイムシフト予約が必要だったので、今からは見れないかもしれません。mov貰えないかと言う話をしているので、もしかしたらch9に転載するかも...10時~20時までと、非常に長い一日で、かつ非常に濃い内容の一日。遠慮不要な題材を扱ったという点で、とても面白かったです。私は主にtwitterで反応してました。こっちにまとめてあります。上のニコニコのコメントですが、Roslynの赤いシャツはココで売っています。私のパーソナルカラーです。.NETの人」は、私の後の最後のセッションの荒井さんです。Fringeは海外のコミュニティで、結構大規模に運営しているようです。ターゲットとしているのは.NETであってもOSS界隈のようで、HanselmanやSymeの顔がばーんと出てる辺りでも大きそうな感じです。Fringeの日本開催の打診があった時には、どの程度人が集まるのか良くわからない、と言う所からスタートしました。2月初旬ごろだったと思うのですが、yukitosさんがtwitterで運営の声掛けをしていて、(私が名古屋にいると言う事もあり)一瞬迷ったのですがおもしろそうだと思って、運営に参加させていただきました。それから上記の通り規模感が分からないのと、あまり大きくやろうとすると運営側の準備も大変になってしまうため、初回はOSS寄りと言う意向だけ本家からくみ取って、あとは自由にやる感じで進めて今日に至りました。運営的な課題もあったのですが、開催してみたら人は集まるし、心配は杞憂でした。非常に有意義だったと思います。次回も是非やりたいですね。このあたり、enoさんも詳しく感想書いて見えるので、参照お勧めします。JIT」と言うタイトルでした。無事にやりきることが出来たのは、自分自身も嬉しかったです。導入の事を詳しくしゃべれなかったので、この記事で書いておきます。去年のこみゅぷらすの時に、fujiwaraさんと初めて会って、その時にシリアライズ技術の話で盛り上がりました(ここはセッション中に軽く触れました)。シリアル化の高速化技術の手段として、ネイティブコードかそれに近い筋の最適化技術を適用できないか(特にデータのコピー)と考えていました。私は過去にx86のSSE命令などを駆使して、アセンブラで超高速なコピーコードを書いていた経験があったので、この時はネイティブコードでそれを実装して、シリアライザからDllImportとかでそれを呼び出すか、或いはC++/CLIかーみたいな事を考えていました。今回のネタでも解消したわけではありませんが。今回のネタのために、改めて資料やコードを読み返してみたりしていました。Core側の話があります。Coreの存在意義をあまり見いだせていなくて、やっぱりNETMFのように「.NET動いてくれて軽量な、良さげなランタイム欲しいな」と思ってました。Coreが動くようになったので、ぶっちゃけそれでもいいわけですが、もっとOSカーネルコードが要らないような世界でも使えたら良いなと。すると、coreclrがOSSになったことで、これをNETMFの後釜に出来る(ように改造できる)可能性があるかなと言う、淡い期待。改造できるような見込みがあるのかどうか、感触を得てみたい(いつか)このような(お話してない)バックグラウンドがあった上で、まぁRoslynもcorefxもアレだし、と言う所に繋がってきています。難産だった部分の話も少し触れておくと:9月中は色々本業が忙しくて、思うように検証の時間が取れなくて焦っていた...最初に考えたネタがシリアライズの延長線として、JITでSSE2のPREFETCHNTA命令とかMOVNTDQとかを生成できないかなーと始めたのですが、これが最初にしては余りにネタの高望みし過ぎで、余計な改造をあっちこっちにした挙句、最後にプリフェッチヒント対象のアドレスをどう関連付けるのか、と言う所で(焦りと入り混じって)詰んでしまい、敢え無くボツ。ベースキャンプに行って頭を冷やしながら、本業の仕事を少しこなしていた時に、たまたま名古屋方面で良く顔を合わす面々と昼飯食べながらボツネタの話をしていたら、新たなネタを思いついたので、そっちに方針転換。これは、coreclr上で全てのクラス内インスタンスメソッドを、強制的にvirtualとして扱うようにして、「本来オーバーライドできないメソッドがオーバーロード出来るようになりました、これでJava派の人たちに.NETでMockを扱いにくいとは言わせないぞ!!」という、これまた鬼畜で楽しそうなネタでした。tests)するのか?と言う所で詰み...メタデータ上はあくまでvirtualではないメソッドをvirtualとして扱うので、コンパイル時にもこれをだましてILを生成させないと、テストコードが実現出来ません。virtualなメソッドを呼び出すときには、callではなくcallvirtを使わなければならないからです。ここまで来て詰んだ感かつ、他の発表者は全員題目発表済みだったので、かなり焦りがありました。みたいな事を考えて、今回のネタに絞り込みました。:)実際になんとか動作検証出来たころには、狭めた範囲でも十分セッションの時間を使い切りそうだという事がわかり、やっぱり「やりすぎは良くない」「継続的に進めるのが重要」と言う事を改めて自覚できました。Japanとしては、年一回のペースでやろうか、という話をしているところです。foundationから誰かスピーカーをお願いしたり、と言う事があるかも知れませんね。ああ、すっかり忘れていましたが、OzCodeのFounderさんが、是非日本でOzCodeの解説をしたい、なんて言う話も貰ってました。日本に閉じるのではなくて、もっと世界ともつながっていきたいと思います。スライドを全部(腐った)英語で書いたのは、そういう試みでもあります...今回のセッションを生で聞いていただいた方、ニコニコ経由で聞いていただいた方、ありがとうございました。WordPress%d人のブロガーが「いいね」をつけました。