New Score :0
High Score :0
Run Best
NICE BUSINESS TYPE INDICATOR
3. ๊ธ์ ์ ์น๊ตฌ์๊ฒ ๋น๋ ธ๋๋ฐ ์ค๋์ด ๋์ ์ฃผ๊ธฐ๋ก ํ๋ .. ๊ทธ๋ฐ๋ฐ ์นด๋๊ฐ์ ๋ด์ผํ๋ ๋ ๋ ์ค๋์ธ๋ฐ... ์ด๊ฑธ ์ด์ฉ๋...
4. ์ฐ๋ฆฌ ํ์ฌ๋ ์ค์ํ ์์ฌ ๊ฒฐ์ ์ ํ ๋?
5. ์ด์ฌํ ์ผํ ๋๋ฅผ ์ํ ์ ๋ฌผ์ ์ฃผ๊ณ ์ถ๋ค. ์ด๋ค๊ฒ ์ข์๊น?
6. ์ํ์์ ํฌ์์ํ์ ์ถ์ฒ๋ฐ์๋ค. ์ด๋ค๊ฑธ ๊ฐ์ ํ์ง?
7. ํ์ฌ์์์ ๋๋?
8. ๊ฟ์์ ๊นจ์ด๋๋ 20๋ ์ ์ผ๋ก ๋์๊ฐ๋ค. ๋น์ ์ด ์ ์ผ ๋จผ์ ํ๋์ผ์?
9. ๋ด๊ฐ ์ธ์ฌ ๋ด๋น์๋ผ๋ฉด ์ ๊ท ์ ์ฌ์ ์ฑ์ฉ ์ ์ ์ผ ์ค์ํ๊ฒ ๋ณด๋๊ฒ์?
10. ํ์ฌ์ ์ ๋ง ์ซ์ดํ๋ ๋๋ฃ๊ฐ ์๋ค๋ฉด?
11. ๊ฐ๋ํ ์ง์ ๊ฐ์ฅ์ด ๋์๋ค.. ์๋ ์ ์์ผ ๋ ์ ๋ฌผ์?
12. ํ์ ํ์ฌ ์ถ๊ทผ ์คํ์ผ์?
13.ํ์ฌ ์ฒด์ก๋ํ ํ๋ ๋ ์ด๋ค. ์ค๋ ๋ญํ์ง?
14. ๋์ ์ ๋ฌด ์คํ์ผ์?
Convention Plugins
, for example:
- public libraries - libraries that are published to some repository
- internal libraries - libraries on which other subprojects depend on internally within the project
- command line applications - applications with specific packaging requirements
- web services - applications with specific packaging requirements that are different from above
- etc
์ผ๋ถ ๋ค๋ฅธ ์ฝ๋ ํ์ ํ๋ก์ ํธ๋ ํ ์คํธ ๋ชฉ์ ๋ฑ์ผ๋ก ์ ์ฉ๋ ์ ์์ต๋๋ค.
์์ ํธ๋ ์ดํธ๋ ํ์ ํ๋ก์ ํธ์ ์ ํ์ ์๋ณํฉ๋๋ค. ์ฆ, ํ์ ํ๋ก์ ํธ์ ์ ํ์ ํ๋ก์ ํธ์ ์ด๋ค ํน์ฑ์ด ์๋์ง ์๋ ค์ค๋๋ค.
๋น๋ ๋ก์ง์ ๊ตฌ์ฑํ๋ Gradle์ ๊ถ์ฅ ๋ฐฉ๋ฒ์ ํ๋ฌ๊ทธ์ธ ์์คํ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ํ๋ฌ๊ทธ์ธ์ ํ์ ํ๋ก์ ํธ์ ์ ํ์ ์ ์ํด์ผ ํฉ๋๋ค. ์ค์ ๋ก Gradle ํต์ฌ ํ๋ฌ๊ทธ์ธ์ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋ชจ๋ธ๋ง ๋ฉ๋๋ค (์ : Java ํ๋ฌ๊ทธ์ธ์ ์ผ๋ฐ Java ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ๋ฉด Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ฌ๊ทธ์ธ์ ๋ด๋ถ์ ์ผ๋ก Java ํ๋ฌ๊ทธ์ธ์ ์ ์ฉ ํ๊ณ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ด๋ จ๋ ์ธก๋ฉด์ ์ถ๊ฐ๋ก ๊ตฌ์ฑํฉ๋๋ค). ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฉ ํ๋ก๊ทธ๋จ ํ๋ฌ๊ทธ์ธ์ Java ํ๋ฌ๊ทธ์ธ๊ณผ ๋ฐฐํฌ ํ๋ฌ๊ทธ์ธ์ ์ ์ฉํ๊ณ ๊ตฌ์ฑํฉ๋๋ค.
์ฝ์ด ๋ฐ ์ธ๋ถ ํ๋ฌ๊ทธ์ธ์ ๋ชจ๋ ์ ์ฉ ๋ฐ ๊ตฌ์ฑํ์ฌ ์ฌ์ฉ์ ์ง์ ๋น๋ ๋ก์ง์ ์์ฑํ๊ณ ์ ํ๋ก์ ํธ ์ ํ์ ์ ์ํ๊ณ ํ๋ก์ ํธ ๋๋ ์กฐ์ง๊ณผ ๊ด๋ จ๋ ๊ท์น์ ๊ตฌ์ฑํ๋ ์ฌ์ฉ์ ์ง์ ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์น์ ์ ์์ ๋ถ๋ถ์ ์๋ ๊ฐ ์์ ํน์ฑ์ ๋ํด ์ฃผ์ด์ง ์ ํ์ ํ์ ํ๋ก์ ํธ์ ๊ณตํต์ ์ธ ๋ ผ๋ฆฌ๋ฅผ ์บก์ํํ๋ ํ๋ฌ๊ทธ์ธ์ ์์ฑํ ์ ์์ต๋๋ค.
์ปจ๋ฒค์ ํ๋ฌ๊ทธ์ธ์ ๋ํ ์์ค ์ฝ๋์ ํ ์คํธ๋ฅผ ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ์๋ ํน์ buildSrc ๋๋ ํ ๋ฆฌ์ ๋ฃ๋ ๊ฒ์ด ์ข์ต๋๋ค. buildSrc์ ๋ํ ์์ธํ ๋ด์ฉ์ buildSrc๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋ ๋ ผ๋ฆฌ ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
๊ท์น ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๋น๋ ๋ ผ๋ฆฌ๋ฅผ ๋ชจ๋ธ๋งํ๋ ๋ค์ค ํ๋ก์ ํธ ๋น๋๋ฅผ ๋ณด์ฌ ์ฃผ๋ ์ํ์ ์ดํด๋ณด์ธ์.
์ปจ๋ฒค์ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๋น๋ ๋ก์ง์ ๊ตฌ์ฑํ๋ ๋ค์ค ํ๋ก์ ํธ ๋น๋์ ๋ ๋ค๋ฅธ ๋ณต์กํ๊ณ ์ค์ ์ ์ธ ์๋ Gradle Build Tool ์์ฒด์ ๋น๋ ์ ๋๋ค.
Cross project configuration
ํ์ ํ๋ก์ ํธ๊ฐ์ ๋น๋ ๋ ผ๋ฆฌ๋ฅผ ๊ณต์ ํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ํ์ ํ๋ก์ ํธ {} ๋ฐ ๋ชจ๋ ํ๋ก์ ํธ {} DSL ๊ตฌ๋ฌธ์ ํตํ ํ๋ก์ ํธ ๊ฐ ๊ตฌ์ฑ์ ๋๋ค. ๊ต์ฐจ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ฉด ๋น๋ ๋ ผ๋ฆฌ๋ฅผ ํ์ ํ๋ก์ ํธ์ ์ฃผ์ ํ ์ ์์ผ๋ฉฐ ํ์ ํ๋ก์ ํธ์ ๋น๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ณผ ๋ ๋ช ํํ์ง ์์ผ๋ฏ๋ก ํน์ ํ์ ํ๋ก์ ํธ์ ๋ ผ๋ฆฌ๋ฅผ ์ดํดํ๊ธฐ๊ฐ ๋ ์ด๋ ค์์ง๋๋ค. ์ฅ๊ธฐ์ ์ผ๋ก ๊ต์ฐจ ๊ตฌ์ฑ์ ์ผ๋ฐ์ ์ผ๋ก ์ ์ ๋ ๋ง์ ์กฐ๊ฑด๋ถ ๋ ผ๋ฆฌ์ ๋ ๋์ ์ ์ง ๊ด๋ฆฌ ๋ถ๋ด์ผ๋ก ๋ณต์กํด์ง๋๋ค. ๋ํ ๊ต์ฐจ ๊ตฌ์ฑ์ ํ๋ก์ ํธ ๊ฐ์ ๊ตฌ์ฑ ์๊ฐ ๊ฒฐํฉ์ ๋์ ํ์ฌ ์ฃผ๋ฌธํ ๊ตฌ์ฑ๊ณผ ๊ฐ์ ์ต์ ํ๊ฐ ์ ๋๋ก ์๋ํ์ง ๋ชปํ๊ฒ ํ ์ ์์ต๋๋ค.
๊ท์น ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๋ ์ ๋ชจ๋ธ๋งํ ์ ์๋ ๊ต์ฐจ ๊ตฌ์ฑ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ ๊ฐ์ง ์ฉ๋๊ฐ ์์ต๋๋ค.
- ํ๋ฌ๊ทธ์ธ ๋๋ ๋ค๋ฅธ ๊ตฌ์ฑ์ ํน์ ์ ํ์ ํ์ ํ๋ก์ ํธ์ ์ ์ฉํฉ๋๋ค. ์ข ์ข ๊ต์ฐจ ๊ตฌ์ฑ ์น์ ์ ํ์ ํ๋ก์ ํธ๊ฐ X ์ ํ ์ธ ๊ฒฝ์ฐ ์ํ ํ ๋ค์ Y๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์ด๊ฒ์ X-conventions ํ๋ฌ๊ทธ์ธ์ ํ์ ํ๋ก์ ํธ์ ์ง์ ์ ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
- ํน์ ์ ํ์ ํ์ ํ๋ก์ ํธ์์ ์ ๋ณด๋ฅผ ์ถ์ถํฉ๋๋ค. ์ด ์ฌ์ฉ ์ฌ๋ก๋ ๋ฐ์ ๊ตฌ์ฑ ๋ณํ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ๋งํ ์ ์์ต๋๋ค.