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
Clojureという言語が私逹にもたらしたもの
ayato0211
6
3k
3年間考え続けてきたWebアプリケーションにおけるテストの話
ayato0211
3
240
Re:REPL-Driven Development
ayato0211
3
1.3k
Meta Template Engine
ayato0211
2
1.1k
超変換! Hiccup data structure!!
ayato0211
2
580
About Integrant
ayato0211
0
530
Muscle Assert
ayato0211
0
250
Clojureを用いたWebアプリケーション開発
ayato0211
2
3.1k
翻訳にまつわるエトセトラ
ayato0211
6
1.2k
Other Decks in Programming
See All in Programming
DataStoreをテストする
mkeeda
0
280
技術選定を未来に繋いで活用していく
sakito
3
100
ミリしらMCP勉強会
watany
4
740
AIコードエディタの基盤となるLLMのFlutter性能評価
alquist4121
0
200
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
0
110
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
160
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
830
海外のアプリで見かけたかっこいいTransitionを真似てみる
shogotakasaki
1
160
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
130
リストビュー画面UX改善の振り返り
splcywolf
0
130
Making TCPSocket.new "Happy"!
coe401_
1
120
Memory API : Patterns, Performance et Cas d'Utilisation
josepaumard
0
100
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
Practical Orchestrator
shlominoach
186
10k
BBQ
matthewcrist
88
9.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Producing Creativity
orderedlist
PRO
344
40k
Rails Girls Zürich Keynote
gr2m
94
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
How to Ace a Technical Interview
jacobian
276
23k
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