読者です 読者をやめる 読者になる 読者になる

僕はここだ!

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

任天堂Switch体験会2017に行った!楽しかった!!!

マンガ・ゲーム・アニメ イベントレポート

f:id:MRStar:20170115224448j:plain

 2017年1月14日(土)・15日(日)、東京ビッグサイトの東3ホールで開催された任天堂Switch体験会2017に参加してきました!

 その感想ブログです!

www.nintendo.co.jp

家族やグループで盛り上がりそう!「1-2-Swtich」

f:id:MRStar:20170115224321j:plain

 動画「Nintendo Switch プレゼンテーション 2017」で、『誰もが一緒に遊べるゲーム』として紹介された、「1-2-Switch」

 体験会の会場の入り口をくぐると、とても大きな「1-2-Switch」の体験ブースがそこにありました。

f:id:MRStar:20170115235105j:plain

 上の写真で私(画面右)が持っているコントローラ「Joy-Con」。このJoy-Conを使って遊ぶミニゲーム!1-2-Switch!

 プレゼンテーション動画でも、事前のイントロダクションでも、「『画面を見て遊ぶ』ではなくて、『一緒に遊ぶ相手の目を見て遊ぶ』という説明をされました!

 体験する際は、スタッフの方(画面左)がガンガン盛り上げてくれました。またスタッフの方は、体験者が入れ替わる間には待機列で待っている人たち(写真後ろ)も盛り上げてくれます!

 上の写真は、「大食いコンテスト」というミニゲームのスタッフさんと取らせていただいた写真、下の写真は「真剣白刃取り」というミニゲームのスタッフさんと取らせていただいた写真です。(許可済みです)

f:id:MRStar:20170115224353j:plain

 各ブースのスタッフさんは、それぞれのミニゲームに合わせた服装そして演技をして、遊ぶ人と待機列に並んでいる人たちを大変楽しませてくれました!

 実は私が会場入りした時には、整理券の配布が終了していてキャンセル待ちの列に並ばなくてはいけませんでした。その待ち時間は、他の方が楽しんで遊んでいる様子を見たり、スタッフさんが盛り上げてくれたりで、あっという間に過ぎていきました。

 私が今回遊んだゲーム「大食いコンテスト」と「真剣白刃取り」

 「大食いコンテスト」は「モーションIRカメラ」を活用した、Joy-Conの近くで口をパクパクしてサンドウィッチを食べるという体験を模したゲームでした!最高記録は10回だったそうですが、私は9と1/2。惜しい!

 「真剣白刃どり」はJoy-Conを振ったり挟んだりして、真剣白羽どりをするゲーム。すごい小さなお子さんでも遊べそうですね!大学生の宅飲みや自宅コンパでも活躍しそうですね。あまりコンパ行ったことないんですけどね、はい。

 この1-2-Switch、一人で体験会に遊びに来た私は、友人や恋人(いないんですけどね)と一緒に「相手の目を見て」体験できたらもっと面白かったのにな、と少し後悔しました。

www.youtube.com

仲のいい二人で!テーブルモード!そして「SUPER BOMBERMAN R」

 テーブルモードでのゲームプレイが気になっていたので、SUPER BOMBERMAN Rをテーブルモードで体験してみました。

 テーブルモードはSwitchをテレビにつなぐのではなく、Switch自体のディスプレイをテーブルなどに置き、Joy-Conを分離させて遊ぶモードです。Joy-Conを二人で分け合って遊ぶこともできます。

 このテーブルモード、「ディスプレイが小さいのでは?Joy-Conが小さいのでは?」と思ってました。

 体験してみて、この大きさでも私は快適に遊ぶことができました!もちろんゲームの種類にもよるでしょうが、二人肩を並べてゲームするという体験はとても楽しそうです!

 一人だったので、初対面の同じく一人で来られた方と一緒に体験しました。ボンバーマン、懐かしくやっぱり楽しい!

 このテーブルモード、パンフレットではカップル・友人・兄弟っぽい二人が肩を並べて楽しく遊んでいる様子の写真が載っています!旅の隙間時間に、カフェで過ごすひと時に、テレビのない場所で、いろいろな時間や場所で親しい人と肩を並べてゲームをする体験は素敵だなと思いました。

