Slide 1

Slide 1 text

ࢁຊϢʔεέ!ZVTVLF ೔ຊޠϓϩάϥϛϯάͱ 4QSJOH#PPUΞϓϦέʔγϣϯ։ൃ

Slide 2

Slide 2 text

ࢁຊϢʔεέ!ZVTVLF w 044σϕϩού w ࣆ#VTJOFTT$BMFOEBS+5XJUUFS+ͳͲ w *OUFMMJ+*%&"԰͞Μ

Slide 3

Slide 3 text

ࢁຊϢʔεέ!ZVTVLF w ஶॻ w ϓϩʹͳΔ+BWB w *OUFMMJ+*%&"ϋϯζΦϯ w 5XJUUFS"1*ϙέοτϦϑΝϨϯε

Slide 4

Slide 4 text

೔ຊޠͰϓϩάϥϛϯά͍ͯ͠·͔͢ʁ

Slide 5

Slide 5 text

೔ຊޠΛ࢖Θͳ͍ཧ༝ w ӳޠͰࠔ͍ͬͯͳ͍ w ίʔσΟϯά࣌ɺ೔ຊޠͱӳޠͷ੾Γସ͕͑໘౗ͦ͏ w จࣈԽ͚ͳͲͷτϥϒϧ͕ൃੜͦ͠͏

Slide 6

Slide 6 text

ӳޠͰࠔ͍ͬͯͳ͍

Slide 7

Slide 7 text

ӳޠͰࠔ͍ͬͯͳ͍ w தֶੜϨϕϧͷޠኮͰɺ͔֬ʹଟ͘ͷ৔໘ΛΧόʔՄೳ w HFU TFU HFOFSBUF VTFSͳͲ public @NotNull OrderForm generateOrderForm( @NotNull User user, @NotNull List items) { … } public @NotNull List findOrderFormBy( @NotNull User user) { … }

Slide 8

Slide 8 text

ӳޠͰࠔ͍ͬͯͳ͍ w ϏδωευϝΠϯͷ༻ޠ͸ʁ public record CreditAccount(...) {} public enum JournalEntry { ConsumableSupplies, ExternalEntertainmentExpenses, } צఆՊ໨ ࢓༁ ফ໣඼අ ࣾ֎ܚீඅ

Slide 9

Slide 9 text

ӳޠͰࠔ͍ͬͯͳ͍ w ாථछผΛද͢FOVNΛఆٛ͠·͠ΐ͏ w ݱࡏ͸੥ٻॻͱྖऩॻɺೲ඼ॻͷछผ͕͋Γ·͢ public enum FormCategory { Invoice, Receipt, DeliveryNotice }

Slide 10

Slide 10 text

ӳޠͰࠔ͍ͬͯͳ͍ w ΠϯϘΠε੍ରԠͷ੥ٻॻͱɺඇରԠͷ੥ٻॻ΋ఆ͍ٛͯͩ͘͠͞ public enum FormCategory { InvoiceQualifiedInvoice, InvoiceUnqualifiedInvoice, Receipt, DeliveryNotice }

Slide 11

Slide 11 text

ӳޠͰࠔ͍ͬͯͳ͍ w ྖऩॻͱϨγʔτͰϑΥʔϚοτΛม͑ΔͷͰɺͦΕͧΕ۠ผͰ͖ΔΑ͏ʹ public enum FormCategory { InvoiceQualifiedInvoice, InvoiceUnqualifiedInvoice, RyoshushoReceipt, ReceiptReceipt, DeliveryNotice } ʊਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ RyoshushoReceiptʂʂ ʻ ʉY^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ʉ

Slide 12

Slide 12 text

ӳޠͰࠔ͍ͬͯͳ͍ w ೔ຊޠ͸͔ͳΒͣ͠΋ӳޠͷର༁͕͋ΔΘ͚Ͱ͸ͳ͍

Slide 13

Slide 13 text

ӳޠͰࠔ͍ͬͯͳ͍ w ӳޠͰࠔ͍ͬͯͳ͍㲈ඞཁʹԠͯ͡ௐ΂Ε͹ӳޠͰίʔυ͸ॻ͚Δ w ӳޠͰࠔ͍ͬͯͳ͍㱠εϥεϥͱಡΈॻ͖͕ग़དྷΔ public record צఆՊ໨(...) {} public enum ࢓༁ { ফ໣඼අ, ࣾ֎ܚீඅ, } public record CreditAccount(...) {} public enum JournalEntry { ConsumableSupplies, ExternalEntertainmentExpenses, }

Slide 14

Slide 14 text

೔ຊޠͱӳޠͷ੾Γସ͕͑໘౗ͦ͏

Slide 15

Slide 15 text

೔ຊޠͱӳޠͷ੾Γସ͕͑໘౗ͦ͏ w ೔ຊޠӳޠ੾Γ׵͑ͷ࣌ؒ೔ຊޠ͔ΒӳޠΛࢥ͍ग़࣌ؒ͢ w ·ͱ΋ͳ*%&ɺΤσΟλΛ࢖͍ͬͯΔݶΓλΠϓྔ͸໰୊ͳ͍

