Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ネタじゃない ClojureScript
Search
ayato
July 30, 2015
Programming
3
1k
ネタじゃない ClojureScript
ayato
July 30, 2015
Tweet
Share
More Decks by ayato
See All by ayato
マイクロサービス内で動くAPIをF#で書いている
ayato0211
1
760
Clojureという言語が私逹にもたらしたもの
ayato0211
6
3k
3年間考え続けてきたWebアプリケーションにおけるテストの話
ayato0211
3
260
Re:REPL-Driven Development
ayato0211
3
1.3k
Meta Template Engine
ayato0211
2
1.1k
超変換! Hiccup data structure!!
ayato0211
2
600
About Integrant
ayato0211
0
550
Muscle Assert
ayato0211
0
260
Clojureを用いたWebアプリケーション開発
ayato0211
2
3.1k
Other Decks in Programming
See All in Programming
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
280
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
3
1.5k
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
3
480
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
7
920
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)
risatube
PRO
5
1.1k
テスト駆動Kaggle
isax1015
1
890
AI Ramen Fight
yusukebe
0
110
TypeScriptでDXを上げろ! Hono編
yusukebe
3
870
AIのメモリー
watany
11
1k
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
120
slogパッケージの深掘り
integral0515
0
150
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
140
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Agile that works and the tools we love
rasmusluckow
329
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Writing Fast Ruby
sferik
628
62k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Embracing the Ebb and Flow
colly
86
4.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
4 Signs Your Business is Dying
shpigford
184
22k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Transcript
ωλ͡Όͳ͍ $MPKVSF4DSJQU !@BZBUP@Q ୈेೋճौ୩KBWB
EFG!@BZBUP@Q \OBNFl͋ͽʔz MBOH<$MPKVSF3VCZ+BWB4DSJQU> CMPHl EFGBZBMPHb z DPNQBOZl$ZCP[V4UBSUVQT *ODz^ ͷ͜ͱ
EFG!@BZBUP@Q \OBNFl͋ͽʔz MBOH<$MPKVSF3VCZ+BWB4DSJQU> CMPHl EFGBZBMPHb z DPNQBOZl$ZCP[V4UBSUVQT *ODz^ ͷ͜ͱ ͍͍ͩͨ$MPKVSFͷਓ
લճͷ͓͞Β͍ ୈेҰճौ୩KBWB
IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT
IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT ʢʀƅЧƅʣʜʂʁ
IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT ͭш㱬 ŠƄŢŠƄŢ
IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT ʢʀƅЧƅʣʜʂʁ
IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT ौ୩l+BWBz͚ͩͲ
IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT "MU+4ͷͯ͠ ྑͦ͞͏
IUUQXXXTMJEFTIBSFOFUUBLF[PFTDBMBKT ωλ͡Όͳ͍ $MPKVSF4DSJQU ͷ͠·͢
ωλ͡Όͳ͍ $MPKVSF4DSJQU !@BZBUP@Q ୈेೋճौ୩KBWB
w $MPKVSF4DSJQUͱ w $MPKVSF4DSJQUͷ࣮༻తͳͱ͜ w $MPKVSF4DSJQUͷ࢝Ίํ w $MPKVSF4DSJQUͷඍົͳͱ͜ w ͓·͚
࣍
$MPKVSF4DSJQUͱ
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
w "MU+4ͱ͍͏ΑΓ$MPKVSF͕ಈ͘ϓϥοτϑΥʔϜ ͷͻͱͭͱͯ͠+BWB4DSJQU͕͋Δɺͱ͍͏΄͏͕ͬ͠ ͘Γ͘Δ ؾ͕͢Δ w (PPHMF$MPTVSF$PNQJMFS͕ؤுͬͯ͘ΕΔͷͰͦ ΕͳΓʹύϑΥʔϚϯε͕ྑ͍ w
$JSDMF$*Ͱར༻͞Ε͍ͯͯͨ·ʹΛूΊΔ $MPKVSF4DSJQUͱ
$MPKVSF4DSJQU ͷ࣮༻తͳͱ͜
w -JTQͱ͔*NNVUBCMFͱ͔$PODVSSFODZͱ͔ ޠΓਚ͘͞Ε͍ͯΔ $MPKVSF4DSJQU Ͱ͍͍ͩͨ $MPKVSFͱಉ͡ w ͷͰɺͬͱ࣮༻తͳ෦Λհ͠·͢ $MPKVSF4DSJQUͷ࣮༻తͳͱ͜
IUUQXXXTMJEFTIBSFOFULBXBTJNBTIJCVZBKWNDMPKVSF
w વ͚ͩͲ+BWB4DSJQUͷݺͼग़͕͠ग़དྷΔ w ͱ͍͑ɺؾ࣋ͪѱ͍ͷͰ$-+4+4ͱ͍͏औΓ Έ͕͋ͬͨΓ͢Δ +BWB4DSJQUJOUFSPQ
+BWB4DSJQUJOUFSPQ MPHKTDPOTPMFl)FMMP $MPKVSF4DSJQUz
w 3&1- 3FBEFWBMQSJOUMPPQ Λ$MPKVSF4DSJQU Ͱ͑Δ w Ճ͑ͯ3&1-Λϒϥβͱଓग़དྷΔ w ͭ·Γ
w 3&1-͔Β%0.Λૢ࡞ग़དྷΔ #SPXTFS3&1-
#SPXTFS3&1- w ্͕&NBDT্ͷίʔυ w Լ͕'JSF'PYͷίϯιʔϧ
w ϑΝΠϧͷมߋΛݕͯࣗ͠ಈతʹϦϩʔυ w ͨͩ͠ɺϒϥβͷϦϑϨογϡͰͳ͍ ॏཁ w ಈతʹมߋΛಡΈࠐΉ w MFJOpHXIFFM
CPPUSFMPBEͳͲ -JWFDPEFSFMPBEJOH
-JWFDPEFSFMPBEJOH w ӈpHXIFFMΛͬͨ ։ൃ෩ܠ w ܯࠂΤϥʔݟ͢ ͘ग़ͯ͘Δ w ࣗಈతʹมߋΛద༻͠ ͯͦͷը໘ͷॳظঢ়ଶ
͔Β࠶࣮ߦ w ෭࡞༻ܥੵ͞ΕΔ
w ϓϥοτϑΥʔϜؒͰಉҰίʔυΛ͑ΔΑ͏ʹ ͢ΔΈ $MPKVSF͔Β w ڈ͞ΕͨϦʔμʔϚΫϩʹΑ࣮ͬͯݱ͞ΕΔ $MPKVSFͰUBHHFEMJUFSBMTͱ͍͏७ਮͳϦʔμʔϚΫϩͰͳ͍ͷ 3FBEFS$POEJUJPOBMT IUUQTTQFBLFSEFDLDPNBZBUPSFBEFSDPOEJUJPOBMT
3FBEFS$POEJUJPOBMT OTFYBNQMFDPSF SFRVJSF ! DMK<<GPPCBSBTCBS>> DMKT<<IPHFGVHBBTGVHB> <UBUBUJUJBTUJUJ>> EFGOTUSJOU<Y>
DMK *OUFHFSQBSTF*OUY DMKT QBSTF*OUKTXJOEPXY
w 0N 3FBHFOU 2VJFTDFOU 3VNͳͲͱ։ൃ͕׆ൃ w ϚΠΫϩϕϯνϚʔΫͰૉͷ3FBDUΑΓૣ͍ͱ ݴΘΕ͍ͯΔ w ݸਓతʹ3FBHFOUSFGSBNFͷΈ߹Θ͕ͤ࠷ߴ
3FBDU8SBQQFST
EFGOIVOHSZDPNQPOFOU<> MFU<UJNF TVCTDSJCF<UJNF> > XIFO MVODIUJNF UJNF
<I*NIVOHSZ> 3FBDU8SBQQFST w ӈͷίʔυล3FBHFOUSF GSBNFͰॻ͍ͨྫ w )5.-ΛIJDDVQͷه๏Ͱॻ͚ Δ w ͭ·Γɺ$MPKVSFͷσʔλߏ Ͱॻ͚Δ w +49Έ͍ͨͳؾ࣋ͪѱ͕͞ͳ͍
w $MPKVSF4DSJQUࣗͰॻ͚ͳ͍͚Ͳ͑Δ w ϚΫϩࣗମΛݏ͏ਓଟ͍͕ͳίʔυΛ ͘͢Δͷʹʹཱͭ .BDSPT
.BDSPT OTDMKTEFNPDPSF SFRVJSFNBDSPT<SFBHFOUSBUPNSFGFS<SFBDUJPO>> SFRVJSF<TDIFNBDPSFBTTJODMVEFNBDSPTUSVF> <SFBHFOUDPSFBTSFBHFOU> <SFGSBNFDPSFSFGFS<SFHJTUFSIBOEMFS QBUI
SFHJTUFSTVC EJTQBUDI EJTQBUDITZOD TVCTDSJCF>>
$MPKVSF4DSJQU ͷ࢝Ίํ
w ΤσΟλ w &NBDT7JN*OUFMMJ+*%&"FUDͲΕͰ0, ॳ৺ऀʹ*%&" $VSTJWFΛનΊ͍ͯ·͢ w Ϗϧυπʔϧ w
-FJOJOHFO#PPU ࡉ͔͍Λ͢Δͱ৭ʑͱ໘͍͚͘͞Ͳ࠷ۙ#PPUͰྑͦ͞͏ $MPKVSF4DSJQUͷ࢝Ίํ
w -JHIU5BCMF࠷ۙԼՐؾຯ w $VSTJWFσόοάػೳ͕ಛʹ༏ल w ࠓ࠷Ως͍Δ$MPKVSF༻*%& w IUUQTDVSTJWFDMPKVSFDPN *OUFMMJ+*%&" $VSTJWF
IUUQTTQFBLFSEFDLDPNBZBUPKBWBTIJJGBMTFUBNFGBMTFDMPKVSFSVNFO
w -FJOJOHFOͰग़ͯ͘ΔॾॴͷΛղফ͢Δͨ Ίʹ࡞ΒΕͨπʔϧ w -FJOJOHFOͷ։ൃ͕ԼՐͳத#PPUίϛϡχςΟ ͍ w IUUQTHJUIVCDPNCPPUDMKCPPU #PPU
w $MPKVSF4DSJQU8FC3&1- ৭ʑΠϯετʔϧͨ͘͠ͳ͍͚Ͳڵຯ͋Δਓ͚ IUUQDMPKVSFTDSJQUOFU w $MPKVSF4DSJQU,PBOT $MPKVSF,PBOTͷ$MPKVSF4DSJQU൛ɺϒϥβ͚ͩͰֶΔ IUUQDMPKVSFTDSJQULPBOTDPN $MPKVSF4DSJQUΛษڧ͢Δ
w -FJOJOHFO͏ͳΒDIFTUOVUςϯϓϨʔτ͕ྑͦ͞ ͏ ৭ʑόʔδϣϯ͍͚Ͳʜ IUUQTHJUIVCDPNQMFYVTDIFTUOVU w #PPU͏ͳΒCPPUDMKTFYBNQMFΛDMPOFͯ͠ΈΔ IUUQTHJUIVCDPNBE[FSLPTTCPPUDMKTFYBNQMF $MPKVSF4DSJQUΛ࢝ΊΔ
IUUQXXXTMJEFTIBSFOFUTPIUBDMPKVSFTDSJQU
$MPKVSF4DSJQU ͷඍົͳͱ͜
$MPKVSF4DSJQU ͷඍົͳͱ͜ ͋ΔΘ͚͕ͳ͍
w ίϯύΠϧʹ+BWB͕ඞཁͳͱ͜Ζ w ࠷ॳͷίϯύΠϧʹ΄Μͷগ͕͔͔࣌ؒ͠Δ w ίϯύΠϧޙͷϑΝΠϧαΠζ͕ͪΐͬ͜ͱ͓ $MPKVSF4DSJQUͷඍົͳͱ͜
͓·͚
w ࠷ۙηϧϑϗεςΟϯά͞ΕΔΑ͏ʹͳͬͨͷͰɺ ϒϥβ্Ͱ$MPKVSF4DSJQUΛίϯύΠϧग़དྷΔ IUUQTXBOOPEFUUFHJUIVCJPDMPKVSFTDSJQU w J1IPOF "OESPJEΞϓϦ͋ΔΑ J1IPOFIUUQTJUVOFTBQQMFDPNVTBQQSFQMFUFJE "OESPJEIUUQTHJUIVCDPNUBINJETBEJL3FQMJDBUPS ͓·͚
0OFNPSFUIJOH
͓͍ͰΑ$MPKVSFίϛϡχςΟ IUUQTDMPKVSJBOTUZQFGPSNDPNUPC*/W ຊਓ͕ࢁ͍ΔͷDMPKVSFKBQBOͰ͢
&OKPZ$MPKVSF