とりあえずやってみればいいじゃん

とりあえずやってみればいいじゃん

エンジニア関連のことについてつらつら書くブログ

8/30 iOSDC Reject Conference days1を開催しました

iosdc-reject-conference.connpass.com

先日iOSDCで惜しくもトークリジェクトされてしまった人が発表するiOSDC Reject Conferenceを開催したので書こうと思います。3部構成にしようと思っていまして、この記事ではdays1について書いて、days2について、運営とか裏事情的なことについては別の記事で書こうと思います。

私は司会進行をしつつその他のことに気を配りつつだったので微妙に話を追えてませんが、できるだけ書こうと思います。

トーク

30代からのプライベートiOSデベロッパーのとしての軌跡 @fumiyasacさん

www.slideshare.net

  • 思い切ってスクールに通ってみた
  • デザインから申請までを1人で担当するように
  • 実践を意識してアウトプットする

何をやるにも頑張れば遅いということはないんでしょうね。他にも30歳くらいになってからエンジニアの世界に飛び込んだという人も聞きますし。。。

Swiftで日本語プログラムに挑戦 @codelynx1さん

  • 変数名を日本語にするメリット
    • 専門用語が明確になる
    • 日本語名と英語名が異なるものを気にしなくて良い
  • 英語でうまく表現できない語の例
    • 先手 / 後手
  • 日本語化が有効な例
    • 日本固有の法令、固有名詞等
  • 実際にやってみた
  • やってみた感想
    • 大文字小文字の区別が付けられない
    • 複数形を表しづらい
    • 1つに決まらない(例:開始、開始する)
  • 技術的な問題
    • CoreDataの制限
    • storyboardで日本語名を付けられない
    • クラス自動生成で文字化け

TwitterのTLがなかなか盛り上がったトークだったと思います。

確かに将棋のような思いっ切り「和」なものを題材にするときは日本語でプログラミングするのは有効だと思いましたが、きちんとコーディングルールを決めて望まないと危ない印象を受けました。チーム開発だとなお厳しそうです。

発表としてはかなり楽しんで聞かせてもらいました。

まだJPEGで消耗してるの?〜WebPで創る快適新聞ライフ〜 @TamaObject12さん

  • きっかけ
    • 少しでも画像ダウンロードを速くしたい
  • WebP(うぇっぴー)とは
  • iOSでWebPを扱うには
    • libwebpを使う
    • iOS10で正式サポートなんてことはなかった
  • WebPのパフォーマンス
    • サイズ:30-40%減少
    • ダウンロードから表示までにかかる時間:あまり変わらず
      • ダウンロードは速いがデコードに時間がかかる
      • 画像サイズが大きいほどダウンロード時間は短縮される
    • →画素数が多い画像をダウンロードするアプリには有効
  • 画質の評価
    • SSIM

WebPというものをそもそも知らなかったので勉強になりました。もし本当に正式サポートとなればアプリによってはガンガン使っていけそうなので勉強してみたいと思いました。

Swiftのコードをより読みやすく、理解しやすくするための実践的なTips @yoshikuni_katoさん

  • guardで早期リターンする
    • returnを忘れなくなる
    • ネストが浅くなる
  • Resultで成功 / 失敗を表す
    • 安全に、スマートに書くことができる
  • FRPを使うとイベント処理が読みやすくなる
    • リアクティブであり、宣言的に書ける
    • @inamiyさんのトークが参考になる
    • →理解しやすいコードになる
    • 処理内容が一箇所に固まり、コードを読む時に行ったり来たりしなくてもいい

guardがSwift3でちょっと変わるというところは追えてなかったのであとで0099をちゃんと読んでみようと思いました。

このようなTipsはどんどん聞いて自分のコードに取り入れていきたいと思いました。

メルカリiOSインターンでの幾多なる失敗で学んだリーダブルコードの大切さ!読みやすいコードとはこういうものだ @yuzushiohさん

  • PRしたらたくさんのコメントがついた
    • ほとんどがリーダブルコードに関するもの
  • 読んだ時に最短で理解できるようにする
    • 名前から内容が推測できるように
    • 冗長な名前にはしない
  • パターンに一貫性を持たせる
    • 似ているメソッドは命名も規則性を持たせる
  • メソッド内も読みやすく

リーダブルコードは配属後に輪読のようなものをしてかなり学ぶことが多かったです。特にチーム開発をしていると読みやすいコードは非常に重要だと思うのでぜひとも継続して意識していきたいです。

watchOSでモーション認識 @shu223さん

qiita.com

  • 今回のお題
    • スイングを検知してテニスのフォアハンドかバックハンドかを識別させる
    • 加速度センサやジャイロセンサの値を取り扱えるデバイス全般で言える話
  • テニスのスウィング検出のアルゴリズム
    • 1.角速度と重力加速度のベクトルの内積を計算する
    • 2.1の移動平均と、ピーク値を求める
    • 3.2で求めた値を閾値処理する
    • 4.2の値の符号と、手首の方向からフォアハンドかバックハンドかを判定する
  • デモ

Qiitaの資料を見ると画像を取り入れつつ丁寧に書かれているため、ぜひとも見ていただきたいです。

この発表は過程の説明はもちろん、デモも素晴らしかったです。スイングしてみた時に正しく「フォアハンド」「バックハンド」という音声が流れた時はこの日一番の盛り上がりを見せていたと思います。

このような発表を見ているとちゃんと数学も勉強しなきゃいけないなぁ。。。と思ってきます。

days1を振り返って

裏事情編の記事を書く時にまた話を出そうと思うのですが、この日は台風が来るかもという日だったのでかなりヒヤヒヤしながら当日を迎えました。実際のところは天気が回復してくれて無事開催することができました。いやー良かったです。

トークは見ててとても楽しかったです。新しい学びを得られたり、大切なことに再度気付かされたり。やりながら「開催して良かったなー」と思ってました。

他の方が書いて下さった1日目に関する記事

togetter

@koogawaさんがまとめてくださいました。

2016/8/30 #iOSDCRC iOSDC Reject Conference days1 - Togetterまとめ