Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developers Boost Session 6

Developers Boost Session 6

Developers Boost の Session 6 の登壇資料です。

Developers Boost 公式サイト
https://event.shoeisha.jp/devboost/20201212

おかやまん

December 12, 2020
Tweet

More Decks by おかやまん

Other Decks in Programming

Transcript

  1. OpenAPI Generator による
    API Client コードの完全⾃動⽣成
    〜退屈な時間を有意義な時間に変えるために〜
    2020.12.12 Developers Boost #6

    View Slide

  2. 岡⼭ 達哉
    • Android App Developer
    • 株式会社ゆめみ(2019年11⽉⼊社)
    • 趣味は将棋
    • Flutter で個⼈開発中(2⽉にリリース予定)
    blendthink

    View Slide

  3. View Slide

  4. これまでの経歴





    &

    (
    )


    ,
    -
    .

    View Slide

  5. View Slide

  6. 本題に⼊る前に

    View Slide

  7. 正直...

    View Slide

  8. 題材ミスりました笑

    View Slide

  9. 1. 困った・苦労したこと
    2. 考えた・⾏動したこと
    3. 今後の⽅針について
    なので...

    View Slide

  10. 1. 困った・苦労したこと

    View Slide

  11. 1. 困った・苦労したこと
    こんな経験
    ありませんか︖

    View Slide

  12. 1. 困った・苦労したこと
    どこが変更になったんだ..
    いつのまにか仕様変わってる
    どこを変更したのか分からない⁉

    View Slide

  13. 1. 困った・苦労したこと
    こんなとき、ついつい
    責めてしまってませんか︖

    View Slide

  14. 1. 困った・苦労したこと
    仕様変更した時は
    ちゃんと⾔って︕
    どこを変更したか
    教えて︕
    変更箇所は
    把握しといて︕

    View Slide

  15. 1. 困った・苦労したこと
    ⾔ってることは
    正しい..

    View Slide

  16. 1. 困った・苦労したこと
    しかし

    View Slide

  17. 1. 困った・苦労したこと
    ⼈間は完璧ではありません

    View Slide

  18. 2. 考えた・⾏動したこと

    View Slide

  19. 2. 考えた・⾏動したこと
    運⽤でカバーは
    したくないなぁ
    そもそも修正するの
    めんどくさいなぁ

    View Slide

  20. 2. 考えた・⾏動したこと
    そうだ

    View Slide

  21. 2. 考えた・⾏動したこと
    責任はすべて
    プログラムに押し付けよう
    ⾃動化しよう︕

    View Slide

  22. 2. 考えた・⾏動したこと
    APIの変更の流れ

























    View Slide

  23. 2. 考えた・⾏動したこと
    APIの変更の流れ

    "

    "





















    ⾃動化したい

    View Slide

  24. 2. 考えた・⾏動したこと
    ⾃動化するには..︖

    View Slide

  25. 2. 考えた・⾏動したこと
    APIの変更の流れ

    "

    "





















    View Slide

  26. 2. 考えた・⾏動したこと
    GitHub Actions

    View Slide

  27. 2. 考えた・⾏動したこと

    View Slide

  28. 2. 考えた・⾏動したこと
    APIの変更の流れ

    "

    "





















    View Slide

  29. 2. 考えた・⾏動したこと
    OpenAPI Generator

    View Slide

  30. 2. 考えた・⾏動したこと

    View Slide

  31. 2. 考えた・⾏動したこと
    こんな感じ
    API API Client
    • API の更新通知の受信
    • API Client コードの⽣成
    • API Client にプルリク作成

    View Slide

  32. 2. 考えた・⾏動したこと
    試してみた

    View Slide

  33. 2. 考えた・⾏動したこと
    API のリポジトリ
    https://github.com/blendthink/linkmark-api

    View Slide

  34. 2. 考えた・⾏動したこと
    API Client のリポジトリ
    https://github.com/blendthink/linkmark-android

    View Slide

  35. 2. 考えた・⾏動したこと

    View Slide

  36. 2. 考えた・⾏動したこと
    めっちゃ便利︕

    View Slide

  37. 3. 今後の⽅針について

    View Slide

  38. 3. 今後の⽅針について
    実は、、

    View Slide

  39. 3. 今後の⽅針について
    課題が⼭積み

    View Slide

  40. 3. 今後の⽅針について
    そもそも、、
    API仕様書がない

    View Slide

  41. 3. 今後の⽅針について
    API仕様書が
    Git管理されてない

    View Slide

  42. 3. 今後の⽅針について
    GitHub Actions
    をいじれない
    権限が必要じゃ

    View Slide

  43. 3. 今後の⽅針について
    OpenAPI Generator
    で未対応の部分がある

    View Slide

  44. 3. 今後の⽅針について
    Retrofit
    X
    Coroutine
    X
    Kotlinx Serialization
    例えば
    API Client コードが、まだこの組み合わせで⾃動⽣成できない

    View Slide

  45. 3. 今後の⽅針について

    View Slide

  46. 3. 今後の⽅針について
    今後の⽅針

    View Slide

  47. 3. 今後の⽅針について
    できるだけ⾃動化する

    View Slide

  48. 最後に

    View Slide

  49. 前提を疑うこと
    は⼤切
    それって⼈がやることなの︖

    View Slide

  50. 社内の OJT チャンネルガイドライン

    View Slide

  51. いかがでしたでしょうか︖

    View Slide

  52. 皆さんの退屈な時間を
    少しでも有意義な時間に
    できていれば幸いです

    View Slide

  53. ご清聴ありがとうございました

    View Slide

  54. 参考
    • https://openapi-generator.tech/
    • https://github.co.jp/features/actions
    • https://www.irasutoya.com
    • https://qiita.com/warahiko/items/3676f1164f4619e8debc
    • https://qiita.com/n_komiya/items/8310fdb7e2002e89eb13

    View Slide