僕はここだ!

読書記録とか、ポエムとか、メモとか、コードスニペットとか。まとまったのはQiitaにも書きます。(http://qiita.com/RyotaMurohoshi) 掲載内容は個人の見解であり、所属する企業を代表するものではありません。

Microsoft MVPを受賞しました。

 Microsoft MVPを受賞しました。

 カテゴリはVisual Studio and Development Technologiesです。

 『いつか実現したい』

 そう思っていたことの一つが叶いました。

 とても嬉しいです。今後より一層精進します。

ぼやっとした昔話とか

 もうそろそろ5年前、働き始めて少したったころのこと。自分に自信が持てず「大丈夫だ」の一言が言えなかったことをずっと後悔しています。「大丈夫だ」と言える実力、評価、実績に基づく自信が、その時から欲しくて欲しくてたまりませんでした。

 その後、Unityでのゲーム開発を始めたこときっかけにC#を学び始め、書籍を執筆されたり勉強会で登壇されているMicrosoft MVPの皆さんにあこがれるようになりました。

 「いつか自分もこんな風になれたら」

 自信が欲しかった自分は、いつからかMicrosoft MVPになってみたいという願望を持っていました。それを実現できて、とてもとても嬉しいです。

やってきたこととか

 Unityゲームエンジンのユーザーコミュニティー「Unity部」で

とかをしました。

 個人としては

とかをしました。

これから先のこととか

 「MVP受賞したら圧倒的な自信がつくかな」

 そう思っていたんですが、受賞しても

 「あれできない、あれやりたい」

 という気持ちと焦り等はまだまだたくさんあります。

 ただ評価していただことはとてもうれしく、そして多少自信はつきました。

 今後より一層精進し、肩書だけではなく、自信を持てるようなゲーム・プロダクト・ライブラリを作っていきたいと思います。

 Microsoft MVPの先輩方、とても優秀なゲーム開発者の皆さん、すばらしい技術を持ったプログラマのみなさん。

 みなさんには書籍・勉強会や懇親会などを通じてたくさん助けていただきました。

 みなさんに助けていただいたように、自分もコミュニティーの誰かの役に立つことをやっていきたいと思います。

 最近Unity・C#を用いて個人ゲーム開発を始めました。まずは、そこで得た知見を少しずつ還元したいと思います。

さいごに

 Unity部の部長の@kamayuki_fsさん副部長の@kyusyukeigoさんはじめ、Unity部運営・コミュニティーのみなさんに感謝を。

 そして、5年前つくば時代から文字通り同じ釜を食って、寝食を共にし開発に明け暮れた同僚たちにも感謝を。特に、へっぽこだった自分を育ててくれた@wutaliとこの道に引きずり込んでくれた@shibushu_capに。

 2016年10月03日(月) 午前2時 自室にて

 室星亮太

.NET Fringe Japan 2016に参加しました

2016年10月01日(土)に松竹スクエア13Fのドワンゴセミナールームで開催された.NET Fringe Japan 2016に参加しました

f:id:MRStar:20161001164326j:plain

.NET Fringe Japanは日本版の .NET Fringe です。 .NET Fringe Japanでは、 .NETに関する深く詳細な話題を主に取り上げます。

F# Deep じゃない Dives

Microsoft MVP for F# Visual Studio and Development Technologiesな、なかやんさんのセッション

F#、よさげ

「はじめにお読みください」な C# 言語機能の作り方 - 機能は用法・用量を守って正しく追加してください

岩永信之(@ufcpp)さん

『「独自に言語を作ろう・拡張しよう」みたいな話は、ハシカみたいなもんです』

お、おうorz

GitHubのissueに言語機能の追加・改善のリクエストが上がっているのですが、

さて、セッションの後半、C#のコードのサロゲートペアの話題に。

C#の仕様では𩸽(ほっけ)という文字がコードに使えるはずなに、実際の実装では使えません。

これを修正することを題材に、コンパイラの修正をすることに!

Azure Storage の構造とパフォーマンス

Takekazu Omi(@takekazuomi)さん

最初にイントロで昔のAzureの小話。

昔、Azureでサロゲートペアな文字列が含むデータを挿入できたけど、それを取得しようとしたら取得できなかったそうです。その原因が絵文字(サロゲートペア)だったらしいです。

昔のAzure、「𩸽」って文字も入れられなかったんだな~

Xamarinソースクエスト

Atsushi Eno(@atsushieno)さん

「Xamarinの不具合を踏んだ時の調査のために、Xamarin自体のコードを読みたいけど、どう読むのか」という時のためのセッション!?

探している目的のコードが実は違ったりとかするからややこしいみたいorz(Cycleの番号に注目!)

monoの実行時のオプションの指定とか、mono/monoの内容や、ビルドの方法・結果などDeepな内容を紹介されました。

「とりあえず3回ビルド!」

MessagePack for CLIとそこから学ぶ.NETのマルチプラットフォーム対応

FUJIWARA, Yusuke(@yfakariya)さんd

github.com

MessagePack implementation for Common Language Infrastructure / msgpack.org[C#] http://msgpack.org

に関するセッション。

まず、FUJIWARAさんのライブラリを作る指針として

だそうです。

海外でも広く使われているライブラリ、深夜にissueがとんでくるそうなのですが、

orz

What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの原理原則

neuecc(@neuecc)さん

発表者の@neueccさんが、過去に作られた(この後作るのも含む)30のライブラリを振り返り、当時のC#を中心とした技術の流行りやライブラリ作成の工夫を振り返ったセッション

Unityクラスタな俺は、UniRxやLinq to GameObjectお世話になっております。

めっちゃツイート伸びた!!!!

Beachhead implements new opcode on CLR JIT

Kouji Matsui(@kekyo2)さん

github.com

新しいオペコードを定義する?え、定義する?

どういうことって感じだったんですが、

やばい。力不足

.NET Core とマルチ プラットフォーム Deep Dive

荒井省三さん

関連

俺、ベースが弱いorz

おまけ:お昼ご飯

お昼ご飯前の岩永信之(@ufcpp)さんのセッションで、𩸽(読み:ほっけ)という単語が何度もでたので。

もう食べるしかないでしょ。

UniBook6の「Hello Programmable Tile!」という章を執筆しました。

 コミックマーケット90でUnity部が頒布するUniBook6。その第一章「Hello Programmable Tile!」を執筆しました。

 UniBook6は、コミックマーケット90の3日目(2016年8月14(日))、西f-21aにて頒布です。

 他の方の執筆内容や価格などは、Unity部のこちらのページを確認してください。

Unity部って?UniBookって?

 Unity部は、ゲームエンジンUnityのユーザーグループです。(私はその運営をお手伝いしています。)

 UniBookは、そのUnity部の有志が集まりUnityに関連するトピックを、担当者がそれぞれ自由に執筆する技術同人誌です。

 直近過去4回のコミックマーケットでUniBook1からUniBook4を、2016年6月25日(土)に開催された技術書典でUniBook5を頒布しました。

 そしてコミックマーケット90の3日目(2016年8月14(日))にて、Unity部はUniBook6を頒布します。

執筆内容は?

 Unity 2D機能の早期アクセスバージョンであるUnity 2D Experimental Preview。その一部であるTile Map Editorの中のProgrammable Tile。

 私が執筆した「Hello Programmable Tile!」では、2D Experimental Previewとは、Tile Map Editorとは何かを説明し、サンプルプロジェクト内のProgrammable Tileのサンプルコードの簡単な解説を行いました。

 執筆モチベーションとしては、Unite 2016 Tokyoの「ビルディング・2Dワールド in Unity ~2D機能のあれやこれや~」というセッションで感動した、Programmable Tileを一人でも多くの人に広めたかったからです。

 セッションの動画はこちら

 完全に余談ですが当初「Unity5から地味に加わっていたメソッド達」という内容を計画していたのですが、もろもろの理由で没にしました。

かっこいいデザインが!

 けーご氏の手腕により、UniBook6は、Re:VIEW + InDesignにより作成されています。

 ありがとう、けーごさん!超かっこいい!!!

さいごに

 あまりまだ情報がないProgrammable Tileに興味がある人はぜひ手に取ってみてください!

 UniBook常連の方も、UniBookは初めての方も、UniBook6をよろしくおねがいします!

湯ナイト2016に参加しました

 2016年、7月16(土)・17(日)・18(月・祝)で開催された湯ナイト2016に参加しました。

f:id:MRStar:20160719015420j:plain

 私が所属するUnityユーザーグループ、「Unity部」の夏季恒例イベント、「湯ナイト」。その年の4月に開催されたUnityの公式カンファレンス「Unite」のセッション動画を見て、それについてディスカッションを行い、Unityの理解度や知見を高めよう、というイベントです。例年、静岡の伊東の山喜旅館様で二泊三日の日程で開催しています。温泉に入ったり地元のおいしい料理も食べたりします。あと翌月に控えたコミケのために、UniBook(Unity部が出している技術同人誌)の作業をしたりもします。

 さてこの湯ナイト、泊まりがけのイベントということで、普段の勉強会や懇親会よりもより深い話や相談ができます。毎年毎年、諸先輩方にアドバイスをしていただいたり、相談にのっていただいたりと、大変感謝しております。

 また来年、湯ナイトが開かれ、エンジョイできればと思います。

 あと、ですね、湯ナイトって、毎年海の日当たりの3連休で開催するんですよ。そして僕の誕生日、旧海の日(7/20)なんですよ。

f:id:MRStar:20160719015436j:plain

 ちょっと早いですが、祝っていただきました!本当に、本当にありがとうございます!!!何歳になっても祝ってもらうのはうれしいですね!ありがとう。部長のかまたさん!

 以下、湯ナイトのツイート。

 まじめに動画を見ているところの写真を撮り忘れました。

 さて、毎年最終日は観光をします。今年は一昨年につづいて初島という伊藤・熱海から25分くらいでいける離島にいきました。そこでシュノーケリングを体験したんですが、大変感動してしまいました。「すげー」という言葉しかでてこなかったです。魚以外にも、小さなイカとか、ウツボ?とか、カニとか、いろいろいました!!!

 伊東も初島もとてもいいところなので、皆様ぜひ!!!

 来年の湯ナイトが楽しみです!

 

dotnetConf 2016 Japanに参加してきた!

 2016/07/09(土)に日本マイクロソフトさんで開催された dotnetConf 2016 Japanに参加しました。

f:id:MRStar:20160709220546j:plain

 各セッションの感想などです。

dotnetConf 2016 Japan 開催にあたって ~ .NET の今と未来

 チャックさんとDrew Robbinsさんのセッション

 6/27に.NET Core 1.0がRTMになりましたね!日本からのContributionも多くなってきたそうです。

 デモが中心のセッションで「WindowsマシンでVisualStudioを使いASP.NET(.NET Core)のプロジェクトを作って、Macのマシンでそれを動す。」って内容でした。

 チャックさんとDrew Robbinsさんのデモプロジェクト中での画像イジリ合い、とっても楽しかったです。

.NET Standard Library

 BCL(Base Class Libarry)とMono、そして.NET Core用の基本クラスライブラリ群、それぞれどうなっているんだろう?差があるのか?あるならどんな差なのか?そしてこれらの差は今後どうなっていくのか?という疑問をもってました。

 岩永さんさんのセッションで「.NET Standard Library」ですっきりしました。

 発表資料

Xamarinの新しい話とMonoの深い話

 榎本さんちょまどさんのセッション

 ゆるふわなXamarinの新しい話を、ちょまどさんが、

 いくつかのトピックスを、ちょまどさんと榎本さんの掛け合いで、

 そしてMonoの深い話を榎本さんが担当されました。

 XamarinのMiguel de Icazaが登壇した本家dotnetConf 2016の2日目のキーノートは、「Xamarinを使う」より「Xamarinがどう動いているのか」だったようで、その補足説明的な内容だったようです。

 わかりやすかった~

 ちなみにちょまどさんいわく、ここ重要なポイントらしいです。

 発表資料(榎本さん)

MVVM Done Right with Xamarin.Forms and Prism

Brian Lagunasさんの英語セッション。

残念ながら、基礎知識がなくちょっと雰囲気を感じ取っただけでした。

英語セッションでしたが、すごい聞き取りやすい英語でゆっくりはっきり大きな声で話してくださったので、とっても聞き安かったです。

Brian Lagunasのプレゼン、おもしろい!!!

通訳の人もすごかったです。英語の慣用句とか英語のプレゼンでの表現とか、訳すのすごい大変そうでしたけど、とても楽しかったです。

.NET Core on RHEL

たなかさんのセッション

RHEL上での.NET Coreでのデモがメインのセッション

私自身LTや登壇をするのですが、デモとかライブコーディングは基本的にやりません。 イレギュラーなことへの対処が苦手なので。

チャックさん、Brianさん、たなかさん、ばっちり落ち着いてデモをされていてすごいなーって思いました。

発表資料

ASP.NET Core

しばやんさんのセッション

  • ASP.NET CoreとASP.NETは違う
  • 広報互換性を捨て去った
  • System.Webを捨て去った

らしいです! しばやんさんも、デモ!すごい

.NET Core/VS/VSCode他ツール類

ぼんぷろさんのセッション

ライブコーディング、もといライブツールインストールをしたこれまたデモセッション。

ハッシュタグ #dotnetconfJP、がついたツイートをプレゼン中の画面に表示していました。

Unityの勉強会で同じことをされた方がいてその時には、その勉強会のハッシュタグがトレンド入りしたことがありました。

こちらの勉強会でも盛り上がりましたね!

懇親会

すてきなピザ、サンドウィッチ、ドリンク、そしてケーキがふるまわれました!

Microsoftさん、日本マイクロソフトさん、ありがとうございます!!!!!

近いうちにC# User groupさん主催のRoslynのもくもく会が開かれるみたいですので、行けたら行きたい!!!

「Kotlin 勉強会 #1 - 初めての Kotlin」でLTしてきた

 2016/07/05(火)に開催された「Kotlin 勉強会 #1 - 初めての Kotlin」でLTしてきました。

自分の発表内容

 制限時間は5分のLTでした。

 発表タイトルは、「いつか役にたつかもしれないコレクション周りの5つのこと」

 発表内容としては、次の5個のTipsを発表しました。

  • 状況に応じてSequenceを使うべきな件
  • 要素が空の時のaverageメソッドが0.0を返してしまう件
  • キーが重複した際のassociate系メソッドが例外を投げない件
  • デフォルトインポート拡張関数を上書きできる件
  • メソッドのオーバーロードとitが相性悪い件

 資料はこちら

 この内容は「KotLinq」を作っている際に発見したことです。細かすぎて、ネタかぶりは心配していなかったんですが、楽しんでいただけたでしょうか?そして役に立つ内容だったでしょうか?

 発表の反省点としてはディスプレイケーブルを忘れてしまったことですね。いつもの会場だと各種そろっていることが多くて、甘えてしまいました。常に持ち歩かねば。

懇親会

 他の参加者の方とKotlinの話だけでなく、Androidのお話しさせていただきました。業務で最近Android担当になったんですが、最近の潮流とかつらみとかを教えていただいたり、いろいろな考え方を聞いて大変参考になりました。

 Jakeの影響ってすごいんですね。

 ありがとうございました。

 Kotlin流行るといいな。いやまぁ、JavaよりKotlinで書きたいな。

次へ

 7/1(金)のSansanさんの勉強会とあわせてKotLinqを作っている際のネタですね。

 つぎはyieldとかgeneratorのネタをがっつり貯めてやりたいな

2016年4月~6月振り返り

 2016年も気が付けば、半分終わりましたね。

 4月から6月のプログラマとしての個人活動を振り返り、3カ月前に立てた目標を反省し、次の3カ月の目標をまとめます。

de:code 2016 のコミュニティーブースにUnity部として出展した

 マイクロソフトさんにお声がけいただき、de:code 2016のコミュニティーブースに、私が所属するユーザーグループUnity部が出展させていただきました。

 とても素敵な経験でした。ありがとうございます。

 関連 de:code 2016に技術コミュニティーブースとして出展してきた!

Rx.NETにほんのちょっとContributeした

 Rx.NET(実際はIx.NET)にPull Request送って採用されました。

 やったぜ、これで(なんちゃって).NET Foundation contributorデビュー!!!(実際は大したことしていない)

 関連 「.NET Foundationが一つ、Rx.NETにほんのちょっと、ちょっとだけContributeした

UniBook5執筆参加

 第1回目から毎回参加しているUnityの技術同人誌、UniBookの執筆。

 今回はMathfという型の使い方や利用例、コーナーケースでの結果を紹介しました。

 次回夏コミでもUniBook6が決まっているので、こちらも頑張ります。

 関連 「UniBook5の「Mathfのススメ」を書きました

Qiitaで「【LINQの前に】ラムダ式?デリゲート?Func<T, TResult>?な人へのまとめ【知ってほしい】」が500ストック超えた

私が書いたQiitaの記事の中で一番ストックされている記事

【LINQの前に】ラムダ式?デリゲート?Func<T, TResult>?な人へのまとめ【知ってほしい】

が500ストックを越えました。

かなり時間をかけて書いた記事ですし、内容的にも頑張ったのである程度目標としていた500ストックを超えることができてうれしかったです。

ライブラリ開発とGithubの草運動

 をちょいちょい開発しています。

 「KotLinq」と「CollectionExtensions」(旧Kollection)は6月末までにリリースを目標としていたのですが、これはできなかったので、引き続き開発を続けたいです。

 「Githubに毎日1コミット、毎日草を生やそう」という運動もしているので、その運動の一環としてこれらも頑張っています。頑張ってリリースまで漕ぎつきたいと思います。

ブログ投稿

技術的なことはQiitaに、勉強会の参加等ログ的なことははてなブログに書いています。

Qiita

 3件だけですね。

 「IEnumerator、MoveNext()がfalseを返す状態でCurrentにアクセスした際の挙動は未定義」は、Rx.NET(Ix.NET)にcontributeした際の関連事項です。

 「intが2のべき乗か求める方法。そしてUnityのバグ」も、UniBook5の執筆した際の関連事項です。

 次の3カ月はもう少し書きたい。

はてなブログ

 勉強会のブログが6件、成果物報告が2件、読書ログが1件書きました。

 勉強会参加ブログは自分が登壇した際、ほかの人の登壇内容等を書けてないので少ない分量でも書きたいですね。あと、読書量を増やして、読書感想ブログも数件書きたいですね。

勉強会

 de:code 2016にコミュニティーブースで出展したのが今期の一番の思い出ですね。

 事前準備した登壇は1回だけですが、2回ほど飛び入りでLTをしたりもしました。

出展

 運営をしているUnity部として、「de:code 2016」のコミュニティーブースに出店しました。とても素敵な経験をさせていただきました。

 あと私は当日会場にいっていませんが、技術書典にてUnity部の他のメンバーの方がUniBook5を販売しました。

登壇

 登壇ではないけれどUniteでTAをしました。

 「de:codeの前夜祭」と「まどすた」では、飛び入りLTをやらせていただきました。

 「まどすた」では、機会があったら話そうかなって以前から思っていたネタを話しました。「de:codeの前夜祭」では、その場で翌日のde:codeのUnity部のブース出展を宣伝しました。

 事前に準備した登壇は、「第3回Kotlin勉強会 @Sansan」の10分のLTだけですね。もう少し長めの登壇もしてみたいです。

参加

 Unite、de:code 2016ともに大きなイベントでした。いつか大きなイベントで登壇したいです。

 JXUGのやつはスタッフとして、当日誘導などをお手伝いさせていただきました。

4月から6月の個人活動の目標振り返り

できたもの

  • 勉強会に参加したら必ずブログを書く
  • UniBook5執筆頑張る
  • 毎日Githubで草はやす

できなかったもの

  • 週2回・計24件Qiitaに投稿
  • 読書記録ブログを5件書く
  • 勉強会を企画・運営する
  • 20分以上何かで登壇
  • KotLinq・Kollection完成

 ブログ関連が全然書けなかった。土日しか執筆できないようねスケジュールな週が多かったり、UniBookの執筆に時間を割いたのもありましたが、執筆時間がとれず、ブログの筆をとるのをめんどくさがったのが敗因です。

 UnityもC#もKotlinも細かいネタはあるので、小出しにしていきたいです。

7月から9月の個人目標

できたもの

 前回できたものを継続する

  • 勉強会に参加したら必ずブログを書く
  • UniBook6執筆頑張る
  • 毎日Githubで草はやす

前回できなかったものを修正した目標

  • Qiitaとはてなブログ、合計20件以上投稿する
  • 書籍を3冊読んで、ブログに書く
  • 20分以上何かで登壇
  • KotLinq・CollectionExtensions(旧Kollection)の完成

最後に

2016年7月、8月、9月は、最高の夏にしたい。