AKIBA.swift×Swift愛好会 vol2を開催しました! #love_swift #akibaswift #21cafe

akiba-swift-eyecatch1
akiba-swift

こんにちは!
モバイルアプリサービス部の田中孝明です。

3月6日月曜日にtry! Swift TOKYO 2017の振り返り会として、21CafeにてAKIBA.swift×Swift愛好会 vol2が開催されました。
前回と引き続き、Swift愛好会様が快く引き受けてくれたことで、コラボ開催と相成りました!

前回の共同開催に関しては以下のブログを参照していただければ幸いです。
AKIBA.swift×Swift愛好会を開催しました! #love_swift #akibaswift

今回も軽食と飲料が提供されました!
スクリーンショット 2017-03-07 11.09.57

乾杯

Swift愛好会様恒例の七島偉之さん@jollyjoesterの乾杯の挨拶から会はスタートしました。
スクリーンショット 2017-03-07 11.09.24

談義1: 星野恵瑠 さん


try! SwiftのSoroush Khanlouさんのセッション、「誰もが知りたいSequenceとCollectionのすべて」の振り返りを話していただきました。
SequenceとCollection、bidirectionalCollectionの振り返りを始め、セッションでは語られなかったRandamAccessCollection、MutableCollection、RangeReplaceableCollectionについて調べられた結果を簡潔にまとめていただきました。

また、try! Swiftのセッションと相違がある点をSoroush Khanlouさんに確認を取っていただき、共有していただきました。
スクリーンショット 2017-03-07 12.18.31
図にもあります通り、RangeReplaceableCollectionに準拠しているString.CharacterViewが、RandomAccessCollectionMutableCollectionに準拠していないことや、Sequenceに準拠していることでmapを使えることなども話されていました。

談義2: d_date さん

try! Swiftを振り返りつつ、自社で新卒のiOSエンジニアを育てる際のノウハウを語っていただきました。 まずはベースに2冊の本を利用されているとのことです。

弊社諏訪の執筆したiPhoneアプリ開発講座 はじめてのSwiftで基本を学びつつ、DBをつかったデータ保存やWebAPIについての知識をヤフー黒帯シリーズの本気ではじめるiPhoneアプリ作りで補っているとのことでした。
座学だけではなく、8本のサンプルアプリを作ってもらうようにしているとのことでした。
必ずレビューを行い、わからないことに関しても必ずほうこくしてもらうように、報連相を徹底しているとのことでした。
また、メンターは先生ではなく、アドバイザーとしてあるべきなど、教える側の姿勢も強調されていました。

談義3: kohei_tabata さん

スライドは公開され次第、更新いたします。

try! Swiftで特に気になったセッションを3つを振り返っていただきました。
1つ目はJon Bottさんの「データレイヤを分離する」セッションで、チーム構成によって、データ層のモデルと描画用のモデルを分離することで、パフォーマンスを維持しながらPOSOに移行するところに共感されていました。

2つ目はLaura Ragoneさんの「Swiftで堅牢なカラーシステムを構築する」セッションで、多くの手段のある、UIColorのManage方法の一つとして注目されていました。

3つ目はDerek Leeさんの「チームの生産性を改善するために決断疲れを最小化する」セッションでチームにアサインされる際のコストを下げるために、Xcodeのプロジェクトのグルーピング方法やソースコード内のMARKの分離の工夫に共感されていました。

談義4: hirose_yudai さん

スライドは公開され次第、更新いたします。

try! Swift Tokyo 2017 RejectConで応募した内容を話していただきました。

OpenSourceであるSwiftにメソッドを追加してみるところをライブコーディングで行いつつ、ビルド時間の間はtry! SwiftのLTで応募したときに、リジェクトされた理由を赤裸々に語っていただきました。

談義5: es_kumagai さん


Swiftのイニシャライザーの復習を基本の書式や実装の基本などを交えて話していただきました。
生成に失敗したときのエラー処理やラベル付けの基本、命名規則などを復習し、Memberwiseイニシャライザーについてや、extensionで値型イニシャライザーを拡張したりなどを振り返りました。
型.selfで取り出せる、型のメタタイプについても値型、参照型の両方のイニシャライザーについても話していただきました。

談義6: marty-suzuki さん

UITableViewDelegate + Paging を例にDelegateの共通処理を切り出し、仕様変更に強いViewControllerをつくる方法を話していただきました。

メッセージアプリのような、下からセルが出てくるものは、TableViewControllerを180度回転し、さらに、TableViewCellを180度回転させることで実現できますが、それぞれに反転処理を記述する必要があり、また、不要になった際の修正箇所が多くなるという問題があります。
それを共通で切り出したdelegateに集約することで、delegateの入れ替えで通常ロジックと反転ロジックの入れ替えを実現されていました。
サンプルコードも公開されていますので、そちらも参照いただけると理解が深まると思います。

ReverseExtension

談義7: danbo-tanaka さん

スライドは公開され次第、更新いたします。

Jon Bottさんの「データレイヤを分離する」セッションやその後の質問タイムなどを交えて影響を受けた内容をもとに、MVA(Minimum Value Architecture)として、描画に必要なロジックをPresenterに切り出す方法を話していただきました。
fatになりがちなViewControllerを描画ロジックと分離することで、可読性や保守性を高めることができることをコードを交えて話していただきました。

談義8: tamaki さん

スライドは公開され次第、更新いたします。

try! Swift TOKYO 2017にスタッフとして参加されたときの所感を話していただきました。
前日のパッキング作業、1日目の動線確保、2日目のアフターパーティーの会場までの誘導、ハッカソンでのゴミ出しなどの苦労を話していただきました。
一番苦慮されたのが翻訳レシーバの管理とのことで、執筆時点でも3台のレシーバが返却されていないとのことです。

参加者の方はトートバックなどを今一度確認いただいて、もし持たれていた場合は是非返却してくださいとのことでした。

継続開催には皆様の協力が不可欠とのことですので、次回興味のある方はスタッフとして参加してくださいとのことでした。

最後に

今回コラボを快く引き受けてくださいましたSwift愛好会様、本当にありがとうございました!
懇親会中も談義が行われるスタイルでしたが、皆様最終退出時間ギリギリまで発表、談笑をされていました。

次回はAKIBA.swiftの一周年記念のイベントを企画しています。
まだまだ企画段階ではありますが、早めに告知できるように計画してまいります!

バックナンバー

AKIBA.swift を開催しました! #akibaswift
第二回AKIBA.swift を開催しました! #akibaswift
第三回AKIBA.swift を開催しました! #akibaswift
「AKIBA.swift 第4回」を開催しました! #akibaswift
AKIBA.swift×Swift愛好会を開催しました! #love_swift #akibaswift
「AKIBA.swift 第5回」を開催しました! #akibaswift
「AKIBA.swift 第6回」を開催しました! #akibaswift
「AKIBA.swift 第7回」を開催しました! #akibaswift
2016年 AKIBA.swift忘年会を開催しました! #akibaswift
「AKIBA.swift 第10回」を開催しました! #akibaswift
【Kyobashi.swift x AKIBA.swift 合同勉強会】を開催しました! #kyoakiswift #kyobashi #akibaswift

AWS Cloud Roadshow 2017 福岡