Slide 1

Slide 1 text

1SBDUJDBM 3FBEFS$POEJUJPOBMT 5SBOTJUGPSNBU -JTQ.FFU6QQSFTFOUFECZ4IJCVZBMJTQ
 !@BZBUP@Q

Slide 2

Slide 2 text

͋΍ͽʔ $MPKVSFŧŔŕŪƂŜſŵƃ ීஈ͸$MPKVSFũƄŝſŵƃͱ࢓ࣄͯ͠Δ $MPKVSFŜŝŦŘŵƃ୳ͯ͠·͢ $ZCP[V4UBSUVQT *OD

Slide 3

Slide 3 text

ࠓ೔͢Δ࿩ 3FBEFS$POEJUJPOBMTͱ5SBOTJUGPSNBU
 ͷݱ࣮తͳ׆༻ํ๏ʹ͍ͭͯ

Slide 4

Slide 4 text

&13FBEFS$POEJUJPOBMT ͋Δ೔ͷ͜ͱʜ ๻ʮ3FBEFS$POEJUJPOBMTศརͰ͢ΑͶʔʯ "MJDFʮͲ͏͍͏ͱ͖ʹ࢖͏ΜͰ͔͢ʁʯ ๻ʮ͑ʯ "MJDFʮόϦσʔγϣϯͱ͔ʁʯ

Slide 5

Slide 5 text

3FBEFS$POEJUJPOBMT ʹ͍ͭͯ

Slide 6

Slide 6 text

3FBEFS$POEJUJPOBMTͱ͸ $MPKVSF͔Βͷػೳ 3FBEFSTZOUBY ! Λ࢖ͬͯ
 ϓϥοτϑΥʔϜґଘΛ੾Γग़͢͜ͱ͕ग़དྷΔ ֦ுࢠΛDMKDͱ͢Δ͜ͱͰ
 ֤ϓϥοτϑΥʔϜ͔Βݺͼग़ͤΔ ओʹϥΠϒϥϦ։ൃͰॏๅ͢Δ
 CJEJ DMKTBKBY FUD

Slide 7

Slide 7 text

(ns example.core #?(:clj (:import [java.net URLEncoder]))) (defn url-encode [string] (some-> string str #?(:clj (URLEncoder/encode "UTF-8") :cljs (js/encodeURIComponent)) (.replace "+" "%20"))) 3FBEFS$POEJUJPOBMT

Slide 8

Slide 8 text

Ͳ͏͍͏ͱ͖ʹ࢖͑Δʁ ϧʔτఆٛͷڞ༗ αʔόʔαΠυϨϯμϦϯάGPS3FBHFOU ϞσϧͷόϦσʔγϣϯݕࠪ

Slide 9

Slide 9 text

%&.0

Slide 10

Slide 10 text

&15SBOTJUGPSNBU ͋Δ೔ͷ͜ͱ ๻ʮ5SBOTJUGPSNBU࠷ߴͰ͢ΑͶʂʯ #PCʮ+40/ͱԿ͕ҧ͏ΜͰ͔͢ʁʯ ๻ʮ͑ʯ #PCʮ+40/Ͱྑ͘ͳ͍Ͱ͢ʁʯ

Slide 11

Slide 11 text

5SBOTJUGPSNBU ʹ͍ͭͯ

Slide 12

Slide 12 text

5SBOTJUGPSNBUͱ͸ $PHOJUFDU͕ఏএ͢ΔσʔλϑΥʔϚοτ ϓϩάϥϜͱϓϩάϥϜͷίϛϡχέʔγϣϯ
 ʹϑΥʔΧε͍ͯ͠Δ ֦ுੑ͕ߴ͘ɺϢʔβʔఆٛܕΛอ࣋ग़དྷΔ +40/ .FTTBHF1BDLͱޓ׵ੑ͕͋Δ 3FBEFS$POEJUJPOBMTͱ૬ੑ͕ྑ͍

Slide 13

Slide 13 text

(ns example.core (:require [cognitect.transit :as transit]) (:import [java.io ByteArrayInputStream ByteArrayOutputStream])) (def writer (transit/writer out :json)) (transit/write writer [{:name "ayato_p" :age 24} {:name "alea" :age 24}]) (prn (.toString out)) ;; => "[[\"^ \",\"~:name\",\"ayato_p\",\"~:age\",24], [\"^ \",\"^0\",\"alea\",\"^1\",24]]" 5SBOTJUGPSNBU

Slide 14

Slide 14 text

Ͳ͏͍͏ͱ͖ʹ࢖͑Δʁ $MPKVSFͱ$MPKVSF4DSJQUؒͷ௨৴

Slide 15

Slide 15 text

%&.0

Slide 16

Slide 16 text

·ͱΊ 3FBEFS$POEJUJPOBMT΍5SBOTJUGPSNBUศར $MPKVSF࠷ߴʂʂ

Slide 17

Slide 17 text

Enjoy Clojure