๐ป (31) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [ERROR] - Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain https://blue-mina.tistory.com/94 [ERROR] Intellij Could not find or load GradleWorkerMain ์๋ฌํด๊ฒฐ ๊ฒ์์ด๋ฅผ ์๋ชป ์ ํํ๊ฑด์ง ๋ชฐ๋ผ๋, ์ด ์๋ฌ๋ฅผ ํด๊ฒฐํ๋ค๊ณ 3์๊ฐ์ด๋ ๊ฑธ๋ ธ์ต๋๋ค.. ์ธํ ๋ฆฌ์ ์ด๋ ์ฝ๋์์ฑ์๋ ํธํ์ง๋ง, ์ฑ ์ด๋ ๊ฐ์๋ฅผ ๋ฐ๋ผํ ๋ ์ธํ ์ ์ ๋ชปํด์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ค์ ํด๊ฒฐ์ด blue-mina.tistory.com [JAVA] test code ์์ฑ๋ฒ 1. build.gradle ํ์ผ์ ์ถ๊ฐ dependencies { testCompile('org.junit.jupiter:junit-jupiter:5.4.2') testCompile('org.assertj:assertj-core:3.11.1') } test { useJUnitPlatform() } 2. ์ค๋ฅธ์ชฝ gradle tap > refresh 3. src ์๋์ testํด๋ ์์ฑ > test ํด๋ ์๋์ javaํด๋ ์์ฑ ํ ์์ฑ [React JS] Arrow function์ด๋? โถ ํ์ดํ ํจ์(Arrow function) var/let/const ํจ์๋ช = (๋งค๊ฐ๋ณ์) => {์คํ๋ฌธ} : ์ผ๋ฐ ํจ์ ํํ์๋ณด๋ค ๋จ์ํ๊ณ ๊ฐ๊ฒฐํ ๋ฌธ๋ฒ : return ๋ช ๋ น์ด ์์ด๋ ํจ์ ์คํ์ ์ข ๋ฃ์ํค๊ณ ๊ฐ์ ๋ฐํ. : ์ต๋ช ํจ์, ํจ์๋ฅผ ์ฌ์ฌ์ฉํ์ง ์์ ๋ชฉ์ ์ผ๋ก ํจ์์ ์ด๋ฆ์ ๋ถ์ด์ง ์๋ ๊ฒ. // ๋งค๊ฐ๋ณ์๊ฐ ์๋ ๊ฒฝ์ฐ var foo = () => console.log('bar'); // ๋งค๊ฐ๋ณ์๊ฐ ํ๋์ธ ๊ฒฝ์ฐ var foo = x => x; // ๋งค๊ฐ๋ณ์๊ฐ ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ var foo = (a, b) => a + b; // ๊ฐ๋จํ๊ฒ ํ์ค๋ก ํํํ ๋ "{}" ์์ด ๊ฐ์ด ๋ฐํ๋ฉ๋๋ค. var foo = (a, b) => { return a + b }; // "{}" ์ฌ์ฉ > ๋ฆฌํด ์กด์ฌ var foo .. ๐จ ๋น์ฆ๋์ค ๋ก์ง์ด๋? : Business Logic ๋น์ฆ๋์ค ๋ก์ง(๋๋ฉ์ธ ๋ก์ง ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง) ์ ์ ์ ์์ฒญ์ ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด๋ด๊ธฐ ์ํ ์ผ๋ จ์ ์์ ๋ค(๋ฐ์ดํฐ ์ ๋ ฅ, ์์ , ์กฐํ ๋ฑ ๊ฐ์ข ๋ฐ์ดํฐ ์ฒ๋ฆฌ) ํ๋ก๊ทธ๋จ์ ํต์ฌ ๋ก์ง. ์ฆ, ์ด๋ป๊ฒ ๋ฐ์ดํฐ๊ฐ ์์ฑ๋๊ณ ์ ์ฅ๋๊ณ ์์ ๋๋์ง๋ฅผ ์ ์ํ ๊ฒ ์ ์ ๋์ ๋ณด์ด์ง ์์ง๋ง, ์ ์ ๊ฐ ๋ฐ๋ผ๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ถํ๊ธฐ ์ํด ์๊ตฌ์ฌํญ์ ๋ง์ถฐ ์์๋ก ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ์ผ๋ง๋ ๊น๋ํ๊ณ ์ฝ๊ธฐ ์ฝ๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ฝ๊ฒ ์ง๋๋๊ฐ ์ค์ ํ๋ก์ ํธ์ ํฐ ์ํฅ์ ๋ผ์นจ. ex) ํ์๊ฐ์ ์์ด๋ ์ค๋ณต ์ฒดํฌ. DB์ ์ ๊ทผํ์ฌ ์ ์ ๊ฐ ์ ๋ ฅํ ์์ด๋๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๋ ์ ์ฐจ ์งํ. ์ฆ, ์ฌ์ฉ์๊ฐ ์ด๋ค ์์ฒญ์ ํ์ ๋, ๊ทธ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ์งํ๋๋ ์ ์ฐจ. ๐ช MVC ํจํด์ด๋? : Model, View, Controller 1) User๊ฐ Controller๋ฅผ ์กฐ์ํ๋ค. 2) Controller๋ Model์ Manipulate(์กฐ์ข )ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณ ์จ๋ค. (์๋ง์ ๋น์ฆ๋์ค ๋ก์ง์ ์ํ) 3) ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก View๋ฅผ ๊ฐฑ์ ํ๋ค. 4) ๊ฐฑ์ ๋ View๋ฅผ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๊ฒ ๋๋ค. - 2022.03.03 : lottoGame mvc ํจํด ์ฌ ์ ์ฉํ๋ฉฐ ์ดํดํ ๋ด์ฉ ์ปจํธ๋กค๋ฌ ๊ทธ ์์ฒด์์ view๋ฅผ ํธ์ถํด ์ ๋ ฅ๋ฐ๊ฒ ํ๊ณ , ์ฌ๊ธฐ์ ์ ๋ฌ๋ฐ์ ๊ฐ์ view ํธ์ถํด์ ์ถ๋ ฅํด์ฃผ๊ฑฐ๋ ์ปจํธ๋กค๋ฌ๊ฐ model ์์ญ์ผ๋ก ์ ๋ฌํด์ ์ํ๋ ๊ฐ์ผ๋ก ๋ณํํ๊ณ ๊ฐ์ ๊ฐ์ ธ์์ ์ปจํธ๋กค๋ฌ๊ฐ view ํธ์ถํด ์ด ๊ฐ์ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๊ฒ ์ถ๋ ฅ. โ model Application ์ ๋ณด, data DB์ ์ํธ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ชฉํํ๋ ์์ ์ ์ํํ๊ฒ ์ํ.. ๐ ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์ #2022.02.08~2022.02.18 2022 / 02.08~02.18 ๋ฏธ์ - ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์ ๐ ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ ์ฃผ์ด์ง ํ์ ๋์ n๋์ ์๋์ฐจ๋ ์ ์ง ๋๋ ๋ฉ์ถ ์ ์๋ค. ๊ฐ ์๋์ฐจ์ ์ด๋ฆ์ ๋ถ์ฌํ ์ ์๋ค. ์ ์งํ๋ ์๋์ฐจ๋ฅผ ์ถ๋ ฅํ ๋ ์๋์ฐจ ์ด๋ฆ์ ๊ฐ์ด ์ถ๋ ฅํ๋ค. ์๋์ฐจ ์ด๋ฆ์ ์ผํ(,)๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถํ๋ฉฐ ์ด๋ฆ์ 5์ ์ดํ๋ง ๊ฐ๋ฅํ๋ค. ์ฌ์ฉ์๋ ๋ช ๋ฒ์ ์ด๋์ ํ ๊ฒ์ธ์ง๋ฅผ ์ ๋ ฅํ ์ ์์ด์ผ ํ๋ค. ์ ์งํ๋ ์กฐ๊ฑด์ 0์์ 9 ์ฌ์ด์์ random ๊ฐ์ ๊ตฌํ ํ random ๊ฐ์ด 4 ์ด์์ผ ๊ฒฝ์ฐ ์ ์งํ๊ณ , 3 ์ดํ์ ๊ฐ์ด๋ฉด ๋ฉ์ถ๋ค. ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์์ ์๋ฃํ ํ ๋๊ฐ ์ฐ์นํ๋์ง๋ฅผ ์๋ ค์ค๋ค. ์ฐ์น์๋ ํ ๋ช ์ด์์ผ ์ ์๋ค. โ๐ป ์ ์ถ๋ ฅ ์๊ตฌ์ฌํญ โจ๏ธ ์ ๋ ฅ ๊ฒฝ์ฃผ ํ ์๋์ฐจ ์ด๋ฆ(์ด๋ฆ์ ์ผํ(,) ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถ) pobi,woni,jun.. 2022 CleanCode Study 2022 / 02.05~04.02 ๐ฉ ์คํฐ๋ ๋ชฉํ ์ผ๋ฐ ์ฌ์ฉ์์ฉ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๋ ํ์ฌ๊ฐ ํ์๋กํ๋ ์ญ๋์ ํค์ฐ๋ ๊ฒ ๋ณธ์ธ์ด ์์ฑํ ์ฝ๋๋ฅผ ๋ค๋ฅธ ์ฌ๋์ด ํ์ธํ ์ ์๋๋ก git์ ์ฌ์ฉํ๋ ๊ฒฝํ์ ํ๋ค. ์๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ํ ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ์ตํ ํ๋ก๊ทธ๋๋ฐํ๋ ์ฐ์ต์ ํ๋ค. ์ฝ๊ธฐ ์ข์ ์ฝ๋๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด ์ ์ค์ํ์ง์ ์ฝ๋๋ฅผ ๊ฐ์ ํด ์ฝ๊ธฐ ์ข์ ์ฝ๋๋ก ๋ณ๊ฒฝํด๋ณด๋ ๊ฒฝํ์ ํ๋ค. ์์ ์ด ๊ตฌํํ ์ฝ๋์ ๋ํด ๋จ์ ํ ์คํธ์ ๋ฆฌํฉํ ๋งํ๋ ๊ฒฝํ์ ํ๋ค. โ ๋ชจ๋ ๋ฏธ์ ์์ ์ง์ผ์ผํ ๊ท์น ๊ท์น 1: ํ ๋ฉ์๋์ ์ค์ง ํ ๋จ๊ณ์ ๋ค์ฌ์ฐ๊ธฐ(indent)๋ง ํ๋ค. ๊ท์น 2: else ์์ฝ์ด๋ฅผ ์ฐ์ง ์๋๋ค. ๊ท์น 3: ๋ชจ๋ ์์๊ฐ๊ณผ ๋ฌธ์์ด์ ํฌ์ฅํ๋ค. ๊ท์น 4: ํ ์ค์ ์ ์ ํ๋๋ง ์ฐ๋๋ค. ๊ท์น 5: ์ค์ฌ์ฐ์ง ์๋๋ค(์ถ์ฝ.. ์ด์ 1 2 3 4 ๋ค์