Clojure Cup for Xcoo, Inc.

Clojure Cup for Xcoo, Inc.

2014/10/10 第1回Clojure夜会 セッション3
「2日ガチ開発合宿で作った
Webアプリケーション2選」の資料です。

- ClojureCupの紹介
- ClojureCupで開発したアプリケーション2つ(news.async/AstroCats)

内容はClojureの初心者に向けた解説です。

60cf18b0b6b4ca59da5246ef93782b23?s=128

Takashi AOKI

October 10, 2014
Tweet

Transcript

  1. ೔Ψν։ൃ߹॓Ͱ࡞ͬͨ
 8FCΞϓϦέʔγϣϯબ גࣜձࣾςϯΫʔ 9DPP *OD 1

  2. ࣗݾ঺հ 2 ੨໦و࢘ !GFEFSLBTUFO גࣜձࣾςϯΫʔ 9DPP *OD  $PGPVOEFS ஛಺ढ़و

    !UPUBLLF גࣜձࣾςϯΫʔ 9DPP *OD  $SFBUJWF3FTFBSDIFS
  3. גࣜձࣾςϯΫʔͷ঺հ w IUUQTYDPPKQ w ઃཱ w $MPKVSFΛϝΠϯʹγεςϜ։ൃ w ݚڀऀ޲͚ήϊϜղੳɾՄࢹԽαʔϏε$ISPWJT ΫϩϏε

    3 Λ$MPKVSFͰ࣮૷͍ͯ͠·͢ʂ
  4. 4 ೔Ψν։ൃ߹॓ $MPKVSF$VQ ! $MPKVSFͷࠃࡍϓϩάϥϛϯάϋοΧιϯ ࣌ؒͰ8FCΞϓϦέʔγϣϯΛͭ࡞Δ

  5. "HFOEB  $MPKVSF$VQͷ঺հ  $MPKVSF$VQͰ։ൃͨ͠ΞϓϦέʔγϣϯͭ w OFXTBTZOD w "TUSP$BUT 5

    $MPKVSFͷॳ৺ऀʹ޲͚ͨղઆ $MPKVSFͳΒͰ͸ͷྑ͔ͬͨ఺ͱۤ࿑ͨ͠఺
  6. $MPKVSF$VQͷ঺հ 6

  7. $MPKVSF$VQͷ঺հ w IUUQTDMPKVSFDVQDPN w ࣌ؒͷࠃࡍϓϩάϥϛϯάϋοΧιϯ w $MPKVSF$MPKVSF4DSJQU w ࠓ೥Ͱճ໨ w

     65$ ʙ 65$  w ϦϞʔτ w ࣌ؒͰ8FCΞϓϦέʔγϣϯΛͭ࡞Δ w νʔϜਓ w ฐࣾ͸ڈ೥ʹҾ͖ଓ͖ɺ೔ຊ͔Β͸།Ұͷग़৔ 7
  8. ฐ͔ࣾΒͷग़৔νʔϜ 8 !UPUBLLF !BMVNJ !EFMJIJSPT !TOVGLPO !ZVLJ# !BZBNBEB !TBUPNJNPUBT !CPYQ

    9DPP"MQIB 9DPP#SBWP
  9. 9

  10. 10

  11. 11

  12. 12

  13. 13

  14. 14

  15. 15

  16. 16 6TUSFBNͷϥΠϒ഑৴ɾUPLZPDMKͱͷ4LZQFதܧ

  17. 17

  18. 18

  19. 19 OFXTBTZOD هࣄ͔ΒԻ੠Λ߹੒͢Δ χϡʔεΞϓϦέʔγϣϯ "TUSP$BUT ଟਓ਺ϦΞϧλΠϜ
 ରઓΞΫγϣϯήʔϜ $MPKVSF$VQͰ։ൃͨ͠ΞϓϦέʔγϣϯͭ CZ9DPP"MQIB CZ9DPP#SBWP

  20. OFXTBTZOD 20

  21. OFXTBTZOD w /FX:PSL5JNFTͱ5IF(VBSEJBOͷχϡʔεΛ
 57ͷ༷ʹࢹௌͰ͖ΔΞϓϦέʔγϣϯ w ΧςΰϦબ୒΋Մೳ 21 IUUQOFXTBTZODUW

  22. OFXTBTZOD 22 EFNP

  23. OFXTBTZODͷγεςϜߏ੒ 23

  24. $MPKVSFͰྑ͔ͬͨ఺ 24 w MFJOJOHFO w QSPKFDUDMK w NBWFOͷQPNYNMͷΑ͏ͳ΋ͷ ґଘؔ܎ͷղָܾ͕

  25. $MPKVSFͰྑ͔ͬͨ఺ 25 w (Pͷ(PSPVUJOFTMJLFͳϥΠϒϥϦ w KTTFU5JNFPVUΛ࢖Θͳͯ͘Α͍ DPSFBTZOD͕ศར

  26. $MPKVSFͰۤ࿑ͨ͠఺ 26 w (PPHMF$MPTVSF$PNQJMFSͷ
 BEWBODFEPQUJNJ[BUJPOͰม਺໊͕มߋ͞ΕΔ w +BWB4DSJQUϥΠϒϥϦΛ࢖͏৔߹͸FYUFSOTඞਢ $MPKVSF4DJQUͷ0QUJNJ[BUJPO

  27. "TUSP$BUT 27

  28. "TUSP$BUT w ଟਓ਺ϦΞϧλΠϜରઓΞΫγϣϯήʔϜ w 8FC4PDLFU 28 IUUQBTUSPDBUTOFU

  29. "TUSP$BUT 29 EFNP

  30. "TUSP$BUTͷγεςϜߏ੒ 30

  31. $MPKVSFͰྑ͔ͬͨ఺ 31 w ϚϧνεϨουॲཧ͕೉͍͜͠ͱΛߟ͑ͣʹ࣮૷Ͱ͖Δ 45. SFGɾEPTZOD ɾ"UPN

  32. $MPKVSFͰྑ͔ͬͨ఺ 32 w ඳը·ΘΓͷ࣮૷͕ͳ͍ঢ়ଶͰσόοάͨ͠ w খ͘͞࡞ͬͯɺখ͘͞ςετ w ࠷ޙʹඳըपΓͱܨ͛ͨͱ͖΋
 க໋తͳόά͸ۇ͔ 3&1-ͰήʔϜϩδοΫΛσόοά

  33. $MPKVSFͰྑ͔ͬͨ఺ 33 w BTTPDJOͱVQEBUFJO w ͦͷ··+40/4FSJBMJ[F w QSPUPDPM SFDPSEΛ࢖ͬͨήʔϜΦϒδΣΫτͷσʔλ؅ཧ

  34. $MPKVSFͰۤ࿑ͨ͠఺ 34 w DPNQPKVSFSJOHͰ͸ඪ४Ͱͷαϙʔτ͸ͳ͍ w ͍͔ͭ͘ϥΠϒϥϦ͕͋Δ͕ɺͲΕ΋͍·͍ͪ w ݁ہࣗ෼ͰϥΠϒϥϦΛ࡞ͬͨ αʔόʔαΠυͷ8FC4PDLFUͷαϙʔτ͕͍·͍ͪ

  35. $MPKVSFͰۤ࿑ͨ͠఺ 35 w ৭ʑͳ࣮૷͕͋Δ͕ɺܾఆྗෆ଍ w C3&1-͸໘౗ w CVHHZ ! w

    (PPHMF$ISPNF֦ு͸ศར $MPKVSF4DSJQUͷ3&1-
  36. ·ͱΊ 36

  37. ·ͱΊ w $MPKVSF͸ϓϩτλΠϐϯά΋ૣ͍ʂ w ϥΠϒϥϦ΋े෼ʹͦΖ͍ͬͯΔ
 ແ͚Ε͹+BWB+BWB4DSJQUͷੈք͔Β΋Βͬͯ͘Δ  w DPSFBTZOD͸͘͢͝ศར w

    $MPKVSF4DSJQUͷ։ൃ؀ڥ͸·ͩվળͷ༨஍͕͋Δ 37
  38. 38 +PJOUIF$MPKVSF$VQOFYUZFBS