Slide 16

Slide 16 text

จࣈԽ͚ͳͲͷτϥϒϧ͕ൃੜͦ͠͏

Slide 17

Slide 17 text

จࣈԽ͚ͳͲͷτϥϒϧ͕ൃੜͦ͠͏ +BWBͷΤϯίʔσΟϯά͸ʁ w +7.͸6OJDPEFͰจࣈΛѻ͏ͷͰ൒֯ӳ਺Ҏ֎ͷγϯϘϧ΋໰୊ͳ͘ѻ͑Δ w ϑΝΠϧΤϯίʔσΟϯάʹ͸஫ҙ w +BWB65' w +BWBγεςϜσϑΥϧτΤϯίʔσΟϯά w ϑΝΠϧΤϯίʔσΟϯά͸.BWFOɺ(SBEMFͰ໌ࣔతʹࢦఆ

Slide 18

Slide 18 text

จࣈԽ͚ͳͲͷτϥϒϧ͕ൃੜͦ͠͏ ͦͷଞͷΤϯίʔσΟϯά w +7.಺Ͱ͸໰୊ͳ͍͕ɺ+7.͔Β֎ʹग़Δɺ֎͔Β+7.ʹೖΔ෦෼͸஫ҙ w ϑΝΠϧɺ%#ɺωοτϫʔΫͳͲ w 8FC͸΄΅65'͕σϑΥϧτʹͳΓͭͭ͋Δ w σʔλϕʔεͷΤϯίʔσΟϯά͸ݱ৔ʹΑΓ༷ʑ w ಛʹֆจࣈͷ֨ೲ͸ͲͷΤϯίʔσΟϯάͰ΋ཁ஫ҙ

Slide 19

Slide 19 text

จࣈԽ͚ͳͲͷτϥϒϧ͕ൃੜͦ͠͏ ౓ͷ֬ೝίετ࡟ݮ ܧଓతͳ։ൃɺอकͷੜ࢈ੑ޲্ ͲͪΒ͕େࣄʁ

Slide 20

Slide 20 text

೔ຊޠΛ࢖͏ϝϦοτ w ೔ຊޠωΠςΟϒʹಡΈ΍͍͢ɺॻ͖΍͍͢

Slide 21

Slide 21 text

೔ຊޠΛ࢖͏ෆ҆ w ೔ຊޠඇωΠςΟϒʹಡΈʹ͍͘

Slide 22

Slide 22 text

🚀೔ຊޠϓϩάϥϛϯά🧑💻ͷ࢖͍ॴ

Slide 23

Slide 23 text

🚀೔ຊޠϓϩάϥϛϯά🧑💻ͷ࢖͍ॴ w ςετϝιου໊

Slide 24

Slide 24 text

🚀೔ຊޠϓϩάϥϛϯά🧑💻ͷ࢖͍ॴ w ఆ਺ w ώϯτશ֯ʮ̌ʙ̕ʯ͸γϯϘϧͷઌ಄ʹ࢖͑ͳ͍͕ɺ׽਺ࣈ͸࢖͑Δ

Slide 25

Slide 25 text

🚀೔ຊޠϓϩάϥϛϯά🧑💻ͷ࢖͍ॴ w υϝΠϯΫϥεɺσʔλΫϥε public record ిࢠॻ੶GiftCode( int Ωʔ, String sku, String Ϊϑτίʔυ, boolean ૹ෇ࡁ, String ாථίʔυ) { }

Slide 26

Slide 26 text

