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
[CCC2016Fall]Be a great engineer! #jjug_ccc #cc...
Search
Shin Tanimoto
December 03, 2016
Technology
5
6.6k
[CCC2016Fall]Be a great engineer! #jjug_ccc #ccc_a1
JJUG CCC 2016 Fall 基調講演
Be a great engineer!
〜フォローすべきトレンド
スルーすべきトレンドを
どう見抜くのか
Shin Tanimoto
December 03, 2016
Tweet
Share
More Decks by Shin Tanimoto
See All by Shin Tanimoto
Spring Bootで実装とインフラをこれでもかと分離するための試み
shintanimoto
7
1.1k
クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング
shintanimoto
5
2.4k
26 Java Years
shintanimoto
0
86
Let’s Have Fun with Reactive Programming, Using Reactor and WebFlux
shintanimoto
0
280
Monitoring and Visualizing Your (Micro)services
shintanimoto
1
380
現代に求められるJavaコミュニティとは / What should be the Java Community of Today?
shintanimoto
0
940
人生がときめく「学び」の魔法 / The Life-Changing Magic of Studying
shintanimoto
6
1.7k
業務で使いたいWebFluxによるReactiveプログラミング / Introduction to Reactive Programming using Spring WebFlux
shintanimoto
9
9.4k
from old Java to modern Java (2017) #jjug
shintanimoto
4
1.7k
Other Decks in Technology
See All in Technology
継続戦闘能⼒
sansantech
PRO
0
220
MCP で繋ぐ Figma とデザインシステム〜LLM を使った UI 実装のリアル〜
kimuson
2
1.3k
What's Next in OpenShift Q2 CY2025
redhatlivestreaming
1
800
技術書典18結果報告
mutsumix
2
180
令和最新版TypeScriptでのnpmパッケージ開発
lycorptech_jp
PRO
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
Babylon.jsでゲームを作ってみよう
limes2018
0
100
データプレーンプログラミングとは? DPU&スイッチASICの開発経験から語る
ebiken
PRO
1
260
いまさら聞けない Git 超入門 〜Gitって結局なに?から始める第一歩〜
devops_vtj
0
160
iOS/Androidで無限循環Carousel表現を考えてみる
fumiyasac0921
0
130
LT:組込み屋さんのオシロが壊れた!
windy_pon
0
350
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
800
Featured
See All Featured
A better future with KSS
kneath
239
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Automating Front-end Workflow
addyosmani
1370
200k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Navigating Team Friction
lara
186
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
GraphQLとの向き合い方2022年版
quramy
46
14k
Done Done
chrislema
184
16k
Why Our Code Smells
bkeepers
PRO
336
57k
Statistics for Hackers
jakevdp
799
220k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Transcript
#&"(3&"5&/(*/&&3 ʙϑΥϩʔ͖͢τϨϯυ εϧʔ͖͢τϨϯυΛ Ͳ͏ݟൈ͘ͷ͔ ຊ+BWBϢʔβάϧʔϓ "DSPRVFTU5FDIOPMPHZ$P -5% ୩ຊ৺ !DFSP@U
ࣗݾհ w ୩ຊ৺ 4IJO5BOJNPUP w ຊ+BWBϢʔβʔάϧʔϓװࣄ w "DSPRVFTU5FDIOPMPHZגࣜձࣾ w
ΞʔΩςΫτ w +BWB0OF4QSJOH0OFεϐʔΧʔ w ϚΠΫϩαʔϏε w τϥϒϧγϡʔςΟϯά w 5XJUUFS!DFSP@U w 'BDFCPPLTIJOUBOJNPUP
ϑΥϩʔ͖͢τϨϯυͱ εϧʔ͖͢τϨϯυΛ Ͳ͏ݟൈ͘ͷ͔
–Rashid Khan ( kibana developer ) ϩάσʔλՄࢹԽπʔϧʰKibanaʱʹࠓྲྀΕΔ Pay it
forwardͷOSSతਫ਼ਆ http://type.jp/et/log/article/kibana “ࠓɺۀքͰى͍ͬͯ͜Δ͜ͱΛຊʹཧղ͍ͯ͠Δ͔” “ͲͷτϨϯυΛϑΥϩʔ͠ɺ ٯʹͲͷτϨϯυΛεϧʔ͖͔͢ɻ”
ࢲͷܦྺॻ
ࢲͷܦྺॻ w ৽ਓ࣌ʹ4USVUT )JCFSOBUF w ͔Β4FBTBS 4+4' 4%BP w ʹ4+4'ίϛολ
w 4+4'ͷࣗಈੜπʔϧͷ։ൃͱɺ ͦΕΛ༻͍ͨ։ൃϓϩηεͷࡦఆ w ͦͷπʔϧͱϓϩηεΛར༻ͨ͠େن։ൃ
େԌ্
ͦͷޙɺ༏ΕͨΤϯδχΞͱͷ ։ൃ߹॓ͰɺԹઘʹਁ͔Γͳ͕Β
ͤΖʮ+4'͠ΜͲ͍ʯ ʁʁʮͦΜͳͷ࠷ॳ͔Β ͔͔ͬͯͨΒεϧʔͨ͠Αʯ ʁʁʮ͋Εɺͳ͔ͬͨͶ͐ʯ
ͷ੨य़Λ ฦͤʂ
ͳ͓ଞʹٕͨ͠ज़ͨͪ
9%PDMFU +4' 4USJQFT 'MFY (VJDF .JSBHF (85 985
9'PSNT 4JMWFSMJHIU %5SBDF #5SBDF
͋ʔͬɺɺɺ͍ͬͯ͏
ԿΛݟಀ͍ͯͨ͠ͷ͔ɺ Ͳ͏ߟ͑Εྑ͔ͬͨͷ͔ɺ ͦΕΛࣗͳΓʹৼΓฦΔ
#&"(3&"5&/(*/&&3 ʙϑΥϩʔ͖͢τϨϯυ εϧʔ͖͢τϨϯυΛ Ͳ͏ݟൈ͘ͷ͔ ຊ+BWBϢʔβάϧʔϓ "DSPRVFTU5FDIOPMPHZ$P -5% ୩ຊ৺ !DFSP@U
5"#-&0'$0/5&/54 ৹ඒ؟Λຏͨ͘Ίʹඞཁͳ͜ͱ ϑΥϩʔ͖͢τϨϯυͷݟ͚ͭํ ͷτϨϯυ
৹ඒ؟Λຏͨ͘Ίʹ ඞཁͳ͜ͱ
ࣗͰߟ͑Δ͜ͱ
͍͍ͩͨʹ͓͍ͯ ͜ΜͳηογϣϯΛ ฉ͖ʹདྷͯΔ࣌Ͱμϝʂ
ٕज़Λݟͨ࣌ʹɺ ͦͷຊ࣭Կ͔Λߟ͑Δ͜ͱ
ٕज़Λݟͨ࣌ʹɺ ͦͷຊ࣭Կ͔Λߟ͑Δ͜ͱ ˺ ٕज़ΛϝλͰଊ͑Δ͜ͱ
ͨͱ͑ɺ3%#.4ͬͯ ཁ͢ΔʹԿͳͷʁ
σʔλͷஔ͖ॴʁ ϑΝΠϧͱͷҧ͍ʁ ,74/P42-ͱͷҧ͍ʁ -JTU)BTI.BQͱͷҧ͍ʁ
σʔλ͕ӬଓԽ͞ΕΔ Ұ؏ੑɺ߹ੑͷ֬อ͕ಘҙ εέʔϧΞτۤख ˣ τϥϯβΫγϣϯ͕ ॏཁͱͳΔॴͰ͏͖ σʔλετΞ
ͰτϥϯβΫγϣϯ͕ ॏཁͰͳͯ͘ΘΕ͍ͯΔɻ ʮͩͬͯੲ͔ΒΘΕͯΔ͠ʯ ͱ͍͏ࢥߟఀࢭɻ
ߴʹΩʔʹର͢Δ͕ཉ͚͠Ε ,74 ෳ߲Λݕࡧ݅ʹ͚ͨ͠Ε %PDVNFOUσʔλετΞ ߲Θͣݕࡧͨ͠Γ୯ޠݕࡧ͚ͨ͠Ε શจݕࡧΤϯδϯ
σʔλετΞͻͱͭͱͬͯ దࡐదॴͰ͍͚ΒΕΔͣ
ͦΕ͕ԿͰ͋Δ͔ɺͱ͍͏ ຊ࣭ΛѲ͍ͯ͠Ε χʔζʹैͬͯબ͕Ͱ͖Δ
ຊ࣭ͷѲ χʔζͷѲ
ຊ࣭ͷѲ χʔζͷѲ
͍͖ͳΓຊ࣭͔Βͳ͍
–ߐୡ @ DEADMAN “ఱͷཧɾɾɾ ͷ͝ͱͷਅཧΛखʹ͍ͯ͠Δ શͯΛखʹ͢Δ” “ཧʢਅཧʣ ৺ʢਓ৺ʣ ʢใʣ
ʢ࣭ʣ ମʢମʣ”
ମମత༏Ґऀ͕উͭ ˣ ྔͰউΔ͕উͭ ˣ ใΛۦ͢Δऀ͕উͭ ˣ ৺ਓʑͷ৺Λࢧͨ͠ऀ͕উͭ ˣ ཧશͯͷਅཧΛखʹͨ͠ऀ͕উͭ
ମۀͷ࣌ ˣ ۀͷ࣌ ˣ ͷ࣌ ˣ ৺ܳͷ࣌ ˣ ཧֶͷ࣌
֨ಆήʔϜͰͨͱ͑Δͱ ମɿૢ࡞Λ֮͑ͨऀ͕উͭ ɿ࿈ଓٕ࿈ܞύλʔϯΛ֮͑ͨऀ͕উͭ ਂ͍ࣝΛ࣋ͭऀ͕উͭ ৺ϝϯλϧͰ্ճͬͨऀ͕উͭ ཧήʔϜͷຊ࣭Λཧղͨ͠ऀ͕উͭ
ϑϨʔϜϫʔΫͱ͔Ͱݴ͏ͱ ମɿϑϨʔϜϫʔΫΛͬͯίʔυΛॻ͘ ɿςΫχοΫΛशಘ͢Δ ਂ͍ࣝΛֶͿ ৺ར༻͢Δਓͷؾ࣋ͪΛଊ͑Δ ཧ͜ͷٕज़ཁ͢ΔʹԿͳͷ͔Λཧղ͢Δ
ຊ࣭ɺखΛಈ͔͠ɺֶͼɺ ߟ͑ൈ্͍ͨʹ͋Δ
ਓ͔Βฉ͍ͨʮཧʯ͔ΓΛ ޠΔͷۭڏ
शಘͷํ ମɿνϡʔτϦΞϧೖॻ ɿॻ੶ϒϩά ϒϩάίϛϡχςΟ ৺ίϛϡχςΟͰͷର ཧࣗͰߟ͑Δ
–TJO ( @TJO_datasci )
–TJO ( @TJO_datasci )
ϚαΧϦʹछྨ͋Δ
ಉ͡ஈ֊ͷઌߦऀ͔ΒདྷΔ ʮਫฏํʹͳ͗͢ʯϚαΧϦ ্ͷஈ֊ͷઌߦऀ͔ΒདྷΔ ʮਨํʹৼΓԼΖ͢ʯϚαΧϦ
͍͑ɺͲͬͪ௧͍Ͱ͚͢ͲͶʂ
Λͯ͠
शಘͷํ ମɿνϡʔτϦΞϧೖॻ ɿॻ੶ϒϩά ϒϩάίϛϡχςΟͰͷʮൃ৴ʯ ৺ίϛϡχςΟͰͷʮൃ৴ʯͱʮରʯ ཧࣗͰߟ͑Δ
कഁͱͷରൺ
कഁ कࢣʹ͍ͭͯकΔஈ֊ʢମɺʣ ഁࣗͰߟ͑Δஈ֊ʢɺ৺ʣ ಠࣗͷηΦϦʔΛ͢Δஈ֊ʢཧʣ
͍͖ͳΓഁΔͳ ͍͖ͳΓΕΔͳ
कഁ कࢣʹ͍ͭͯकΔஈ֊ʢମɺʣ ഁࣗͰߟ͑Δஈ֊ʢɺ৺ʣ ಠࣗͷηΦϦʔΛ͢Δஈ֊ʢཧʣ ຊͧΕΔͳڭΘͬͨجຊΛΕΔͳ
˓˓એݴͱ͔ ˓˓.BOJGFTUPʹ ཧ͕٧·͍ͬͯΔ͜ͱ͕ଟ͍
͔͠͠ɺ͍͖ͳΓཧ͔Β ೖۭͬͯڏͳཧղʹͳΔɻ ੵΈ্͛ͨ͏͑Ͱɺ ཧΛߟ͖͑͢ɻ
ຊ࣭ͷѲ χʔζͷѲ
ٕज़ऀͬͯɺγʔζ͕͖͡ΌΜʁ
ΧφρνΛ࣋ͬͨΒ ͯ͢ఝʹݟ͑ΔλΠϓ͡ΌΜʁ
ΪʔΫͱεʔπ ٕज़αΠυͱϏδωεαΠυ
ΪʔΫγʔζͰಈ͖ εʔπχʔζͰಈ͘
ͱ͍͏ͷେؒҧ͍
ٕज़ʹඞͣ χʔζ͕͏
͜ΕΛୡ͍ͨ͠ ͜ͷ՝Λղܾ͍ͨ͠
ٕज़ΛධՁ͢Δ؍ɺ υΩϡϝϯτͷॆ࣮ ϝϯςφϯεɺαϙʔτɺ ίϛϡχςΟͷ׆ੑɺΤίγεςϜɺ ໘നָ͞͠͞ɺ৽͞ ͳͲͳͲ͋Δɻ
ͰχʔζͦͷϦετͷ τοϓʹ͋Δ͖
৽͍͠ɺ໘നͦ͏ʮ͚ͩʯͰ τϨϯυʹͳΒͳ͍
ݾͷχʔζʹ ߹க͍ͯ͠Δͷ͔ʁ ੈͷதͷχʔζʹ ߹க͍ͯ͠Δͷ͔ʁ
ੈͷχʔζʹ߹க͢Δͷ͕ τϨϯυΛ੮ר͢Δ ɾɾɾ͔ʁ
ഁյతΠϊϕʔγϣϯ ௨ৗɺੈͷχʔζ͕ͳ͍ॴʹݱΕΔ
͔ͦ͠͠ͷٕज़ ʮݾʯͷχʔζʹ߹க͢Δ͔Β ར༻͢Δ͜ͱͱͳͬͨ
ݾͷχʔζʹ߹க͍ͯ͠Ε ੈͷτϨϯυʹৼΓճ͞Εͣʹ ͦͷٕज़Λ͑ྑ͍
ͭ·Γٕज़ͷ৹ඒ؟ͱ
ٕज़ͷ৹ඒ؟ͱ ͦΕͧΕͷٕज़ͷຊ࣭Λཧղ͠ ݾͷχʔζʹ߹கͨ͠ͷΛ બ͢Δ͜ͱͰຏ͔ΕΔ
͋Δٕज़ͷதͰ ຊʹͦΕ͕࠷దͳͷ͔Λ ݟൈ͘ඞཁ͕͋Δ
ϙʔλϧαΠτΛ࡞Γ͍ͨ ˣ ίϯϙʔωϯτϕʔεͰ ηογϣϯΛඞਢͱͨ͠ +4'߹க͠ͳ͍ .7$ϕʔεͷํ͕ద
৹ඒ؟ʹࣗ৴͕ͳ͍ʁ
ඞͣ͠ΞʔϦʔΞμϓλʔʹ ͳΔඞཁͳ͍
ΩϟζϜΛӽ͑ͨޙʹ ΞʔϦʔϚδϣϦςΟͱͯ͠ ࢀՃͯ͠ߏΘͳ͍
ͨͱٕ͑ज़తʹ༏Ε͍ͯͯ ͦΕ͕উར͢ΔͱݶΒͳ͍ ʢ7)4WTϕʔλઓ૪ʣ
͜ͷষͷ·ͱΊ
ମ৺ཧͷஈ֊Λܦͯ ͦΕͧΕͷٕज़ͷຊ࣭Λଊ͑Δ͜ͱ ݾͷχʔζΛѲͯ͠ ࠷దͳٕज़Λಋೖ͢Δ͜ͱ ͦΕͰੈͷτϨϯυ ྫྷ͍ͨ͜ͱ͕͋Δ
ϑΥϩʔ͖͢τϨϯυͷ ݟ͚ͭํ
Πϊϕʔγϣϯ͕ τϨϯυΛੜΈग़͢
ΠϊϕʔγϣϯΛ ͏গ͠LXTL
ഁյతΠϊϕʔγϣϯ ࣋ଓతΠϊϕʔγϣϯ
ഁյతΠϊϕʔγϣϯ ήʔϜνΣϯδϟʔʹͳΔ ʮ࣭ʯͷมԽ ϑΥϩʔ͖͔͢ εϧʔ͖͔͢ࢹ͖͢
࣋ଓతΠϊϕʔγϣϯ ήʔϜνΣϯδϟʔʹͳΓʹ͍͘ ʮྔͷมԽʯ ͨͩ͠ࡶͳഁյతΠϊϕʔγϣϯΛ ࣋ଓతΠϊϕʔγϣϯ͕վળͯ͠ ہ໘͕มΘΓ͏Δ ʮྔ͕࣭ʹసԽ͢Δʯ
ഁյతΠϊϕʔγϣϯ͕ ʮલʹݟͨ͜ͱ͋Δʯͷ গͳ͘ͳ͍ DG ػցֶशɺ73
ʮલʹࣦഊͨ͠ΑͶɺ͜Εʯͱ ݴͬͯεϧʔ͢Δͷ͕ վΊͯൃද͞Εͨࡍʹ ͖͢͠
ίϯϐϡʔςΟϯάͷਐԽʹΑΓ طଘͷٕज़͕վΊͯ͞Ε ഁյతΠϊϕʔγϣϯΛى͜͢
Ͳ͜ͰΠϊϕʔγϣϯͷใΛ खʹೖΕΒΕΔͷʁ
ٕज़ΧϯϑΝϨϯε
೦ͳ͕Βɺ+BWB0OFͰ ͜͜Πϊϕʔγϣϯͳ͍ 4QSJOH0OFʢʹͱͬͯʣ ৽͍͠ݟʹᷓΕ͍ͯͨ 3FBDUJWF .JDSPTFSWJDFT ࢄετϦʔϛϯάॲཧʜ
(PPHMFɺ/FUqJYɺ"NB[PO ڊਓ͕ͨͪߦ͏ΧϯϑΝϨϯε ͖͢ SF*OWFOU͍
5IPVHIUXPSLT 5FDIOJDBM3BEBS ʢΩϟζϜతͳҙຯͰʣ ͦͷٕज़͕ Ͳͷஈ֊ʹ͍Δ͔͕͔Δ
ΨʔτφʔࣾͷΠϕϯτ τϨϯυΛ౿·͑ͯ ࣍ͷ͔ΒઌͷΛ ༧ݟͨ͠ൃදΛߦ͏
ͷτϨϯυ
ػցֶश *P5 "3ɺ73 ϒϩοΫνΣʔϯɺϝογϡΞϓϦ
ͦΕΒΛࢧ͑Δͷ͕ ϚΠΫϩαʔϏεΞʔΩςΫνϟ αʔόϨεΞʔΩςΫνϟ ࢄετϦʔϛϯάॲཧ
ɾɾɾͱݴ͑
໌͔Βɺ͑Δͷʁ
పఈతͳݱओٛ ͙͢ʹݱͰ͑ͳ͍ٕज़ ϑΥϩʔ͠ͳ͍
ͨͱ͑ϚΠΫϩαʔϏε
ຊ࣭తʹ ΞδϦςΟͱεέʔϥϏϦςΟΛ ࣮ݱ͢ΔͨΊͷٕज़
ຊʹͦͷχʔζ͋Δ͔ʁ ಋೖͷͨΊͷίετΛ͑Δ͔ʁ ৫ʹಋೖͷ͕͋Δ͔ʁ ΞδϟΠϧͰεέʔϥϒϧͳ৫͔ʁ ʢίϯΣΠͷ๏ଇʣ
ͦ͏ߟ͑Ε ͙͢ʹಋೖͰ͖ΔΘ͚Ͱͳ͍
Ͱɺͯ͢ͷߏཁૉΛ ͏ඞཁͳ͍
ࣗʹͱͬͯχʔζ͕͋Δ ߏཁૉ͚ͩར༻͢Εྑ͍
͍ͣΕΠϊϕʔγϣϯ ίϞσΟςΟԽ͢Δ
4DBMBͷӨڹΛड͚ͯ +BWB4&ʹ-BNCEB͕ೖΓ 4USVUTɺ)JCFSOBUFɺ4QSJOHͷ ӨڹΛड͚ͯ+BWB&&͕վળ͞Ε ϚΠΫϩαʔϏεʹ͔͏
ػցֶश"84͕ ίϞσΟςΟԽ͢Δ
ίϞσΟςΟԽ͢Ε ಋೖোนେ͖͘Լ͕ΔͷͰ ͦͷ࣌ʹར༻͢Εྑ͍
͋͘·Ͱࣗͷχʔζʹ ߹͏ٕज़Λબ͢Δ ͦͷͨΊʹτϨϯυΛѲͯ͠ దͳٕज़Λݟ͚ͭ·͠ΐʂ
ͥͻࠓͷ$$$Ͱ ྑ͍ٕज़Λݟ͚͍ͭͯͩ͘͞ʂ
&OKPZ++6($$$