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
150
ドキッ!失敗だらけのシステム開発
kozake
1
840
やはり俺のWeb APIは間違えている
kozake
0
540
すごい大規模 たのしく作ろう
kozake
4
2.5k
KHipster ~JHipsterで始めるKotlin Web プログラミング~
kozake
0
900
Docker with JHipster
kozake
1
580
実践JHipster #jsug #sf_36
kozake
2
7.7k
Ionicでアプリ作ったよ!開発方法の紹介
kozake
2
1k
Other Decks in Technology
See All in Technology
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
2
220
Create Ruby native extension gem with Go
sue445
0
140
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.2k
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
380
Bedrock で検索エージェントを再現しようとした話
ny7760
2
140
Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に
kevinrobot34
1
120
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
900
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
170
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
280
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
220
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
4 Signs Your Business is Dying
shpigford
184
22k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Side Projects
sachag
455
43k
It's Worth the Effort
3n
187
28k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
The Language of Interfaces
destraynor
161
25k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
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鰑猳 ࣄؙ͛ͩ͡ΐʂ