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.4k
クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング
shintanimoto
5
2.4k
26 Java Years
shintanimoto
0
93
Let’s Have Fun with Reactive Programming, Using Reactor and WebFlux
shintanimoto
0
300
Monitoring and Visualizing Your (Micro)services
shintanimoto
1
390
現代に求められるJavaコミュニティとは / What should be the Java Community of Today?
shintanimoto
0
960
人生がときめく「学び」の魔法 / The Life-Changing Magic of Studying
shintanimoto
6
1.7k
業務で使いたいWebFluxによるReactiveプログラミング / Introduction to Reactive Programming using Spring WebFlux
shintanimoto
9
9.6k
from old Java to modern Java (2017) #jjug
shintanimoto
4
1.7k
Other Decks in Technology
See All in Technology
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
400
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
250
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
180
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
110
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
110
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
150
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
110
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
570
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
450
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Writing Fast Ruby
sferik
628
62k
A Tale of Four Properties
chriscoyier
160
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Code Review Best Practice
trishagee
70
19k
Raft: Consensus for Rubyists
vanstee
140
7.1k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
It's Worth the Effort
3n
187
28k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Building Adaptive Systems
keathley
43
2.7k
Producing Creativity
orderedlist
PRO
347
40k
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($$$