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
テンクーでのClojure活用事例
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
OHTA Shogo
July 14, 2023
Technology
430
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テンクーでのClojure活用事例
2023/07/13 ClojureエンジニアLT&交流会
OHTA Shogo
July 14, 2023
More Decks by OHTA Shogo
See All by OHTA Shogo
軽量デバッグツールPostmortemの紹介.pdf
athos
1
220
Clojure 1.10 概要紹介
athos
3
700
やってみる!clojure.spec
athos
4
1.1k
kitchen-async: a promising (?) Promise library, or a poor man's core.async
athos
3
510
Clojure 1.9 概要紹介
athos
4
1.5k
ここ最近のClojureScript
athos
5
1.8k
(= ? (+ nREPL Docker))
athos
0
600
clojure.specの話
athos
3
2.4k
clojure.specの話(仮)
athos
2
380
Other Decks in Technology
See All in Technology
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
210
書籍『生成AIの安全性入門』の入門
wataoka
0
220
bet_ai_day_2026_session02
agenticsec
1
1.2k
When Does a Local Qwen Start to Break
morshoto
0
180
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
200
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
360
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
840
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
570
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
1.2k
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
3
2.4k
振り返りこそエンジニアの本領
negima
0
310
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
160
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
The Invisible Side of Design
smashingmag
301
52k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
Docker and Python
trallard
47
4.2k
Faster Mobile Websites
deanohume
310
32k
Crafting Experiences
bethany
1
290
Music & Morning Musume
bryan
47
7.4k
A Soul's Torment
seathinner
7
3.5k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Transcript
ςϯΫʔͰͷ$MPKVSF׆༻ࣄྫ $MPKVSFΤϯδχΞ-5ˍަྲྀձ גࣜձࣾςϯΫʔ !BUIPT
$MPKVSF-5@0965 ࣗݾհ w !BUIPT w ͔Β$MPKVSFΛ৮Γ࢝ΊΔ w ʹςϯΫʔೖࣾ w $MPKVSF
4DSJQU ίϯτϦϏϡʔλ 2
$MPKVSF-5@0965 ςϯΫʔͷաڈͷൃද 3 $MPKVSFDPOK 4FRVFODFBOE$PODVSSFOU1SPDFTTJOH GPS)VHF(FOPNJD%BUB https://youtu.be/ipNru1QSeWc 4IJCVZBMJTQ5FDI5BML
ςϯΫʔͰͷ$MPKVSFͷ׆༻ࣄྫ $MPKVSFͰͷή ϊϜղੳͱΤϯδχΞϦϯά https://youtu.be/ltdMlYLsb3I?t=2947
$MPKVSF-5@0965 ΞδΣϯμ w ςϯΫʔͷհ w ςϯΫʔͰͷ$MPKVSFͷΘΕํ w $MPKVSFΛ͏خ͠͞ 4
$MPKVSF-5@0965 ςϯΫʔͷհ
$MPKVSF-5@0965 ͲΜͳձࣾʁ 6 ໊ࣾ גࣜձࣾςϯΫʔ (Xcoo, Inc.) දऔక ଜ ༟
ઃཱ 20114݄1 ελοϑ 44໊ Web https://xcoo.co.jp ॴࡏ ౦ژจژ۠ຊڷ2-40-8 ࢿຊۚ 1ԯԁ ೝূ ISO/IEC 27001 (ISMS) ݈߁ܦӦ༏ྑ๏ਓ2021 ༀࣄ ୈҰछҩྍػثൢചۀऀ ҩྍػثۀऀ ߴཧҩྍػثൢചۀ/ି༩ۀऀ ใٕज़Ͱҩྍʹߩݙ ࣾձ࣮ͷՍ͚ڮ ή ϊϜҩྍͷτʔλϧιϦϡʔγϣϯιϑτΣΞ ͕Μή ϊϜҩྍͷใղੳ෦ΛτʔλϧͰαϙʔτ
$MPKVSF-5@0965 ͕Μή ϊϜҩྍ 7 ͕Μࡉ๔ͷή ϊϜͷมԽΛಛఆ ͦͷή ϊϜͷมԽʹ߹Θͤͯ ࠷దͳ࣏ྍɾஅɾ༧Λߦ͏
ۙɺή ϊϜͷมԽʹ߹ΘͤͨࢠඪతༀͷొʹΑΓɺ͕Μͷ࣏ྍ͕ܶతʹվળ T A G C A T G G G G C A T T A G C A T C A T
$MPKVSF-5@0965 ։ൃνʔϜߏ 8 Analysis Database Report όΠΦΠϯϑΥϚςΟΫεͷΞϧΰϦζϜܥ σʔλͷΞάϦήʔγϣϯ ߴͳݕࡧ
6*8FCܥ ҩֶతݟʹͱ͍ͮͯఆϩδοΫ Infrastructure + $ISPWJTΛӡ༻͢ΔͨΊͷճΓ ֤πʔϧϥΠϒϥϦ࣮ ͦͷଞͷࣾγεςϜ։ൃ Chrovisͷ։ൃνʔϜΤϯδχΞ20ਓఔ
$MPKVSF-5@0965 ςϯΫʔͰͷ$MPKVSFͷΘΕํ
$MPKVSF-5@0965 ։ൃن 10 ϦϙδτϦ ιʔείʔυͷϑΝΠϧ DMK DMKT DMKD
ιʔείʔυߦ DMK DMKT DMKD ϓϧϦΫΤετ Ҏ߱ ˞ݱࡏ
$MPKVSF-5@0965 ςϯΫʔ͕։ൃ͢Δ044 w $ISPWJTؔ࿈ͷ044IUUQTHJUIVCDPNDISPWJTͰެ։͞Ε͍ͯΔ DMKBNή ϊϜղੳͰΑ͘ΘΕΔϑΝΠϧܗࣜͷೖग़ྗΞϧΰϦζϜͷ࣮ WBSJUZมҟͷදهܗࣜ )(74˱7$'
ؒͷม DMKIHWT)(74ه๏ͷύʔαɾϑΥʔϚολ DMKEFDPOTUSVDUTJHTมҟύλʔϯ͔Βͷมҟγάωνϟͷಉఆ EVYIVOE%69༥߹Ҩࢠͷݕग़ FUDFUD 11
$MPKVSF-5@0965 Α͘ΘΕΔϑΝΠϧܗࣜ w '"452 ԘجྻͱͦͷΫΦϦςΟ ֤Ԙج͕Ͳͷఔͷ͔֬Β͠͞ͰಡΊ͔ͨ ͷใΛه w 4".#".
֤ྻΛϦϑΝϨϯεྻʹରͯ͠ΞϥΠϝϯτ ҐஔΛಉఆ ͨ݁͠ՌΛه w 7$'#$' มҟίʔϧʹΑͬͯಉఆ͞ΕͨมҟΛه 12 '"452 4". #". 7$' #$' ΞϥΠϯϝϯτ มҟίʔϧ
$MPKVSF-5@0965 DMKBNͷར༻ྫ 13 (require '[cljam.io.sam :as sam]) (with-open [r (sam/reader
"in.bam") w (sam/writer "out.bam")] (sam/write-header w (sam/read-header r)) (sam/write-refs w (sam/read-refs r) (->> (sam/read-alignments r) (sam/write-alignments w))) (require '[cljam.io.vcf :as vcf]) (with-open [r (vcf/reader "in.vcf") w (vcf/writer "out.vcf")] (->> (vcf/read-variants r) (vcf/write-variants w))) 4".#".ͷಡΈॻ͖ 7$'#$'ͷಡΈॻ͖ (… {:qname "HWI-ST216_0147:5:48:13963:160437#0/1", :flag 0, :rname "chr1", :pos 23000088, :end 23000123, :mapq 255, :seq "TATAGGATTTGTTTGTTGTGTTTAGGTGGGTATAGT", :qual "HFHHHHEHHHHFHHHHEHFHHHHBHGBFFE>EGCFC", :cigar "36M", …} …) (… {:chr "19", :pos 111, :ref "A", :alt ["C"], :qual 9.6, :filter nil, :FORMAT (:GT :HQ), :NA00001 {:GT "0|0", :HQ (10 10)}, :NA00002 {:GT "0|0", :HQ (10 10)}, …} …)
$MPKVSF-5@0965 ࣮ࡍͷγεςϜͰΘΕΔπʔϧɾϥΠϒϥϦ܈ 14 GSPN4FRVFODFBOE$PODVSSFOU1SPDFTTJOHGPS)VHF(FOPNJD%BUB
$MPKVSF-5@0965 $MPKVSFΛ͏خ͠͞
$MPKVSF-5@0965 γʔέϯεʹΑΔσʔλදݱ w ή ϊϜղੳͰΘΕΔϑΝΠϧαΠζ͕େ͖͘ͳΓ͕ͪ ώτͷή ϊϜྻԯԘج ϑΝΠϧͰेʙඦ(#ΦʔμʔʹͳΔ͜ͱ
ϑΝΠϧશମͷ༰ϝϞϦ্ʹࡌΒͳ͍ w ͜ΕΒͷେ͖ͳσʔλΛԆγʔέϯεͱͯ͠දݱ͢Δ͜ͱͰɺ$MPKVSFͰ ࣗવʹॲཧͰ͖Δ 16
$MPKVSF-5@0965 ฒྻԽ w σʔλ͕େ͖͍ͱॲཧ࣌ؒ͘ͳΓ͕ͪ σʔλαΠζʹΑͬͯύΠϓϥΠϯશମͷ࣮ߦͰҎ্͔͔Δ͜ͱ ఆഒͷߴԽ͕ޮՌతͳέʔεগͳ͘ͳ͍ w $MPKVSFͰجຊతͳσʔλܕϩʔΧϧଋറ͕Πϛϡʔλϒϧͳ͜ͱͰɺ
ϚϧνεϨουʹΑΔฒྻԽ͕༰қ w ςϯΫʔͰɺฒྻͷ੍ޚͷ͔͢͠͞ΒεϨουϓʔϧϥΠϒϥϦ $MBZQPPMF͕Α͘ΘΕΔ 17
$MPKVSF-5@0965 3&1-Ͱͷ୳ࡧ w ίʔυʹखΛண͚Δલͷ3&1-Ͱͷࢼߦࡨޡ "OBMZTJTνʔϜͷϓϩμΫτ։ൃʮԿΛͲ͏࡞Δ͔ ͔͢ ʯ͕࣮ࡍͷσʔλΛ ݟͳ͕Βܾ·Δݚڀ։ൃతͳଆ໘Λͭ͜ͱ͋Δ w
Ͳ͜ͰσόοάڥΛ࡞ΕΔ VCFSKBS͑͋͞Εɺαʔό্%PDLFSίϯςφͷڥͰ$MPKVSFͷ3&1-Λ ্ཱͪ͛ͯΞϓϦέʔγϣϯͷڥΛ͑ΒΕΔ ιέοτ3&1-Λ͑ϦϞʔτσόοά༰қ 18
$MPKVSF-5@0965 σʔλੳʹ͓͚ΔڧΈ w DG$MPKVSFGPS%BUB4DJFODFJOUIF3FBM8PSMEGSPN$MPKVSFDPOK w +7.͕ेߴͰɺ+BWBͷϥΠϒϥϦ๛ w 5FDI"TDFOU4DJ$MPKΛத৺ʹ$MPKVSFͷσʔλੳɾ౷ܭղੳɾػցֶश ϥΠϒϥϦ͕׆ൃʹ։ൃ͞Ε͍ͯΔ w
3&1-Ͱࢼߦࡨޡ͍͢͠ w ·ͱͳύοέʔδཧγεςϜ͕͋Δ😎 19
$MPKVSF-5@0965 ͍Ζ͍ΖͳϓϥοτϑΥʔϜͰ͑Δ w ςϯΫʔͰͷར༻ྫ $MPKVSF PO+7. ղੳπʔϧɺ8FCαʔϏε όοΫΤϯυ
$MPKVSF4DSJQU8FCαʔϏε ϑϩϯτΤϯυ #BCBTILB$-*πʔϧɺεΫϦϓςΟϯά w #BCBTILBBTCFUUFSγΣϧεΫϦϓτ #BCBTILBଞͷίϚϯυͱΈ߹Θ͍ͤͯ͘͢ɺେྔͷϑΝΠϧ͕ੜ͞Ε Δॲཧͷूܭʹศར $MPKVSFͷศརͳίϨΫγϣϯΛඋ͑ɺͦͷؾʹͳΕεϨου͑Δɺ͍ग़ ͕͋ΔεΫϦϓτݴޠͱͯ͠׆༻Ͱ͖Δ 20
$MPKVSF-5@0965 ·ͱΊ w ςϯΫʔͰ$ISPWJTΛ͡Ίͱͨ͠γεςϜͷେ෦Λ$MPKVSFΛͬͯ ։ൃ͍ͯ͠Δ w $MPKVSFͷγʔέϯεॲཧɾฒྻԽͷ༰қ͞ή ϊϜղੳͷڊେͳσʔλΛ ѻ͏ͷʹద͠ɺ3&1-ʹΑΔߴͳϑΟʔυόοΫݚڀ։ൃతͳࢼߦࡨޡ ͷ͢͠͞ʹߩݙ͍ͯ͠Δ
w ΞϧΰϦζϜدΓ͔ΒXFCدΓͷࣄ·Ͱ͍Ζ͍Ζ͋Γָ͍͠ʂ✌ Т ✌ w ڵຯ͕͋Δํͥͻֻ͓͚Λʂ 21