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
Product Management Tips for In-house tools
Search
LINE Developers
January 07, 2021
Technology
8.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Product Management Tips for In-house tools
LINE Developers
January 07, 2021
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
3
2.6k
Java 21 Overview
line_developers
6
1.4k
Code Review Challenge: An example of a solution
line_developers
1
1.7k
KARTEのAPIサーバ化
line_developers
1
640
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.4k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.5k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
4k
A/B Testing at LINE NEWS
line_developers
3
1.2k
LINEのサポートバージョンの考え方
line_developers
2
1.6k
Other Decks in Technology
See All in Technology
ホームラボ紹介
y_sera15
0
230
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
140
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
2
1.1k
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
490
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9.4k
MIXIで活躍できるエンジニアを 若手社員目線で考えてみる
mixi_engineers
PRO
0
130
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
120
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
360
DDDのエッセンスを取り入れたAIでの開発
ak2ie
0
210
トークンマネジメントでAIにとって働きやすい環境を実現する
hikaruegashira
0
140
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
240
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
800
GraphQLとの向き合い方2022年版
quramy
50
15k
Statistics for Hackers
jakevdp
799
230k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
ラッコキーワード サービス紹介資料
rakko
1
4.5M
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
A better future with KSS
kneath
240
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
480
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Building Adaptive Systems
keathley
44
3.2k
Transcript
ҏ౻ -*/&גࣜձࣾ ࣾπʔϧʹ͓͚Δ ϓϩμΫτ Ϛωδϝϯτͷצॴ
ηογϣϯͰ͓͍ͨ͜͠ͱ ։ൃऀ͕։ൃऀ͚ʹ πʔϧɾαʔϏεɾ ϓϥοτϑΥʔϜΛ ఏڙ͢Δ͜ͱͰ ؕΓ͕ͪͳ՝ͱղܾࡦ
ηογϣϯͰ͓͍ͨ͜͠ͱ ։ൃऀ͕։ൃऀ͚ʹ πʔϧɾαʔϏεɾ ϓϥοτϑΥʔϜΛ ఏڙ͢Δ͜ͱͰ ؕΓ͕ͪͳ՝ͱղܾࡦ ϓϩμΫτϚωδϝϯτͷ ؍͔Β զʑͷݱͰͷ
ܦݧɾࣦഊஊΛͱʹ
ࢲͨͪͷνʔϜͱϓϩμΫτ -*/&ͷ4&5ͱͯ͠ ࣾ։ൃऀ͚ʹ πʔϧΛఏҊɾ։ൃɾӡ༻
4FCBT ϚΠΫϩαʔϏεͷোݪҼಛఆπʔϧ &&ςετΛ࣮ߦ͠ɺ ͕͋ΔՕॴΛ ;JQLJOͰݟ͑ΔԽ
ύϑΥʔϚϯεςετ༻ϓϥοτϑΥʔϜ "ZBQFSG @Test public void xxx() { final
long startTime = System.currentTimeMillis(); try { get("http://localhost:8080/index.html") .then() .statusCode(200); Report.recordSuccess( System.currentTimeMillis() - startTime, 1); } catch (Exception e) { Report.recordFailure( System.currentTimeMillis() - startTime,"error"); } } (SBGBOBͳͲͰ ݁ՌΛදࣔ
5FTUBCMF*OGSB ΦϯσϚϯυͰ ςετڥΛෳͰ͖ΔαʔϏε
ࢲͷׂɾ Ϧʔμʔͱͯ͠ҎԼΛܾఆ • ୭ͷԿΛղܾ͢Δ͔ • Ͳͷॱ൪Ͱ͍ͭ·Ͱʹ࣮ݱ͢Δ͔ • ͦͷ݁Ռͱͯ͠ શࣾతʹͲͷΑ͏ͳՁΛఏڙ͢Δ͔
ˠ1E.࣮࣭݉
ͳͥࣾπʔϧͷ1E.ʁ ʰ5FDIOPMPHZ3BEBSʱ • ϓϩμΫτϚωδϝϯτͷ ݟɾํ๏Λࣾπʔϧ܈ʹ ద༻͢ΔτϨϯυ͕ੈքతʹ֦େ • ҰํͰɺࣾπʔϧ܈ͳΒͰͷ ݟɾํ๏·ͩ·ͩෆ
5IPVHIU8PSLTࣾͷ ͓͖ͷ ۀքτϨϯυϨϙʔτ
ݟΛཧ͠ ൃ৴͢Δ άϩʔόϧͳ νϟϯεͰʂʁ
ه ʮϢʔβʯͱʮεςʔΫϗϧμʔʯ ԼهͷΑ͏ʹ۠ผͯ͠ѻ͍·͢ Ϣʔβ ։ൃऀͳͲ ϓϩμΫτΛ ࣮ࡍʹͬͯ͘ΕΔਓ εςʔΫϗϧμʔ һ্ͳͲ
ϓϩμΫτ։ൃΛ ࢧԉͯ͘͠ΕΔਓ
ΞδΣϯμ ࣾπʔϧΏ͑ʹؕΓ͕ͪͳ՝ ݟɿࣾπʔϧͰϢʔβத৺ ݟɿεςʔΫϗϧμʔΛૄ͔ʹ͠ͳ͍ ݟɿϓϩϞʔγϣϯ ·ͱΊ
ࣾπʔϧΏ͑ʹؕΓ͕ͪͳ՝ ݟɿࣾπʔϧͰϢʔβத৺ ݟɿεςʔΫϗϧμʔΛૄ͔ʹ͠ͳ͍ ݟɿϓϩϞʔγϣϯ ·ͱΊ
͜ͷষͷϙΠϯτ <՝ઃఆ> ࢲ͕ͨͪ ࣮ࡍʹؕͬͨ՝ͱ ؍ଌͨ͠ʮෆ٢ͳ͍ʯ
ࣾπʔϧͷલఏ • ։ൃऀͷΈͰνʔϜฤ • ϓϩμΫτϚωʔδϟʔ ʮ·ͣʯ͍ͳ͍ • ϓϩμΫτϚωδϝϯτ Λ͍ͬͯΔਓগͳ͍
։ൃʂ։ൃʂ։ൃʂ ؾ͕ͭ͘ͱ։ൃʹूத • Ϣʔβχʔζ͕໌֬Ͱͳ͍ͷʹ ։ൃλεΫͰຒ·ΔλεΫϘʔυ • ϦϦʔεΑΓϦϑΝΫλϦϯά •
ंྠͷ࠶ൃ໌ΛΓ͕ͪ
։ൃʂ։ൃʂ։ൃʂ ։ൃʹڧ͍ؔ৺ͷ͋Δϝϯόʔ͚ͩͰ ϓϩμΫτ։ൃΛ͢Δͱʜ 7BMVBCMF 6TBCMF 'FBTJCMF ࣗͨͪͷٕज़తʹ ࣗͨͪʹͱͬͯ
ࣗͨͪͷٕज़తʹ
͕ࣗͨͪϢʔβʂ Ϣʔβχʔζશͯط ͱ͍͏ࢥ͍ࠐΈ • ʮࣗͨͪʹϢʔβʯͱ͍͏ʮޡೝʯ • ϢʔβχʔζͷݕূΛ͠ͳ͍ •
৽ػೳͳͲͷσϞ͠ͳ͍
͕ࣗͨͪϢʔβʂ ຊɾຊདྷͷϢʔβ͕ ·ͳ͍ɾΘͳ͍ͷΛ࡞Γ͕ͪ 7BMVBCMF 6TBCMF 'FBTJCMF ࣗͨͪʹͱͬͯ ࣗͨͪʹͱͬͯ
ࣗͨͪʹͱͬͯ
ʮ'JYʯͷޡṩ ҙࢥܾఆɾ߹ҙ ෴Βͳ͍ͱ͍͏ࢥ͍ࠐΈ • ࠷ॳʹ߹ҙͰ͖ͨͷͷ ʮ࡞ΓࠐΈʯʹूத͢Δ • σϞใࠂΛޙճ͠ʹ͕ͪ͠
• εςʔΫϗϧμʔมΘΒͣ ࢧԉ͠ଓ͚ͯ͘ΕΔͱࢥ͍ࠐΉ
ͭΒ͍Ͱ͢ɻ
ϙΠϯτ ٕज़తʹ༏Ε͍ͯΔ㱠ϢʔβՁ ϢʔβͱεςʔΫϗϧμʔʹ ΞϯςφΛுΔ͜ͱඞਢ ϓϩμΫτϚωδϝϯτͷߟ͑ํ ඞཁ͔ͭ༗ޮ
思い込みから 一歩離れてみよう
ղܾํ ։ൃʂ։ൃʂ։ൃʂ ͕ࣗͨͪϢʔβʂ ʮ'JYʯͷޡṩ ࣾπʔϧͰ Ϣʔβத৺ εςʔΫϗϧμʔΛ ૄ͔ʹ͠ͳ͍ ϓϩϞʔγϣϯ
ࣾπʔϧΏ͑ʹؕΓ͕ͪͳ՝ ݟɿࣾπʔϧͰϢʔβத৺ ݟɿεςʔΫϗϧμʔΛૄ͔ʹ͠ͳ͍ ݟɿϓϩϞʔγϣϯ ·ͱΊ
͜ͷষͷϙΠϯτ • ຊͷϢʔβΛΔ • Ϣʔβχʔζͱ͖߹͏ • ͦΕͰ͕ࣗࢼ͍ͨ͠ ͜ͱ͕͋Δ߹ͷৼ͍
ຊͷϢʔβΛΔ ࣗͨͪ ϢʔβදͰͳ͍ • ͕ࣗͨͪΓ͍ͨ͜ͱΛΰϦԡ͢ ཧ༝ʹ͍͚ͯ͠ͳ͍ʢռΊʣ • ໘͕ΒͣɺϢʔβʹΛฉ͘ •
͜ΕΒΛҙࣝ͢Δ͚ͩͰ݁ߏมΘΔ
Ϣʔβχʔζͱ͖߹͏ Λ͢Δͷ͕Ұ൪ • ΠϯλϏϡʔɾςετɾσϞΛ ఆظԽɾԽ͢Δ • ৽ػೳͷσϞͰϢʔβͷؔ৺ΛߴΊΔ • ݴΘΕͨͷ͚ͩΛ࡞Δଶආ͚Δ
8IZT ͳͥ࡞Γ͍ͨͷ͔ʁ • Ϣʔβͷ՝Λղܾ͍ͨ͠ͷ͔ʁ • ͕ࣗࢼͯ͠Έ͍ͨ͜ͱ͕͋Δͷ͔ʁ • ྆ऀΛͭͳ͛ΒΕͳ͍͔ʁ ˠ8JOXJOʹͰ͖ΔͳΒͭͳ͛Α͏
ʢࣄྫʣϏϧυ݁Ռͷ௨ํ๏
ʢࣄྫʣϏϧυ݁Ռͷ௨ํ๏ 4&5νʔϜͰɺ 4MBDLͰͷ௨͕ Ұൠత
ʢࣄྫʣϏϧυ݁Ռͷ௨ํ๏ Ϣʔβ͔Β͋Δɺ (JU)VCͷ13ը໘Ͱ ௨ͯ͠ͱཁ͕
ʢࣄྫʣϏϧυ݁Ռͷ௨ํ๏ ҰՕॴͰશ෦ݟ͍ͨ τϨϯυ͕ શࣾతʹग़͖͍ͯͯͨ
·ͱΊ • ਅ伨ʹϢʔβϑΝʔετ • ݴ͍ͳΓආ͚Δ • ͕ࣗΓ͍ͨ͜ͱͱ Ϣʔβͷ՝ղܾͱΛ ϦϯΫͤ͞Δ͜ͱΞϦ
ࣾπʔϧΏ͑ʹؕΓ͕ͪͳ՝ ݟɿࣾπʔϧͰϢʔβத৺ ݟɿεςʔΫϗϧμʔΛૄ͔ʹ͠ͳ͍ ݟɿϓϩϞʔγϣϯ ·ͱΊ
͜ͷষͷϙΠϯτ εςʔΫϗϧμʔͷ ࢧ࣋ɾڠྗͷऔΓ͚ͷ ඞཁੑͱͦͷํ๏
ڵຯɾؔ৺ࣦΘΕಘΔ ཁ༷݅ෆมͰ͔͢ʁ • Ұͷ߹ҙͰຬͯ͠ʢΞΧϯʣ • ڵຯɾؔ৺ৗʹมΘΔ • ۀͷ༏ઌͱಉ͡ ˠৗʹڵຯɾؔ৺ΛҾ͘Έ͕ඞཁ
ఆظతͳσϞ ಈ͘ͷͷΠϯύΫτΛϑϧ׆༻͢Δ ։ൃऀ͔ͩΒͦ͜ͷ ڧΈΛ׆͔ͦ͏ʂ
ʮਤʯͷఆظతͳڞ༗ɾߋ৽ ݱ࣌ͷΰʔϧͱͦͷಓےΛݟͤΔ
શͯͷཁٻʹԠ͑ͯμϝ /PDPEFNPOLFZ • Ϧιʔε༗ݶ • ݱঢ়࣮ݱՄೳͳ͜ͱΛઆ໌͢Δ͜ͱ ϓϩͷৼΔ͍ • ༏ઌॱҐΛ͚࣋ͬͯͭΔ
• ͋͘·Ͱύʔτφʔͱͯ͠ৼΔ͏
ࣾπʔϧͷσϞಈըΛ ϥϯνͷͰһʹհ ˣ ͦͷһ͕ଞͷһʹσϞಈըΛڞ༗ ˣ ࢲͨͪͷΒͳ͍͏ͪʹ ࣾπʔϧͷར༻ऀ͕૿͍͑ͯͨʢʂʣ ʢࣄྫʣσϞಈըΛ࡞ͬͯΈͨ
·ͱΊ • ڵຯɾؔ৺ΛҾ͘͜ͱ ཱͳࣄ • ܾఆΛෆมͱ ࢥ͍ࠐ·ͳ͍ • ݴ͍ͳΓආ͚Δ
ࣾπʔϧΏ͑ʹؕΓ͕ͪͳ՝ ݟɿࣾπʔϧͰϢʔβத৺ ݟɿεςʔΫϗϧμʔΛૄ͔ʹ͠ͳ͍ ݟɿϓϩϞʔγϣϯ ·ͱΊ
͜ͷষͷϙΠϯτ 1SPEVDU.BSLFUJOH • ఆϢʔβ͕ࣾ։ൃऀ Ͱ͋ͬͯඞཁ • ͨͩ͠ඞཁ
ใΦʔϓϯ͔ͭͭ͘͜͠ • ڵຯɾؔ৺Λשى͠ଓ͚Δ • ఆظతͳσϞ • ʮਤʯͷఆظతͳڞ༗ɾߋ৽ • ใৗʹΞΫηεͰ͖ΔΑ͏ʹ͢Δ
• ςϨϏ$.͘Β͍ͭ͘͜͠ • ࣗવͱݴ༿Λ͍ͭͯग़Δ·Ͱ
ςΩετͱσϞͷ྆࣠Ͱ ͲͪΒΔʂ
νϟϯωϧΛ૿͢ • ͚ͭͩͰʹ͔ͭͳ͍ • ࢹքʹೖΓࠐΜͰ ೝ·Ͱ͍࣋ͬͯ͘ • λʔήοτ͕Ή νϟϯωϧΛૂ͓͏
ࢲͷൃ৴ͷ͕ΞδϟΠϧܥʹภΓ͕ͪ ˣ ,VCFSOFUFTɾ2"ܥίϛϡχςΟʹ ൃ৴ॴΛ֦େ ˣ 5XJUUFSܦ༝Ͱ ࣾһ͔ΒίϯλΫτΛड͚ͨʢʂʣ ʢࣄྫʣൃ৴ॴͷݟ͠
·ͱΊ • ࣾπʔϧͰ ϓϩϞʔγϣϯඞਢ • Ϛϧννϟϯωϧ • ೝͤ͞Δ·Ͱଓ͚Δ
ࣾπʔϧΏ͑ʹؕΓ͕ͪͳ՝ ݟɿࣾπʔϧͰϢʔβத৺ ݟɿεςʔΫϗϧμʔΛૄ͔ʹ͠ͳ͍ ݟɿϓϩϞʔγϣϯ ·ͱΊ
ߦಈࢦͷTXJUDI ։ൃऀઢ͔Β ϓϩμΫτϚωδϝϯτ • ผͷࢹΛ୯७ʹΒͳ͍͚͔ͩ • ڭ͑ΕɺΩνϯͱ׆༻ͯ͘͠ΕΔ • ίʔνɺ͍ͨํ͕ྑ͍
։ൃऀͷϝϦοτΛ׆͔͢ • ࣮ࡍʹ࡞ͬͯࢼͤΔ • ΑΓݱ࣮తͳϞϊͰ σϞͰ͖Δ • ϝϦοτʹྗͯ͠ ؾ࣋ͪΑ͘ͳΓ͗͢ͳ͍
%FW0QTͰଉਧΛਧ͖ࠐΉ ΈΛ࠷ॳʹ࡞Ζ͏ • ϢʔβςετΛ͘͢͠ͳΔ • ݕূΛܧଓతʹߦ͍͘͢ͳΔ • 1JWPUΛؾ݉Ͷͳ͘Ͱ͖Δ 1E.º
%FW0QT808
ʮࣗݾ࣮ݱʯՄೳ ͕ࣗΓ͍ͨ͜ͱͱ Ϣʔβͷ՝ղܾͱΛ ϦϯΫͤ͞Δࢹͱߦಈ ͋ͬͯྑ͍
1E.ʹର͢Δ։ൃऀͷٙ೦ ίʔυͷ͍͕ ͠ͳ͍ ʢ৴༻Ͱ͖ͳ͍ʣ
྆ํͱඞཁ ϓϩμΫτ Ϛωδϝϯτ º ΤϯδχΞϦϯά
Ѫ͞ΕΔ %FW&YΛ ࢦ͠ଓ͚Α͏