www.youtube.com

格ゲー苦手だけどやってみたくなった「ARMS」!

 動画「Nintendo Switch プレゼンテーション 2017」で、やりこみ度が高いゲームとして紹介されていたARMS。

 あまり格闘ゲームをやらないのですが、完全新作で、Joy-Conの特性を生かし、Switchらしいゲームということで体験してみました!

 動画「Nintendo Switch プレゼンテーション 2017」では、次のように説明されていました。

伸びる腕を使った格闘スポーツです。相手に直接パンチをあてるボクシングのようでもあり、遠くの相手を狙い撃つシューティングのようでもあります。

 このゲームも、初対面の同じく一人で来られた方と一緒に体験しました。簡単なチュートリアルをして、対人バトル体験しました!

 ゲーム音痴な人ってレースゲームで曲がるとき体が動くじゃないですか。そんな感じで攻撃を避ける時、体を動かしてしまいましたorz

 必殺技が発動すると、ボクシングのシャドーボクシングをするみたいにJoy-Conを持った手を振りまくるのですが、それがとても気持ちよかったです!

 体験し終わったら、少し汗をかいていました。格ゲーをあまりやらない私ですが「ARMS」買いたくなりました。

www.youtube.com

任天堂スペシャルビッグバンドのファイアーエムブレムのテーマが聞けた!

 開催日の二日間、ステージでは様々なイベントが行なわれました。

 そんなステージの2日間通して最後のイベント、任天堂スペシャルビックバンドによるゲームミュージックライブ!

 ドンキーから始まりカービィ。夢中になって遊んだゲームのBGMをスペシャルビックバンドの迫力のある生演奏を聴くことができ、大興奮でした。

 一番興奮したのは、ファイアーエムブレムのテーマ!めちゃめちゃ高まりました!ファイアーエムブレムは、あとifのテーマも聞けて最高でした!

 実は途中でARMSの体験をしたためすべてを聞けなかったのが、ほんのちょっと残念です。

 ゲームミュージックライブ以外にも、私が会場についてしょっぱな声優の杉田智和さんと緑川光さんが登場された「ドラゴンクエストヒーローズⅠ・Ⅱ for Nintendo Switch」を見れてとても高まりました!(杉田さんが出てるアニメが好きなので)

遊んでいる人たち、見ている人たちが楽しそう

 今回、Switch体験会のブースを見て思ったのは「ブースがほかの人が遊んでいる様子がとてもよく見えるように設計されている」ということです。

 夢中に楽しそうに遊ぶ様子を見ていると、早く遊びたいという気持ちが自然と高まります!

 また、遊んでいる最中だけでなく待機中も楽しそうにしている人がたくさんいました。

  • 1-2-Switchの待機列で思わずテーマソングを口ずさんでいた高校生くらいの男の子
  • 1-2-Switchのスタッフさんにあおられて、盛り上がる待機列の皆さん
  • 1-2-Switchを楽しそうに遊んでいる兄弟の様子を撮っているお母さん
  • ARMSの待機列で楽しそうに話していた大学生っぽいグループ
  • ARMSを遊びながら、夢中で腕を振り回す男の子
  • ゼルダの大型ディスプレイを食い入るように見つめる小学生の男の子ふたり組
  • 「これファイアーエムブレムの音楽だ!」ってテンション上がってる外国人の友達グループ

 みなさんめちゃめちゃ楽しそうでした。私も楽しかったです。

さいごに

 Swtich発売日の3月3日が楽しみです!

 もともとSwitch本体は買う予定だったんですが、買う予定がなかったソフトもがぜん買いたくなってきました!

 お金ためなきゃ!

 一人でやるゲームも楽しそうですが、友達・恋人・家族と一緒に、相手の目を見たり1-2-Switchをしたり、肩を並べてボンバーマンをしたり、ARMSをやってわいわい盛り上がるの、とても楽しそうです!

おまけ 写真いろいろ

f:id:MRStar:20170115224458j:plain

f:id:MRStar:20170115224314j:plain

f:id:MRStar:20170115224442j:plain

f:id:MRStar:20170115224505j:plain

f:id:MRStar:20170115224512j:plain

f:id:MRStar:20170115224519j:plain

2017年の個人目標

