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

アプリ側のコードを書いていた人がLambdaに触れて気づいたこと

3933b943fb70400bbc26f3cb78d8204c?s=47 H.Saki
June 07, 2022

 アプリ側のコードを書いていた人がLambdaに触れて気づいたこと

3933b943fb70400bbc26f3cb78d8204c?s=128

H.Saki

June 07, 2022
Tweet

More Decks by H.Saki

Other Decks in Technology

Transcript

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

  2. 自己紹介 About Me l ͖͞ )4BLJ ◦ ຊۀ͸Ϋϥ΢υΤϯδχΞɾ(Pݴޠ͕޷͖Ͱ͢ ◦ 5XJUUFS!TBLJFOHJOFFS

    l աڈͷ੒Ռ෺ ◦ (P$POGFSFODF"VUVNO ʮεέδϡʔϥ͔ΒֶͿ(PϥϯλΠϜʯ ◦ ॻ੶ ओʹ;FOO FUDʜ
  3. Lambdaにはじめて触れたときの感想 NBJOؔ਺ͱϋϯυϥؔ਺͕ผʹ༻ҙ͞Ε͍ͯΔͷ͕ෆࢥٞͰͨ͠ɻ mainؔ਺ lambda.Start(handler)ͷΈ handlerؔ਺ -BNCEBؔ਺ͷதͰຊ౰ʹ ΍Γ͍ͨॲཧΛॻ͘

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

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

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

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

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

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

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

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

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

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

    ελʔτํࣜʹΑΒͣʹ࣮ߦ͞ΕΔ
  14. まとめ l -BNCEBͱ͍͏࣮ߦΠϯϑϥ͸ɺΞϓϦଆͷίʔυͱີ઀ʹؔΘ͍ͬͯΔ l ͦΕΏ͑ʹʮ-BNCEB؀ڥʯͷಈ͖ͱʮ-BNCEBʹͷͤͨίʔυʯͷಈ͖Λ ؔ࿈͚ͮͯ஌ࣝΛ਎ʹ෇͚Δͷ͕େࣄ ◦ ΞϓϦଆͷΈݟ͍ͯΔͱ͖ʹ͸ɺNBJOؔ਺ͱϋϯυϥؔ਺ʹ෼͔Ε͍ͯΔཧ༝ ͕Θ͔Βͳ͔ͬͨ ◦

    ΠϯϑϥଆͰݟ͍ͯΔͱ͖ʹ͸ɺίʔϧυελʔτͱ΢ΥʔϜελʔτͷ֓೦Λ ஌ͬͯ΋ʮ·͋ͦͷํ͕͔֬ʹޮ཰ྑͦ͞͏ͩ͠ͳ͋ʯ͙Β͍ʹ͔͠ࢥ͍ͬͯͳ ͔ͬͨ l ࠓճ࢖ͬͨίʔυ͸ͪ͜Β ◦ HJUIVCDPNTBLJFOHJOFFSJOH+"84NPSOJOH
  15. 5IBOLZPVGPSMJTUFOJOH