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
980
ネタじゃない ClojureScript
ayato
July 30, 2015
Tweet
Share
More Decks by ayato
See All by ayato
Clojureという言語が私逹にもたらしたもの
ayato0211
5
2.8k
3年間考え続けてきたWebアプリケーションにおけるテストの話
ayato0211
3
200
Re:REPL-Driven Development
ayato0211
3
1.1k
Meta Template Engine
ayato0211
2
870
超変換! Hiccup data structure!!
ayato0211
2
520
About Integrant
ayato0211
0
440
Muscle Assert
ayato0211
0
190
Clojureを用いたWebアプリケーション開発
ayato0211
2
2.9k
翻訳にまつわるエトセトラ
ayato0211
6
1.1k
Other Decks in Programming
See All in Programming
2 週間で Twitter Bot を作ってみた
contour_gara
0
540
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
Snowflakeで眠ったデータを起こそう!
estie
0
120
Ruby GitHub Packages
bkuhlmann
0
630
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
340
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
540
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
340
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
380
Code Reviews
bkuhlmann
4
890
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
210
Site Reliability Engineering for GMO
pyama86
8
1k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
Web development in the modern age
philhawksworth
202
10k
A designer walks into a library…
pauljervisheath
200
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
Writing Fast Ruby
sferik
621
60k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
GitHub's CSS Performance
jonrohan
1025
450k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
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