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

アナログ金木犀

つれづれなるまままにつれづれする

最近ダイジェスト

暇なので最近やったこととかをダイジェストでまとめてみようと思う。

松亭行ってきた

いままではこにふぁーさんがダイジェストを文字でまとめてくれてたけど、今回は初めて音声を公開してみた。

motida-japan.hatenablog.com

次も音声を公開してみようと思う。ちなみに、この前回の公開時に音声を編集したり、フェードさせたりする技術身につけて満足。

Androidオールスターズ2で発表してきた

Androidオールスターズ2というイベントで登壇者として参加してきた。

dev.classmethod.jp

それなりに人がいた(100人くらい?)けど、そんなに緊張しなかった。 というのもまさに自分が発表する時間に障害対応してて、発表中気が気でなくて逆に発表は力を抜いてできた、と思う。

iOSアプリを一から作ってみた

作ってみた(まだ現在進行形だけどほぼできた)。 設計としてはMVVMで作っててRxSwift導入した。 はじめはプロトレベルなので至る所にsharedInstanceとしてシングルトンつくってたけど、 テストしづらいのでDIを導入して絶滅させた。

そういえばiOS界隈だとDIをあまり聞かないのはなぜだろう。 DIの必要性とかよく分からない人は下記を見てもらえるといいと思う。

qiita.com

今回はDIライブラリとして、 Swinjectを使った。 自分が普段AndroidでDaggerを使ってやってるものと同じ構成で作った。

各レイヤーでどの具体クラスを提供するかを登録するクラスを作って、Injectorなるクラスを作ってそれをAppDelegateでもたせるようにした。 各ViewControllerでは下記のように、injector.injectを呼ぶ。(appDelegateはextensionで生やしてる。) これで、ViewControllerにインジェクトしたいものがインジェクトされる。

class HogeViewController {
  
  var インジェクトして欲しいもの
  
  func viewDidLoad() {
    appDelegate?.injector?.inject(self)
    :
  }

}

ViewControllerにもAppDelegateにも自分で具体クラスを指定してない(意識するべきじゃないことを意識しなくて良い)こととか、どこにもテスト用のコードを書いてないこととか(よくテストのためのコンストラクタ作ってたりしませんか?)あるけど、詳しいことは希望あれば書こうかなぁ。

swinjectを使ってみた感想として、結構同じようなことを愚直に書かないといけないので、aptのような機構が欲しいなぁと思った。

ポケモンGo

ようやくレベル23になったところ。

f:id:kgmyshin:20160817012830p:plain

上野公園に行ったのだけどすごい人がいた。本当に花火大会でもあるのかってくらいに。 一部の人だけどマナーを守れない人がちょこちょこいるのが気になって、それだけはやめてくれと思った。 人混みで走ったり、急に真ん中で止まったりするのはマジでやめてくれ。

燻製

前々から気になっててのだけど、ただAndroid業界で少し前に流行り「これ今やったらミーハー感でてやだなぁ」と思ってた。 のだが、そろそろその話も聞かなくなってきたので今が機として始めた。

写真は撮ってないのだけど、チーズとウィンナーと豚バラうまい。QOLが上がった。

SAO

SAO新刊読んだ。ネタバレになることを覗いた僕の感想「報われもしたが喪失感ある。」

dengekibunko.jp

機械学習

ちょっと作りたいものができて、学び始めてみた。

ひとまず有山さんの本を読んでるところ。わかりやすい。

中学時代の相棒が結婚

自分のことのように、それ以上に嬉しい。 滅多にこういうこというキャラクターじゃないしどういう言葉選んでも安っぽくなっちゃうんだけど、心からそう思う。

高校の頃に始めて彼らに彼女ができた時にも同じことを思ったなぁとしみじみ。

アニメLT

資料まだできてません。。

松亭行ってくる

また音声公開します。