ポエム

 2017年の個人目標です。

 なるべく次の条件を満たすような目標にしました。

  • 数値を入れる
  • コツコツ積み重ねられる
  • 一回失敗してもそれで終わりにならない
  • 外的要因が少なく、自分が頑張ればなんとかなる

 以下目標です。

  • 個人ゲーム開発3個リリース
  • ブログ 100記事書く
  • TOEIC 860点以上をとる
  • 体重62kg以下にする
  • 彼女を1人作る

 最後だけ、めっちゃ外的要因!

個人ゲーム開発3個リリース

 個人ゲーム開発者としての目標。

 数を出していきたい。ゲームを作る、だけでなく遊んでもらうために「宣伝する」ということの知見もためていきたい。あとあわよくば「ファン」になってくれる方を見つけていきたい!

 ガンガンつくる!

 迷った目標

  • 作ったゲームが単独で50000ダウンロード
  • (Google Play or AppStore)で作ったゲームがフューチャーされる

ブログ 100記事書く

 プログラマとしての目標。

 迷った目標

  • MS MVP継続
  • GitHubで合計Star100個
  • 12回以上登壇
  • ある程度の大規模カンファレンスで1回以上登壇

 以上の目標と悩んだんだけど、外的要因に左右されない一番自分でハンドリングしやすいにやつに設定。

 アウトプットするためにはまずインプットもガンガンしていきたい。

 もちろん量だけでなく、質も上げていきたい。

TOEIC 860点以上をとる

 プログラミンやゲーム開発以外のスキルアップの目標。

 英語力を上げたい。

  • ドキュメントをすらすら読みたい
  • (砕けた表現の多い)フォーラムもある程度素早く読みたい
  • MS グローバルサミットでの雑談とかディスカッションにがつがつ参加したい

 現在のスコアが630点。TOEICのスコアで正確な英語力は測れないかもしれないけれど、630くらいのスコアで860を目指すのは、英語力向上に有効な気がする。

 そもそも、自分は基本語句とか文法とかの理解が足りない気がするし。

 MSグローバルサミットで、がつがつ他の参加者と英語で話したい。

迷った目標(できたらやりたい)

  • 週N回、英語のフォーラムを読む(RoslynとかUnity Experimentalとか)
  • 週N回、英語のフォーラムに投稿する
  • 週1回、英語で技術ポストをする
  • 2日に1回はDMM英会話

体重62kg以下にする

 健康関連の目標。

 現在の体重は70kg。(身長は171cm)

 今まで、66kg前後だと(勝手に)思ってたんだけど、年末体重計に久しぶりに乗ったらすごい数値をたたき出していた。

 健康になりたい。

迷った目標(できたらやりたい)

  • 健康診断A評価

彼女を1人作る

 人生関連の目標。

 多分一番難しい。幸せになりたい。

 ちなみにふざけてない。大真面目。

2016年10月~12月振り返り

振り返り

 2016年も気が付けば今日で終わりですね。

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

MVP Global Summitに参加

 MVP Global Summitに参加しました。

 初の大型海外カンファレンス。

 英語頑張ろう、C#力や.NET力もっと高めよう、そう心に誓いました。

 関連 : 2016年のMVP Global Summit に参加しました!

UniBook7とUniBook総集編執筆参加

 私の所属するUnity部は、コミックマーケット91にてUniBook7を頒布しました。(シリーズ7作目。7ですよ!7!!!)

 私は第12章「キャラチップ画像からAnimatorControllerをつくるエディタ拡張」を執筆しました。

 また、今回はそれに加えてUniBook総集編も頒布しました。総集編では過去に書いたものをすこし手直ししました。とても懐かしい気分になりました。

 関連 UniBook7の「キャラチップ画像からAnimatorControllerをつくるエディタ拡張」という章を書きました!

TileMapEditorであれこれ

 Unityの2D機能の実験版、Unity 2D Experimental Preview。その中の一機能であるTileMapEditor。

 夏のUniBook6でもTileMapEditorの章を書いたのですが、この4半期もいくつかこれに関する活動をしました。

  • Unty部の年末恒例LT大会で発表
  • Unityのアドベントカレンダー
  • フォーラムにフィードバックを3件
  • ↑の内、一件採用された

 関連

ブログ投稿

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

