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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shin Tanimoto
December 03, 2016
Technology
6.8k
5
Share
[CCC2016Fall]Be a great engineer! #jjug_ccc #ccc_a1
JJUG CCC 2016 Fall 基調講演
Be a great engineer!
〜フォローすべきトレンド
スルーすべきトレンドを
どう見抜くのか
Shin Tanimoto
December 03, 2016
More Decks by Shin Tanimoto
See All by Shin Tanimoto
Spring Bootで実装とインフラをこれでもかと分離するための試み
shintanimoto
7
1.5k
クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング
shintanimoto
5
2.5k
26 Java Years
shintanimoto
0
120
Let’s Have Fun with Reactive Programming, Using Reactor and WebFlux
shintanimoto
0
330
Monitoring and Visualizing Your (Micro)services
shintanimoto
1
440
現代に求められるJavaコミュニティとは / What should be the Java Community of Today?
shintanimoto
0
1k
人生がときめく「学び」の魔法 / The Life-Changing Magic of Studying
shintanimoto
6
1.9k
業務で使いたいWebFluxによるReactiveプログラミング / Introduction to Reactive Programming using Spring WebFlux
shintanimoto
9
9.9k
from old Java to modern Java (2017) #jjug
shintanimoto
4
1.9k
Other Decks in Technology
See All in Technology
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
31
9.7k
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
230
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
530
GitHub Copilot Dev Days
tomokusaba
0
140
エージェント時代の UIとAPI、CLI戦略
coincheck_recruit
0
120
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
3
270
多角的な視点から見たAGI
terisuke
0
120
COBOL婆さんの伝説
poropinai1966
0
130
独断と偏見で試してみる、 シングル or マルチエージェント どっちがいいの?
shichijoyuhi
1
240
AI駆動開発で生産性を追いかけたら、行き着いたのは品質とシフトレフトだった
littlehands
0
300
ファインディの事業拡大を支える 拡張可能なデータ基盤へのリアーキテクチャ
hiracky16
0
810
GKE Agent SandboxでAIが生成したコードを 安全に実行してみた
lamaglama39
0
180
Featured
See All Featured
Side Projects
sachag
455
43k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
490
How STYLIGHT went responsive
nonsquared
100
6.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
230
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Mobile First: as difficult as doing things right
swwweet
225
10k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Faster Mobile Websites
deanohume
310
31k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
550
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($$$