Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kotlin 使いになりました

20160709 Kansai.kt#1 LT

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Kotlin 使いになりました

  1. 1. Kotlin 使いになりました 2016/07/09 Kansai.kt LT #kansaikt @株式会社はてな 京都オフィス Sansan株式会社 辰濱健一
  2. 2. Copyright © 2014 Sansan, Inc. All rights reserved. 自己紹介 1
  3. 3. Copyright © 2014 Sansan, Inc. All rights reserved. > 自己紹介 2 • 辰濱健一 • 徳島生まれ、奈良育ち、徳島県在住 • 2回転職するも、いずれも徳島県内勤務 • Tokushima.app 主催 (徳島でのスマホアプリの勉強会) • Sansan株式会社所属 • 古民家を改修した神山ラボ勤務 • 名刺アプリ Eight Android 版の開発 • Kotlin, RxJava, Realm, … を使ってます • リモートワーク • 趣味は楽器演奏
  4. 4. Copyright © 2014 Sansan, Inc. All rights reserved. > Sansan神山ラボ 3
  5. 5. Copyright © 2014 Sansan, Inc. All rights reserved. > 趣味 4 • 楽器演奏(エレクトーン・トランペット) • 徳島県内のイベントで、ちらほら演奏する機会を頂い てます
  6. 6. Copyright © 2014 Sansan, Inc. All rights reserved. > Tokushima.app 5 • http://tokushima-app.connpass.com • 徳島のスマホアプリ開発の勉強会 • 基本もくもく会、たまにハンズオン • 場所は徳島市内、10:00〜16:00 • 初心者でも OK、入退出自由、参加費無料 • 月1ペースで開催(したいと思ってはいる) • 辰濱が東京の勉強会で仕入れてきた情報なども共有します • 要望あれば、近隣に出張ハンズオンなども始めようかな…とか思っている。
  7. 7. Copyright © 2014 Sansan, Inc. All rights reserved. 6 京都にもオフィス!
  8. 8. Copyright © 2014 Sansan, Inc. All rights reserved. > Sansan 京都ラボ 7 • 京都で Kotlin 書きたい方、お待ちしております!! • 京都ラボ: • http://jp.corp-sansan.com/blog/jinji/2014/141125.html
  9. 9. Copyright © 2014 Sansan, Inc. All rights reserved. 8 本題へ…
  10. 10. Copyright © 2014 Sansan, Inc. All rights reserved. Kotlin 使いになりました 9
  11. 11. Copyright © 2014 Sansan, Inc. All rights reserved. > モバイル経験 10 • 前職 2012/09 〜 • iOS, Android, Windows8(C#) • 機能担当制で、3OS ともやる • Sansan 2014/03 〜 • 2014/03 〜 法人向け部門 • Android アプリ • Java, SQLite, DefaultHttpClient(Deprecated...), 生Activity • 2016/03 〜 個人向け部門(Eight)に部署異動! • Android アプリ • Kotlin, Realm, Retrofit, Rx(UI も), MaterialDesign, ...
  12. 12. Copyright © 2014 Sansan, Inc. All rights reserved. 11 同じ「Android エンジニア」といえど、 使われている技術が違う部署への異動は かなり大変。。。
  13. 13. Copyright © 2014 Sansan, Inc. All rights reserved. 12 さらに、 異動後の即戦力の期待値感が高い…orz (端から見れば、Android → Android。そりゃそうだ。)
  14. 14. Copyright © 2014 Sansan, Inc. All rights reserved. 13 不慣れと、わからないことの焦りと不安 なかなか終わらないビルド…
  15. 15. Copyright © 2014 Sansan, Inc. All rights reserved. 14 辛い。。。
  16. 16. Copyright © 2014 Sansan, Inc. All rights reserved. 15 でも、
  17. 17. Copyright © 2014 Sansan, Inc. All rights reserved. > 社内に Kotlin の師匠 16 • コードレビューによる助言、知見の共有
  18. 18. Copyright © 2014 Sansan, Inc. All rights reserved. > 弊社主催の Kotlin 勉強会@東京 17 • 他社事例や自社外の知見の共有!(リモート視聴)
  19. 19. Copyright © 2014 Sansan, Inc. All rights reserved. 18 恵まれた環境です。
  20. 20. Copyright © 2014 Sansan, Inc. All rights reserved. 19 異動から…
  21. 21. Copyright © 2014 Sansan, Inc. All rights reserved. 20 ヶ月 ヶ月 ※Input に注力する期間を自分で 定めただけです。 ※転職するわけではないです
  22. 22. Copyright © 2014 Sansan, Inc. All rights reserved. 21 Input に注力する期間 が終わったので… Output を!
  23. 23. Copyright © 2014 Sansan, Inc. All rights reserved. 22 Kotlin 使っててハマった所 を共有します。
  24. 24. Copyright © 2014 Sansan, Inc. All rights reserved. Java → Kotlin コンバータの注意点 23
  25. 25. Copyright © 2014 Sansan, Inc. All rights reserved. > Code > Convert Java File to Kotlin File 24
  26. 26. Copyright © 2014 Sansan, Inc. All rights reserved. > Before / After 25 ↓ Java to Kotlin ↓
  27. 27. Copyright © 2014 Sansan, Inc. All rights reserved. > Before / After 26 ↓ Java to Kotlin ↓ NewActivity に遷移して、バックキーで戻ると…
  28. 28. Copyright © 2014 Sansan, Inc. All rights reserved. > RuntimeException... 27 java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=123, result=0, data=null} to activity {jp.tokushima.tatsuhama.myapplication/jp.tokushima.tatsuhama.myapplicat ion.MainActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter data at android.app.ActivityThread.deliverResults(ActivityThread.java:3699) at android.app.ActivityThread.handleSendResult(ActivityThread.java:3742) at android.app.ActivityThread.-wrap16(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1393)
  29. 29. Copyright © 2014 Sansan, Inc. All rights reserved. > Nullable にする必要があった 28 ×:data: Intent ↓ ○:data: Intent? ※色々試してみたところ、data を関数内で null チェックしてたら、 ちゃんと Intent? になりました!
  30. 30. Copyright © 2014 Sansan, Inc. All rights reserved. 29 コンバータを使っても、 関数パラメータの NonNull / Nullableは ちゃんと確認しよう!
  31. 31. Copyright © 2014 Sansan, Inc. All rights reserved. 使っているのに、Unused Resources 30
  32. 32. Copyright © 2014 Sansan, Inc. All rights reserved. > Lint の実行結果 31 • ./gradlew lint で実行 • kt ファイルで使ってるのに、Unused Resources … リソースを消すときは要注意!
  33. 33. Copyright © 2014 Sansan, Inc. All rights reserved. 32 Kotlin 1.0.2 で Lint 対応 って書いてたんだけど… まだ、過信しない方が良い
  34. 34. Copyright © 2014 Sansan, Inc. All rights reserved. 使えるのに、警告… 33
  35. 35. Copyright © 2014 Sansan, Inc. All rights reserved. > Android Studio 上に警告が… 34 • Bundle#putBoolean が API 22 以上??
  36. 36. Copyright © 2014 Sansan, Inc. All rights reserved. > Android Studio 上に警告が… 35 • Bundle#putBoolean が API 22 以上?? • いいえ、API 1からです。
  37. 37. Copyright © 2014 Sansan, Inc. All rights reserved. 36 Plugin も発展途上。 怪しいと思ったら、 ちゃんと本家で確認を!
  38. 38. Copyright © 2014 Sansan, Inc. All rights reserved. 呼んでるのに… 37
  39. 39. Copyright © 2014 Sansan, Inc. All rights reserved. > 呼ばれてないことになってしまう 38 • property アクセスが、Hierarchy Callcs で出ない… • 削除時は要注意!! 使っているのに… 出てない!?
  40. 40. Copyright © 2014 Sansan, Inc. All rights reserved. 39 色々発展途上。 修正したら、 ちゃんとビルドが通ることを 確認しよう!! (ビルド遅いけど…)
  41. 41. Copyright © 2014 Sansan, Inc. All rights reserved. IcePickが動かない… 40
  42. 42. Copyright © 2014 Sansan, Inc. All rights reserved. > アノテーションプロセッサが原因? 41 • IcePick: • Activity/Fragment のインスタンスフィールドを簡単に 保存・復元してくれるライブラリ
  43. 43. Copyright © 2014 Sansan, Inc. All rights reserved. 42 使ってるライブラリが Kotlin で動くことを ちゃんと確認しよう! Kotlin版 IcePick は弊社の yamamotj が Pikkel を公開しています。 https://github.com/yamamotoj/Pikkel
  44. 44. Copyright © 2014 Sansan, Inc. All rights reserved. 43 まとめ。
  45. 45. Copyright © 2014 Sansan, Inc. All rights reserved. 44 まだ発展途上のツールもあるけど、 慣れてくると Kotlin 良い! ※安心して下さい、Kotlin 本体はプロダクトコードでも 問題なく使えています!
  46. 46. Copyright © 2014 Sansan, Inc. All rights reserved. 45 先人の知見が、 Kotlin 習得に役立ちました!
  47. 47. Copyright © 2014 Sansan, Inc. All rights reserved. 46 この内容も 誰かの役に立てば幸いです。
  48. 48. Copyright © 2014 Sansan, Inc. All rights reserved. 47 四国住まいですが、 また Kotlin の経験積んで Kansai.kt にて Output しに来たいと思います!
  49. 49. Copyright © 2014 Sansan, Inc. All rights reserved. 48 本日はありがとうございました! & これからも、 よろしくお願いします!
  50. 50. Copyright © 2014 Sansan, Inc. All rights reserved. ステッカー欲しい方、お声がけ下さい!! 49

×