Slide 1

Slide 1 text

アプリ側のコードを書いていた人が Lambdaに触れて気づいたこと さき(H.Saki) @saki-engineer JAWS朝会#34, JUNE 7 2022

Slide 2

Slide 2 text

自己紹介 About Me l ͖͞ )4BLJ ○ ຊۀ͸Ϋϥ΢υΤϯδχΞɾ(Pݴޠ͕޷͖Ͱ͢ ○ 5XJUUFS!TBLJFOHJOFFS l աڈͷ੒Ռ෺ ○ (P$POGFSFODF"VUVNO ʮεέδϡʔϥ͔ΒֶͿ(PϥϯλΠϜʯ ○ ॻ੶ ओʹ;FOO FUDʜ

Slide 3

Slide 3 text

Lambdaにはじめて触れたときの感想 NBJOؔ਺ͱϋϯυϥؔ਺͕ผʹ༻ҙ͞Ε͍ͯΔͷ͕ෆࢥٞͰͨ͠ɻ mainؔ਺ lambda.Start(handler)ͷΈ handlerؔ਺ -BNCEBؔ਺ͷதͰຊ౰ʹ ΍Γ͍ͨॲཧΛॻ͘

Slide 4

Slide 4 text

2つのLambdaのスタート方式 "84ࢼݧͷษڧΛ͍ͯͨ͠ͱ͖ʹɺ-BNCEBʹ͸ʮίʔϧυελʔτʯͱʮ΢ ΥʔϜελʔτʯͱ͍͏΋ͷ͕͋Δ͜ͱΛ஌Γ·ͨ͠ɻ ίʔϧυελʔτ ΢ΥʔϜελʔτ 3VO 3VO ίϯςφΛ࡞੒ ࣮ߦ؀ڥΛॳظԽ ίʔυΛ࣮ߦ ίϯςφΛ࡞੒ ίʔυΛ࣮ߦ ࣮ߦ؀ڥΛॳظԽ লུ

Slide 5

Slide 5 text

ある日のことでした ʮ-BNCEB͕ىಈͨ࣌͠ࠁʯΛར༻ͯ͠ॲཧΛߦ͏ίʔυΛॻ͍͍ͯ·ͨ͠ɻ ྫ (P1SPWFSC#PU ϥϯμϜʹ(Pʹؔ͢Δ໊ݴΛฦͯ͘͠ΕΔ handlerؔ਺ ໊ݴͱ࣌ࠁΛηοτʹͨ͠ ϨεϙϯεΛ࡞੒ mainؔ਺ λΠϜκʔϯͱ࣌ࠁΛॳظԽ

Slide 6

Slide 6 text

実行結果 ճ໨ͷ࣮ߦ݁Ռʹؚ·ΕΔλΠϜελϯϓ͸Ͱͨ͠ɻ ݱࡏ࣌ࠁͱϨεϙϯεʹ ؚ·ΕΔλΠϜελϯϓͷࠩ͸ඵ

Slide 7

Slide 7 text

実行結果 ճ໨ͷ࣮ߦ݁Ռʹؚ·ΕΔλΠϜελϯϓ΋ɺճ໨ͱಉ͡Ͱͨ͠ɻ λΠϜελϯϓͱ ݱࡏ࣌ࠁͱͷࠩ͸ඵ

Slide 8

Slide 8 text

実行結果 ճ໨ͷ࣮ߦ݁Ռʹؚ·ΕΔλΠϜελϯϓ΋ɺ ճ໨ͱಉ͡Ͱͨ͠ɻ λΠϜελϯϓͱ ݱࡏ࣌ࠁͱͷࠩ͸෼ඵ ໌Β͔ʹԿ͔͓͔͍͠

Slide 9

Slide 9 text

ウォームスタートの本当の意味 ΢ΥʔϜελʔτͷͱ͖ʹ͸ɺϋϯυϥؔ਺͔࣮͠ߦ͞Εͳ͍ɻ ը૾ग़యʰશ෦ڭ͑·͢ʂαʔόϨεΞϓϦͷΞϯνύλʔϯͱνϡʔχϯάʱ

Slide 10

Slide 10 text

修正後 ࣌ࠁͷॳظԽΛϋϯυϥؔ਺ͷதͰߦ͏Α͏ʹίʔυΛमਖ਼͠·͢ɻ handlerؔ਺ ࣌ࠁΛॳظԽ ˠ໊ݴͱ࣌ࠁΛηοτʹͨ͠ϨεϙϯεΛ࡞੒ mainؔ਺ λΠϜκʔϯͷΈΛॳظԽ

Slide 11

Slide 11 text

修正後の実行結果 ճ໨ͷ࣮ߦ݁Ռʹؚ·ΕΔλΠϜελϯϓ͸Ͱͨ͠ɻ ݱࡏ࣌ࠁͱϨεϙϯεʹ ؚ·ΕΔλΠϜελϯϓͷࠩ͸ඵ

Slide 12

Slide 12 text

修正後の実行結果 ճ໨ͷ࣮ߦ݁Ռʹؚ·ΕΔλΠϜελϯϓ͸ճ໨ͱ͸ҟͳΔͰͨ͠ɻ ݱࡏ࣌ࠁͱϨεϙϯεʹ ؚ·ΕΔλΠϜελϯϓͷࠩ͸ඵ ͖ͪΜͱ࣌ࠁΛ൓өͰ͖͍ͯΔ

Slide 13

Slide 13 text

なんでmainとハンドラに分かれてるんだろう?の解答 NBJOؔ਺ͱϋϯυϥؔ਺ͷҧ͍͸ʮ΢ΥʔϜελʔτ࣌ͷ࣮ߦ༗ແʯͰͨ͠ɻ mainؔ਺ lambda.Start(handler)ͷΈ ίʔϧυελʔτ࣌ʹͷΈ࣮ߦ͞ΕΔ handlerؔ਺ -BNCEBؔ਺ͷதͰຊ౰ʹ ΍Γ͍ͨॲཧΛॻ͘ ελʔτํࣜʹΑΒͣʹ࣮ߦ͞ΕΔ

Slide 14

Slide 14 text

まとめ l -BNCEBͱ͍͏࣮ߦΠϯϑϥ͸ɺΞϓϦଆͷίʔυͱີ઀ʹؔΘ͍ͬͯΔ l ͦΕΏ͑ʹʮ-BNCEB؀ڥʯͷಈ͖ͱʮ-BNCEBʹͷͤͨίʔυʯͷಈ͖Λ ؔ࿈͚ͮͯ஌ࣝΛ਎ʹ෇͚Δͷ͕େࣄ ○ ΞϓϦଆͷΈݟ͍ͯΔͱ͖ʹ͸ɺNBJOؔ਺ͱϋϯυϥؔ਺ʹ෼͔Ε͍ͯΔཧ༝ ͕Θ͔Βͳ͔ͬͨ ○ ΠϯϑϥଆͰݟ͍ͯΔͱ͖ʹ͸ɺίʔϧυελʔτͱ΢ΥʔϜελʔτͷ֓೦Λ ஌ͬͯ΋ʮ·͋ͦͷํ͕͔֬ʹޮ཰ྑͦ͞͏ͩ͠ͳ͋ʯ͙Β͍ʹ͔͠ࢥ͍ͬͯͳ ͔ͬͨ l ࠓճ࢖ͬͨίʔυ͸ͪ͜Β ○ HJUIVCDPNTBLJFOHJOFFSJOH+"84NPSOJOH

Slide 15

Slide 15 text

5IBOLZPVGPSMJTUFOJOH