Slide 1

Slide 1 text

JAWS-UG CDK支部 #6(初心者枠)
 
 
 AWS事業本部 コンサルティング部
 1 また(CDK界隈の)世界を縮めてしまった
 2023 3/22
 今泉大樹


Slide 2

Slide 2 text

2 すみません。これが何のロジックか分かりますか? 答えは後ほど!

Slide 3

Slide 3 text

3 CDK支部だからCDKのソースだろと思いましたね? これがメンタリズムです

Slide 4

Slide 4 text

4 自己紹介 今泉大樹(Taiki Imaizumi) (bun913) • クラスメソッド株式会社 • ソリューションアーキテクト • AWS認定資格 12種取得 • 好きな技術領域 • アプリとインフラの中間あたり • ダイの大冒険ガチ勢 @bun76235104

Slide 5

Slide 5 text

5 初めてCDKを案件で触った時の感想(5ヶ月前) 生のプログラミング言語で書くの楽しい〜

Slide 6

Slide 6 text

6 が・・・Step Functionsでちょっと詰まる 要件として既存のタスク定義(マネコンで作成)を処理に組み 込む必要があった • L2 ConstructのEcsRunTaskはインポートしたタスク定義には使え ない • ドキュメントにもその旨書かれているが「その代わりどうしたら良 い」がなかった • 結論 L2 ConstructのCustomStateを使えた(L1使わずに済んだ)

Slide 7

Slide 7 text

7 その時思ったこと これ世界中で5人くらい分からない人いるぞ

Slide 8

Slide 8 text

8 ということでドキュメント修正のPullRequest出す ブログに書いてみました 1本目: CustomeStateで乗り切った話 2本目: Pull Request出した時の話

Slide 9

Slide 9 text

9 マージされてテンション爆上がり

Slide 10

Slide 10 text

10 その後もバグ修正のIssueを見つけて直したりする せっかく受けとったパラメーターをCfnに渡し忘れていたり

Slide 11

Slide 11 text

11 その時に思ったこと こんだけ世界中で使われているOSSでも 俺みたいなミスがあるんだなぁ・・・

Slide 12

Slide 12 text

12 (そもそも)私の戦闘力は53です 私の経歴(エンジニア4年目) • 業務システム開発: 1年程度 • Webのシステム開発: 1年6ヶ月程度 • DevOps寄りの仕事: 6ヶ月程度 • ソリューションアーキテクト: 8ヶ月程度 • 社内でも有数のマージナルマン(境界人)(自称) そんな自分でもできる貢献の仕方があるんだ・・・!!

Slide 13

Slide 13 text

13 それなら・・・ 既存コードのリファクタリングでもしよう! 世界中の開発者の悩む時間を1秒でも減らそう

Slide 14

Slide 14 text

14 ECS周りのソースコード見た僕「...」

Slide 15

Slide 15 text

15 ぱっと見直したいと思ったところ1

Slide 16

Slide 16 text

16 ぱっと見直したいと思ったところ2

Slide 17

Slide 17 text

17 こんな感じにしました

Slide 18

Slide 18 text

18 自分でも完璧と思ってませんが・・・ 確実に前より見やすく・変更しやすくなったはず • 世界にこのソースを見る人が1,000人いたとする • 1,000人の思考時間を20秒縮められるだけで5時間以上の時間 短縮に役立っているはず(タイトル伏線回収) • リファクタリングだけでもメンテナーの方々は歓迎してくれました

Slide 19

Slide 19 text

19 世界中で使われているCDKとはいえ 完璧じゃないですよね。 if文1つなくすだけでも貢献できますよ!

Slide 20

Slide 20 text

20 (再掲)超カッコ良いマークがつきます!

Slide 21

Slide 21 text

21 初心者でも貢献できる方法がある!! 是非みなさんも気軽に貢献してみてください ご清聴ありがとうございました!!