Qiita

 8件投稿しました。

 8件のうち、アドベントカレンダーが5件です。

 もっと小粒のやつを書けばよかった。「 【C#】Where(it => it is Xxx).Select(it => it as Xxx)って書かず、OfType使おう!【LINQ】」とか、ぜんぜん「いいね!」されないのでは、って予想していたのですが、思ったよりは「いいね!」されました。次の4半期はこんな感じの小粒のやつを増やしたいです。

はてなブログ

 合計11件。

 内勉強会の登壇報告が3件、参加報告が3件です。

 あとは、ポエムとか成果物報告です。

 前回に引き続き読書ブログが0、これは課題ですね。

 勉強会に参加した日か翌日には参加ブログが書けたのはGood。これは続けていきたいです。

勉強会・イベント

 Unity・C#での登壇を増やしたい!

出展

 コミックマーケット91でUnity部が頒布するUniBook7の第12章「キャラチップ画像からAnimatorControllerをつくるエディタ拡張」を執筆しました。

 当日、久しぶりに売り子もしました。冬のコミケは初めてだったんですが、場所が風が当たるところで思った以上に寒かったです。厚着してよかった。

 次回作もお楽しみに!

登壇

 Unityの年末恒例イベントのLT大会。運営も手慣れたもので会場のニフティ様との連携もスムーズでした。毎年ありがとうございます!

 4半期だけじゃなくて、1年を振り替えってC#やUnityでの登壇より、Kotlinでの登壇の方が多い見たいです。

 最近、大規模なセッションよりも、時間の縛りがある程度ゆるくて質問やディスカッションがおこるような勉強会で話したいなって思いがあります。

参加

 Global Summitはまぁ別物だとして、登壇と参加合わせて5件。

 あんまり勉強会に最近参加できてなかったですね。

 もう少し、情報感度高めていろいろ参加したい。

10月から12月の個人活動の目標振り返り

できたもの

  • 勉強会に参加したら必ずブログを書く
  • UniBook7執筆頑張る
  • Trelloで目標管理

 「勉強会に参加したら必ずブログを書く」は継続で。

 アドベントカレンダーの記事の準備の管理等にTrelloを使うのは有効だったので、しっかりと目標管理をしたいです。

できなかったもの

  • 毎日Githubで草はやす
  • Qiitaとはてなブログ、合計30件以上投稿する
  • 書籍を3冊読んで、ブログに書く

 GitHubの毎日草運動は、MVP Global Summitの期間に草が途切れてしまってそこで失敗してしまいました。

 ブログは、19件。もう少し数を増やしたいですね。1週間に2件で、24件くらいが適正かもしれないですね。

 書籍は0件。もう読むやつを決めちゃいましょう。

1月から3月の個人目標

できたものを継続

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

  • 勉強会に参加したら必ずブログを書く
  • Trelloで目標管理

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

  • 書籍を3冊読んで、ブログに書く
  • 個人開発ゲームの第二弾の公開
  • 勉強会の主催(UnityのBetaやExperimentalのもくもく会)
  • Qiitaとはてなブログ、合計24件以上投稿する

 書籍3冊は次の3札をしっかり読んでブログに書こうと思います。

 ブログは、「復活勇者」や今作成中の個人開発ゲームのC#やUnityのネタで数を出していきたいです。 

 あと、登壇予定の勉強会もあるのでそっちの準備もしっかりとしたいです。

 勉強会は、「UnityのBetaやExperimentalの勉強会」を企画・開催したいです。

最後に

 2017年の1月、2月、3月は、もう一段階、強くなりたい。

UniBook7の「キャラチップ画像からAnimatorControllerをつくるエディタ拡張」という章を書きました!

Unity 成果物宣伝

 コミックマーケット91でUnity部が頒布する技術同人誌UniBook7。その第12章「キャラチップ画像からAnimatorControllerをつくるエディタ拡張」を執筆しました。

 UniBook7は、コミックマーケット91の1日目(2016年12月29日(木))、「西 む-04AB」にて頒布予定です。

 そして、今回は同時にUniBook総集編も頒布します。

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

www.unity-bu.com

