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
2k
Ionic React でサービス開発したお話
kozake
0
120
ドキッ!失敗だらけのシステム開発
kozake
1
770
やはり俺のWeb APIは間違えている
kozake
0
510
すごい大規模 たのしく作ろう
kozake
4
2.4k
KHipster ~JHipsterで始めるKotlin Web プログラミング~
kozake
0
840
Docker with JHipster
kozake
1
540
実践JHipster #jsug #sf_36
kozake
2
7.6k
Ionicでアプリ作ったよ!開発方法の紹介
kozake
2
970
Other Decks in Technology
See All in Technology
偏光画像処理ライブラリを作った話
elerac
1
150
生成 AI プロダクトを育てる技術 〜データ品質向上による継続的な価値創出の実践〜
icoxfog417
PRO
5
1.9k
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
13
3.7k
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
560
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
170
短縮URLをお手軽に導入しよう
nakasho
0
140
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
450
クラウドサービス事業者におけるOSS
tagomoris
3
970
Amazon Aurora のバージョンアップ手法について
smt7174
1
110
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
14k
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
100
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
240
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
For a Future-Friendly Web
brad_frost
176
9.6k
Faster Mobile Websites
deanohume
306
31k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Why Our Code Smells
bkeepers
PRO
336
57k
Building an army of robots
kneath
303
45k
A better future with KSS
kneath
238
17k
Agile that works and the tools we love
rasmusluckow
328
21k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
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鰑猳 ࣄؙ͛ͩ͡ΐʂ