2016年4月3日日曜日

第六回 カジュアルSwift勉強会@青葉台に参加

お疲れ様です。 ZuQ9->Nnです

2016/04/02(土) 第六回 カジュアルSwift勉強会@青葉台が開催されたので参加しました。
今回の目的は勉強会の参加ってよりも、自分の発表です。

去年から、発表するする詐欺を続けてしまい。
気になってたので思い切ってやってみました。
なんでも、勢いって大切ですよね。

発表内容はクロージャについて。
資料にも書いたように自分が苦手だったので勉強目的です。

発表の反応は。。。微妙だったようです。
かなり久しぶりの発表だったため、
それだけでいっぱいいっぱい、
発表後も頭が真っ白な感じ。
もう少し、余裕が欲しいかな。
勉強会そのものを楽しめた感覚は少なかったですね。
針の筵みたいな。せっつかれた感じで過ごしましたww

個人的には、発表そのものがグダグダにならないこと。
かといって早口になりすぎないことを目標としていましたが、
やはり、説明が早すぎたかな。それは途中で気がついたんだけど
もはや修正ができなかった。。orz..

こぼれ話というか、発表時にまとまらなかった内容

クロージャとプロトコルは似ている
発表資料にもあるように、クロージャは
関数の定義のみ行い、実装を呼び出し元に任せる事が可能です。
この資料を作っている途中に、それってプロトコルと同じやんって思ったんですが

住み分けというか、どういった違いがあり、
どういったシチュエーションでプロトコルと
クロージャを書き分けるのか、具体的な良いサンプルが思い浮かばず
また、話の流れをそちらに向ける事ができず、断念しました。
ここらへんもう自分の中でもまだスッキリと理解しききれていませんね。

クロージャもリテラル
主催者の熊谷さんはよく他のSwift勉強会でもリテラルの話をされています。
関数オブジェクトの説明を書いている時に
関数が値、つまりはリテラルである事がわかったんですが、

なにかプロトコルが定義されているんだろうか?
Objective-Cのblocks構文は関数ポインタだったけど
そもそも、value typeなのか?reference typeなのか?
reference typeぽいけど、それじゃあvarで受けた時、変更できるのか??
(できそうな感じだけど、方法がなさそう。。)
こちらも深堀りしきれず、理解も中途半端な状態ですね

Swiftの書籍に思うこと
よく、Swiftの勉強をしているときに、書籍を購入したりするんですが、
大概iOSのAPIを利用してObjective-C時代のやつを
単にSwfitに直しているパターンが多いなぁと感じます。

特に今回のクロジャについては、入門書ではあまり扱われないし
詳解Swiftのような書籍は文法の説明のみで
実際のアプリで利用しているサンプルを見れなかったりします。

また、解説も難解で、あまり、頭のなかにスッキリ入ってこず
第一級関数みたいなキーワードだけが目について
何それ美味しいの?みたいな感覚が残ります。

勉強会の懇親かなどで、クロージャが苦手って話をしても
慣れたらわかるみたいな荒っぽい返答しか返ってこなかったり悶々とします。
そういう人って絶対に慣れるためのステップって示さないんですよね。
本当に理解してるのこの人??って疑問に思います。

ならば自分が分かりやすいスッキリとした資料を作ってやる。。
みたいなノリもあったんですが、改めてまとめると
本当に自分が理解してたのか?あるいはこの捉え方であってるのか?
みたいなのが自信がなくなってきますね。

いろんな勉強会で発表している人は、
自分の発表内容が正しいのかはどうやって担保してんだろう
改めてその辺も気になります

あと、やはり、業務が忙しくなると気になりながらも
勉強会の手がとまるので、発表者の方の準備の大変さも
自分がやってあらためて感じたり、今回は色々勉強になりました。

この発表の機会を与えてくれた、主催者の熊谷さんには
あらためて感謝とお疲れ様でしたを言いたいです。

最後に、不吉なフラグを立ててしまいましたが
アウトプットの重要性、そのためのインプットの大切さを
体感できたので、今年は最低、後1回は発表します。。