Edited at

iOS開発経験1年未満のエンジニアがWantedly 技術見学会 〜iOS編〜 に参加して学べたこと#WT技術見学会

More than 1 year has passed since last update.

Wantedly 技術見学会 〜iOS編〜の内容が良くわかるブログ↓

http://dev.classmethod.jp/smartphone/iphone/event-report-wantedly-technical-tour-ios/

Qiita記事でもよくお見かけする、

技術力の高いエンジニアが多く在籍されるwantedly, Incの勉強会に

iOS & android開発経験10ヶ月ほどのエンジニアが参加して学べたことを書いておきます。

各発表の内容は上記リンクのブログにて

しっかりとまとめられているので、この記事は筆者の学びのみです。


「Wantedly People ViewModel with Rx」

https://speakerdeck.com/susieyy/wantedly-people-viewmodel-and-rx


  • RxSwiftがわからないので、実装のコードは全然読めませんでした。。。

  • MVVMは以下のような場面で使ってる

    ↓こういうことをやりたくなったら思い出してスライドを見よう!


    • 入力フォームにリアルタイムでバリデーションかけてユーザーに警告のラベルを表示

    • 通信エラーをハンドリングして、アラートを表示させ、再接続を試みる



  • 本来、MVVMではViewModelからViewを操作しない。一度ViewControllerを介する


    • ただしコードの可読性が悪くなるなどあり、
      WireFrameを通してViewを操作(label出したり)できるっちゃできる



  • Viewバインド、relamのNotification使うと結構解決するよ、とのこと




「Wantedly Peopleのスキャン画面の裏側」

https://speakerdeck.com/_shingt/wantedly-people-scanning-screen


  • 画像処理の内容は難しいので「すごい!」としか。。。

  • 複雑な処理のデバッグ方法の問題と解決策


    • 問題


      • リアルタイム画像処理のような複数な処理で、

        実行結果がおかしかった時、どの処理が問題なのかの特定が難しい



    • 解決策


      • デバッグ版では、最終結果以外の
        各演算処理の結果を常に表示させるようにしておく





  • 本題ではないけれど、pod 'tensorFlow-experimental’面白そう


「Wantedly Peopleの連絡先一覧について」

https://speakerdeck.com/yuta24/wantedly-peoplefalselian-luo-xian-lan-nituite


  • 時間がかかっていた処理の問題と解決策


    • 問題


      • 連絡先一覧画面を表示するのにめっちゃ時間が掛かっていた



    • 解決策


      • 独自型のプロパティをたくさんもつ、UserModelをrealmObjectから
        structのオブジェクトに変換するのに時間がかかっていた

      • 一覧画面用にプロパティを絞ったUserDisplayModelを作成し、そちらを使うよう変更した



    • 結果


      • 速度が1/10以下になった





  • Modelもclassじゃなくてstructなんですね〜。それがswiftなんですね〜…




「限られたリソースで進める段階的なSwift移行」

https://speakerdeck.com/hedjirog/xian-raretarisosudejin-meruduan-jie-de-naswityi-xing


  • 工夫まとめ


    • 移行は一気に全部やらずに、段階的に進める。

    • 新規機能や新規画面で試す

    • 既存実装の置き換えを意識して懸念点を潰しておく



  • 感想:筆者は今、swift2→3のバージョン移行をやっているのですが、こっちも段階的にやりたいです…


おわりに

全体を通して、MVVMやRxSwiftが前提の内容であり、

こんな自分が参加してもいいのかな?と思っていたのですが、

個人的には参加させて頂けてよかったと思っています。