Unity部って?UniBookって?

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

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

 直近過去5回のコミックマーケットと2016年6月25日(土)に開催された技術書典でUniBookシリーズを頒布しました。

 そしてコミックマーケット91の1日目(2016年12月29(木))にて、Unity部はUniBook7を頒布します。

 2014年の夏のコミケから始まったUniBookも、気がついたら7冊目!

UniBook7の執筆内容は?

 「キャラチップ画像からAnimatorControllerをつくるエディタ拡張」というタイトルで、

  • Spriteの画像を分割
  • Sprite群からAniamtionClipを生成
  • AnimationClipからAnimatorControllerを生成

 するエディタ拡張のコード例を紹介しました。

UniBook総集編って?

 今回コミックマーケット91では、新作UniBook7だけでなく総集編も頒布します。過去6冊のUniBookのほとんどの章を収録していて、テーマごとに次の4冊に分かれています。

  • ノウハウ編
  • プログラミング編
  • グラフィックス編
  • アセット編

 私が過去に書いた次の5個の内容はすべてプログラミング編に収録されています。

  • 第19章 LINQのススメ
  • 第20章 すぐ使えるオススメLINQメソッド4選
  • 第21章 UnityとC#のいくつかのちょっとした事
  • 第22章 Mathfのススメ
  • 第23章 Hello Programmable Tile!

 UniBook3で書いた「Xcode Manipulation APIのすすめ」はUniBook3以降のUniBookで別の方がさらに詳しく解説されていたので、今回は収録しませんでした。

UniBook総集編の修正内容について

 UniBook1が出たのが2014年の夏。Unityはまだ4系でしたね。いろいろ事情が変わっているのでいくつか手直しをしました。

 大きいところは次の二つです。

 UniBook6で書いた「Hello Programmable Tile!」の最新版への対応をしました。この章では、Unityの実験的な2D機能を搭載した「Unity 2D Experimental Preview」の一機能、TileMapEditorを紹介しています。Unity 2D Experimental Previewは実験版であるので、バージョンアップにともないバンバン破壊的な仕様変更がはいります。UniBook6執筆時では正しかったコードも、現在の最新版ではコンパイルエラーになっていたので、最新版で正しくなるよう本文およびサンプルコードを修正しました。

 そして「Unityが古いMonoのAOTコンパイラを使っていることに起因する、iOSLINQなどが実行時エラーになる問題」の記述を削除しました。「LINQのススメ」・「すぐ使えるオススメLINQメソッド4選」ですね。今となっては、「あぁそんなこともあったね。」という感じですが、当時は本当に厄介でしてたね。

さいごに

 UniBook編集長のけーごさん、Unity部部長のかまたさんをはじめ、執筆者の皆様お疲れ様でした。

 UniBook7およびUniBook総集編が、ほんのちょっとでも、一人でも多く、Unityユーザーの皆様の助けになることを祈りつつ。

おまけ

 Unity部の年末恒例LT大会、おとなのLT大会でも言ったんですが...

 いつも私は執筆が遅く迷惑をかけているので、今回はUniBook7もUniBook総集編もめちゃめちゃ早めに仕上げたんですよ。

 で、今回かなり早めに終わって余裕を満喫していたのですが、総集編の「Hello Programmable Tile!」で紹介している「Unity 2D Experimental Preview」が、総集編の締め切りを過ぎてちょっとしたら、バージョンアップしてしまいましてorz

 編集長のけーごさんにお願いしたら手直しの許可をいただけたので、大急ぎで最新版に対応しました。

 とても焦りました。けーごさん、いつもすいません。ありがとうございます!!!!

 

「【Unity道場16】パフォーマンス最適化のポイント」に参加しました! #unity道場

イベントレポート Unity

 2016/12/22(木)に開催された「【Unity道場16】パフォーマンス最適化のポイント」に参加しました。

 たくさんの質問に答えていただいた講師の山村さんありがとうございました。

eventdots.jp

togetter.com

twitter.com

Tweetメモ

 一般的なソフトウェアではこういう言葉がありますね、

 これに対して、講師の山村さんは「Unityにおけるゲーム開発においては」

 だそうです。大きな手戻りを防ぐために、ポイントはしっかり抑えた方がよさそうですね。

 自分が作っているプラットフォームに対応した、それぞれに適切な最適化が必要ですね。まずは計測!!!

 自分が作っている・作る予定のゲームで一番関係ありそうなのが、これ。表示内容を更新するUIゲームオブジェクト群のCanvasコンポーネント

 Animator関連のネタも個人的には要チェック。

 Asset Bundleの構成も大事。Resouecesディレクトリが無駄にでかいのも影響しますね。

 GameObjectのSetActiveも要注意

