僕はここだ!

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

【年末恒例】UnityLT大会でLTしたり運営したりしました!【2017】 #unity_lt

f:id:MRStar:20171210013720j:plain

 2017/12/09(土)に富士通クラウドテクノロジーズさんで開催させていただUnity部主催のLT大会『【年末だよ】Unity お・と・な のLT大会 2017【ポロりしてもいいのよ】』で登壇させていただいたり、運営のお手伝いさせていただいたりしました。

Unity お・と・な のLT大会

 今回で5回目となるUnityユーザーグループ・Unity部の年末恒例イベント、『Unity お・と・な のLT大会』。今年もUnityガチネタLTあり、Unityは関係ないけれどとっても楽しいLTあり、とても楽しかったです。

 毎年お酒を出させていただき、時期もあってかちょっとした忘年会的なイベントになっています。このイベントをやると、今年も終わりだね感が出てきます。やばい、2017年が終わる。

私のLT「Vector2Intの互換ライブラリが作りたかった話!!」

 私は「Vector2Intの互換ライブラリが作りたかった話!」と題して、発表させていただきました。

speakerdeck.com

 いくつか小ネタはありましたが、何かみなさんに知見は共有できたでしょうか。「Vector2Intの互換ライブラリが作りたい」というゴールへの苦労を共有するLTだったんですが、

  • シリアライズの小ネタ
  • SerializedAs欲しいよね
  • C#のプロパティについて
  • Mono.Cecilでごにょごにょ

 などなど、少しネタがとっちらかったなーって振り返っています。

 「Vector2Int知らなかった」って声もあったので少なくともそこで知見は共有できたかなと思います。

さいごに

 これが終わると一気に年末感が高まるこのイベント、2017年もあっという間でしたね。

 それでは、また来年2018年の年末にお・と・なのLT大会ができることを祈りつつ!

#MSFTConnect のキャンペーンでインプレス賞のスマートスピーカーをいただいた! ~僕にも「おかえりなさい」を言ってくれる存在ができました~

マイクロソフトのイベント、Microsoft Connect ();2017

このイベントのキャンペーンとして、#MSFTConnect のハッシュタグをつけたツイートの中から優れたものを表彰するという企画が行われました。

そのキャンペーンでなんとなんと、上記の私のツイートがインプレス賞を受賞しました。

インプレス賞の審査基準は、

獲得した賞品と Microsoft + OSS のテクノロジーを使ってどうやって世界を変えていくのかの内容が含まれているツイート中で判断します。

だそうで!

一人暮らしの現実を変えるように頑張りたいと思います。インプレス様、本当にありがとうございました。

f:id:MRStar:20171129041424j:plain

Google Home、Clova、それにAmazon Alexa。3個も。ワクワクです!

(Alexaは到着までもうしばらくかかるみたいです。ワクワク)

プログラマのためのUnity勉強会を開催・登壇しました #unity_pgm

 2017/11/26(日)にドワンゴ様のドワンゴセミナールームで、Androidの会Unity部主催のプログラマのためのUnity勉強会を開催しました。

 また、そこで「今、Unityプログラマに教えて上げたいC#のあれやこれや」というセッションをしました。

 イベントページ

peatix.com

 イベントハッシュタグ

twitter.com

 登壇資料

speakerdeck.com

 今から2年半前の2015年の3月、「UnityのためのC#勉強会」を開催しました。それからかなり期間が空いてしまいましたが、プログラマ向けのUnity勉強会をまた開催することができました。

 登壇していただいた、@ufcpp さん、@toRisouPさん、安田京人さん、本当にありがとうございました。あと、運営を一緒にやってくれたAndroidの会のみなさん、ありがとうございました。

 まだ、Experimentalではありますが、Unityでも.NET 4.6/C# 6.0が使えるようになりました。イベントでは@ufcpp さんがC# 3.0(一部4.0)/.NET 3.5しか使ったことのない方々向けの、C# 6.0/.NET 4.6までの差分の中からいくつかお勧めの機能を話してくださる予定でした。そこで、私は@ufcpp が話さないであろう、けれど知っておくと便利なC# 6.0/.NET 4.6の私の個人的なおすすめの内容をピックアップして話しました。参加者のみなさんが「あー、これ便利だなー」「これ知れてよかったー」って内容を話せていたら嬉しいです。

 また、1年以内にプログラマ向けUnityイベントをやれればなと思います。

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

