- ๋ฏธ์ ์ ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ, ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ ์ฌํญ, ๊ณผ์ ์งํ ์๊ตฌ ์ฌํญ ์ธ ๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ธ ๊ฐ์ ์๊ตฌ ์ฌํญ์ ๋ง์กฑํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค. ํนํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ ์ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๋ง๋ค๊ณ , ๊ธฐ๋ฅ ๋จ์๋ก ์ปค๋ฐ ํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ค.
- ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ์ ๊ธฐ์ฌ๋์ง ์์ ๋ด์ฉ์ ์ค์ค๋ก ํ๋จํ์ฌ ๊ตฌํํ๋ค.
- ๋ณธ ์ ์ฅ์๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ํด๋ก ํ๋ค.
- ํด๋ก ์ด ์๋ฃ๋ ์ ์ฅ์์์ ๋ณธ์ธ์ ๊นํ๋ธ ๋๋ค์์ ์ด๋ฆ์ผ๋ก ๋ธ๋์น๋ฅผ ์์ฑ ๋ฐ ์ฒดํฌ์์ํ๊ณ , ํด๋น ๋ธ๋์น์์ ๋ฏธ์ ์ ์งํํ๋ค.
- 1์ฐจ ๊ธฐ๋ฅ ๊ตฌํ์ ์๋ฃํ ํ,
{๊นํ๋ธ ๋๋ค์}:{๊นํ๋ธ ๋๋ค์}๋ธ๋์น์์InQ-InQ-InQ-InQ-InQ:main๋ธ๋์น๋ก Pull Request๋ฅผ ์์ฑํ๋ค.
- ๊ธฐ๋ฅ ๊ตฌํ์ ๋ชจ๋ ์ ์์ ์ผ๋ก ํ๋๋ผ๋ ์๊ตฌ ์ฌํญ์ ๋ช ์๋ ์ถ๋ ฅ๊ฐ ํ์์ ์งํค์ง ์์ ๊ฒฝ์ฐ 0์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค.
- ๊ธฐ๋ฅ ๊ตฌํ์ ์๋ฃํ ๋ค ์๋ ๊ฐ์ด๋์ ๋ฐ๋ผ ํ ์คํธ๋ฅผ ์คํํ์ ๋ ๋ชจ๋ ํ ์คํธ๊ฐ ์ฑ๊ณตํ๋์ง ํ์ธํ๋ค.
- ํ ์คํธ๊ฐ ์คํจํ ๊ฒฝ์ฐ 0์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ฏ๋ก, ๋ฐ๋์ ํ์ธ ํ ์ ์ถํ๋ค.
- ํ
์คํธ ํจํค์ง ์ค์น๋ฅผ ์ํด
Node.js๋ฒ์ 18.17.1์ด์์ด ํ์ํ๋ค. - ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ํจํค์ง๋ฅผ ์ค์นํ๋ค.
npm install- ์ค์น๊ฐ ์๋ฃ๋์๋ค๋ฉด, ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ํ ์คํธ๋ฅผ ์คํํ๋ค.
npm test์ด๊ฐ๋จ ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์์ ๊ตฌํํ๋ค.
- ์ฃผ์ด์ง ํ์ ๋์ n๋์ ์๋์ฐจ๋ ์ ์ง ๋๋ ๋ฉ์ถ ์ ์๋ค.
- ๊ฐ ์๋์ฐจ์ ์ด๋ฆ์ ๋ถ์ฌํ ์ ์๋ค. ์ ์งํ๋ ์๋์ฐจ๋ฅผ ์ถ๋ ฅํ ๋ ์๋์ฐจ ์ด๋ฆ์ ๊ฐ์ด ์ถ๋ ฅํ๋ค.
- ์๋์ฐจ ์ด๋ฆ์ ์ผํ(,)๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถํ๋ฉฐ ์ด๋ฆ์ 5์ ์ดํ๋ง ๊ฐ๋ฅํ๋ค.
- ์ฌ์ฉ์๋ ๋ช ๋ฒ์ ์ด๋์ ํ ๊ฒ์ธ์ง๋ฅผ ์ ๋ ฅํ ์ ์์ด์ผ ํ๋ค.
- ์ ์งํ๋ ์กฐ๊ฑด์ 0์์ 9 ์ฌ์ด์์ ๋ฌด์์ ๊ฐ์ ๊ตฌํ ํ ๋ฌด์์ ๊ฐ์ด 4 ์ด์์ผ ๊ฒฝ์ฐ์ด๋ค.
- ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์์ ์๋ฃํ ํ ๋๊ฐ ์ฐ์นํ๋์ง๋ฅผ ์๋ ค์ค๋ค. ์ฐ์น์๋ ํ ๋ช ์ด์์ผ ์ ์๋ค.
- ์ฐ์น์๊ฐ ์ฌ๋ฌ ๋ช ์ผ ๊ฒฝ์ฐ ์ผํ(,)๋ฅผ ์ด์ฉํ์ฌ ๊ตฌ๋ถํ๋ค.
- ์ฌ์ฉ์๊ฐ ์๋ชป๋ ๊ฐ์ ์
๋ ฅํ ๊ฒฝ์ฐ throw๋ฌธ์ ์ฌ์ฉํด "[ERROR]"๋ก ์์ํ๋ ๋ฉ์์ง๋ฅผ ๊ฐ์ง๋ ์์ธ๋ฅผ ๋ฐ์์ํจ ํ, ์ ํ๋ฆฌ์ผ์ด์
์ ์ข
๋ฃ๋์ด์ผ ํ๋ค.
์์) [ERROR] ์ซ์๊ฐ ์๋ชป๋ ํ์์ ๋๋ค.
- ๊ฒฝ์ฃผ ํ ์๋์ฐจ ์ด๋ฆ(์ด๋ฆ์ ์ผํ(,) ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถ)
pobi,woni,jun
- ์๋ํ ํ์
5
- ๊ฐ ์ฐจ์๋ณ ์คํ ๊ฒฐ๊ณผ
pobi : --
woni : ----
jun : ---
- ๋จ๋ ์ฐ์น์ ์๋ด ๋ฌธ๊ตฌ
์ต์ข
์ฐ์น์ : pobi
- ๊ณต๋ ์ฐ์น์ ์๋ด ๋ฌธ๊ตฌ
์ต์ข
์ฐ์น์ : pobi, jun
๊ฒฝ์ฃผํ ์๋์ฐจ ์ด๋ฆ์ ์
๋ ฅํ์ธ์.(์ด๋ฆ์ ์ผํ(,) ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถ)
pobi,woni,jun
์๋ํ ํ์๋ ๋ช ํ์ธ๊ฐ์?
5
์คํ ๊ฒฐ๊ณผ
pobi : -
woni :
jun : -
pobi : --
woni : -
jun : --
pobi : ---
woni : --
jun : ---
pobi : ----
woni : ---
jun : ----
pobi : -----
woni : ----
jun : -----
์ต์ข
์ฐ์น์ : pobi, jun
@woowacourse/mission-utils์์ ์ ๊ณตํ๋Random๋ฐConsoleAPI๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํด์ผ ํ๋ค.- Random ๊ฐ ์ถ์ถ์
Random.pickNumberInRange()๋ฅผ ํ์ฉํ๋ค. - ์ฌ์ฉ์์ ๊ฐ์ ์
๋ ฅ ๋ฐ๊ณ ์ถ๋ ฅํ๊ธฐ ์ํด์๋
Console.readLineAsync,Console.print๋ฅผ ํ์ฉํ๋ค.
- Random ๊ฐ ์ถ์ถ์
- 0์์ 9๊น์ง์ ์ ์ ์ค ํ ๊ฐ์ ์ ์ ๋ฐํ
MissionUtils.Random.pickNumberInRange(0, 9);- Node.js 18.17.1 ๋ฒ์ ์์ ์คํ ๊ฐ๋ฅํด์ผ ํ๋ค. Node.js 18.17.1์์ ์ ์์ ์ผ๋ก ๋์ํ์ง ์์ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌํ๋ค.
- ํ๋ก๊ทธ๋จ ์คํ์ ์์์ ์
App.js์play๋ฉ์๋์ด๋ค. ์๋์ ๊ฐ์ด ํ๋ก๊ทธ๋จ์ ์คํ์ํฌ ์ ์์ด์ผ ํ๋ค.
์์
const app = new App();
app.play();package.json์ ๋ณ๊ฒฝํ ์ ์๊ณ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(jQuery, Lodash ๋ฑ)๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค. ์์ Vanilla JS๋ก๋ง ๊ตฌํํ๋ค.- JavaScript ์ฝ๋ ์ปจ๋ฒค์ ์ ์งํค๋ฉด์ ํ๋ก๊ทธ๋๋ฐ ํ๋ค
- ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์
process.exit()๋ฅผ ํธ์ถํ์ง ์๋๋ค. - ํ๋ก๊ทธ๋จ ๊ตฌํ์ด ์๋ฃ๋๋ฉด
ApplicationTest์ ๋ชจ๋ ํ ์คํธ๊ฐ ์ฑ๊ณตํด์ผ ํ๋ค. ํ ์คํธ๊ฐ ์คํจํ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌํ๋ค. - ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ ์ฌํญ์์ ๋ฌ๋ฆฌ ๋ช ์ํ์ง ์๋ ํ ํ์ผ, ํจํค์ง ์ด๋ฆ์ ์์ ํ๊ฑฐ๋ ์ด๋ํ์ง ์๋๋ค.
- indent(์ธ๋ดํธ, ๋ค์ฌ์ฐ๊ธฐ) depth๋ฅผ 3์ด ๋์ง ์๋๋ก ๊ตฌํํ๋ค. 2๊น์ง๋ง ํ์ฉํ๋ค.
- ์๋ฅผ ๋ค์ด while๋ฌธ ์์ if๋ฌธ์ด ์์ผ๋ฉด ๋ค์ฌ์ฐ๊ธฐ๋ 2์ด๋ค.
- ํํธ: indent(์ธ๋ดํธ, ๋ค์ฌ์ฐ๊ธฐ) depth๋ฅผ ์ค์ด๋ ์ข์ ๋ฐฉ๋ฒ์ ํจ์(๋๋ ๋ฉ์๋)๋ฅผ ๋ถ๋ฆฌํ๋ฉด ๋๋ค.
- Jest๋ฅผ ์ด์ฉํ์ฌ ๋ณธ์ธ์ด ์ ๋ฆฌํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ด ์ ์ ๋์ํจ์ ํ
์คํธ ์ฝ๋๋ก ํ์ธํ๋ค.
- ํ
์คํธ ๋๊ตฌ ์ฌ์ฉ๋ฒ์ด ์ต์ํ์ง ์๋ค๋ฉด
__tests__/StringTest.js๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ์ตํ ํ ํ ์คํธ๋ฅผ ๊ตฌํํ๋ค.
- ํ
์คํธ ๋๊ตฌ ์ฌ์ฉ๋ฒ์ด ์ต์ํ์ง ์๋ค๋ฉด
- ๋ฏธ์ ์ javascript-racingcar-6 ์ ์ฅ์๋ฅผ Fork & Cloneํด ์์ํ๋ค.
- ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์
docs/README.md์ ๊ตฌํํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ์ ๋ฆฌํด ์ถ๊ฐํ๋ค. - Git์ ์ปค๋ฐ ๋จ์๋ ์ ๋จ๊ณ์์
docs/README.md์ ์ ๋ฆฌํ ๊ธฐ๋ฅ ๋ชฉ๋ก ๋จ์๋ก ์ถ๊ฐํ๋ค.- ์ปค๋ฐ ๋ฉ์์ง ์ปจ๋ฒค์ ๊ฐ์ด๋๋ฅผ ์ฐธ๊ณ ํด ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ค.