Nagoya.Swift+ の3月度勉強会で話題になった事柄とその時調べた事項について。
Swift, iOS
久しぶりにSwiftとかiOSとかの開発について議論。
画面遷移
やり方を忘れていたので復習しました。
let nextView = NextViewController()
self.presentViewController(nextView, animated: true, completion: nil)
let storyboard: UIStoryboard = self.storyboard!
let nextView = storyboard.instantiateViewControllerWithIdentifier("next") as! NextViewController
self.presentViewController(nextView, animated: true, completion: nil)
Replay Kit
参加者が作成されたアプリで利用されていたので調べました。
- [ReplayKit | Apple Developer Documentation](https://developer.apple.com/reference/
replaykit)
画面のブロードキャストができるのが素晴らしい!
iOS 10になってから落ちるようになってしまったそうなので、カメラライブラリにアクセスすると落ちるケースで典型的に調べるべき内容はこれじゃないでしょうか。
AutoLayout
「AutoLayout辛いんだよおおお!」との声が。AutoLayoutはこんな感じで簡単にオフにできます。
オフにするのをオススメしているわけではないです。
Swift仕様周り
循環参照
UIViewController
でself
がweak
ってどの程度気にすればいいのか僕の中で話題になったので調べました。
Generics
こんな感じの議論をしました。
Q. Genericsっていつ使うの?
A. 例えばTwitterみたいなRESTでAPIを利用して結果を取得すると、複雑なJSONが得られるのでそれをパースして複数のクラスを作成すると、複数のクラスで共通してアップデートする系の処理が必要になるので、そういうときに使うんじゃない?
Q. 短く言うと?
A. 最初は使わなくてもできそう、そのうち使うと便利かも
その他
Xcodeでのデバッグ方法
SwiftでHTMLパーサ
BSMachError
参加者の中で、BSMachErrorが発生していたので調べました、が、そもそもこれは一体何のエラーなのか探してみたが確たる結論は得られず…。
Storyboard周りっぽいとか、画面が回転するとAutolayoutが崩れているんじゃないかとか諸説ありました。
機械学習
Tensorflow
GPUを利用できるように環境構築して、チュートリアルをこなしていました。
環境構築(GPU)
Dockerで環境構築して使っていたけれど、限界を感じたのでGPUを使えるようにしました。
Cudaがなかなか参照できなかったのですが、結局次の内容に従ってSIPを切りました(もちろん自己責任で)
正規化周り
Dropoutの書き方を調べてtensorflow/3_regularization.ipynb at master · tensorflow/tensorflowをこなしてました。
頑張ってこの記事を越えようとして時間切れ。
Scikit-Learn
今回はほどんど書かなかったけれど、何故か少し調べました。
-
Plot multinomial and One-vs-Rest Logistic Regression — scikit-learn 0.18.1 documentation
-
sklearn.datasets.make_blobs — scikit-learn 0.18.1 documentation
Keras
手を出そうとして時間切れだったKeras。TensorFlowでニューラルネットの層を定義しようとしたら型エラーを連発してイラッと来たのでぜひ次は手を出したいと思います。
Online Training
勉強会の最中にはやらなかったんですが、オンライントレーニングが充実しているので面白かったものをご紹介します。
Mooc
TensorFlowで書けるのでオススメです、内容も超ざっくりしているので分かりやすいかも。
突っ込んだ内容になってくるし内容も文字の読み上げがメインなので最初にやるといい睡眠導入動画になってしまうかも。
環境はOctave。これ見て諦めて導入しました。要求されるプログラミングスキルは低いけれど、線形代数と初歩の代数学のスキルは必要。
超有名なコース。環境はOctave。挫折3回目に突入しました。
Sample Code
Jupyter Notebookで色々配布されているのが機械学習界隈いい感じですね。