俺が聞きたかったLTがここにある!try! Swift After Talks Day2 を開催しました! #tryswift_aftertalks

はじめに

おばんです、『私と彼女のお泊まり映画』という漫画が完結してしまい、路頭に迷っている田中です。

今日は、先日開催されたtry! Swiftの「後」イベントとして開催するtry! Swift After Talksに参加(運営・開催)してきましたので、そのレポートをまとめます!

配信と動画公開

当日の様子はYoutubeで配信されました。動画としても公開される予定です!

try! Swift After Talksとは?

公式ページより引用。

今年の try! Swift Tokyo 2018 にもたくさんのCfPの応募をいただきました。主催者で選考を行いましたが、枠数には限りがあり、泣く泣く見送るCfPもありました。そこでこのイベントでは、東京のSwift developer達が選ぶ、try! Swift で聞きたかったLTを集めました。2日間かけてtry!Swift Tokyo 2018の余韻を楽しみましょう!

発表

各発表はOrganizerの投票によって決められています!

「Swiftバグレポートレポート」 林 和弘


CURATED BY 七島 偉之 松館 大輝

  • Bugはpublic bug tracking systemによって管理されている
  • バグを晒しあげようという腹づもりではなく、紹介をするつもりです
  • Codableに対応したクラスを継承したクラスのプロパティにアクセスするとエラーが起きるバグ
  • あるクラスAの中に宣言したクラスBから、クラスAに宣言したStatic変数にアクセスできてしまうバグ
  • returows + Capture listの組み合わせでコンパイルエラーが起きるバグ

「Mutatingキーワードから学ぶCQS」 takasek

CURATED BY 松館 大輝 七島 偉之

  • CQS(Command Query Separation コマンドクエリ分離)原則
  • クエリには副作用がない
  • コマンドによるオブジェクトの変更は副作用とは呼ばない
  • クエリがオブジェクトを変更することがあればそれは副作用である
  • クエリは問いに答えてほしいだけなので、状態を変えてしまうのであればそれは副作用と呼べる
  • Referential transparency
    • 問いを発することで状態を変えるべきではない
  • Martin Fawler「CQSをカバーした言語があればなあ...」
  • takasek「Swiftという言語がありまして」
  • mutating keyword
  • 実装者がコマンドとクエリの使い分けを意識しなければいけない
  • Swiftは命名規則からCQSを意識している
  • さっきのコードは実は嘘、恣意的に書き換えた部分があって、戻り値を返すコマンドもある

「忙しい人のためのブロックチェーン」 Seiyo Kurita

CURATED BY 後藤 玲子

[資料が公開され次第、掲載します!]

  • マイニング = ヘッダに書き込むための一定のルールをもったランダムな文字列を探し出すための処理
  • スマートコントラクト = ビットコイン上に書き込まれた書き換えることのできないプログラム
    • ビットコインのやりとりによって発火する?
  • CryptoKitties | Collect and breed digital cats!

「Server Side Swift」 Mitesh Soni

CURATED BY 松館 大輝

[資料が公開され次第、掲載します!]

「初めてのターミナルプログラム」 星野 恵瑠

CURATED BY 七島 偉之

  • みなさん様々なターミナルプログラムを使っていると思います
  • CommandLine.arguments: [String]
    • これを使うことでコマンドライン引数を利用することができる
  • ズンドコキヨシ with Swift - Qiita
  • ↑これをコマンドラインプログラムとして作ります
  • (ライブコーディング)

「デザイナーとエンジニアが理解し合うために」 bannzai

CURATED BY 田中 賢治

  • 実際に仕事をしていて発生していたやりとり
  • よくあるコミュニケーションの問題があります
    • カラーコードはわかりにくい
    • 「どちらかに統一しますか?」「はい、統一してください」←どっちに!?
    • UIKitの用語を使ってデザイナと会話してしまう
    • Designer「Material Designって導入できたりする?」
      • Engineer「(あまり気が進まない)」
  • エンジニアの理解をデザイナにお願いするのも無理がある
  • Atomic Designを導入した
    • 最小の単位を定義する
    • 色、フォント、パーツなど
    • 導入してよかったこと
      • デザイナーでもSwiftのコードがわかる!
      • デザイナーがSwiftのコードを読むことに抵抗がなくなった
  • ペアプログラミングをやった
  • 今回はデザイナーがエンジニアに寄り添う形の紹介だったけど、もちろんエンジニアがデザイナーに寄り添う方のこともやってましたよ!という注意

「クロージングLT / How to contribute to Swift」 松館 大輝

CURATED BY 松館 大輝

[資料が公開され次第、掲載します!]

  • ずっとオーガナイザーをやっていたので、僕だって喋りたい!!!
  • さまざまなデザインを担当してくれた @yucovin さんありがとう!(当日は残念ながら参加できなかった模様)
  • How to contribute to Swift
  • SwiftのフォーラムにPitch(ちょっとした議論)を投げてみた
  • 本体にもProposalを投げてみた
    • compactMapValuesというものを作った
    • Appleのエンジニアの人がサポートしてくれた
  • 実装してみたところ、「テストを書いてください!」と言われたので、今どうテストを書くか考え中です!
  • Swiftにもコントリビュートはできます!ぜひやってみてください!

懇親会

Day 2のスポンサーは ヤフー株式会社 さん でした、ありがとうございます!お寿司がおいしかったです!

OLYMPUS DIGITAL CAMERA

乾杯の音頭。

OLYMPUS DIGITAL CAMERA

まとめ

二日間のtry! Swift After Talksいかがでしたでしょうか?参加者の皆様が楽しめて、勉強になったのでしたら、運営一同嬉しい限りです!運営業務も楽しくワイワイやれたのでとてもよかったです!

僕の今年のtry! Swiftはここでおしまいです。また来年お会いしましょう!