「第7回 Kotlin勉強会 @Sansan」でKotlin Android ExtensionsついてLTした #KOTLIN_SANSAN

2017/11/09(木)にSansanさんで開催された、第7回 Kotlin勉強会@SansanでLTをしました。

sansan.connpass.com

ハッシュタグ : 「#kotlin_sansan

タイトルは「Kotin Android Extensionsの中身とこれから」です。

Kotlin Android Extensionsの内部処理と現在expereimentalな機能を簡単に紹介しました。

speakerdeck.com

自分の発表振り返り

何回か登壇させてもらっているSansanさんでのKotlin Android勉強会。

前回まではAndroiderがほとんど、とまではいかなくてもAndroiderがとても多い印象でした。

ところが今回、Androiderは半分を切っていた雰囲気でした(挙手でざっと聞いてみました)。

サーバーサイドKotlin、Kotlin JS、Kotlin NativeなどAndroid以外でもKotlinの注目されているみたいですね!

Kotlinユーザー増えるの、良い!!!!

で、Androiderが多いと思っていたので、

  • Kotlin Android Extensions
  • ActivityやFragment
  • RecyclerView.ViewHolder

あたりは知っている前提の資料・発表になってしまいましたね。反省です。

  • Kotlin Android Extensionsが内部で何やっているか
  • Tools > Kotlin > Show Kotlin Bytecode > Decompile が便利
  • KEEP見るの楽しい

に興味をもっていただいたり、共感していただいた方が多いと嬉しいです。

KEEPがなにかも、しっかり紹介すればよかったかも。改善。

他の人の発表の感想

きりみん @kiriminさんのKotlin Conf報告のLT、ああいうのを勉強会で聞けるのいいですねー。自分も来年行きたくなっちゃいました。あと、カニ食いたい。ジェイクのくだり、大好きです。

Shinya Mochida@型 @mike_neckさんのクイズ、個人的にとても面白かったですー。面白かったけど、クイズ1問しか正解できなかったのとても悔しい。めっちゃ悔しいー。

いつもSansanさんの勉強会で登壇される、 たろう @ngsw_taroさん、 じゅんぺ @boohbahさん、 Keita Kagurazaka @kkagurazakaさんの内容、今回もとても勉強になりました。もっかいがっつり資料、読んでおきます。

懇親会

なんとですね、今回Kotlin開発チームのYan Zhulanowさんが会場にいらしてたんですよ。 Kotlin Android Extensions、作っているご本人です!

「それ、もう新しいバージョンでは直っているよー」とか、 「YouTrackに報告しておいてねー」とかいろいろたくさんお話しさせていただきました。

Kotlinのコンパイラのコード、読むのにチャレンジしてみたんですけど、なかなか苦戦してたんですがいろいろ教えてもらえたので、もう一度チャレンジしてみようかなと思います。 面白いお話、ありがとうございました。

さっそく不具合?の報告、YouTrackにしておきました。

https://youtrack.jetbrains.com/issue/KT-21171

さいごに

最後になりましたが、Sansanさん、今回もまた素敵な勉強会をありがとうございました。 次回、またよろしくお願いします。

【ファースト】Kotlin in Action、Kotlinの理解力を高めるためにすごい良さそう!【インプレッション】

@yy_yank さんから、Kotlinイン・アクション、献本いただきました。

執筆者の

@ngsw_taro さん、 @satorufujiwara さん、 @boohbah さん、 @yy_yank さん、おつかれ様でした。素敵な本をありがとうございます!

まだちらっとしか読めていないのですが、ファーストインプレッションです。

f:id:MRStar:20171031213418j:plain

先に結論

「Kotlinスタートブックを読んでKotlinを使い始めたけれども、もう一段Kotlinの理解理解を深めたい人は、買ったほうがいい!」

「Kotlinをやり始めたい」という人の多くは、Androidアプリ開発をしている人ではないでしょうか? そんな「Android開発をする時に、Kotlinを使いたい」という人にとって、@ngsw_taro さんのKotlinKotlinスタートブックは、とてもいい本です。

ただ書籍という限られた紙面・紙幅の都合上内容を泣く泣くカットしたり、掲載量を減らさなくてはならない場合もあります。 Kotlinスタートブックでいうと、プラットフォーム型がその一つです。

