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

ネタじゃない ClojureScript

ayato
July 30, 2015

ネタじゃない ClojureScript

ayato

July 30, 2015
Tweet

More Decks by ayato

Other Decks in Programming

Transcript

  1. ωλ͡Όͳ͍
    $MPKVSF4DSJQU
    !@BZBUP@Q
    ୈेೋճौ୩KBWB

    View Slide

  2. EFG!@BZBUP@Q

    \OBNFl͋΍ͽʔz

    MBOH<$MPKVSF3VCZ+BWB4DSJQU>

    CMPHl EFGBZBMPHb

    z

    DPNQBOZl$ZCP[V4UBSUVQT *ODz^

    ๻ͷ͜ͱ

    View Slide

  3. EFG!@BZBUP@Q

    \OBNFl͋΍ͽʔz

    MBOH<$MPKVSF3VCZ+BWB4DSJQU>

    CMPHl EFGBZBMPHb

    z

    DPNQBOZl$ZCP[V4UBSUVQT *ODz^

    ๻ͷ͜ͱ
    ͍͍ͩͨ$MPKVSFͷਓ

    View Slide

  4. લճͷ͓͞Β͍
    ୈेҰճौ୩KBWB

    View Slide

  5. IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT

    View Slide

  6. IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT
    ʢʀƅЧƅʣʜʂʁ

    View Slide

  7. IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT
    ͭш㱬
    ŠƄŢŠƄŢ

    View Slide

  8. IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT
    ʢʀƅЧƅʣʜʂʁ

    View Slide

  9. IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT
    ौ୩l+BWBz͚ͩͲ

    View Slide

  10. IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT
    "MU+4ͷ࿩ͯ͠΋
    ྑͦ͞͏

    View Slide

  11. IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT
    ωλ͡Όͳ͍
    $MPKVSF4DSJQU
    ͷ࿩͠·͢

    View Slide

  12. ωλ͡Όͳ͍
    $MPKVSF4DSJQU
    !@BZBUP@Q
    ୈेೋճौ୩KBWB

    View Slide

  13. w $MPKVSF4DSJQUͱ͸
    w $MPKVSF4DSJQUͷ࣮༻తͳͱ͜
    w $MPKVSF4DSJQUͷ࢝Ίํ
    w $MPKVSF4DSJQUͷඍົͳͱ͜
    w ͓·͚
    ໨࣍

    View Slide

  14. $MPKVSF4DSJQUͱ͸

    View Slide

  15. w +BWB4DSJQU΁ͱίϯύΠϧ͞Ε
    w /PEFKT্Ͱ΋ಈ͘
    w $MPKVSFͱ΄΅ಉ͡ಛ௃Λ࣋ͭ
    w $MPKVSF
    $MPKVSF4DSJQUͱ͸
    w ಋೖاۀྫ
    w "E[FSL
    w $JSDMF$*
    w $JTDP
    w F#BZ
    w FUD
    w ($$Ͱ࠷దԽ͞Εͨ+4Λు͖ग़͢
    4UVBSU4JFSSB -VLF7BOEFS)BSUl$MPKVSF4DSJQU6QBOE3VOOJOHz

    View Slide

  16. w "MU+4ͱ͍͏ΑΓ΋$MPKVSF͕ಈ͘ϓϥοτϑΥʔϜ
    ͷͻͱͭͱͯ͠+BWB4DSJQU͕͋Δɺͱ͍͏΄͏͕ͬ͠
    ͘Γ͘Δ ؾ͕͢Δ

    w (PPHMF$MPTVSF$PNQJMFS͕ؤுͬͯ͘ΕΔͷͰͦ
    ΕͳΓʹύϑΥʔϚϯε͕ྑ͍
    w $JSDMF$*౳Ͱར༻͞Ε͍ͯͯͨ·ʹ஫໨ΛूΊΔ
    $MPKVSF4DSJQUͱ͸

    View Slide

  17. $MPKVSF4DSJQU
    ͷ࣮༻తͳͱ͜

    View Slide

  18. w -JTQͱ͔*NNVUBCMFͱ͔$PODVSSFODZͱ͔͸
    ޠΓਚ͘͞Ε͍ͯΔ $MPKVSF4DSJQU Ͱ΋͍͍ͩͨ
    $MPKVSFͱಉ͡

    w ͷͰɺ΋ͬͱ࣮༻తͳ෦෼Λ঺հ͠·͢
    $MPKVSF4DSJQUͷ࣮༻తͳͱ͜
    IUUQXXXTMJEFTIBSFOFULBXBTJNBTIJCVZBKWNDMPKVSF

    View Slide

  19. w ౰વ͚ͩͲ+BWB4DSJQUͷݺͼग़͕͠ग़དྷΔ
    w ͱ͸͍͑ɺؾ࣋ͪѱ͍ͷͰ$-+4+4ͱ͍͏औΓ
    ૊Έ͕͋ͬͨΓ͢Δ
    +BWB4DSJQUJOUFSPQ

    View Slide

  20. +BWB4DSJQUJOUFSPQ
    MPHKTDPOTPMFl)FMMP $MPKVSF4DSJQUz

    View Slide

  21. w 3&1- 3FBEFWBMQSJOUMPPQ
    Λ$MPKVSF4DSJQU
    Ͱ΋࢖͑Δ
    w Ճ͑ͯ3&1-Λϒϥ΢βͱ઀ଓग़དྷΔ
    w ͭ·Γ
    w 3&1-͔Β%0.Λૢ࡞ग़དྷΔ
    #SPXTFS3&1-

    View Slide

  22. #SPXTFS3&1-
    w ্͕&NBDT্ͷίʔυ
    w Լ͕'JSF'PYͷίϯιʔϧ

    View Slide

  23. w ϑΝΠϧͷมߋΛݕ஌ͯࣗ͠ಈతʹϦϩʔυ
    w ͨͩ͠ɺϒϥ΢βͷϦϑϨογϡͰ͸ͳ͍ ॏཁ

    w ಈతʹมߋΛಡΈࠐΉ
    w MFJOpHXIFFM CPPUSFMPBEͳͲ
    -JWFDPEFSFMPBEJOH

    View Slide

  24. -JWFDPEFSFMPBEJOH
    w ӈ͸pHXIFFMΛ࢖ͬͨ
    ։ൃ෩ܠ
    w ܯࠂ΍Τϥʔ͸ݟ΍͢
    ͘ग़ͯ͘Δ
    w ࣗಈతʹมߋΛద༻͠
    ͯͦͷը໘ͷॳظঢ়ଶ
    ͔Β࠶࣮ߦ
    w ෭࡞༻ܥ͸஝ੵ͞ΕΔ

    View Slide

  25. w ϓϥοτϑΥʔϜؒͰಉҰίʔυΛ࢖͑ΔΑ͏ʹ
    ͢Δ࢓૊Έ $MPKVSF͔Β

    w ڈ੎͞ΕͨϦʔμʔϚΫϩʹΑ࣮ͬͯݱ͞ΕΔ

    $MPKVSFͰ͸UBHHFEMJUFSBMTͱ͍͏७ਮͳϦʔμʔϚΫϩͰ͸ͳ͍΋ͷ

    3FBEFS$POEJUJPOBMT
    IUUQTTQFBLFSEFDLDPNBZBUPSFBEFSDPOEJUJPOBMT

    View Slide

  26. 3FBEFS$POEJUJPOBMT
    OTFYBNQMFDPSF
    SFRVJSF ! DMK<>
    DMKT<
    >



    EFGOTUSJOU
    DMK *OUFHFSQBSTF*OUY

    DMKT QBSTF*OUKTXJOEPXY



    View Slide

  27. w 0N 3FBHFOU 2VJFTDFOU 3VNͳͲͱ։ൃ͕׆ൃ
    w ϚΠΫϩϕϯνϚʔΫ౳Ͱ͸ૉͷ3FBDUΑΓૣ͍ͱ
    ݴΘΕ͍ͯΔ
    w ݸਓతʹ3FBHFOUSFGSBNFͷ૊Έ߹Θ͕ͤ࠷ߴ
    3FBDU8SBQQFST

    View Slide

  28. EFGOIVOHSZDPNQPOFOU<>
    MFU
    >
    XIFO MVODIUJNF UJNF

    <I*NIVOHSZ>



    3FBDU8SBQQFST
    w ӈͷίʔυล͸3FBHFOUSF
    GSBNFͰॻ͍ͨྫ
    w )5.-ΛIJDDVQͷه๏Ͱॻ͚
    Δ
    w ͭ·Γɺ$MPKVSFͷσʔλߏ଄
    Ͱॻ͚Δ
    w +49Έ͍ͨͳؾ࣋ͪѱ͕͞ͳ͍

    View Slide

  29. w $MPKVSF4DSJQUࣗ਎Ͱ͸ॻ͚ͳ͍͚Ͳ࢖͑Δ
    w ϚΫϩࣗମΛݏ͏ਓ΋ଟ͍͕৑௕ͳίʔυΛ୹
    ͘͢Δͷʹ໾ʹཱͭ
    .BDSPT

    View Slide

  30. .BDSPT
    OTDMKTEFNPDPSF
    SFRVJSFNBDSPT>

    SFRVJSF

    QBUI
    SFHJTUFSTVC
    EJTQBUDI
    EJTQBUDITZOD
    TVCTDSJCF>>


    View Slide

  31. $MPKVSF4DSJQU
    ͷ࢝Ίํ

    View Slide

  32. w ΤσΟλ
    w &NBDT7JN*OUFMMJ+*%&"FUDͲΕͰ΋0,

    ॳ৺ऀʹ͸*%&"$VSTJWFΛનΊ͍ͯ·͢

    w Ϗϧυπʔϧ
    w -FJOJOHFO#PPU

    ࡉ͔͍࿩Λ͢Δͱ৭ʑͱ໘౗͍͚͘͞Ͳ࠷ۙ͸#PPUͰྑͦ͞͏

    $MPKVSF4DSJQUͷ࢝Ίํ

    View Slide

  33. w -JHIU5BCMF͸࠷ۙԼՐؾຯ
    w $VSTJWF͸σόοάػೳ͕ಛʹ༏ल
    w ࠓ࠷΋Ως͍Δ$MPKVSF༻*%&
    w IUUQTDVSTJWFDMPKVSFDPN
    *OUFMMJ+*%&"$VSTJWF
    IUUQTTQFBLFSEFDLDPNBZBUPKBWBTIJJGBMTFUBNFGBMTFDMPKVSFSVNFO

    View Slide

  34. w -FJOJOHFOͰग़ͯ͘Δॾॴͷ໰୊Λղফ͢Δͨ
    Ίʹ࡞ΒΕͨπʔϧ
    w -FJOJOHFOͷ։ൃ͕ԼՐͳத#PPUίϛϡχςΟ
    ͸೤͍
    w IUUQTHJUIVCDPNCPPUDMKCPPU
    #PPU

    View Slide

  35. w $MPKVSF4DSJQU8FC3&1-

    ৭ʑΠϯετʔϧͨ͘͠ͳ͍͚Ͳڵຯ͋Δਓ޲͚

    IUUQDMPKVSFTDSJQUOFU
    w $MPKVSF4DSJQU,PBOT

    $MPKVSF,PBOTͷ$MPKVSF4DSJQU൛ɺϒϥ΢β͚ͩͰֶ΂Δ

    IUUQDMPKVSFTDSJQULPBOTDPN
    $MPKVSF4DSJQUΛษڧ͢Δ

    View Slide

  36. w -FJOJOHFO࢖͏ͳΒDIFTUOVUςϯϓϨʔτ͕ྑͦ͞
    ͏ ৭ʑόʔδϣϯ௿͍͚Ͳʜ

    IUUQTHJUIVCDPNQMFYVTDIFTUOVU
    w #PPU࢖͏ͳΒCPPUDMKTFYBNQMFΛDMPOFͯ͠ΈΔ

    IUUQTHJUIVCDPNBE[FSLPTTCPPUDMKTFYBNQMF
    $MPKVSF4DSJQUΛ࢝ΊΔ
    IUUQXXXTMJEFTIBSFOFUTPIUBDMPKVSFTDSJQU

    View Slide

  37. $MPKVSF4DSJQU
    ͷඍົͳͱ͜

    View Slide

  38. $MPKVSF4DSJQU
    ͷඍົͳͱ͜
    ͋ΔΘ͚͕ͳ͍

    View Slide

  39. w ίϯύΠϧʹ+BWB͕ඞཁͳͱ͜Ζ
    w ࠷ॳͷίϯύΠϧʹ΄Μͷগ͕͔͔࣌ؒ͠Δ
    w ίϯύΠϧޙͷϑΝΠϧαΠζ͕ͪΐͬ͜ͱ͓஡໨
    $MPKVSF4DSJQUͷඍົͳͱ͜

    View Slide

  40. ͓·͚

    View Slide

  41. w ࠷ۙηϧϑϗεςΟϯά͞ΕΔΑ͏ʹͳͬͨͷͰɺ
    ϒϥ΢β্Ͱ΋$MPKVSF4DSJQUΛίϯύΠϧग़དྷΔ

    IUUQTXBOOPEFUUFHJUIVCJPDMPKVSFTDSJQU
    w J1IPOF "OESPJEΞϓϦ΋͋ΔΑ

    J1IPOFIUUQTJUVOFTBQQMFDPNVTBQQSFQMFUFJE

    "OESPJEIUUQTHJUIVCDPNUBINJETBEJL3FQMJDBUPS
    ͓·͚

    View Slide

  42. 0OFNPSFUIJOH

    View Slide

  43. ͓͍ͰΑ$MPKVSFίϛϡχςΟ
    IUUQTDMPKVSJBOTUZQFGPSNDPNUPC*/W

    ೔ຊਓ͕୔ࢁ͍Δͷ͸DMPKVSFKBQBOͰ͢

    View Slide

  44. &OKPZ$MPKVSF

    View Slide