🚀೔ຊޠϓϩάϥϛϯά🧑💻ͷ࢖͍ॴ w FOVN public enum Ϋʔϙϯద༻ཧ༝ { ద༻Մೳ, ଘࡏ͠ͳ͍Ϋʔϙϯίʔυ, ର৅ͷ੡඼͕ͳ͍, Ϋʔϙϯ༗ޮظݶ֎, ࢒Γຕ਺͕ͳ͍ } public enum ாථछผ { ੥ٻॻ, डྖॻ, ྖऩॻ, ฦۚ௨஌ॻ, ೲ඼ॻ, ೲ඼ॻ݉੥ٻॻ, ݟੵॻ, ӳޠೲ඼ॻ݉੥ٻॻ, ӳޠݟੵॻ, ஫จ੥ॻ, ൃ஫ॻ, ΫϦοΫϙετ } public enum आํצఆՊ໨ { อݥྉ, ௕ظआೖۚ, ചֻۚ, ॾձඅ, ࢓ೖߴ, ௨৴අ, ച্ߴ, ஍୅Ո௞, ࣾ֎ܚீඅ, ࢧ෷ख਺ྉ, ࢧ෷རଉ, ݱۚ,

Slide 27

Slide 27 text

🚀೔ຊޠϓϩάϥϛϯά🧑💻ͷ࢖͍ॴ w ෳࡶͳ৚݅൑ఆ݁ՌΛ୅ೖ͢ΔCPPMFBOܕ w ίϝϯτͳ͠ʹॲཧ಺༰͕໌֬ʹͳΔ

Slide 28

Slide 28 text

🚀೔ຊޠ🇯🇵ϓϩάϥϛϯά🧑💻ͷ࢖͍ॴ w ςʔϒϧ໊ɺΧϥϜ໊

Slide 29

Slide 29 text

🚀೔ຊޠ🇯🇵ϓϩάϥϛϯά🧑💻ͷ࢖͍ॴ w ϚϧνόΠτจࣈΛ࢖͍ͬͯΔࢫͷܯࠂ͸ΠϯεϖΫγϣϯΛΦϑʹ

Slide 30

Slide 30 text

೔ຊޠΛ࢖Θͳ͍ํ͕ྑ͍Օॴ

Slide 31

Slide 31 text

೔ຊޠΛ࢖Θͳ͍ํ͕ྑ͍Օॴ w ؆୯ͳӳ୯ޠͰදͤΔ༻ޠ public enum EventType { ADDED, DELETED } ʮ؆୯ͳӳޠͷϨϕϧײʯ͸ϝϯόʔʹΑΔ

Slide 32

Slide 32 text

೔ຊޠΛ࢖Θͳ͍ํ͕ྑ͍Օॴ w ม਺໊ CPPMFBOܕΛআ͘ Ϋϥε໊ͱม਺໊ͷ۠ผ͕͔ͭͳ͍

Slide 33

Slide 33 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w ϑΥʔϜཁૉ໊ɺ5IZNFMFBGʹ౉͢஋ NPEFMBEE"UUSJCVUF λεΫϦετ UBTLT UJUMFUIUFYU\PSEFSாථίʔυ^UJUMF

Slide 34

Slide 34 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w ϑΥʔϜཁૉ໊ɺ5IZNFMFBGʹ౉͢஋ NPEFMBEE"UUSJCVUF λεΫϦετ UBTLT UJUMFUIUFYU\PSEFSாථίʔυ^UJUMF ී௨ʹ࢖͑Δ

Slide 35

Slide 35 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w ϑΥʔϜཁૉ໊ɺ5IZNFMFBGʹ౉͢஋ NPEFMBEE"UUSJCVUF λεΫϦετ UBTLT UJUMFUIUFYU\PSEFSாථίʔυ^UJUMF ී௨ʹ࢖͑Δ ϦϑΝΫλϦϯάʹ੍໿͋Γ

Slide 36

Slide 36 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w σʔλϕʔεςʔϒϧ໊ɺΧϥϜ໊

Slide 37

Slide 37 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w σʔλϕʔεςʔϒϧ໊ɺΧϥϜ໊ ී௨ʹ࢖͑Δ(ֆจࣈ஫ҙ)

Slide 38

Slide 38 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w %#ΞΫηεΫϥε w +1" w .Z#BUJT w %PNB

Slide 39

Slide 39 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w %#ΞΫηεΫϥε w +1" w .Z#BUJT w %PNB ී௨ʹ࢖͑Δ

Slide 40

Slide 40 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w %#ΞΫηεΫϥε w +1" w .Z#BUJT w %PNB ී௨ʹ࢖͑Δ ී௨ʹ࢖͑Δ

Slide 41

Slide 41 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w %#ΞΫηεΫϥε w +1" w .Z#BUJT w %PNB ී௨ʹ࢖͑Δ ී௨ʹ࢖͑Δ ී௨ʹ࢖͑Δ

Slide 42

Slide 42 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w ύε !(FU.BQQJOH ஫จৄࡉ\஫จJE^

Slide 43

Slide 43 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w ύε !(FU.BQQJOH ஫จৄࡉ\஫จJE^ Spring Boot 3.2·Ͱ: ී௨ʹ࢖͑Δ

Slide 44

Slide 44 text

4QSJOH#PPUΞϓϦέʔγϣϯͱ೔ຊޠ w ओͳ೔ຊޠΛ࢖͍ͨ͘ͳΔ৔ॴ w ύε !(FU.BQQJOH ஫จৄࡉ\஫จJE^ Spring Boot 3.2·Ͱ: ී௨ʹ࢖͑Δ Spring Boot 3.3Ҏ߱: ݱࡏͷॴ࢖͑ͳ͍

Slide 45

Slide 45 text

ӳޠ͸ษڧ͠ͳͯ͘ྑ͘ͳͬͨʁ

Slide 46

Slide 46 text

ӳޠ͸ษڧ͠ͳͯ͘ྑ͘ͳͬͨʁ w ͦΜͳ͜ͱ͸ͳ͍ w ػց຋༁͕ݡ͘ͳͬͯ΋ӳޠ͸ಡΈॻ͖Ͱ͖Δඞཁ͕͋Δ w "*͕ݡ͘ͳͬͯ΋ίʔυ͸ಡΈॻ͖Ͱ͖Δඞཁ͕͋Δ

Slide 47

Slide 47 text

ඇ೔ຊޠ࿩ऀ͕ϓϩδΣΫτʹ͍Δ ·ͨ͸ɺೖΔ͔΋

Slide 48

Slide 48 text

ϓϩδΣΫτͷެ༻ޠ͕ඇ೔ຊޠʹͳͬ ͨΒ೔ຊޠͷར༻͸ফۃతʹɻ