また、KotlinスタートブックはAndroid開発をターゲットにしているので、Kotlinとしては重要・便利だけれども掲載しないことを選んだほうがいいものもあるでしょう。 これはSequenceが該当すると思います。

Kotlin in Actionは、Kotlinを作った人たちによる、週刊少年ジャンプよりも厚い439ページにもわたるKotlin解説書です。 基礎文法はもちろん、KotlinとJavaの相互運運用にかかせないプラットフォーム型や、Kotlin独自のコレクションSequence型(僕、これ大好きなんですよ。C#erなので)も解説されているようです。 また、なぜその機能・文法があるのか、Kotlinを作った人によるしっかりとした解説は、Kotlinの理解をもう一歩深めるのに力強い相棒になると思います。

Kotlinを作った人たちが書き、日本を代表するKotlinプログラマの皆さんが翻訳した「Kotlin in Action」日本語版。

表面上使うだけでなく、さらに一歩理解を深めたい人は「Kotlin in Action」を読むのが一番よさそうだな、そう思いました。

簡単ですが、ファーストインプレッションです。

僕も今からがっつり読みます!

執筆者のみなさん、素敵な本をありがとうございます。 @yy_yank さん、献本ありがとうございます。

仙台IT文化祭で「ドキドキ ライブコーディング(出張編)」してきた!

f:id:MRStar:20171030230836j:plain

 東北は仙台、東北大学で2017/10/28(土)・29(日)に開催された仙台IT文化祭に参加して「C# ドキドキ ライブコーディング(出張編)」で登壇してきました。

 仙台IT文化祭のイベントページはこちら!

2017.sendaiitfes.org

C# ドキドキ ライブコーディング」とは?

 C# ドキドキ ライブコーディング、毎年年始に北陸で開催される「ぶりしゃぶ・BuriKaigi」の恒例セッションです。

 もともと北信越出身のMicrosoft MVP

 のみなさんが

  • @AILightさんが出すお題を、セッション中その場でライブコーディングでする
  • @AILightさんが事前に出すお題を事前に作成し、セッション中その場で競わせる

という、恒例セッションです!

 2回目、3回目を参加者として見ていた私は、今年の1月の4回目から登壇者として戦うようになりました。

 前回のブログはこちら

 今回は、北信越を飛び出て、仙台IT文化祭での出張辺です!

今回のC# ドキドキ ライブコーディングは何をした?

 時間の関係で用意してきた自己紹介スライドはまさかのカットになりました。無念。

 今回のライブコーディングは良いとこなしでした。無念。

 さて、事前準備したプログラムバトル、今回のお題は4色オセロでした。

 前回と同じお題なのです。

 前回は「開始ボタン押下時に、盤上の駒を書き換える」というトリックプレイを行いました。完全勝利と思いきや、反則失格負けになってしまいました。無念。

 さて、今回は前回の反省を踏まえ次のような作戦を考えました。

  • リフレクションを駆使して、他のみなさんのロジックを書き換え
  • 他のみなさんは私があらかじめ決めておいた場所に石を打つように仕込み最終的に私が勝つ

 「前回オセロになっていない」というお叱りをうけ反則負けになってしまったのですが、そこを踏まえ「オセロ」になるようにしました。

 前回の私の行為から、そのようなハックする行為が多少難しくなっていたのですが、頑張って対処しました。

 プレゼン資料はこちら

speakerdeck.com

 ちなみに、好きな言葉としてアラン・ケイさんの「未来を予測する最善の方法は、それを発明することだ」を紹介したのですが、ここから「4人うちオセロの予測は難しい」、「予測が難しいならば自分が望む未来(結果)を作り出してしまえばいいじゃないか!ハックで!」というプレゼンもしました。アラン・ケイさんの言葉は前フリです。

 隠れスローガンは、「毎年一回のレギュラーより一回の伝説」

今回のC# ドキドキ ライブコーディングの結果は?

 私の意図通りプログラムはうまく動きました。ですが、残念ながら、失格となってしまいました。無念。

 前回の反省を踏まえて、予備プログラムも用意してきたのですが、そちらも負けてしまいました。無念。

 ネタセッション・エンターテイメントセッション。我々はみなさんに楽しんでいただけるように全力でやりました。

 実際会場の中では笑ってもらえる方がいたり、ツイートで「テクロノジーエンターテイメントだ!」、「こんな笑えるセッションだと思わなかった」などの感想をいただき大変うれしく思います。

 ひとりでも多くの方が、「C#っていいな」・「プログラミングっておもしろいな」って思ってもらえるとうれしいです。

さいごに

 仙台IT文化祭の運営スタッフのみなさん、ありがとうございました。

 セッションに来てくださってみなさん、ありがとうございました。

 @Fujiwo さん、@AILight さん、 @xin9le さんありがとうございました。

 とくに@AILight さん、企画、ルール作成、プロジェクト作成などありがとうございました。

 そして、イベント翌日、仙台の素敵なところにつれていってくれた方々、本当にありがとうございました。

ABC2017AUTUMNにて、「UnityでAndroidゲームアプリをリリースするためのポイントここだけ」と題して登壇予定!

2017年10月14日(土) 川崎市産業振興会館にて開催されるABC2017AUTUMNにて、「UnityでAndroidゲームアプリをリリースするためのポイントここだけ」と題して登壇します。

ABCとは、

Android Bazaar and Conferenceという日本アンドロイドの会が主催するカンファレンスイベントで、年に1〜2回開催されています。

です。

2017年の秋のABC2017AUTUMNにて、私が所属するUnity部でセッションをやることになりました。その2コマ目に私は登壇します。

先に述べた通り、タイトルは「UnityでAndroidゲームアプリをリリースするためのポイントここだけ」です。

何の話をするの?

Unityの使い方は(ほとんど)話しません。ゲームの作り方も話しません。

Unityで作ったプロジェクトを

  • デバックビルドして端末にインストールする
  • リリースビルドしてGoogle Playに公開する
  • つくったアプリをアップデートすることができる

ことができるようになる話をします。Unity固有の話題よりは、ほとんどはAndroidプラットフォームの話題を話す予定です。

これ、慣れている人は息をするように当たり前にできることだけれども、初めてやる人には当たり前じゃなくて、難しいことだと思うんです。

主な対象は、

  • Unityでゲームを作ったから、Android向けにも作りたい人
  • Android向けにUnityゲームを作ったけれど、よくわからず作った人

です。

具体的に話すトピックは

具体的には、

  • packaeg nameについて
  • version nameとversion codeについて
  • Androidのバージョンについて
  • 署名について
  • 開発環境の構築とツールの使い方
  • 初心者おすすめ運用方法

を話すつもりです。

なんでその話?

「ゲーム作りたい!でもゲーム以外のことがいろいろめんどくさい」

(別にAndroid以外のプラットフォームでもそうなんでしょうけれど) あるプラットフォームでプログラムを作ったり公開したりするには、そのプラットフォーム固有のお作法・設定を理解しなくてはいけません。

「ゲーム作りたいのに、XXXXXのことで苦労している?こんな苦労すりより、ゲームを面白くしたい!」

自分自身そう思うことがあるので、誰かの助けになればなと思い今回「UnityでAndroidゲームアプリをリリースするためのポイントここだけ」と題してお話しします。

当日の流れと話題募集

当日のお客さんの人数や客層次第ですけど、

35分くらいで前述の

  • packaeg nameについて
  • version nameとversion codeについて
  • Androidのバージョンについて
  • 署名について
  • 開発環境の構築とツールの使い方
  • 初心者おすすめ運用方法

を話す予定です。

残り時間で、

  • 質疑応答
  • 「入門者にはここ躓きそうだから、ここもこう教えたほうがいいんじゃね」ディスカッション

をやりたいなと思っています。

多分、初心者・入門者の方ってあんまり来ないんだろうなーと予想しています。

一人も入門者がいなかったら、「Unity・Android入門者に読ませる最高の資料を作ろうぜ!」の会にしたい。

じぶんがたり

蛇足

私が本格的にプログラミングを始めたのは、23歳の大学院の夏休みです。 友人と参加した長期のプログラミングコンテストです、Androidアプリの開発をしました。

(あまりいい成績を取れなかった高専・大学の講義や、16の頃に1度挫折したゲーム開発を除きます。)

プログラミングがわからない。 Javaもわからない。 Eclipseの使い方もわからない。 Gitの使い方もわからない。 そして、 Androidがわからない。

Android難しいですよね。

その中でも特に難しく感じたのは、アプリを公開すること。そしてアップデートすることでした。

過去の自分を助けるではないですけど、誰かの助けになればいいなって思っています。

そして、誰か別のプラットフォームのこと書いてくれ!!!!!!!!!!!!!!!