์ ์ฒด ๊ธ (71) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ DI์ IoC ์ปจํ ์ด๋ * DI(Dependency Injection) ์์กด์ฑ ์ฃผ์ , ์ข ์์ฑ ์ฃผ์ ์ผ๋ก ์ฃผ๋ก ๋ฒ์ญ๋์ง๋ง "๋ถํ ์กฐ๋ฆฝ"์ด๋ผ๊ณ ๋ณด๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. /*** ์ผ์ฒดํ(Composition has a), ๋ถ๋ฐ์ดํ ***/ class A{ private B b; public A(){ b = new B(); } } //B๋ A์ ๋ถํ(dependency) //A ์์ฑ์์ ์ง์ B๋ฅผ ์์ฑํ๋ค. /*** ์กฐ๋ฆฝํ(Association has a) ***/ class A{ private B b; public A(){ } public void setB(B b){ this.b = b; } } //A ์์ฑ์์ ์ง์ B๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ, ์ธ๋ถ์์ ์์ฑ๋ B๋ฅผ ๋ฐ์์ A์ ๋ฃ๋๋ค. ์ผ์ฒดํ๋ณด๋ค ์กฐ๋ฆฝํ์ ๊ฒฐํฉ๋ ฅ์ด ํจ์ฌ ๋์จํ๊ณ , ๋ถํ.. ์คํ๋ง ํ๋ ์์ํฌ ์๊ฐ * ์คํ๋ง ํ๋ ์์ํฌ ์๊ฐ ์คํ๋ง ํ๋ ์์ํฌ๋ ์๋ฐ ํ๋ซํผ์ ์ํ ํ๋ ์์ํฌ์ด๋ค. ๋์ ์ธ ์น ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ฌ๋ฌ๊ฐ์ง ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์๋ค. ์ํฐํ๋ผ์ด์ฆ ์ดํ๋ฆฌ์ผ์ด์ (๊ธฐ์ ํ ์์ฉ ํ๋ก๊ทธ๋จ) ๊ฐ๋ฐ ์์ ์คํ๋ง์ ํต์ฌ ๊ธฐ๋ฅ์ธ dependency injection(์์กด์ฑ ์ฃผ์ ), transaction management(ํธ๋์ญ์ ๊ด๋ฆฌ)๊ฐ ์ค์ํ๊ฒ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์น ์๋น์ค ๊ฐ๋ฐ์ ๋๋ฆฌ ์ฌ์ฉ๋๊ฒ ๋์๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์๋ฐ ์๋์ (EE)์ด ์์ง๋ง, ์ฌ์ฉ์ ๋ถํธํจ์ผ๋ก ์ธํด ์คํ๋ง์ ๋ํ ์์๊ฐ ๋์ฑ ์ปค์ก๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ง์ผ๋ก ๊ด๋ฆฌ๊ฐ ํธ๋ฆฌํ๋ค๋ ์คํ๋ง์ ํน์ฑ ๋๋ฌธ์ด๋ค. Java SE(์คํ ๋ค๋ ์๋์ )์ Java EE(์ํฐํ๋ผ์ด์ฆ ์๋์ )์ ์ฐ๋ ๋์ ์, Java SE์ Spring์ ์น์ด์ ์ฃผ๋ก.. ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฐ์ดํฐ ํ์ 1. ๊ธฐ๋ณธ ํ์ 1) ์ซ์ (Number) 2) ๋ฌธ์์ด (String) 3) ๋ถ๋ฆฐ๊ฐ (Boolean) 4) undefined 5) null 2. ์ฐธ์กฐ ํ์ 1) ๊ฐ์ฒด (1) ๋ฐฐ์ด (Array) (2) ํจ์ (Function) (3) ์ ๊ทํํ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์จํ ํ์ ์ฒดํฌ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ int, char ๋ฑ ๋ณ์์ ๋ฐ์ดํฐ ํ์ ์ ์ง์ ํ๋ ์๊ฒฉํ ํ์ ์ฒดํฌ ์ธ์ด์๋ ๋ค๋ฅด๋ค. var๋ผ๋ ํค์๋๋ก ๋ณ์๋ฅผ ์ ์ธํ๊ณ , ์ฌ๊ธฐ์ ์ด๋ค ํ์ ์ ๋ฐ์ดํฐ๋ผ๋ ์ ์ฅํ ์ ์๋ค. ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์๋ฌด ๊ฒ๋ ๋์ ํ์ง ์์ผ๋ฉด undefined ํ์ ์ด๋ค. 1. ๊ธฐ๋ณธ ํ์ 1) ์ซ์ (Number) - ๋ชจ๋ ์ซ์๋ฅผ 64๋นํธ ๋ถ๋ ์์์ ํํ๋ก ์ ์ฅํ๊ณ , ์ด๋ C์ธ์ด์ double ํ์ ๊ณผ ์ ์ฌํ๋ค. 2) ๋ฌธ์์ด (String) - .. ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์์ ํต์ฌ ๊ฐ๋ * ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์์ ์๊ฐ ์คํฌ๋ฆฝํธ ์ธ์ด์ธ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ด์ฐฝ๊ธฐ์๋ ์น ํ์ด์ง ์ ์์์ ๋ณด์กฐ์ ์ธ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ฃผ๋ก ์ฌ์ฉ๋์๋ค. ํ์ง๋ง ์น์ด ๋ฐ์ ํ๋ฉด์, ์๋ฒ์์ ๋ด๋นํ๋ ์ญํ ๋ค์ ์๋น ๋ถ๋ถ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ด๋นํ ์ ์๊ฒ ๋์๊ณ ์ด๋ฌํ ๋ณํ์ ๋ฐ๋ผ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ค์์ฑ์ด ์ปค์ง๊ณ ์๋ค. ํนํ Node.js์ ๋ฑ์ฅ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ ์๋ฒ ๊ฐ๋ฐ์ด ํ๋ฐํด์ง๊ณ ์๋ค. ์ด๋ฌํ ๋ณํ์ ๋ฐ๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ์ฌ ์ธ๊ณ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ธ์ด ์ค ํ๋๊ฐ ๋์๋ค. ํนํ ์น ๊ฐ๋ฐ์๋ค์ jQuery๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์๋ฐ์คํฌ๋ฆฝํธ ํต์ฌ ๊ธฐ๋ฅ์ ๋์ฑ ๊ด์ฌ์ ๊ฐ์ง๊ณ ์๋ค. => ๊ธฐ์กด์ ์ฃผ๋ก ํด๋ผ์ด์ธํธ ์ธ์ด๋ก ์ฌ์ฉ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์๋ฒ ๊ฐ๋ฐ์๋ ์ด์ฉ๋จ์ผ๋ก์จ ๊ทธ์ ๋ํ ๊ด์ฌ์ด ์ปค์ง๊ณ ์๋ค. ๋ค์ ๋งํด ์๋ฐ์คํฌ๋ฆฝ.. PT 32์ผ์ฐจ - ์ค์ฟผํธ(ํํ์ค์ฟผํธ) 20kg ์ฌ๋ผ๊ฐ์ ๋ ๋ฌด๋ฆ ๋ค ํด์ง ์๊ณ ์์ถ๋ง ํ๊ณ ๋ฐ๋ก ๋ด๋ ค๊ฐ๋ค. ๋ค ํด๋ ๊ฒ๋ณด๋ค ์ด๊ฒ ๋ ์ข๋ค๊ณ ํ๋ค. ํ๋ค์ด์ง์๋ก ๋ ์๊ฒ ๋๋๋ฐ ์ ๊ฒฝ์จ์ ์ ์๊ธฐ - ํ์ค์ฟผํธ 20kg 30kg 20kg ์ํ ๋ฐ๊ณ ๋ฐ์ ๋ฐ๊นฅ์ผ๋ก ์ด์ง ๋ฒ๋ฆฐ๋ค. ์๋ฉ์ด๊ฐ ๋ค๊ฟ์น์ ๋ฟ๋๋ค๊ณ ์๊ฐํ๊ณ ๋ด๋ ค๊ฐ๋ค. ์๊ฟ์น ๋จ์ง ์๊ฒ ๋ ธ๋ ฅํ๊ณ , ๋๋ฌด ์์ฒด๊ฐ ์์ผ๋ก ๊ฐ์ง ์๊ฒ ์์ธ๋ฅผ ์ ์ก๋๋ค. ํ์ค์ฟผํธ ํ๋๊น ๋์ด ์ค์ค... ๋๋ฌด ํ๋ค์๋คใ ใ - ํ๋ก ํธ ์ค์ฟผํธ ์์ธ ๋ ๊ฐ์ง 1. ์๋ชฉ์ ์์ ํ ๊บพ์ด์ ๋ฐ๋ฒจ์ ์ด๊นจ์ ๊ฑธ์น๋ค. 2. ํ์งฑ ๋ผ๋ ์์ธํ ํ์ ์์์ ๋ฐ๋์ชฝ ๋ชฉ, ์๊ณจ ์ชฝ์ ๋๊ณ ๊ทธ ์์ ๋ฐ๋ฒจ์ ๊ฑธ์น๋ค. ๋ ๋ค ์ด๋ ต์ง๋ง 2๋ฒ ์์ธ๊ฐ ์ข ๋ ๋์๋ค. ํ๋ก ํธ ์ค์ฟผํธ๋ ๋ฌด๊ฒ์ค์ฌ์ด ์์ ์ค๋ ค์ ์๋ฒ ์ง ์ชฝ ์ด๋์ด ๋๋ค๊ณ .. PT 31์ผ์ฐจ - ์ปจ๋ฒค์ ๋ ๋ฐ๋๋ฆฌํํธ(๋ ๋ฐ๋) ๋น๋ด 20๊ฐ x 2์ธํธ 40kg 15๊ฐ, 10๊ฐ ๋ ์ ๋ฟ์ ๊ฒ ๊ฐ์ ๋๋ ๋๋ฌธ์ ์๊พธ ์์ฐํ๊ฒ ๋๋๋ฐ... ๊ทธ๋ ๊ฒ ์ ํ๋ ๋ฒ์ ๋ชจ๋ฅด๊ฒ ๋ค. ๊ทธ๊ฑธ ์์ํด์ ํ๋ฉด ๋ ์ ์ ๋ฟ๊ฒ ๋๋ค. ์์์ ์ธ๊ฒ ์ฌ๋ฆฌ๋๋ ์ฐจ๋ผ๋ฆฌ ๋์์ ์ฒ์ฒํ ํ๋ ๊ฒ ๋ซ๋ค. ๊ธฐ๋ฆฝ๊ทผ์ ํ์ ์ฃผ๊ณ , ํ์คํ ๊ธฐ๋ฆฝ๊ทผ์ผ๋ก ์ฌ๋ผ์ค๋ ๋๋์ ๋๊ปด์ผ ํ๋ค. (์ค์!) - ๋ฐ๋ฒจ ๋ก์ฐ 10kg 4์ธํธ ํ๊ฟ์น๋ฅผ ๋ฐ๊นฅ์ชฝ์ผ๋ก, ์ธํ์ ์ผ๋ก ์ก๊ณ ๋ฑ์ ํ์คํ๊ฒ ์์ถํ๋ค. ์์ฒด๋ฅผ ๋๋ฌด ๋ง์ด ๋ค์ง๋ ์๋๋ค. ๊ฐ๋ฒผ์ฐ๋๊น ํ ๋งํ๋ฐ ์ธํธ ์๊ฐ ๋์ด๋ ์๋ก ํ์ด ๋ธ๋ ค์ ํ๋ค์๋ค. ํ์ด ๋ธ๋ฆฌ๋ฉด ์์์ ๋๋ฌด ์ค๋ ๋จธ๋ฌด๋ฅด์ง ๋ง๊ณ ๊ธ๋ฐฉ ๋ด๋ ค์๋ ๋๋ค. ๋ฐ๋๋ฆฌํํธ์ฒ๋ผ ๋ฐ๋ฒจ์ ๋ชธ์ ๋ถ์ผ ํ์๋ ์๋ค. - ์ผํ๋ฒจ ์ค์ ๋ฌด๊ฒ ์๋ก ๋ค๋ฅธ ๊ฑธ๋ก 2์ธํธ - ๋ค๋ฒจ.. PT 30์ผ์ฐจ - ์ปจ๋ฒค์ ๋ ๋ฐ๋๋ฆฌํํธ ๋น๋ด 20kg 30kg 40kg 45kg 40kg ์ฒ์์ผ๋ก ๋ ๋ฐ๋!! ๋ ์์ ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ํ๋ค์๋ค. ๋ฐ๋ฅ์์ ์์ํด์ ์ฌ๋ ธ๋ค๊ฐ ๋ฐ๋ฅ์ ์ฝฉ ๋ซ๊ณ ๋ค์ ์ฌ๋ผ์จ๋ค. ๋ฌด๊ฒ๊ฐ ์ฌ๋ผ๊ฐ๋๊น ๋ฌด๋ฆ์ด ํ๋คํ๋ค ํ๋๋ฐ, ์์ธ ๋ฌด๋์ง์ง ์๊ฒ ์ ๊ฒฝ์ด๋ค. ๋ฌด๊ฒ์ค์ฌ์ด ์์ผ๋ก ๊ฐ๋ ๋ฌด๋ฆ์ด ๋๊ฐ๋ ๊ฑด ์ ๋๋ค. ์ผ๋จ ์์ฒด๊ฐ ๋จผ์ ์์ผ๋ก ์์์ง๋ฏ์ด ์์ฌ์ง๊ณ , ๊ทธ ๋ค์์ ์์ฐ์ค๋ฝ๊ฒ ํ์ฒด๋ฅผ ์ด๋ค. ์์ธ ๋ฒ๋ฆ์ด ์๋ชป ๋ ๊ฒ ๊ฐ๋ค.. ๋ฌด๊ฒ๊ฐ ๋์์ง๋ฉด ๋ฒํฐ๊ธฐ ์ํด ๋ฌด๋ฆ์ ์ข ๋ ์ฐ๋ ๊ฑด ๋ง๋๋ฐ, ์ผ๋ฐ์ ์ผ๋ก๋ ์๊ฟ์น์ ๋ฌด๊ฒ๊ฐ ์ค๋ ๋๋์ด ๋ง๋ค. ๊ทธ๋ฌ๋ฉด ํ์คํธ๋ง์ด ๋น๊ธด๋ค. ์์์ ๊ฐํ๋ฉด ์ ๋๊ณ ์๋์์ ๊ฐํ๊ฒ ์ฌ๋ฆฌ๋ ๊ฒ ๋ง๋ ์์ธ. ๊ทธ๊ฒ ์ ๋๋ฉด ๊ทธ๋ฅ ์ฒ์ฒํ ์ฌ๋ฆฌ๋ ๊ฒ ๋ซ๋ค. - ์ค์ฟผํธ Tip ํ๋ฆฌ๊ฐ ๊ณผ์ ์ ๋๋ ๋๋.. PT 29์ผ์ฐจ - ์ค๋ฏธ์ค ๋จธ์ ์ค์ฟผํธ ๋น๋ด 10kg 15kg ๋ค์ ๋๋ฌด ๊ธฐ๋์ ํ์ง ์๋๋ค. ์ค๋์ด ์ฌ๋ผ๊ฐ๊ณ ํ๋ค์ด์ง์๋ก ๋ช ์ฌํ ๊ฒ. ๊ธฐ๋๋ ํ์ด ์๋๋ผ ๋ค๋ฆฌ ํ์ผ๋ก ์ฌ๋ผ์์ผ ํ๋ค. ๋ด๋ ค๊ฐ๋ค๊ฐ ์ฌ๋ผ์ฌ ๋ ๋ฆฌ๋ฌ๊ฐ์๊ฒ, ํ ํฌ๋ฅผ ๋ง์ถฐ์ ํ๋ค. - ๋ฐ์ง ๋งจ๋ชธ 2์ธํธ - ๊ณ๋จ๋ฐ์ง 2์ธํธ ์ค๋ฏธ์ค ๋จธ์ ์๋์ ๊ณ๋จ ๋๊ณ ํ ๋ฐ๋ก ์ฌ๋ผ์ ๋ค. ๋๋จธ์ง ํ ์ชฝ ๋ค๋ฆฌ๋ ๊ธฐ์ญ์๋ก ๋ง๋ค์ด์ ๋ค๋ก ๋ป๋๋ค. ์ฒ์ฒํ ๋ด๋ ค๊ฐ๋ค๊ฐ ์ฌ๋ฆฌ๋๋ฐ, ์ฌ๋ผ์์ ๋ฌด๋ฆ์ ์ ๋ถ ํธ๋ค. ๋ฌด๋ฆ์ ๋ค ํด๋ฉด ๋ค์ ๊ตฝํ๊ธฐ๊ฐ ํ๋ค๋ค๊ณ ํ๋๋ ํ๋ค๊ฒ ํ๋ ๊ฒ ์ด๋์ด๋ผ๊ณ ํ๋ค^^... ๋ค๋ฆฌ๊ฐ ์ง๊ฐ์ด ๋ ๋๊น์ง ๋ ๋ด๋ ค๊ฐ๋ค. ์์ชฝ 12๊ฐ์ฉ ๋๋ด๊ณ ๋ ๊ณ๋จ ์์์ ์ค์ฟผํธ. ๊ณ๋จ ์ ์ ๋ฐ ์ฌ๋ฆฌ๊ณ ํ๋ฒ ์ง ํ์ผ๋ก ์ค์ฟผํธ ๋ฒํฐ๊ธฐ 3์ด. ํ ํ์ ์ต๋ํ ๋บ๋ค. ํ์ ๊ธฐ๋์ ํ๋ ๊ฒ์ด ์๋๋ผ ๋ค.. ์ด์ 1 2 3 4 5 6 7 8 9 ๋ค์