さいごに

 最適化に関しては、やりすぎると読みづらいコード・トリッキーな構成になってしまうと思います。

 また、プラットフォームやSDKのアップデートや改善により、あまり効果が無くなったり、逆効果になってしまうこともあるでしょう。

 ただ、ゲームにおいてパフォーマンスの問題は非常に悩ましく大きな問題です。

 問題にぶちあったったら、知識を実践し知恵にして、一つ一つ解決していきたいと思います。

 当てずっぽうにやらず、この知識をしっかり実測しながら、または仕組みを理解しながら改善ですね。

おまけ

 便利だなー

2016 アドベントカレンダー振り返り

成果物宣伝

 ソフトウェアエンジニア界隈ではすっかり年末の恒例イベントなった、アドベントカレンダー

 今年、私は次の7個のカレンダーに参加しました。

 簡単に振り返ります。

やすべえ

 つけめん屋 やすべえのファンの方が作成したアドベントカレンダーやすべえ Advent Calendar

 去年に引き続き参加しました。

 この日、健康診断で朝食を食べれず昼食も軽かったのでとっても美味しかったです。ただ夕飯にこれを食べた後、飲み会だったので最終的にお腹はパンパンでした。

Visual Studio Code

 Visual Studio Codeアドベントカレンダーは、12/04(日)にMarkdownのショートカットで参加しました。

qiita.com

 一番時間がかかってないけど、一番いいねされているこの記事。

 MarkdownVisual Studio Codeも使っている人多いですもんね。

 2015年も同じネタでVisual Studio Codeのアドベントカレンダーに参加したんですが、さらに便利なショートカットが追加されていました。

 実は、参加するつもりなかったのですが空きがあったのと、短時間で書けそうだったので参加しました。

Kotlin

 Kotlinアドベントカレンダーは、12/05(月)にPlatform Typeの話で参加しました。

qiita.com

 もともと、「Kotlin Internal勉強会」で以前話した内容をコンパイラあたりの話を除きつつ、投稿に起こしました。Platform Typeについてはその後の「第4回 Kotlin Sansan勉強会」でMapped Typeの話と合わせてこちらでもお話しさせていただきました。

 今年の私が書いたアドベントカレンダーの中では、ぶっちゃけ一番実用的というか今後も需要がある記事だと思ってます。

朝こざけ

  朝こざけ #asakzkアドベントカレンダーより、朝こざけとは

おはよう、世界 朝こざけの様子のツイーヨを貼ればいいよ

朝こざけとは: 出社前にカフェで勉強してドヤ写真をうpする行為

こざけとは: 日本を代表するアーキテクト

 とのことです。

 当日、Unityの年末恒例LT大会でした。なるべく朝早く起きたかったので登録!

 いい朝、いい朝こざけでした。

Unity

 Unityアドベントカレンダーは、12/12(月)にTileMapEditrの話で参加しました。

qiita.com

 前々日に行われたUnity LT大会のスライドを記事に起こしたやつです。デモでやることを文字に起こしたり、GIFを作って貼ったりと、意外と大変でした。

 一昨年、去年、今年とLT大会で話した内容を遅く説明する形でアドベントカレンダーを書いています。

 今後もTileMapEditor、布教していきたいです。

G*Advent Calendar(Groovy,Grails,Gradle,Spock...)

 G*Advent Calendar(Groovy,Grails,Gradle,Spock...)アドベントカレンダーは、12/13(火) にコレクションメソッドのチートシートで参加しました。

qiita.com

 「普段JavaとかC#を使っていて、たまにGradleとかちょっとした処理をするスクリプトを作る時にGroovy書く人」を想定して、そんな人があったら嬉しいだろうなって記事を書きました。

 同じような記事はあったんですが、addとかclearとか副作用があるものも含まれていたり、しっかり各メソッド説明をしてくださっていて。「ぱっ」て探すのに便利なものを今回新たに作りました。

 collect、findAll、everyとかよく使うメソッドが他の言語と違うから、よく忘れてしまうんです。はい。

