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

入門!実践!サーバーサイドKotlin〜2026春改訂版〜サンプル/sski2_sample

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for FORTE FORTE
April 10, 2026

 入門!実践!サーバーサイドKotlin〜2026春改訂版〜サンプル/sski2_sample

Avatar for FORTE

FORTE

April 10, 2026

More Decks by FORTE

Other Decks in Technology

Transcript

  1. ͸͡Ίʹ ஶऀͷ FORTE(ϑΥϧς) Ͱ͢ɻຊॻ͸ʮ2026 ೥य़ʹαʔόʔαΠυ Kotlin ʹ ೖ໳࣮͠ફͯ͠ΈΔຊʯʹͳΓ·͢ɻຊஶ͸࣍ͷํ਑Ͱࣥච͞Ε͍ͯ·͢ɻ • ίϐϖͰಈ͘ίʔυΛܝࡌ

    – GitHub ʹαϯϓϧίʔυͷϦϙδτϦ͋Γ • ؀ڥ͸ Windows/MacɺVS Code/IntelliJ IDEA(ίϛϡχςΟ൛) ʹରԠ • ࢖༻͢ΔϑϨʔϜϫʔΫ͸ͳ͠ – ϑϨʔϜϫʔΫ͋ΓͰೖ໳͍ͨ͠৔߹͸ޙड़͢ΔطץΛ͝ཡ͍ͩ͘͞ • Kotlinʁ αʔόʔαΠυʁ ͱ͍͏ํʹ͸ޙड़͢Δແྉͷٕज़ಉਓࢽʮ௒ೖ ໳ʂ αʔόʔαΠυ Kotlinʯ͕͓͢͢Ίʂ ຊஶͷ֓೦ਤ ਤ 1: ͜Μͳ಺༰ͷຊͰ͢ 2
  2. ຊஶͷ಺༰ ͜ͷຊ͸৽ͨͳϓϩάϥϛϯάݴޠΛशಘ͍ͨ͠ɺϨΨγʔͳ؀ڥ͔Βඈͼग़͢Ұ าΛ౿Έग़͍ͨͦ͠Μͳ͋ͳͨ޲͚ͷαʔόʔαΠυ Kotlin ͷ࠷৽ೖ໳ॻͰ͢ɻ ಛ௃ ಛ௃ͱͯ͠ಛఆͷϑϨʔϜϫʔΫʹറΒΕͣɺHTTP ΫϥΠΞϯτͱσʔλϕʔ εΞΫηεͱ͍͏αʔόʔαΠυ։ൃͷجຊతͳεΩϧΛ࣮ફͯ͠਎ʹ͚ͭΔ͜ͱ͕ Ͱ͖·͢ɻ

    ଞͷຊͱͷҧ͍ Spring Boot ͷೖ໳ॻ΍ϑϨʔϜϫʔΫಛԽͷॻ੶ͱ͸ҧͬͯͲΜͳϑϨʔϜϫʔ ΫͰ΋Ԡ༻Ͱ͖Δ൚༻తͳجૅྗͱɺ࣮ࡍʹಈ͘ιʔείʔυΛςετ·ͰؚΊ࣮ͯ ફͰ͖Δαϯϓϧ͕උΘ͍ͬͯ·͢ɻ ͜ͷຊͰಘΒΕΔޮՌʹ͍ͭͯ ͜ͷຊΛಡΉ͜ͱͰ࣍ͷޮՌΛظ଴Ͱ͖·͢ɻ • αʔόʔαΠυ Kotlin ΛମݧͰ͖Δ • αʔόʔαΠυ Kotlin ͷ։ൃ؀ڥʢWindows/MacɺVS Code/IntelliJ IDEAʣ͕࡞ΕΔ • JDK ඪ४ػೳͰ Web αʔόʔΛ࣮૷Ͱ͖Δ ͋ͳͨͷʮKotlin Λֶͼ͍ͨʯ ɺ ʮόοΫΤϯυΛֶͼ͍ͨʯ ɺ ʮ৽͍͠ݴޠΛֶͼͨ ͍ʯͱ͍͏ࢥ͍ʹগ͠Ͱ΋Ԡ͑ΒΕͨͷͳΒ͜Μͳʹخ͍͜͠ͱ͸͋Γ·ͤΜɻ ͜ͷຊͰ͸঺հ͠ͳ͍͜ͱ ຊஶͰ͸ Kotlin ͱ͍͏ϓϩάϥϛϯάݴޠͷجૅ΍঺հɺ·ͨಛఆͷϑϨʔϜ ϫʔΫʹ͍ͭͯ͸ղઆ͠·ͤΜɻ͜ͷຊͰ঺հ͠ͳ͍͜ͱΛֶͼ͍ͨ৔߹͸࣍ͷ੿ஶ Λ͝ཡ͍ͩ͘͞ɻ Kotlin ݴޠͷجૅ΍঺հ ʮ௒ೖ໳ʂ αʔόʔαΠυ KotlinʯʹͯɺKotlin ͱ͍͏ϓϩάϥϛϯάݴޠʹͭ ͍ͯ঺հ͍ͯ͠·͢ɻ 3
  3. https://fortegp05.hatenablog.com/entry/2024/05/25/161409 ਤ 2: ௒ೖ໳ʂ αʔόʔαΠυ Kotlin Spring Boot 2019 ೥ʹ൦෍ͨ͠ʮೖ໳!࣮ફ!αʔόʔαΠυ

    KotlinʯʹͯɺSpring Boot Λ༻ ͍ͨղઆΛߦ͍ͬͯ·͢ɻৄࡉ͸࣍ͷ URL ΍ QR ίʔυ͔Β͝ཡ͍ͩ͘͞ɻ https://fortegp05.hatenablog.com/entry/2024/05/25/161409 ਤ 3: 2019 ೥൛ ೖ໳!࣮ફ!αʔόʔαΠυ Kotlin 4
  4. Micronaut 2024 ೥ʹ൦෍ͨ͠ʮMicronaut Ͱೖ໳!࣮ફ!αʔόʔαΠυ KotlinʯʹͯɺMi- cronsut Λ༻͍ͨղઆΛߦ͍ͬͯ·͢ɻৄࡉ͸࣍ͷ URL ΍ QR

    ίʔυ͔Β͝ཡͩ͘ ͍͞ɻ https://fortegp05.hatenablog.com/entry/2024/05/25/161409 ਤ 4: Micronaut Ͱೖ໳!࣮ફ!αʔόʔαΠυ Kotlin ͜ͷຊͷ࢖͍ํ ຊॻ͸಄͔ΒಡΈਐΊ͍ͯͬͯ΋ɺؾʹͳΔՕॴΛर͍ಡΈͯ͠΋େৎ෉Ͱ͢ɻ։ ൃʹೖΔલʹҰ௨Γ໨Λ௨ͯ͠΋Α͠ɺ໨͚࣍ͩோΊͯؾʹͳͬͨՕॴΛ։͍ͯ΋େ ৎ෉Ͱ͢ɻ ͝ײ૝΍͝ࢦఠ ಡΈऴΘͬͨײ૝΍ؒҧ͍ͷࢦఠɺ௥Ճཁ๬ͳͲ͸࣍ͷϋογϡλάΛ༻͍ͯ SNS ʢTwitterɺBlueskyɺmixi2 ͷ͍ͣΕ͔ʣͰײ૝Λ͓଴͓ͪͯ͠Γ·͢ɻ #sski2 5
  5. ໨࣍ ͸͡Ίʹ 2 ຊஶͷ֓೦ਤ . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ຊஶͷ಺༰ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ͜ͷຊͰಘΒΕΔޮՌʹ͍ͭͯ . . . . . . . . . . . . . . . . . . . . . . . 3 ͜ͷຊͰ͸঺հ͠ͳ͍͜ͱ . . . . . . . . . . . . . . . . . . . . . . . . . 3 ͜ͷຊͷ࢖͍ํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 ໔੹ࣄ߲ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 ୈ 1 ষ ։ൃ؀ڥͷߏங 9 1.1 Java ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . . . 10 Mac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 ΤσΟλͷ४උ . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Mac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3 Kotlin ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . . 13 Mac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4 ϓϩδΣΫτͷ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . 14 Intellij IDEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 VS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.5 Hello Kotlin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.6 τϥϒϧγϡʔςΟϯά . . . . . . . . . . . . . . . . . . . . . . 18 ୈ 2 ষ JDK ඪ४ػೳͰ API αʔόʔΛ࡞Δ 19 2.1 ͳͥ JDK ඪ४ػೳͳͷ͔ʁ . . . . . . . . . . . . . . . . . . . . 19 2.2 ࠷খߏ੒ͷ HTTP αʔόʔ࣮૷ . . . . . . . . . . . . . . . . . . 20 2.3 GET ϦΫΤετͷॲཧ . . . . . . . . . . . . . . . . . . . . . . . 22 7
  6. ໨࣍ 2.4 ΫΤϦύϥϝʔλͷऔಘ . . . . . . .

    . . . . . . . . . . . . . . . 25 2.5 POST ϦΫΤετͷॲཧ . . . . . . . . . . . . . . . . . . . . . . 26 JSON ͷॲཧΛ௥Ճ . . . . . . . . . . . . . . . . . . . . . . . . 27 2.6 ୯ମςετͷ࣮૷ . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ୈ 3 ষ H2 σʔλϕʔεͰσʔλΛӬଓԽ 35 3.1 ઀ଓઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 ςʔϒϧΛ࡞Δ . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3 σʔλͷ࡞੒ͱಡΈࠐΈ . . . . . . . . . . . . . . . . . . . . . . 38 ୈ 4 ষ ͜ͷ͋ͱͷ࣮ફʹ͍ͭͯ 40 4.1 ΞϓϦ։ൃҊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ෇࿥ A ؾʹͳΔϥΠϒϥϦ঺հ 42 A.1 Exposed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 A.2 ͦͷଞͷϥΠϒϥϦ . . . . . . . . . . . . . . . . . . . . . . . . . 43 όϦσʔγϣϯ . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ܰྔͳ HTTP αʔόʔ . . . . . . . . . . . . . . . . . . . . . . . 43 DI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ͋ͱ͕͖ 44 ͋·Γ؀ڥ͸มΘ͍ͬͯͳ͍ . . . . . . . . . . . . . . . . . . . . . . . . 44 ͨͩ͠ண࣮ʹਐԽ͍ͯ͠Δ . . . . . . . . . . . . . . . . . . . . . . . . . 44 ఆظతʹೖ໳࣮͠ફͯ͠ΈΔՁ஋ . . . . . . . . . . . . . . . . . . . . . . 44 ஶऀ঺հ 45 จষ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ॴଐαʔΫϧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Πϥετ୲౰ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8