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

Clojure と Datomic Cloud で作ったおもてなし モバイル POS

Clojure と Datomic Cloud で作ったおもてなし モバイル POS

2023/07/13に行われた「ClojureエンジニアLT&交流会」の発表資料です。

トレタで Clojure と Datomic Cloud を導入した事例の紹介です。

Avatar for Haokang Den

Haokang Den

July 14, 2023
Tweet

More Decks by Haokang Den

Other Decks in Programming

Transcript

  1. ސ٬͕ຊ౰ʹඞཁͩͬͨ΋ͷ Λ࡞Γଓ͚Δ ϨετϥϯςοΫاۀ ೥ ҿ৯ϝσΟΞͷ&;5"#-& *ODೖࣾ σʔλ෼ੳɺϚʔέςΟϯά ɺάϩʔεϋοΫɺ4BMFTGPSDFಋೖࢧԉ ೥ τϨλ୆࿷ڌ఺ઃཱ

    ΧϯτϦʔϚωʔδϟ ళฮҎ্ͷ঎ஊɺܖ໿ٴͼಋೖࢧԉ ೥ τϨλຊࣾۈ຿ σʔλ෼ੳɺσʔλύΠϓϥΠϯߏங ೥ τϨλຊࣾ$50ʹब೚ ৽نࣄۀઃཱɺ։ൃจԽվળɺ࠾༻ϓϩηεվળ ͦͷଞɺσʔλ෼ੳɾσʔλύΠϓϥΠϯؔ࿈Ͱͷߨԋଟ਺ τϨλ͸ɺ ҿ৯ళܦӦऀ͕ ʮࣗ෼͕࢖͍͍ͨπʔϧΛ ࡞Δʯ ͜ͱΛ໨ࢦͯ͠૑ۀͨ͠ɺ਺গͳ͍Ϩετϥϯ ςοΫاۀͷҰͭͰ͢ɻ ҿ৯ళܦӦऀ΍ݱ৔ͷ໨ઢ Ͱߟ͑ͨαʔϏε։ൃ͕ಛ௕Ͱ͢ɻ
  2. ϞόΠϧ104ಋೖͷϝϦοτͱ՝୊ ࠲੮ʹ͝Ҋ಺͠ ϝχϡʔΛ౉͢ Φʔμʔ ഑હ ͓ձܭ w ਓखෆ଍ʹΑΓɺελοϑ͸ৗʹ͓٬͞·ʹݺ͹Εଓ͚͍ͯΔ w ʮ͜ͳ͢ʯ͚ͩͰਫ਼ҰഋͱͳΓɺ͓΋ͯͳ͠ʹख͕ճΒͳ͍

    w ͓٬͞·͸ʮ଴ͨ͞ΕΔʯ͜ͱ΁ͷετϨε͕ߴ·Δ Φεεϝ͸ʜ ͢Έ·ͤʔΜ ͢Έ·ͤʔΜ ͓଴ͪͩ͘͞ʔ͍ ྉཧ্͕ͬͨΑʔ ͢Έ·ͤʔΜ ͢Έ·ͤʔΜ ͓଴ͪͩ͘͞ʔ͍ ਓྗΦϖϨʔγϣϯͷݱঢ়
  3. ϞόΠϧ104ಋೖͷϝϦοτͱ՝୊ ϞόΠϧΦʔμʔ ഑હ ͓ձܭ ͢Έ·ͤʔΜ ͢Έ·ͤʔΜ ͓଴ͪͩ͘͞ʔ͍ ࠲੮ʹ͝Ҋ಺ ϝχϡʔ໊ͱ ஋ஈ͚ͩͷ

    ͚ͦͬͳ͍ ϝχϡʔ ࢖͍ͮΒ͍ʜ Θ͔ΓͮΒ͍ʜ ΊΜͲ͍͘͞ʜ w ࢖͍ͮΒ͍αʔϏε͕ଟ͘ɺ Φʔμʔ͕໘౗ʹͳΔ͓٬͞·΋ w ՋʹͳΓԿΛͨ͠Β͍͍͔෼͔Βͣɺ ϒϥϒϥ͢Δελοϑ΋ w ͓ձܭ͸ैདྷͱมΘΒͣର໘ͷͨΊɺ ސ٬ͷෆຬ΋ղܾ͞Εͳ͍ w ϞόΠϧΦʔμʔͰΦʔμʔςΠΫͷۀ຿ෛՙ͸େ෯ʹܰݮ w ҰํͰɺϝχϡʔϒοΫͱͯ͠ͷػೳྼԽͱΦʔμʔςΠΫۀ ຿ͷলུʹΑΓɺ ঎඼ͷΞϐʔϧྗ͕ऑ·Δέʔε΋ ҰൠతͳϞόΠϧΦʔμʔʹΑΔมԽ ϒϥϒϥ
  4. τϨλͷఏএ͢Δʮ͓΋ͯͳ͠ϞόΠϧ104ʯͱ͸ ϞόΠϧΦʔμʔ ഑હ ͓ձܭ ࠲੮ʹ͝Ҋ಺͠ 23ͷઆ໌ ඒຯͦ͠͏ʂ ͜ΕͳΒ؆୯ʂ ళһݺ͹ͳ͍ͷָʂ τϨλ09ͷ໨ࢦ͢ཧ૝ܗ

    w పఈͯ͠ຏ͖ࠐ·Εͨ6*ʹΑͬͯɺ ୭Ͱ΋؆୯ʹΦʔμʔՄೳ w ݱ৔ΦϖϨʔγϣϯΛ͓ళͱͱ΋ʹݟ௚͠ɺ͓΋ͯͳ͠ΛڧԽ w ͓٬͞·ͷεϚϗͰձܭ΋׬݁͢ΔͷͰސ٬ମݧͱۀ຿ޮ཰͕վળ w ΦʔμʔςΠΫͷۀ຿ෛՙ͸େ෯ʹܰݮ w ಈը΍ࣸਅɺৄ͍͠આ໌͕Մೳͳ঎඼৘ใཝͳͲΛۦ࢖ͨ͠ ʮө͑ϝ χϡʔʯ ʹΑͬͯɺ͓ྉཧͷັྗ΍ͩ͜ΘΓΛΞϐʔϧՄೳ ɾಈըϝχϡʔ ɾө͑ϝχϡʔ ɾͩ͜ΘΓ৘ใ ɾ͔ΜͨΜ஫จ ͜Ε΋ΦεεϝͰ͢ʂ εϚϗͰ͔ΜͨΜࢧ෷͍ ศརʂ ଴ͪ࣌ؒθϩʂ ·ͨͷ͓ӽ͠Λʂ ஸೡʹαʔϒͰ͖Δʂ ͓औ෼͚ͨ͠Γ ৯΂ํͷΞυόΠε΋ʂ ஸೡʹ͓ݟૹΓ΋ʂ ༨༟Λ࣋ͬͯɺ߈Ίͷ͓΋ͯͳ͠ʂ ର໘ͷΦʔμʔ΋ରԠ͠·͢Αʂ
  5. ࠓ͸աڈͷੵΈ ॏͶͰ͋Δʂ %BUBCBTFBTB7BMVF ҆ఆੑɾޙํޓ׵ੑ 8IZ$MPKVSF 8IZ%BUPNJD .JTTJPO$SJUJDBMͳαʔϏεΛ࡞ΔͨΊͷཁૉ͕ἧ͍ͬͯΔ ௕ ظ త

    ͳ ҆ ఆ ੑ Λ ҙ ࣝ ͠ ͨ ݴ ޠ ઃ ܭ ͱ 4JNQMJDJUZΛ௥ٻ͍ͯ͠ΔίϛϡχςΟʔ͕ ͋Δ͔Β҆৺ͯ͠αʔϏεΛߏஙͰ͖Δɻ աڈͷঢ়ଶΛ࠶ݱ͢ΔೳྗʢBTPGʣͱτϥϯ βΫγϣϯϝλσʔλΛ࢖͑͹ߴ౓ͳ؂ࠪର Ԡͱมߋ௨஌ָ͕ʹखʹೖΔɻ 3JDI)JDLFZ ")JTUPSZPG$MPKVSF  
  6. $MPKVSFͷੜଶܥΛ࠷େݶར༻͢Δ w %VDU-BDJOJB6SBOJB1SPNFTB.BMMJ w +7.ͷࢿ࢈ɿ#JH%FDJNBM+BWB5JNF w "84ͷࢿ࢈ɿ$MPVE8BUDI93BZ ςετΛ௨ͯ͠ߴ͍඼࣭Λ୲อ͢Δ w ୯ମςετ

    w EFWMPDBMΛར༻ͨ͠ΠϯςάϨʔγϣϯ ςετ w .BMMJΛར༻ͨ͠ੜ੒ςετʢGV[[JOHʣ w ςετΧόϨοδҎ্ʢGPSNʣ ͓٬͞·͕௚઀৮Εͳ͍΋ͷ ͔ͩΒͦ͜ɺͰ͖Δ͚ͩ৴པ Ͱ͖Δ΋ͷΛ࡞ΔɻͦΕ΋େ ੾ͳʮ͓΋ͯͳ͠ʯͰ͢ɻ ͍͍ҙຯͰʮ;ͭ͏ʯ ΞϓϦέʔγϣϯߏ଄ IUUQTCMPHDMFBODPEFSDPNVODMFCPCUIFDMFBOBSDIJUFDUVSFIUNM
  7. ։ൃϓϩηεͷಛ௃ w શͯ͸Φʔφʔγοϓ w పఈతͳސ٬ཧղ w γʔέϯεਤɾ&3ਤͳͲΛ࢖ͬͨίϛϡ χέʔγϣϯ w σβΠϯͱσʔλϞσϧͷ૬ޓϨϏϡʔ

    w (SBQI2-ͳͲΛ࢖ͬͨܖ໿ۦಈ։ൃ w ςετυϦϒϯ w $IBU(15$PQJMPUΛੵۃతʹར༻ εϚʔτ104੒ޭͷ伴͸ɺపఈ తͳސ٬ཧղͰ͢ɻप౸ͳௐࠪ Λ௨ͯ͠ɺීஈ͸ӅΕ͍ͯΔ ʮސ٬͕ຊ౰ʹඞཁͩͬͨ෺ʯ ΛݴޠԽ͍͖ͯ͠·͢ɻ ސ٬ཧղɾۀ຿ཧղ ˞ σʔλΛར༻ͯ͠ސ٬ͷۀ຿Λվળ͢Δͱ͜Ζ·Ͱ͕ αʔϏεͷՁ஋Ͱ͢ɻ ˞ νʔϜ͸Πϯϑϥ͔Βސ٬ମݧ·Ͱ੹೚Λෛ͍·͢ɻ ˞ ࣮͸͜ͷࢿྉ΋$IBU(15Λ࢖ͬͯ࡞ͬͯ·͢ IUUQTDIBUPQFOBJDPNTIBSFDD EDBFCGEF ։ൃϓϩηε ,FZQSPDFTT