C#

 C# アドベントカレンダーは、12/19(月) に「【Unity勢に】C#のforeachとラムダ式の落とし穴、そしてその破壊的言語仕様変更【今読んでほしい】」という記事を書きました。

qiita.com

 あんまり記事に「いいね」はされていないんですが、宣伝ツイートはおかげさまで結構リツイートしていただいています。

 タイトルにもありますし・本文中にも書きましたが、C#アドベントカレンダーだけど、一番の想定読者はUnityクラスタです。

 「ぼちぼちC# 7.0がー」なんて2016年の年末に、なんでまたC# 5.0の話をしているのか。それは2016年の11月末に出たUnity 5.5でforeach + デリゲートの挙動が変わったからです。(ちなみにまだC# 5.0は使えません。)

 以前、Unity Facebook助け合い助で、foreach+デリゲートの話題が出た時からこのことを書こう書こうと思っていたものがズルズル来てしまいました。折角だしってことで、アドベントカレンダーにしました。

 とりあえず、C# erは、みんな岩永さんのサイトをがっつり読んだ方がいいんじゃないかと思います。

全体的に振り返り

 C#、Unity、Kotlin、Groovyのネタ。実は11月の後半には、あらかじめ何を書くか決まっている( or 候補はいくつかあってそこから絞る)状態でした。

 技術投稿の5個の記事はきちんと前日までに仕上げて、Qiitaの予約投稿で投稿することができました。前日や当日に「うぁ、終わってねえ、やべえ」とかが無くて良かったです。

 お祭りみたいなもんですから楽しみたいですが、無理して仕事に支障が出たり、体調崩したら元も子もありませんしね。

 そこそこ、Qiitaでいいねがいただけたのも嬉しいです。私の記事がみなさんの役にたてたのならば幸いです。

 さぁ、2017年のアドベントカレンダーでは何をやろうかな?

「第4回Kotlin勉強会 @ Sansan」でLTしてきました! #kotlin_sansan

イベントレポート Kotlin

 2016/12/13(火)に開催された 第4回Kotlin勉強会 @Sansanで「Mapped TypeとPlatform Type」と題してLTをしてきました。

f:id:MRStar:20161214023325j:plain

概要

 1月から始まって、なんと今年だけで4回目。SansanさんでのKotlin勉強会でLTさせていただいました。

 前回の第3回に引き続いて、2回目です。

 今回も素敵な会場とご飯とビールありがとうございました。

発表内容

 11/26のKotlin Internal勉強会で「KotlinとJavaとnullのライトな話」で登壇し、12/5のアドベントカレンダーで「【!ってなんだ】KotlinとJava、nullとPlatformType【NullableにNotNull】」という投稿をしました。どちらもPlatform Typeについてですね。

 今回は、Platform TypeとMapped Typeの話を「Mapped TypeとPlatform Type」と題して、発表させていただきました。

 公式ドキュメントの「Null-Safety and Platform Types」とか「Mapped Types」のことですね。

 資料はこちら。

 「これ、公式ドキュメントに記載あってもいいじゃん?言語仕様じゃないの?」みたいなことを幾つかお話しさせていただきました。

 @ReadOnlyと@Mutableについて。これらは、Kotlin Internal勉強会で@Nullableと@NotNullについて調べている時に、これに関する記述がコンパイラのコードにあったので「もしや」と思ったのですが、「(Mutable)List<T!>!」に関するアノテーションでしたね。

 いや、実はですね。ダダッズベリしたらどうしようかと、内心ヒヤヒヤだったんですよ。まぁでも「知らなかった」とか「勉強になった」って声もいただいたんで、(リップサービスかもしれませんが)良かったです。

 あと@ngsw_taroさんにご指摘いただいたんですが、アンボクシングの働きで KotlinのInt? -> JavaのInteger -> Javaのintってのができますね。

 よくない言い方をしてしまいました。ご指摘ありがとうございます。

さいごに

 第5回、もしあったらぜひKotlin 1.1とかのテーマで参加させて頂いたらいいなー、と思っています。

 Sansanの皆様、登壇者の皆様、参加者の皆様、ありがとうございましたー