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
KotlinでDelegation #kansaikt
Search
Shinichi Kozake
July 09, 2016
Technology
2
1.1k
KotlinでDelegation #kansaikt
kansai.kt #1
Shinichi Kozake
July 09, 2016
Tweet
Share
More Decks by Shinichi Kozake
See All by Shinichi Kozake
アーキテクトとは
kozake
0
2.2k
Ionic React でサービス開発したお話
kozake
0
140
ドキッ!失敗だらけのシステム開発
kozake
1
830
やはり俺のWeb APIは間違えている
kozake
0
540
すごい大規模 たのしく作ろう
kozake
4
2.4k
KHipster ~JHipsterで始めるKotlin Web プログラミング~
kozake
0
890
Docker with JHipster
kozake
1
570
実践JHipster #jsug #sf_36
kozake
2
7.7k
Ionicでアプリ作ったよ!開発方法の紹介
kozake
2
1k
Other Decks in Technology
See All in Technology
ロールが細分化された組織でSREは何をするか?
tgidgd
1
420
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
400
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
550
“日本一のM&A企業”を支える、少人数SREの効率化戦略 / SRE NEXT 2025
genda
1
270
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
3
2k
今だから言えるセキュリティLT_Wordpress5.7.2未満を一斉アップデートせよ
cuebic9bic
2
170
マルチプロダクト環境におけるSREの役割 / SRE NEXT 2025 lunch session
sugamasao
1
730
スタックチャン家庭用アシスタントへの道
kanekoh
0
120
セキュアなAI活用のためのLiteLLMの可能性
tk3fftk
1
330
[SRE NEXT 2025] すみずみまで暖かく照らすあなたの太陽でありたい
carnappopper
2
470
三視点LLMによる複数観点レビュー
mhlyc
0
230
全部AI、全員Cursor、ドキュメント駆動開発 〜DevinやGeminiも添えて〜
rinchsan
10
5.1k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.6k
Rails Girls Zürich Keynote
gr2m
95
14k
For a Future-Friendly Web
brad_frost
179
9.8k
Making Projects Easy
brettharned
116
6.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
How to Ace a Technical Interview
jacobian
278
23k
Designing for humans not robots
tammielis
253
25k
A better future with KSS
kneath
238
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
RailsConf 2023
tenderlove
30
1.1k
Transcript
LBOTBJLU
,PUMJOͰ%FMFHBUJPO ҕৡͩ͡ΐʔ
ͩ͜͡ΐ 䰾 ൃച༧ఆʂʂ
9JQCTG7!
,CXC 5[UVGO#TEJKVGEV 鰄鰇鰂鰈鱄鯵鰒 0COG 鱻鲑鱔鲍鲂ㅕ䃩鰰 #IG 5[UVGO#TEJKVGEV ,QD .KMG 5MKNN
#DQWV+PJGTKVCPEG %NCUU&GNGICVKQP &GNGICVGF2TQRGTVKGU
#DQWV+PJGTKVCPEG %NCUU&GNGICVKQP &GNGICVGF2TQRGTVKGU
&CVC%NCUU #DQWV+PJGTKVCPEG
&CVC%NCUU #DQWV+PJGTKVCPEG ܧঝίʔυͷ࠶ར༻Λߦ͏ ศརͳखஈʂʂ ! ͳΜ͚ͩͲɾɾ
&CVC%NCUU #DQWV+PJGTKVCPEG ʰແͳঢ়ଶͰ༻Ͱ͖ΔϥΠϒϥϦͷ࡞ʹରͯ͠ ܧঝͷ༗༻ੑ͔ͳΓٙΘ͍͠ʱ ! ʰࠐΈೖͬͨTXJUDIจҎ্ͷԿऀͰ͋Γ·ͤΜʱ ! ʰޙํޓΛଛͶΔͨΊ݈શͳ"1*ͷΛ͛Δʱ ʙ"1*σβΠϯͷۃҙΑΓʙ
&CVC%NCUU #DQWV+PJGTKVCPEG ʰਂ͍ܧঝπϦʔΤϥʔͷ্ঢͱ ɹਂ݁͘ͼ͍͍ͭͯΔ͜ͱ͕Θ͔͍ͬͯΔʱ ʙίʔυίϯϓϦʔτΑΓʙ
&CVC%NCUU #DQWV+PJGTKVCPEG ܧঝJTBͷؔͷ͕ͣɾɾ ! ɹجఈΫϥεͷॲཧΛ࠶ར༻͍ͨ͠ ɹ͋ͷॲཧΛϋοΫ͍ͨ͠ ! ͳͲͷཧ༝ʹΑΓෆదͳܧঝ͕ߦΘΕΔ͜ͱଟ͍ 鰜鰴鱄鰙猳獑ฅ ōō
ฅ
&CVC%NCUU #DQWV+PJGTKVCPEG ܧঝศརͳػೳ͕ͩɺෳࡶੑ͕૿͢ةݥੑ͕͋Δʂ
&CVC%NCUU #DQWV+PJGTKVCPEG ɾσϑΥϧτpOBMɻܧঝʹPQFO͕ඞཁ ɾ%FMFHBUFαϙʔτ͕ݴޠػೳͱͯ͠༻ҙ ,PUMJO JT
&CVC%NCUU #DQWV+PJGTKVCPEG ,PUMJO JT ɾσϑΥϧτpOBMɻܧঝʹPQFO͕ඞཁ ɾ%FMFHBUFαϙʔτ͕ݴޠػೳͱͯ͠༻ҙ ࠓ͜ͷΛ͠·͢
#DQWV+PJGTKVCPEG &GNGICVKQP &GNGICVGF2TQRGTVKGU
&CVC%NCUU ,PUMJOͷ$MBTT%FMFHBUJPOΛ༻͍Δ͜ͱͰɺҕৡʹΑΔϘΠϥʔίʔυΛ ͳ͘͢͜ͱ͕Ͱ͖·͢ɻ ! &CVC%NCUU %NCUU&GNGICVKQP $MBTT%FMFHBUJPO JT
&CVC%NCUU %NCUU&GNGICVKQP FGNGICVG
&CVC%NCUU %NCUU&GNGICVKQP CEFMFHBUF
&CVC%NCUU %NCUU&GNGICVKQP CZ۟ʹΑΓɺC%FSJWFEͷ෦ʹ֨ೲ͞Ε ίϯύΠϥʹΑΓCҕৡ͢Δશͯͷϝιου͕ੜ͞ΕΔ CZ۟ʹΑΓCEFMFHBUF
&CVC%NCUU %NCUU&GNGICVKQP
&CVC%NCUU %NCUU&GNGICVKQP
&CVC%NCUU %NCUU&GNGICVKQP FGNGICVG FGNGICVG
#DQWV+PJGTKVCPEG %NCUU&GNGICVKQP &GNGICVGF2TQRGTVKGU
&CVC%NCUU &GNGICVGF2TQRGTVKGU ϓϩύςΟͷΞΫηεʢTFUPSHFU ΛଞͷॲཧҕৡͰ͖Δɻ ͜ΕʹΑΓɺ ! ɹMB[ZQSPQFSUJFT࠷ॳͷΞΫηε࣌ʹΛܭࢉ͢Δ ɹPCTFSWBCMFQSPQFSUJFTϓϩύςΟͷมߋΛ௨͢Δ NBQQSPQFSUJFTϑΟʔϧυͷΛNBQʹ֨ೲ͢Δ !
ͷΑ͏ͳػೳΛ࡞͠ɺ࠶ར༻Ͱ͖ΔΑ͏ʹͳΔ %FMFHBUFE1SPQFSUJFT JT
&CVC%NCUU &GNGICVGF2TQRGTVKGU ʻߏจʼ WBMWBSQSPQFSUZOBNF5ZQFCZFYQSFTTJPO ! CZͷޙΖͷ͕ࣜฦ͢ΠϯεϯεʹEFMFHBUF͢Δɻ
&CVC%NCUU &GNGICVGF2TQRGTVKGU ϓϩύςΟͷ HFUHFU7BMVF TFUTFU7BMVF ͕ରԠɻ ! %FMFHBUFΠϯλϑΣʔεΛܧঝ͢Δඞཁͳ͍͕
HFU7BMVF ϓϩύςΟ͕WBSͷ߹ɺTFU7BMVF Λ࣮ͯ͠Δඞཁ͕͋Δ
&CVC%NCUU &GNGICVGF2TQRGTVKGU ࣮ߦ݁Ռ্هͱ͓Γ
&CVC%NCUU &GNGICVGF2TQRGTVKGU ! QVCMJDDMBTT&YBNQMF\ QSJWBUFpOBM,1SPQFSUZQPQ1 QSJWBUFpOBM%FMFHBUFEFMFHBUFOFX%FMFHBUF QVCMJDpOBM4USJOHHFU1
\ SFUVSOUIJTEFMFHBUFHFU7BMVF UIJT QSPQ1 ^ QVCMJDpOBMWPJETFU1 4USJOHWBMVF \ UIJTEFMFHBUFTFU7BMVF UIJT QSPQ1 WBMVF ^ ^ ! ઌ΄Ͳͷ&YBNQMFΛ+BWBͰ࣮͢Δͱͨ͠Β্هΠϝʔδͱͳΓ·͢ɻ
&CVC%NCUU &GNGICVGF2TQRGTVKGU ಡऔઐ༻ͷϓϩύςΟ WBM ͷ%FMFHBUF࣍ͷύϥϝʔλΛऔΔHFU7BMVFͱ͍͏໊લͷؔΛ ఏڙ͢Δɻ ! SFDFJWFSϓϩύςΟอ࣋ΦϒδΣΫτͱಉ͔͡εʔύʔܕ NFUBEBUB,1SPQFSUZܕ͔ͦͷεʔύʔܕ !
͜ͷؔϓϩύςΟͱಉ͡ܕʢͦ͘͠ͷαϒܕʣΛฦ͢ɻ ! %FMFHBUFE1SPQFSUJFT ཁ݅ᶃ
&CVC%NCUU &GNGICVGF2TQRGTVKGU ॻࠐՄೳͳϓϩύςΟ WBS ͷ߹ɺ%FMFHBUFՃ͑ͯ࣍ͷύϥϝʔλΛऔΔTFU7BMVFͱ͍͏ ໊લͷؔΛఏڙ͢Δɻ ! SFDFJWFSHFU7BMVF ͱಉ͡ NFUBEBUBHFU7BMVF
ͱಉ͡ OFXWBMVFϓϩύςΟͱಉͦ͘͡͠ͷεʔύʔܕ ! HFU7BMVF ͱTFU7BMVF %FMFHBUFΫϥεͷϝϯόؔɺ֦͘͠ுؔͰఏڙͰ͖Δɻ ! ֦ுؔ͜ΕΒͷؔΛఏڙ͍ͯ͠ͳ͍ΦϒδΣΫτʹޙ͔ΒػೳՃ͢Δͷʹศརɻ ؔPQFSBUPSΩʔϫʔυͰϚʔΫ͢Δඞཁ͕͋Δɻ %FMFHBUFE1SPQFSUJFT ཁ݅ᶄ
4UBOEBSE%FMFHBUFT
&CVC%NCUU &GNGICVGF2TQRGTVKGU MB[ZΛ༻͍Δ͜ͱͰɺϓϩύςΟͷॳظԽΛ࠷ॳͷΞΫηε࣌ʹΒͤΔ ͜ͱͰ͖Δɻ ! ·ͨɺͦͷ݁ՌهԱ͞Εɺ࣍ճݺͼग़࣌͠ʹಉ͡Λฦ٫͢Δɻ -B[Z JT
&CVC%NCUU &GNGICVGF2TQRGTVKGU MB[ZॳظΛฦ͢ϥϜμΛύϥϝʔλͰड͚औΓɺ ॳظͷԆ࣮ߦ͢Δ-B[Z5ͷΠϯελϯεΛฦ٫͢Δؔɻ
&CVC%NCUU &GNGICVGF2TQRGTVKGU σϑΥϧτͰϥϜμࣜͷධՁಉظ͞ΕΔɻ ͨͩҰͭͷεϨουͰܭࢉ͞ΕશͯͷεϨου͕ಉ͡Λࢀর͢Δɻ ! ෳͷεϨου͕ಉ࣌ʹܭࢉ͍ͤͨ͞߹ -B[Z5ISFBE4BGFUZ.PEF16#-*$"5*0/ΛMB[Zؔͷύϥϝʔλʹ͢ɻ ! ϥϜμ͕ࣜৗʹγϯάϧεϨουͰܭࢉ͞Ε͍ͯΔ͜ͱ͕อূ͞ΕΔ߹ɺ -B[Z5ISFBE4BGFUZ.PEF/0/&Λ༻͍Δ͜ͱͰ
εϨουηʔϑʹ͢ΔҝͷΦʔόʔϔουΛ͚͞Δ͜ͱ͕Ͱ͖Δɻ -B[Z JT
&CVC%NCUU &GNGICVGF2TQRGTVKGU PCTFSWBCMFΛ༻͍Δ͜ͱͰɺͷมߋΛݕ͢Δ͜ͱ͕Ͱ͖Δɻ PCTFSWBCMF JT
&CVC%NCUU &GNGICVGF2TQRGTVKGU %FMFHBUFTPCTFSWBCMFॳظͱ௨༻ͷϋϯυϥͷͭΛҾͱͯ͠औΔɻ ϋϯυϥϓϩύςΟʹ͕ೖ͞ΕΔͨͼʹݺͼग़͞ΕΔɻ ͕ೖ͞Εͨޙʹݺͼग़͞ΕΔ͜ͱʹҙʂ
&CVC%NCUU &GNGICVGF2TQRGTVKGU ϋϯυϥͷύϥϝʔλϓϩύςΟɾݹ͍ɾ৽͍͠ͷ̏ͭͰ͢ɻ
&CVC%NCUU &GNGICVGF2TQRGTVKGU WFUPBCMF JT WFUPBCMFΛ༻͍Δ͜ͱͰɺͷมߋΛڋ൱͢Δ͜ͱ͕Ͱ͖·͢ɻ
&CVC%NCUU &GNGICVGF2TQRGTVKGU %FMFHBUFTWFUPBCMFͷҾ%FMFHBUFTPCTFSWBCMFͱಉ͡Ͱ͢ɻ %FMFHBUFTPCTFSWBCMFͱҟͳΓ͕ೖ͞ΕΔલʹϋϯυϥ͕ݺͼग़ ͞Ε·͢ɻϋϯυϥͷΓ͕GBMTFͷ߹ɺͷೖΛڋ൱Ͱ͖·͢ɻ
&CVC%NCUU &GNGICVGF2TQRGTVKGU NBQͷதʹϓϩύςΟΛ֨ೲ͢Δ͜ͱΑ͋͘Γ·͢ɻ ! +40/ͷύʔεͰ͋ͬͨΓͦͷଞಈతʹΛऔಘ͢Δ߹Ͱ͢ɻ ! NBQΠϯελϯεΛEFMFHBUFEQSPQFSUZͱͯ͠༻͍Δ͜ͱ͕Ͱ͖·͢ɻ .BQ JT
&CVC%NCUU &GNGICVGF2TQRGTVKGU ϓϩύςΟϓϩύςΟ໊ΛΩʔʹͨ͠NBQͷ͔Βٻ·Γ·͢ɻ .VUBCMF.BQΠϯελϯεΛ༻͍Δ͜ͱͰॻࠐՄೳͳϓϩύςΟ WBS Ͱ༻͍Δ͜ͱͰ͖·͢ɻ
鰯鰙鰲 ·ͱΊͯͳ͍͡ΐ
ֺ-QVNKP鰘鯵鰾鯵鰾&GNGICVG鰑猳 ࣄؙ͛ͩ͡ΐʂ