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
Our Fight Against Super Bad Patterns in Legacy ...
Search
Yasuko Ohba
June 24, 2016
Programming
8
1.1k
Our Fight Against Super Bad Patterns in Legacy Apps
Slides for the talk in RedDotRubyConf 2016.
Yasuko Ohba
June 24, 2016
Tweet
Share
More Decks by Yasuko Ohba
See All by Yasuko Ohba
kaigi_on_rails_2025_設計.pdf
nay3
8
5.4k
Hotwire光の道とStimulus
nay3
8
5.1k
えにしテックさん15周年に寄せて〜万葉と私のこれまでの学び〜
nay3
65
48k
Hotwire的な設計を追求して「Web紙芝居」に行き着いた話
nay3
10
5.3k
「Rubyメソッドかるた」 王者への道 ~ 万葉チームのガチな取り組みを大公開 ~
nay3
3
430
The Better RuboCop World to enjoy Ruby
nay3
1
14k
強いエンジニアという灯
nay3
52
23k
万葉のRails新人研修のコードレビューコメントを分析してみました
nay3
7
9.9k
"Railsで開発できる" への道
nay3
7
1.2k
Other Decks in Programming
See All in Programming
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
850
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
580
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
230
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
180
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.3k
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
380
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
520
実践AIチャットボットUI実装入門
syumai
7
2.4k
CSC305 Lecture 03
javiergs
PRO
0
230
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
23k
Embracing the Ebb and Flow
colly
88
4.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Producing Creativity
orderedlist
PRO
347
40k
Facilitating Awesome Meetings
lara
56
6.6k
Code Reviewing Like a Champion
maltzj
525
40k
Being A Developer After 40
akosma
91
590k
Fireside Chat
paigeccino
40
3.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
How STYLIGHT went responsive
nonsquared
100
5.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Transcript
0VS'JHIU"HBJOTU 4VQFS#BE1BUUFSOTJO -FHBDZ3BJMT"QQT :BTVLP0ICB !OBZ &WFSZMFBG$PSQ
:BTVLP0ICB େೡࢠ !OBZ -JWJOHJO5PLZP +BQBO "QSPHSBNNFS 3VCZPO3BJMTTJODF +BWB $ 0CKFDUJWF$
1)1ʜ 1SFTJEFOUPG&WFSZMFBG$PSQ
͓͓͞Μ PPCBTBO PICBTBO
͓͓͞Μ PPCBTBO PICBTBO ͓͞Μ PCBTBO
͓͓͞Μ PPCBTBO PICBTBO ͓͞Μ PCBTBO ͓͋͞Μ PCBBTBO
&WFSZMFBG$PSQ ສ༿ 8FEFWFMPQXFCBQQMJDBUJPOTGPSPVS DMJFOUTVTJOHNPTUMZ3VCZPO3BJMT 4JODF BMNPTUZFBST QFPQMF BSFXPNFO
BSFXPNFO JOFOHJOFFSJOH
*TUBSUFEUIFDPNQBOZGPS NZTFMGUPLFFQDPEJOH
4UJDLFST #PPLNBSLT
.ZGBNJMZ
.Z)PCCZ $BSUBʢ͔Δͨʣ
8FIBWFQSPEVDUT 5IF+BQBOFTF1PFNT
5IFpSTUUJNFUP 7JTJU4JOHBQPSF "UUFOE3FE%PU3VCZ$POG 5SBWFMUPBGPSFJHODPVOUSZBMPOF )BWFBO&OHMJTIUBMLMPOHFSUIBO -JHIUOJOH5BMLT )FMMP 4JOHBQPSF
$BVUJPO *NJHIUTBZ&FF ͑ʔ .BB ·͋ JOTUFBEPG8FMM ʜ *NJHIUTBZ5FO
JOTUFBEPG 1PJOUGPSOVNCFST *IBWFBMPUPGTMJEFT
0VUMJOF 8IBUXFHFOFSBMMZIBWFUPEP UPVQHSBEF3VCZBOE3BJMTJO MFHBDZBQQMJDBUJPOT *OUSPEVDUJPOPGTVQFSCBE QBUUFSOTXF`WFGPVOE
3VCZ3BJMT .JHSBUJPO 6QHSBEJOH IUUQTXXXqJDLSDPNQIPUPT!/
2)PXNBZ QFPQMFIBWFVTFE 3BJMT
2)PXNBOZ QFPQMFIBWF FYQFSJFODFEUIF NJHSBUJPOGSPN 3BJMTUP
3BJMTIBECFFO VTFEXJEFMZ JO+BQBOBUMFBTU
.BOZPME3BJMT BQQMJDBUJPOTSFNBJO XBJUJOHUPCFVQHSBEFE IUUQTXXXqJDLSDPNQIPUPTNBTIB@L@TI
4P LOPXJOHBCPVU IPXUPVQHSBEF 3VCZ3BJMTDBO CFTPNFIFMQ GPSUIBUTJUVBUJPO IUUQTXXXqJDLSDPNQIPUPTUSFFTBOUPT
*TJUQPTTJCMF
*TJUQPTTJCMF &WFO XJUI OP BVUP UFTUJOH
*TJUCFUUFSUP EFWFMPQBO BQQMJDBUJPO GSPNTDSBUDI
*UDPVMECF #VUOPUBMXBZT
"OFYJTUJOH TZTUFN CFJOHVTFE SFqFDUT JUTSFBMOFFET
:PVDBOOFWFS SFNPWFJUTFTTFOUJBM DPNQMFYJUZCZ QSPHSBNJOH UFDIOJRVFT
5IBUTXIZ NJHSBUJPOBOE SFGBDUPSJOH NBLFTFOTF
-FUTMPPLBU IPXUPVQHSBEF 3VCZ3BJMT
0VS$BTF
0VS"QQMJDBUJPOT ,JOEPGIFBMUIDIFDLTFSWJDF #UP# )BOEFEPWFSUPPVSDPNQBOZ GSPNUIFPUIFSEFWFMPQNFOU DPNQBOZXIJDIPSJHJOBMMZ EFWFMPQFEUIFTZTUFN
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ %SBXJUBXBZ
GSPN 3BEJBOU$.4
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ 6QHSBEJOH
3BJMT3VCZ %SBXJUBXBZ GSPN 3BEJBOU$.4
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST .FSHF 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
6QHSBEJOH 3BJMT3VCZ %SBXJUBXBZ GSPN 3BEJBOU$.4
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST .FSHF 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
6QHSBEJOH 3BJMT3VCZ 3FGBDUPSJOH %SBXJUBXBZ GSPN 3BEJBOU$.4
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST .FSHF 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
6QHSBEJOH 3BJMT3VCZ 3FGBDUPSJOH %SBXJUBXBZ GSPN 3BEJBOU$.4 "/$*&/5$0%&
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST .FSHF 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
6QHSBEJOH 3BJMT3VCZ 3FGBDUPSJOH "EE 'FBUVSFT %SBXJUBXBZ GSPN 3BEJBOU$.4 "/$*&/5$0%&
5PUBM4DIFEVMF "VHVTU.BZ NPOUIT QFPQMF
.JHSBUJPO 3FGBDUPSJOH /FX 'FBUVSFT" /FX 'FBUVSFT# QMBOOJOHEFTJHOJOH CZPVSDMJFOU PVSEFTJHOJOHBOE JNQMFNFOUBUJPO JOUFHSBUJPOUFTUJOH CZBQBSUOFSDPNQBOZ
.BQPG3BJMT.JHSBUJPO 3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 5IF.PVOUBJOT PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 3BJMT 5IF.PVOUBJOT
PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 3BJMT
5IF.PVOUBJOT PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ
3BJMT 5IF.PVOUBJOT PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ
3BJMT 5IF4USPOH1BSBNFUFST'BMMT 5IF.PVOUBJOT PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ
4BGF 3BJMT 5IF4USPOH1BSBNFUFST'BMMT 5IF.PVOUBJOT PG.PEFSO3BJMT
.JHSBUJPO4DIFEVMF "QQ UP3BJMT UP3VCZ
UP3BJMT UP3BJMT "QQ UP3BJMT UP3VCZ UP3BJMT UP3BJMT 'JMF6QMPBEJOH 1BHJOBUJPO &NBJM4FOEJOH #BDLHSPVOE1SPHSBNT 'SPN3BJMT3VCZ
#VSEFOCFGPSF EFGBVMUSPVUFNBQQJOH IUUQTXXXqJDLSDPNQIPUPTU[FKFO NBQDPOOFDUDPOUSPMMFSBDUJPOJE
#VSEFOCFGPSF EFGBVMUSPVUFNBQQJOH IUUQTXXXqJDLSDPNQIPUPTU[FKFO NBQDPOOFDUDPOUSPMMFSBDUJPOJE SFTPVSDFTVTFST SFTPVSDFTDPNQBOJFT POMZ<TIPX> ʜ
#VSEFOCFGPSF EFGBVMUSPVUFNBQQJOH IUUQTXXXqJDLSDPNQIPUPTU[FKFO NBQDPOOFDUDPOUSPMMFSBDUJPOJE :PVOFFEUPLOPX"-- "$5*0/4 SFTPVSDFTVTFST SFTPVSDFTDPNQBOJFT POMZ<TIPX> ʜ
-FUTTFF UIFSPBENBQGSPN 3BJMTUP
3BJMT 3BJMT 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 4BGF
3BJMT 5IF3JWFSPG5FBST 5IF4USPOH1BSBNFUFST'BMMT 5IF.PVOUBJOT PG.PEFSO3BJMT
5IF3JWFSPG5FBST 3BJMT "DUJWF3FDPSEDIBJOBCMFRVFSZ MBOHVBHF 4BZHPPECZFUPDPOEJUJPOTBOEJUT GSJFOET 6TFSpOE BMM
DPOEJUJPOT\BENJOUSVF^ PSEFSJE
5IF3JWFSPG5FBST 3BJMT "DUJWF3FDPSEDIBJOBCMFRVFSZ MBOHVBHF 4BZHPPECZFUPDPOEJUJPOTBOEJUT GSJFOET 6TFSpOE BMM
DPOEJUJPOT\BENJOUSVF^ PSEFSJE
5IF3JWFSPG5FBST 3BJMT "DUJWF3FDPSEDIBJOBCMFRVFSZ MBOHVBHF 4BZHPPECZFUPDPOEJUJPOTBOEJUT GSJFOET 6TFSpOE BMM
DPOEJUJPOT\BENJOUSVF^ PSEFSJE
$POEJUJPOTBOEJUTGSJFOET SFTJEFFWFSZXIFSF .BOJQVMBUJPOPGDPOEJUJPOT IBTINBLFTUIJOHTXPSTF :PVOFFEUPLOPX"--42-T JOUFOEFE
$POEJUJPOT .BOJQVMBUJPO QSFQBSBUJPOGPS.PEFMpOE BMM DPOEJUJPOTʜ JGTPNFUIJOH DPOEJUJPOT@TUSJOH"/%TPNFUIJOH
DPOEJUJPOT@QBSBNTWBMVF FOE SFMSFMXIFSF TPNFUIJOHWBMVF JGTPNFUIJOH
"TNBMMCBEQBUUFSO XBTGPVOEIFSF %PTFBSDIpSTUBOE NBOJQVMBUFUIFSFTVMU $IBJORVFSJFTJOTUFBEPG BSSBZDPODBU
5IF3JWFSPG5FBST 3BJMT 3FXSJUF"KBYDPEFJGJUVTFT PME3BJMTIFMQFSNFUIPET 6OPCUSVTJWF+BWB4DSJQU
5IF3JWFSPG5FBST 3BJMT 3FXSJUFBMMPGPMEIBOENBEF IFMQFSTTVQQPSUJOHCMPDLT /POFFEGPSI /FFEUPpYEPVCMFFTDBQJOH )FMQFST7JFXT GPSN@GPS
GPSN@GPS
5IF3JWFSPG5FBST 3BJMT 7BMJEBUJPO WBMJEBUFT@QSFTFODF@PGOBNF WBMJEBUFT@MFOHUI@PGOBNF NBYJNVN WBMJEBUFTOBNF QSFTFODFUSVF
MFOHUI\NBYJNVN^
3BJMT FBTZUPDIBOHF SPVUFTSC SFNPWFNBQ TJNQMFCMPDLTXJUIPVU BOBSHVNFOU
3BJMT (PPEQPJOUT #VOEMFS 8FTUBSUFEUPVTF CVOEMFSXJUI3BJMT
3BJMT (PPEQPJOUT CFGPSF BGUFS DSFBUF BOFXBQQ SBJMTNZBQQ SBJMTOFXNZBQQ
DPOTPMF SVCZTDSJQUDPOTPMF SBJMTD TFSWFS SVCZTDSJQUTFSWFS SBJMTT
4PXFEPOUIBWFUP DSFBUFBQQMJDBUJPOT OBNFEDPSTBOZNPSF IUUQTXXXqJDLSDPNQIPUPTTMJQTUSFBNCMVF
(PUPUIFOFYUTUFQ 3BJMT 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 4BGF
3BJMT 5IF3JWFSPG5FBST 5IF.PVOUBJOT PG.PEFSO3BJMT 5IF4USPOH1BSBNFUFST'BMMT
5IF.PVOUBJOTPG.PEFSO3BJMT 3BJMT "TTFUT1JQFMJOF .PWFpMFTBOEDPOpHVSFTFUUJOHT 3FEFTJHODTTBOE+4pMFTTUSVDUVSFT (PPEUJNJOHUPVTF4$44 FUD *UUBLFTNVDIUJNF /FFEUPLOPXBCPVUBMMBTTFUpMFTJEFBMMZ
5IF.PVOUBJOTPG.PEFSO3BJMT 3BJMT %FGBVMU+4MJCSBSZJTDIBOHFE UPCFK2VFSZGSPNQSPUPUZQFKT /FFEUPSFXSJUF+BWB4DSJQU DPEFJGZPVBSFHPJOHUP TXJUDIUIFMJCSBSZ
3BJMT 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 4BGF
3BJMT 5IF3JWFSPG5FBST 5IF.PVOUBJOT PG.PEFSO3BJMT 5IF4USPOH1BSBNFUFST'BMMT
*UTFBTZ QMVDL VOJR
6QHSBEJOH3VCZ /PUWFSZIBSE 4USJOHFODPEJOH )BTI \BBBWBMVF^UP\BBBWBMVF^ 4UPQVTJOH "DUJWF4VQQPSU0SEFSFE)BTI
"MNPTU%POF 3BJMT 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 4BGF
3BJMT 5IF3JWFSPG5FBST 5IF4USPOH1BSBNFUFST'BMMT 5IF.PVOUBJOT PG.PEFSO3BJMT
5IF4USPOH1BSBNFUFST'BMMT 3BJMT 4FDVSJUZDIFDLXFOUUP $POUSPMMFSGSPN.PEFM *MPWF4USPOH1BSBNFUFST CVU 7FSZIBSEBOE#03*/(KPC :PVOFFEUPLOPXBMM QBSBNFUFSTGPSBMMBDUJPOT
0UIFST FSC)BNMJGZPVMJLFJU 3FQMBDFNBOZHFNT 3FXSJUFNPOLFZQBUDIJOHJO DPOpHJOJUJBMJ[FST 5JNF[POF
(FNT :PVOFFEUPSFQMBDFHFNT UISPVHIUIFSBJMTNJHSBUJPOT *UIJOLJONPEFSO3BJMTTVDIBT 3BJMTPSUIJTJTUIFNBJOKPC PGNJHSBUJPO
$POHSBUVMBUJPOT 8FMDPNFUP3BJMT
)PXUPVQHSBEF3BJMTGSPN $PODMVTJPO /PUPOMZSBLFSBJMTVQEBUF :PVOFFEUPDIBOHFTPNBOZ QMBDFT 'PSUIBUZPVOFFEUPLOPXʜ
,OPXXFMMBCPVU:063"11 ,OPX8IBU 'PS BMMBDUJPOT SFNPWJOHEFGBVMUSPVUJOH SFGBDUPSJOH63-TBOE)551NFUIPET BMMQBSBNFUFSTPG FBDIBDUJPOT BQQMZJOHTUSPOHQBSBNFUFSTTUSJDUMZ SJHIUMPPLTPGBMM
QBHFT pYJOHIFMQFSTBOEFTDBQJOHDPSSFDUMZ BMM42-T SFQMBDJOHDPOEJUJPOTUPDIBJOBCMFRVFSZ BMMBTTFUpMFT VTJOHBTTFUTQJQFMJOFFGGFDUJWFMZ BMMNPOLFZ QBUDIJOH NBLJOHUIFNXPSLJONPEFSO3BJMT
*UTUPVHI CVUOPU JNQPTTJCMF 4UFQCZTUFQ IUUQTXXXqJDLSDPNQIPUPTBMJDFQPQLPSO
8IZEJEU XFIBWF BVUPNBUFE UFTUT
#FDBVTFXFIBE BCBOEPOFE UFTUTHJWFOGSPN UIFQSJPSEFW DPNQBOZ
#FDBVTFXFIBE BCBOEPOFE UFTUTHJWFOGSPN UIFQSJPSEFW DPNQBOZ 8FIBEJNQSPWFEPVSUFTUT SJHIU
5IPTFUFTUTEJE OPUNBLFTFOTF BUUIBUUJNF
*LOPXUIJTJT EBOHFSPVT )PXFWFS IBWJOHCBE UFTUTDPVMECFFWFO XPSTFUIBO IBWJOHOPUFTUT
5IFUFTUJOH DPNQBOZIFMQFE VTBMPU
8FIBEUSJFEUPXSJUF GFBUVSFTQFDT CVUUIFPME3VCZWFSTJPO EJTDPVSBHFEVT IUUQTXXXqJDLSDPNQIPUPTDBQZCBSBKQ
4PXFEFDJEFEUP XSJUFNBOZHPPE TQFDTBGUFS NJHSBUJPOQ
"GUFSBZFBS XF IBWFNBOZOJDF TQFDT )BQQZ
4VQFS#BE 1BUUFSOTJO 3BJMT IUUQTXXXqJDLSDPNQIPUPT!/
0VSBQQT IBECFFO EFWFMPQFECZ CFHJOOFSTPG3BJMT DPNJOHGSPN+BWB
8FWFGPVOE NBOZCBE QBUUFSOTUIFSF
8FMPWF HPPEQBUUFSOT IUUQTXXXqJDLSDPNQIPUPTGSBOTEFXJU
4PXFIBWF FBTZBDDFTT UPUIFHPPE QBUUFSOT
)PXBCPVU CBEQBUUFSOT
*GZPVSUFBNJT NPEFSOBOEOJDF JUTIBSEUPpOE OBUVSBMCBEQBUUFSOT JOZPVSEBJMZXPSL IUUQTXXXqJDLSDPNQIPUPTBSNZ@BSDI
*UNFBOTZPV NJHIUNJTTTPNF DIBODFUPOPUJDF XIBUUPBWPJEJO QSPHSBNNJOH
5IBUTXIZ*XBOU UPTIBSFUIFTF CBEQBUUFSOT
/BUVSBMCBE QBUUFSOTBSFMJLF HPMENJOFT IUUQTXXXqJDLSDPNQIPUPTIFSTFOTQJOTFMT
-FUNFJOUSPEVDF NBKPS CBEQBUUFSOTJO UIFQSPKFDU
5PPNBOZMBZFST %SFBNZNFUIPE (MPCBMIBTI .BTTIPVTJOHJO POFDPOUSPMMFS
5PPNBOZMBZFST IUUQTXXXqJDLSDPNQIPUPTTNDDMBO
8FIBECFFO pHIUJOHBHBJOTU UPPNBOZDMBTTFT BOEMBZFST 'BNJMJBSTUZMF JO+BWB
$POUSPMMFS .BOZ5IJO "DUJWF3FDPSE .PEFMT DPVMECFVOJpFE 4QBHIFUUJ 'BUOPO"3DMBTTFT
$POUSPMMFS .BOZ5IJO "DUJWF3FDPSE .PEFMT DPVMECFVOJpFE 4QBHIFUUJ 'BUOPO"3DMBTTFT QSPDFEVSBM
$POUSPMMFS .BOZ5IJO "DUJWF3FDPSE .PEFMT DPVMECFVOJpFE 4QBHIFUUJ 'BUOPO"3DMBTTFT QSPDFEVSBM QSPDFEVSBM
5ZQJDBMPWFSNVDI UPSFMBUJPONPEFMT $PNQBOZ $PNQBOZ"EESFTT $PNQBOZ4PNFUIJOH FUDʜ 'BDBEF
1SPYZ TPPO
8SPOHSFBTPOTUP TFQBSBUFNPEFMT 5IFZIBWFTMJHIUMZEJGGFSFOU NFBOJOHT 6TBHFJTEJGGFSFOUTPNFUJNFT *XPVMEMJLFUPBWPJEDIBOHJOH FYJTUJOHDMBTTFTGPSNZ TBGFUZ
8SPOHSFBTPOTUP TFQBSBUFNPEFMT 5IFZIBWFTMJHIUMZEJGGFSFOU NFBOJOHT 6TBHFJTEJGGFSFOUTPNFUJNFT *XPVMEMJLFUPBWPJEDIBOHJOH FYJTUJOHDMBTTFTGPSNZ TBGFUZ 0).:(0%
4FQBSBUJOHNPEFMT DPTUTWFSZNVDI
'BDBEF 1SPYZ TPPO /PQSPCMFNJGJUTXFMM EFTJHOFE *OPVSDBTF UIFTFTFFNTUPCF UIFSFTVMUUIBUEFWFMPQFST DPVMEOPUVTF"DUJWF3FDPSE QSPQFSMZ
$POUSPMMFS .BOZ5IJO "DUJWF3FDPSE .PEFMT 4QBHIFUUJ 'BUOPO"3DMBTTFT 3FGBDUPSJOH
$POUSPMMFS 4QBHIFUUJ 'BUOPO"3DMBTTFT 3FGBDUPSJOH
$POUSPMMFS 3FGBDUPSJOH
$POUSPMMFS 3FGBDUPSJOH 3JDIBOE.PEVMBSJ[FE "DUJWF3FDPSE .PEFM
$POUSPMMFS 3FGBDUPSJOH 3JDIBOE.PEVMBSJ[FE "DUJWF3FDPSE .PEFM 6TFUIFNPEFMEJSFDUMZ JONPTUDBTFT
%FBNZNFUIPE IUUQTXXXqJDLSDPNQIPUPTUIFP@SFUI IUUQTXXXqJDLSDPNQIPUPTUIFP@SFUI
%SFBNZNFUIPEJT SFBEZUPEPFWFSZUIJOH EFGEP@FWFSZUIJOH@GPS@ZPV JEFOUJpFS PQUJPOT\^ XIFOJEFOUJpFS DBTF$0/45"/5@ EPBKPC DBTF$0/45"/5@
EPBOPUIFSKPC DBTF$0/45"/5@ EPUIFSEKPC DBTF$0/45"/5@ EPUIFUIKPC FOE FOE
0GDPVSTFZPV LOPXUIFSJHIU QBUUFSO
4JNQMFNFUIPET EFGEP@ PQUJPOT\^ EPBKPC FOE EFGEP@ PQUJPOT\^ EPBOPUIFSKPC
FOE ʜ
6TFJOIFSJUBODFTPNFUJNFT DMBTT"CTUSBDU8PSL QSJWBUF EFGTPNF@DPNNPO@XPSL TPNFXPSLDBMMJOHEP@JU FOE FOE DMBTT8PSL"CTUSBDU8PSL EFGEP@JU EPBKPC
FOE FOE DMBTT8PSL"CTUSBDU8PSL EFGEP@JU EPBOPUIFSKPC FOE FOE
"SFZPVTVSF XIZ ESFBNZNFUIPE QBUUFSOTVDLT
)BSEUPSFBE SFTVMUEP@FWFSZUIJOH@GPS@ZPV $0/45"/5@ 0, ZPVNFBOEPJOH $0/45"/5@KPCIFSF
)BSEUPSFBE SFTVMUEP@FWFSZUIJOH@GPS@ZPV $0/45"/5@ 0, ZPVNFBOEPJOH $0/45"/5@KPCIFSF SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF>
0I *OFFEUPDIFDL XIBUWBMVFJTJOTJEFʜ
&BTZUPTUBSU EFGEP@UIF@XPSL EPUIFXPSL FOE *OFFEUPDIBOHF UIJTCFIBWJPSJONZDBTFʜ
&BTZUPTUBSU EFGEP@UIF@XPSL EPUIFXPSL FOE *OFFEUPDIBOHF UIJTCFIBWJPSJONZDBTFʜ EFGEP@UIF@XPSL SBSF@DBTFUSVF JGSBSF@DBTF
EPUIFSBSFXPSL FMTF EPUIFXPSL FOE FOE 8FMM MFUTBEEBOBSHVNFOU
*UHSPXTMJLFWJSVT SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF>
*UHSPXTMJLFWJSVT SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF> *OFFEUPBEEBOFXMPHJDBGUFSUIJT
*UHSPXTMJLFWJSVT SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF> *OFFEUPBEEBOFXMPHJDBGUFSUIJT 0, MFUTBEE BOFXNFUIPE IBWJOHUIFTBNFJEFOUJpFS
*UHSPXTMJLFWJSVT SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF> SFTVMUGPSNBU@TPNFUIJOH SFTVMU PQUJPOT<UZQF> ʜ
*OFFEUPBEEBOFXMPHJDBGUFSUIJT 0, MFUTBEE BOFXNFUIPE IBWJOHUIFTBNFJEFOUJpFS
"OJEFOUJpFS USBWFMTPWFS NFUIPET DMBTTFT BOE MBZFST &WFSZXIFSF $POUSPMMFS .PEFM
7JFX
/JHIUNBSF IUUQTXXXqJDLSDPNQIPUPTTUJMMFCFO
"OPUIFSMJUUMFCBEQBUUFSO FOVNMJLFIBTIDPOTUBOU 4*56"5*0/\VOLOPXO HPPE CBE^
"OPUIFSMJUUMFCBEQBUUFSO FOVNMJLFIBTIDPOTUBOU 4*56"5*0/\VOLOPXO HPPE CBE^ 4*56"5*0/@6/,/08/VOLOPXOGSFF[F 4*56"5*0/@(00%HPPEGSFF[F 4*56"5*0/@#"%CBEGSFF[F 0S ZPVDBOVTFTPNFFOVNQBUUFSO
4*56"5*0/\VOLOPXO HPPE CBE^ w4*56"5*0/<GPP>EPFTOPUDBVTFBOFSSPS w:PVOFFEUPSFNFNCFSPSDIFDLXIBULFZJT BWBJMBCMF*%&DBOEPOPUIJOH w*GWBMVFTBSFJOUFHFS ZPVOFFEUPSFNFNCFS CPUIOBNFBOEWBMVF w%JGpDVMUUPTFBSDI
ZPVDBOVTFWBSJBCMFBTB LFZ w)BTIDPOUFOUTDBOCFDIBOHFEUPPFBTJMZ 8IZ*UIJOLUIJTJTCBE
8FTBXUIFDPNCJOBUJPO EFGEP@FWFSZUIJOH@GPS@ZPV JEFOUJpFS PQUJPOT\^ XIFOJEFOUJpFS DBTF4*56"5*0/<VOLOPXO> EPBKPC DBTF4*56"5*0/<HPPE> EPBOPUIFSKPC
DBTF4*56"5*0/<CBE> EPUIFSEKPC ʜ
8BOEFSJOH BSPVOEMPPLJOH GPSTPNFUIJOH JTQBJOGVM 4FQBSBUFUIJOHT BOEHJWFUIFN HPPEOBNFT IUUQTXXXqJDLSDPNQIPUPTGFSHJFGBN
(MPCBMIBTI IUUQTXXXqJDLSDPNQIPUPTHBNVUMFTT
(MPCBMIBTI )BTIJTMPWFE )BTIGFFMTMJLFOPUTDBSZ :PVEPO`UIBWFUPDSFBUFB OFXDMBTT 'MFYJCMF
*UDBOCFB NPOTUFS IUUQTXXXqJDLSDPNQIPUPTEFBEMZDSJTQ
*UTUBSUTMJLFUIJT DMBTT"DUJWF6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIBDUJWFVTFST EFGTFBSDI TFBSDI@PQUJPOTQBSBNT<TFBSDI>cc\^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT FOE
FOE
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST DMBTT4QFDJBM6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDITQFDJBMVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST DMBTT4QFDJBM6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDITQFDJBMVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST DMBTT4QFDJBM6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDITQFDJBMVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT NVDITJNQMFS
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST DMBTT4QFDJBM6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDITQFDJBMVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSTQFDJBMVTFST NVDITJNQMFS
*OUIFTFTTJPOPS4FBSDIFSTFBSDI ZPVGBDFBHMPCBMIBTI \ʜʜ ʜʜ ʜʜ^ TFBSDI@PQUJPOT 8FMM ZPVBSF
HSFBUEBUB BOZXBZ
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN $IFDLPOFLFZ
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN $IFDLPOFLFZ "EETPNFUIJOH
GPSNZGSJFOE
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN $IFDLPOFLFZ "EETPNFUIJOH
GPSNZGSJFOE 3FUSJFWFJU
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN $IFDLPOFLFZ "EETPNFUIJOH
GPSNZGSJFOE 3FUSJFWFJU +VTUTUPSF BMMPGUIFN JODBTF
/PCPEZLOPXT XIBUDPOUFOUTBSF FYQFDUFEGPSFBDI QVSQPTFFYBDUMZ
$IBPT
8FIBEBMPOHCBUUMF UPEFGFBUUIFN 3FQMBDFUIFQBSUPGIBTIUPCF BPCKFDUCZFBDIGFBUVSFT 6TFS4FBSDI#BTF 6TFS4FBSDI"DUJWF6TFST 6TFS4FBSDI/FX6TFST 6TFS4FBSDI4QFDJBM6TFST
)BTI*4TDBSZ
)BTI*4TDBSZ *U`T UPP qFYJCMF UP CF VTFE XJEFMZ
.BTTIPVTJOH JOPOFDPOUSPMMFS
GFBUVSF GFBUVSF GFBUVSF $POUSPMMFS BDUJPO BDUJPO *UXBTMJLFUIJT
$POUSPMMFSDPEF DMBTT6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS EFGTFBSDI TFBSDI@PQUJPOTQBSBNT<TFBSDI@PQUJPOT> GFBUVSF@UZQFQBSBNT<GFBUVSF@UZQF> DBTFGFBUVSF@UZQF XIFOBDUJWF@VTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ
XIFOOFX@VTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ FOE 6TFSTFBSDI GFBUVSF@UZQF TFBSDI@PQUJPOT FOE "DUVBMMZ JUXBTXPSTF UIBOUIJT
5IFCFUUFSEFTJHO GFBUVSF GFBUVSF GFBUVSF $POUSPMMFS BDUJPO BDUJPO $POUSPMMFS BDUJPO BDUJPO
$POUSPMMFS BDUJPO BDUJPO NPEVMFGPS TJNJMBS GFBUVSFT
5IJTJTUIF DPNCJOBUJPOPG CBEQBUUFSOT
DMBTT6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS EFGTFBSDI TFBSDI@PQUJPOTQBSBNT<TFBSDI@PQUJPOT> GFBUVSF@UZQFQBSBNT<GFBUVSF@UZQF> DBTFGFBUVSF@UZQF XIFOVTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ XIFOOFX@VTFST
TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ FOE 6TFSTFBSDI GFBUVSF@UZQF TFBSDI@PQUJPOT FOE %SFBNZ.FUIPE
(MPCBM)BTI DMBTT6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS EFGTFBSDI TFBSDI@PQUJPOTQBSBNT<TFBSDI@PQUJPOT> GFBUVSF@UZQFQBSBNT<GFBUVSF@UZQF> DBTFGFBUVSF@UZQF XIFOVTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ
XIFOOFX@VTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ FOE 6TFSTFBSDI GFBUVSF@UZQF TFBSDI@PQUJPOT FOE
&YUSFNFMZ EJGpDVMUUPDIBOHF KVTUPOFGFBUVSF
:PVOFFEUP DIBTFUIF JEFOUJpFS OPUUPIBSNPUIFS GFBUVSFT
8IBUUPEP UPBWPJEUIFTF CBEQBUUFSOT
5PPNBOZMBZFST 6TF"DUJWF3FDPSEJGZPVDBO %PVCUSFMBUJPO 5IJOLBCPVUNBJOUFOBODF DPTUT
%SFBNZNFUIPE 8SJUFBEJGGFSFOUNFUIPEGPSB EJGGFSFOUOFFE %PVCUBEEJOHBOBSHVNFOUBOEJG &YUSBDUDPNNPOQBSUT 6TFQPMZNPSQIJTN 4UPQUIJTQBUUFSOJOFBSMZTUBHF
(MPCBMIBTI 'FFMGSFFUPBEEBOFX DMBTT 6TFIBTIFTMPDBMMZ
$PODMVTJPO
4IPXFEXIBUZPVOFFEUPEP UPVQHSBEF3BJMTGSPNUPJO HFOFSBM(PPEMVDL *OUSPEVDFEUIFOBUVSBMCBE QBUUFSOTJO3BJMTXFWFGPVOE -FUTBWPJEUIFUSBQT
5IBOLZPV ! *GZPVIBWFBOZRVFTUJPOT GFFMGSFFUPBTLNF4-08-: ! !OBZ