๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ245

2022.04.20 ์˜ ๊ธฐ๋ก โ–ถ ์˜ค๋Š˜ ํ•˜๋ฃจ ๊ณ„ํš ํŒŒํŠธ 1 (11์‹œ ~ 2์‹œ) 1. Gradle MVC ํ”„๋กœ์ ํŠธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง 2. Mysql 3๋‹จ์› ์ •๋ฆฌ ํŒŒํŠธ 2 (3์‹œ ~ 1์‹œ) 1. ์Šคํ”„๋งMVC ๊ฐœ๋… ์ •๋ฆฌ : ํ•ธ๋“ค๋Ÿฌ ์ถ”์ƒํด๋ž˜์Šค๋กœ ์™œ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ๊ณ ๋ฏผํ•ด๋ณด์ž 3๊ฐœ 2. ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ WIkI ์ •๋ฆฌ 3. ๋…ธ์…˜ ์ด๋ ฅ์„œ ํ…œํ”Œ๋ฆฟ ๋ฐ ์ดˆ์•ˆ ์ž‘์„ฑ 4. ๋„์ปค 2๋ฌธ์„œ 5. ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1๋ฌธ์ œ 2022. 4. 20.
2022.04.19์˜ ๊ธฐ๋ก โ–ถ ์˜ค๋Š˜ ํ•ด์•ผํ•  ๊ณ„ํš 1. real Mysql CH2 2. Docker ๋ณธ๋ฌธ 1ํŽ˜์ด์ง€ 3. ์ž๊ธฐ์†Œ๊ฐœ์„œ ๋…ธ์…˜ ์ •๋ฆฌ 4. ๊นƒํ—ˆ๋ธŒ ์ฐจ๊ธฐ ํ”„๋กœ์ ํŠธ์šฉ ์ €์žฅ์†Œ ์ƒ์„ฑ 5. ํ…Œ์ŠคํŠธ์ฝ”๋“œ ํ”ผ๋“œ๋ฐฑ์œผ๋กœ ์ˆ˜์ • 6. ์˜ค๋ผํด ์‚ญ์ œ ๋ฐ mysql ์‚ญ์ œ ํ›„ ์žฌ์„ค์น˜ 7. ์•Œ๋ฐ” ๋ฉด์ ‘ 8. ์Šคํ”„๋ง ์งˆ๋ฌธ ๋‹ต๋ณ€ ์ •๋ฆฌ 2022. 4. 19.
[ํšŒ๊ณ ] ํ”„๋กœ์ ํŠธ (ํŠธ๋ ˆ์ด๋„ˆ ์ค‘๊ณ„ ํ”Œ๋žซํผ) โ–ถ ํ”„๋กœ์ ํŠธ ๋! (2022.3.23 ~ 2022.4.13)๋“œ๋””์–ด ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋์ด ๋‚ฌ๋‹ค! ํšŒ์˜ ์‹œ์ž‘์ผ์ด ๋ฒŒ์จ ์—Š๊ทธ์ œ ๊ฐ™์€๋ฐ.. ๋ˆˆ ๋‚ด๋ฆฌ๋Š” ์ฒซ ํšŒ์˜์ผ์— ์‹œ์ž‘์„ ํ•ด์„œ ๋๋‚˜๊ณ  ๋ณด๋‹ˆ ๋ฒš๊ฝƒ์ด ๋–จ์–ด์งˆ ๋•Œ์ด๋‹ค.์ค‘๊ฐ„์— ์žฅ์—ผ์ด๋‹ˆ, ์ฝ”๋กœ๋‚˜๋‹ˆ ํ•ด์„œ ์•„ํ”„์ง€๋งŒ ์•Š์•˜์–ด๋„ ๋” ๋นจ๋ฆฌ ๋๋‚˜๊ณ  ๋ฒš๊ฝƒ ๋ณด๋Ÿฌ ๊ฐ”์„ ํ…๋ฐ ์ฐธ ์•„์‰ฝ๋‹ค. ๋˜ ์ฝ”๋กœ๋‚˜๋ผ ์ž๊ฐ€ ์น˜๋ฃŒ๋ฅผ ์ผ์ฃผ์ผ ๋™์•ˆ ํ•ด์„œ ๋„ˆ๋ฌด ๋‹ต๋‹ตํ•ด์„œ ๋” ์†๋„๊ฐ€ ๋Š๋ ค์กŒ๋˜ ๊ฐ๋„ ์žˆ๋‹ค. ์—ญ์‹œ ๋‚˜๋Š” ์นดํŽ˜๋ฅผ ๋‚˜๊ฐ€์•ผ ๋˜๋‚˜ ๋ณด๋‹ค!  โ–ถ ํ”„๋กœ์ ํŠธ ์ „ ํšŒ์˜ ์ด์Šˆ ์‚ฌํ•ญ๋“คํ”„๋กœ์ ํŠธ๋ฅผ ์›ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ ์ฒ˜์Œ ์กฐ๋ฅผ ์งœ๊ณ  ์ง„ํ–‰ํ•˜๋ฉด์„œ ํ™•์‹คํžˆ ์ด์ „ ํ”„๋กœ์ ํŠธ ๋•Œ ๋ณด๋‹ค ์›ํ• ํ•˜๊ฒŒ ์ง„ํ–‰๋˜์—ˆ๋˜ ์ค€๋น„ ๊ณผ์ •์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ํ•œ ๊ฐ€์ง€ ์•„์‰ฌ์šด ์ ์€ UI ๊ด€๋ จ ํšŒ์˜๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ  DB ์„ค๊ณ„ ๋ถ€๋ถ„์— ๋“ค์–ด๊ฐ„ ํ›„๋กœ๋ถ€ํ„ฐ ๊ฑฐ์˜ ํŒ€์žฅํ˜•๊ณผ ๋‚˜๋งŒ ์–˜๊ธฐํ–ˆ๋˜ ์ ์ด.. 2022. 4. 18.
2022.04.18 ์˜ค๋Š˜์˜ ๊ธฐ๋ก โ–ถ ์ฃผ๊ฐ„ ์ •๋ฆฌ 1. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ด์Šˆ -> ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋‹ˆ ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜์Œ 1) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ํˆด (Gradle) -> ์–˜๋Š” ๊ทธ๋ž˜๋„ ๋ฉ”์ด๋ธ์ด๋ž‘ ๋น„์Šทํ•ด์„œ ์‰ฌ์›€ 2) ์—๋„ˆํ…Œ์ด์…˜ ์ ์šฉ์ด ์•ˆ๋˜๋Š” ๋ถ€๋ถ„ -> ์•„๋ฌด๋ฆฌ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด๋„ ์•ˆ ๋˜๋Š” ๋ถ€๋ถ„์€ ๋ฒ„์ „์ด ์—…๊ทธ๋ ˆ์ด๋“œ ๋˜๋ฉฐ ๋”ฐ๋กœ ๋ชจ๋“ˆํ™”๊ฐ€ ๋œ ๋ถ€๋ถ„์ด ๋งŽ๊ธฐ๋„ ํ•˜๊ณ , ๋”ฐ๋กœ import ํ•ด์ค˜์•ผ ํ•˜๋Š” junit์˜ ๋‹จ์ ์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค.. 3) ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ํด๋ž˜์Šค๋ช… + Test ๋ผ๊ณ  ์ด๋ฆ„ ๋ถ™์ด๋ฉด ๋จ.. 4) ์ž‘์„ฑ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธ์ฝ”๋“œ์— ๋„ฃ์ง€ ๋ง๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž. 2. ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ์ด์Šˆ (ํšŒ๊ณ  ์ž‘์„ฑํ•˜์ž) -> ์ž‘์„ฑ ์™„๋ฃŒ 3. ์Šคํ”„๋ง ๊ฐœ๋… ์ •๋ฆฌ ๊ด€๋ จ๋œ ์ด์Šˆ (์ž‘์„ฑ ์˜ˆ์ •) 1) ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ ํŒจํ„ด์ด ๊ตฌ์ฒด์ ์œผ๋กœ ๋ฌด์—‡์ธ์ง€. 2) Bean Scope.. 2022. 4. 18.
2022.04.16 ์˜ ๊ธฐ๋ก โ–ถ ์ฃผ๋ง ๊ณ„ํš 1. SpringMVC ์™„๊ฐ• 2. Gradle test ํ”„๋กœ์ ํŠธ intellij๋กœ ๊นƒ ์—ฐ๋™ 3. ์Šคํ”„๋ง ๋Œ€๋‹ต ๋ชปํ•œ ์งˆ๋ฌธ ์ •๋ฆฌ 4. ์ž๊ธฐ์†Œ๊ฐœ์„œ ์† ๋ณด๊ธฐ โ–ถ ์˜ค๋Š˜ ํ•  ์ผ 1. SpringMVC 8,90ํผ์„ผํŠธ 2. ๊นƒ ํ—ˆ๋ธŒ ์—ฐ๋™ 3. ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ 3์ฐจ ์ˆ˜์ •๋ณธ war ํŒŒ์ผ ๊ฐ•์‚ฌ๋‹˜๊ป˜ ๋ฉ”์ผ ์ „์†ก 4. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 3๊ฐœ ํ’€๊ธฐ 2022. 4. 16.
2022.03.18~03.20์˜ ๊ธฐ๋ก โ–ถ 3์ผ ๊ณ„ํš => ๊ณต๋ถ€ ๊ด€๋ จ 1) ์ˆ˜์—…(18์ผ ์ˆ˜์—…) ๋‚ด์šฉ ๋ณต์Šต 2) MVC ๊ฐ•์˜ ๊ฒฐ์ œ 3) ์Šคํ”„๋ง ๊ธฐ์ˆ  ์™„๊ฐ• 4) MVC ๊ฐ•์˜ ์ˆ˜๊ฐ• => ์ทจ์ค€ 1) ๋ฆฌํŒฉํ† ๋ง ๋งˆ๋ฌด๋ฆฌ ํ›„ ๊นƒ ํ‘ธ์‰ฌ 2) ๋ฏธํก ์งˆ๋ฌธ ๋‹ต๋ณ€ ์ฑ„์šฐ๊ธฐ(ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌ) 3) ์ˆ˜๊ฐ• ๊ฐ•์˜ ๋‚ด์šฉ ๋…ธ์…˜ ์ •๋ฆฌ โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ 1. JoinPoint & PointCut์˜ ๊ฐœ๋… ํ˜ผ๋™ ์กฐ์ธํฌ์ธํŠธ๊ฐ€ ๋ฉ”ํƒ€์ ์ธ ์ •๋ณด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ณ  ํฌ์ธํŠธ์ปท์ด ์ข€ ๋” ๊ตฌ์ฒด์ ์ธ ์ ์šฉ ์ง€์ ์ด๋‹ค! 2. MVC ๋ฆฌํŒฉํ† ๋ง์—์„œ Computer ๊ฐ์ฒด ์ฃผ์ž… ์‹œ์ ์˜ ๋ฌธ์ œ โ–ถ ๊ฐœ์ธ ๊ณต๋ถ€ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์ถ”์ƒํ™”: Converter์™€ Formatter public class EventConverter { public static class StringToEventConverter implements Co.. 2022. 3. 19.
2022.03.17์˜ ๊ธฐ๋ก โ–ถ ์˜ค๋Š˜ ๊ณ„ํš => ๊ณต๋ถ€ ๊ด€๋ จ 1) ์ˆ˜์—… ๋‚ด์šฉ ๋ณต์Šต 2) MVC ๊ฐ•์˜ ๊ฒฐ์ œ 3) ์Šคํ”„๋ง ๊ฐ•์˜ 50% ๋‹ฌ์„ฑ ๋ฐ Spring AOC๊นŒ์ง€๋งŒ ๋ณผ ์ˆ˜ ์žˆ์Œ ๋ณด๊ธฐ โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ 1. Validation ์ถ”์ƒํ™” ์ง„ํ–‰ ์‹œ ์—๋„ˆํ…Œ์ด์…˜ ์ž‘์„ฑ ๋ถˆ๊ฐ€ โ–ถ ๊ฐœ์ธ ๊ณต๋ถ€ IoC ์ปจํ…Œ์ด๋„ˆ 6๋ถ€: Environment 1๋ถ€. ํ”„๋กœํŒŒ์ผ ํ”„๋กœํŒŒ์ผ๊ณผ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์ธํ„ฐํŽ˜์ด์Šค. ApplicationContext extends EnvironmentCapable โ— getEnvironment() ํ”„๋กœํŒŒ์ผ โ— ๋นˆ๋“ค์˜ ๊ทธ๋ฃน โ— Environment์˜ ์—ญํ• ์€ ํ™œ์„ฑํ™”ํ•  ํ”„๋กœํŒŒ์ผ ํ™•์ธ ๋ฐ ์„ค์ • ํ”„๋กœํŒŒ์ผ ์œ ์ฆˆ์ผ€์ด์Šค โ— ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ๋Š” A๋ผ๋Š” ๋นˆ์„ ์‚ฌ์šฉํ•˜๊ณ , ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ๋Š” B๋ผ๋Š” ๋นˆ์„ ์“ฐ๊ณ  ์‹ถ๋‹ค. โ— ์ด ๋นˆ์€ ๋ชจ๋‹ˆํ„ฐ๋ง ์šฉ๋„๋‹ˆ๊นŒ ํ…Œ์ŠคํŠธํ•  ๋•Œ๋Š” ํ•„์š”๊ฐ€ ์—†.. 2022. 3. 17.
2022.03.16์˜ ๊ธฐ๋ก โ–ถ ์˜ค๋Š˜ ๊ณ„ํš => ๊ณต๋ถ€ ๊ด€๋ จ 1) ์ˆ˜์—… ๋‚ด์šฉ ๋ณต์Šต 2) ์Šคํ”„๋ง PSA ์ˆ˜๊ฐ• 3) ์ธํ…”๋ฆฌ์ œ์ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ… 4) ์ค‘๊ธ‰ ๊ฐ•์˜ ๊ฒฐ์ œ ๋ฐ 1,2๊ฐ•? ์ˆ˜๊ฐ• โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ 1. ๋นˆ ๋“ฑ๋ก ๋ฌธ์ œ > ๋กœ๊ทธ๋Œ€๋กœ ์—๋„ˆํ…Œ์ด์…˜์œผ๋กœ ๋นˆ ๋“ฑ๋ก 2. ์ปดํฌ๋„ŒํŠธ ์Šค์บ”์—์„œ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค๋ฅผ ๋นˆ์œผ๋กœ ๋“ฑ๋ก ๋ฌธ์ œ @SpringBootApplication public class Demospring51Application { @Autowired MyService myService; public static void main(String[] args) { var app = new SpringApplication(Demospring51Application.class); app.addInitializers((ApplicationContextI.. 2022. 3. 16.
2022.03.15์˜ ๊ธฐ๋ก โ–ถ ์˜ค๋Š˜ ๊ณ„ํš => ๊ณต๋ถ€ ๊ด€๋ จ 1) ์ˆ˜์—… ๋‚ด์šฉ ๋ณต์Šต 2) MVC ๊ฐ์ฒด์ง€ํ–ฅ ๋ฆฌํŒฉํ† ๋ง 3) ์Šคํ”„๋ง ๊ฐ•์˜ ์ˆ˜๊ฐ• ๋ชฉํ‘œ 8,9๊ฐ• โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ โ— MVC ๋ฆฌํŒฉํ† ๋ง โ— 1. enum๋„ view์— ์˜์กดํ•˜๋ฉด ์•ˆ๋œ๋‹ค. public class Controller { // ๊ฒŒ์ž„ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ•„๋“œ private Result result; // play ๋ฉ”์„œ๋“œ public void playRsp(Rsp playerRsp) throws RspException { // ์‚ฌ์šฉ์ž ๊ฐ์ฒด ์ƒ์„ฑ final Player player = new Player(playerRsp); // ๊ฒŒ์ž„๊ฒฐ๊ณผ ๋ฐ˜ํ™˜๊ฐ’์„ ํ•„๋“œ์— ์ €์žฅ this.result = player.play(); // ๊ฐ€์œ„๋ฐ”์œ„๋ณด ์ƒํƒœ ๊ฐ’ ์ถœ๋ ฅ ViewOutput.whatYouInput.. 2022. 3. 15.
2022.03.14์˜ ๊ธฐ๋ก โ–ถ 3์ผ ๊ณ„ํš => ๊ณต๋ถ€ ๊ด€๋ จ 1) ์ˆ˜์—… ๋‚ด์šฉ ๋ณต์Šต 2) MVC ๊ฐ์ฒด์ง€ํ–ฅ ๋ฆฌํŒฉํ† ๋ง 3) ์Šคํ”„๋ง ๊ฐ•์˜ ์ˆ˜๊ฐ• => ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ 1) ๋…ธ์…˜์— ํ”ผ๋“œ๋ฐฑ ์ •๋ฆฌ โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ 1. ์ธํ…”๋ฆฌ์ œ์ด ๋ฉ”์ด๋ธ ๋นŒ๋“œ ํ›„ jar ํŒŒ์ผ์„ ์ฐพ๋˜ ๋„์ค‘ ์—๋Ÿฌ ๋ฐœ์ƒ > ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์„œ ํ•ด๊ฒฐ 2. ์ด๋ฆ„ ๊ฒ€์ƒ‰์„ FirstName์œผ๋กœ ๋ฐ”๊พธ๊ธฐ @GetMapping("/owners") public String processFindForm(@RequestParam(defaultValue = "1") int page, Owner owner, BindingResult result, Model model) { // allow parameterless GET request for /owners to return all records if (owner.. 2022. 3. 14.
2022.03.11~03.13์˜ ๊ธฐ๋ก โ–ถ 3์ผ ๊ณ„ํš=>  ๊ณต๋ถ€ ๊ด€๋ จ1) ์ˆ˜์—… ๋‚ด์šฉ ๋ณต์Šต2) MVC ๊ฐ์ฒด์ง€ํ–ฅ ๋ฆฌํŒฉํ† ๋ง ์™„๋ฃŒ3) ๊ธฐ์ˆ  ์งˆ๋ฌธ ๋‹ต๋ณ€ ๋…ธ์…˜ ์ •๋ฆฌ ๋ฐ SOLID ์˜ˆ์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OCP & DIP & ISP)4) 8๊ฐœ์˜ ๋””์ž์ธ ํŒจํ„ด ์ •๋ฆฌ => ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ1) ERD ๊ทธ๋ ค ๋†“๊ณ  pdf๋กœ ๋งŒ๋“ค์–ด๋†“๊ธฐ2) ์ด๋ฏธ์ง€ ์ˆ˜์ง‘ ๋งˆ์šฐ์Šค ๊ฑด์ „์ง€ ๋ฐ”๊ฟ”๋ผ!! [์™„๋ฃŒ]โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ1. ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์ฃผ์ž…์€ ๊ดœ์ฐฎ์Œ. ํ•˜์ง€๋งŒ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์œผ๋กœ ์˜์กดํ•˜์ง€ ๋ง๊ฒƒ (ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ์–ด๋ ค์›€)> ํ”Œ๋ ˆ์ด์–ด๋กœ ์ปดํ“จํ„ฐ๋ฅผ ์ฃผ์ง€๋ง๊ณ  ์™ธ๋ถ€์—์„œ ๋น„๊ต๊ฐ’์„ ์–ป์–ด๋ผpublic class Player { private final Rsp playerRsp; private final Computer computer = new Computer(); // setter ๋Œ€์‹  ์ƒ์„ฑ์ž๋กœ ์ฃผ์ž…์‹œ์ผœ.. 2022. 3. 12.
2022.03.08~03.10 ์˜ ๊ธฐ๋ก โ–ถ 3์ผ ๊ณ„ํš=>  ๊ณต๋ถ€ ๊ด€๋ จ1) ์Šคํ”„๋ง ๊ฐœ๊ตฌ๋ฆฌ์ฑ… ์™„๋… ํ›„ ๋…ธ์…˜ ๋ฐ ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ2) MVC ๊ฐ์ฒด์ง€ํ–ฅ ๋ฆฌํŒฉํ† ๋ง ํ•˜๋ฃจ์ข…์ผ (9์ผ ์˜ค๋Š˜)3) ๊ธฐ์ˆ  ์งˆ๋ฌธ ๋‹ต๋ณ€ ๋…ธ์…˜ ์ •๋ฆฌ ๋ฐ SOLID ์˜ˆ์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ => ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ1) DB ํ…Œ์ด๋ธ” ์™„์„ฑ ๋ฐ select JOIN ๋Œ€๋žต์ ์ธ ์ฟผ๋ฆฌ๋ฌธ ์ž‘์„ฑ2) git ํ˜‘์—…โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ1. ๊ฐ์ฒด ๊ฐ„์˜ ๊ด€๊ณ„> ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์œผ๋กœ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฆฌ2. ๋‚ด๋ถ€ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ Model์—์„œ ์ผ์–ด๋‚˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค> ์ƒ์ˆ˜์˜ ๋‚˜์—ด์ธ enum ํด๋ž˜์Šค์—์„œ ํ•ด๊ฒฐ3. setter ๋ฉ”์„œ๋“œ์˜ ์ƒ๋žต (๋ถˆ๋ณ€์„ฑ์„ ์ง€์ผœ๋ผ)> ์ƒ์„ฑ์ž์˜ ์ฃผ์ž…์œผ๋กœ ํ•ด๊ฒฐ4. ๊ฐ’ ์ž์ฒด์˜ ๋น„๊ต๋ณด๋‹ค ํƒ€์ž…์˜ ์˜๋ฏธ๋ฅผ ๋” ์‚ด๋ ค์„œ ๋น„๊ต> ํƒ€์ž…์„ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ™์€ ํƒ€์ž…๋ผ๋ฆฌ์˜ ๋น„๊ต๊ฐ€ ์ฝ”๋“œ ์ž‘์„ฑ์˜ ๊ฐ€๋…์„ฑ์ด ์ข‹๋‹ค. 5. ๋ชจ๋ธ์—์„œ ๋ทฐ ์˜์กด์„.. 2022. 3. 9.
2022.03.07 ์˜ ๊ธฐ๋ก โ–ถ ํ•˜๋ฃจ => ๊ณต๋ถ€ ๊ด€๋ จ 1) ์Šคํ”„๋ง ๊ฐœ๊ตฌ๋ฆฌ์ฑ… CH6 2) MVC ๊ฐ์ฒด์ง€ํ–ฅ ๋ฆฌํŒฉํ† ๋ง 3) ๊ธˆ์ผ ๋ฐฐ์šด ๋‚ด์šฉ ๋ณต์Šต => ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ 1) DB ์žฌํ™•์ธ โ–ถ ๊ฐœ์ธ ๊ณต๋ถ€ 5์žฅ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ 5์›์น™ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ 5์›์น™ ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๊ฐœ๋…๊ณผ 4๋Œ€ ํŠน์„ฑ ์ข‹์€ ๋„๊ตฌ์„ ์•Œ๊ฒŒ๋จ. ์ข‹์€ ๋„๊ตฌ๊ฐ€ ์žˆ์–ด๋„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„์•ผ ์ข‹์€ ์š”๋ฆฌ๊ฐ€ ๋‚˜์˜ด. ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ (Object Oriented Design) 5์›์น™ SOLID (๊ฐ์ฒด ์ง€ํ–ฅ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•) SRP (Single Responsibility Principle) : ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ OCP (Open Closed Princinple) : ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™ LSP (Liskov Substitution Principle) : ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™ I.. 2022. 3. 7.
2022.03.05~03.06 ์˜ ๊ธฐ๋ก โ–ถ ํ•˜๋ฃจ =>  ๊ณต๋ถ€ ๊ด€๋ จ1) ์Šคํ”„๋ง ๊ฐœ๊ตฌ๋ฆฌ์ฑ… CH5๊นŒ์ง€ ์ฝ๊ณ  ์ •๋ฆฌ2) MVC ๊ฐ์ฒด์ง€ํ–ฅ ๋ฆฌํŒฉํ† ๋ง ํ›„ ํ”ผ๋“œ๋ฐฑ3) ๊ธฐ์ˆ  ์งˆ๋ฌธ ๋‹ต๋ณ€ ๋ชปํ•œ ๋ถ€๋ถ„ ๋…ธ์…˜์— ์ •๋ฆฌ => ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ1) DB ERD ๊ทธ๋ ค๋†“๊ธฐ & ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ์ •๋ฆฌ2) git ํ˜‘์—…โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ1. ์ƒ์ˆ˜์˜ ์ค‘๋ณต๊ณผ ๋ฒ”๋žŒ์œผ๋กœ ๋‚œํ•ดํ•œ ์ฝ”๋“œํ•ด๊ฒฐ > enum ํด๋ž˜์Šค 3๊ฐœ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ํ•ด๊ฒฐpackage Enum;public enum PrintGameResult { WIN_RESULT("๋‹˜์ด ์ด๊ฒผ์Šต๋‹ˆ๋‹ค."), DRAW_RESULT("๋น„๊ฒผ์Šต๋‹ˆ๋‹ค."), LOSE_RESULT("์ปดํ“จํ„ฐ๊ฐ€ ์ด๊ฒผ์Šต๋‹ˆ๋‹ค."); private final String printGameResult; PrintGameResult(String printGameResult) { this.pri.. 2022. 3. 5.
2022.03.03 ์˜ ๊ธฐ๋ก โ–ถ ํ•˜๋ฃจ => ๊ณต๋ถ€ ๊ด€๋ จ 1) ์Šคํ”„๋ง ๊ฐœ๊ตฌ๋ฆฌ์ฑ… CH4 2) MVC ๊ฐ์ฒด์ง€ํ–ฅ ๋ฆฌํŒฉํ† ๋ง (์—ด๊ฑฐํ˜•, ์ธํ„ฐํŽ˜์ด์Šค ๊ณ ๋ฏผ) 3) ๊ธˆ์ผ ์ˆ˜์—… ๋ณต์Šต => ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ 1) DB ๋งˆ๋ฌด๋ฆฌ ํšŒ์˜ 2) ์ถ”ํ›„ ๋””ํ…Œ์ผ ์—…๋ฌด ์ •๋ฆฌ 3) ๋‹ค์Œ ํšŒ์˜ํ•  ๊ฒƒ git ํ˜‘์—… โ–ถ ๋ฌธ์ œ ์ •๋ฆฌ 1. โ–ถ ๊ฐœ์ธ ๊ณต๋ถ€ public class ViewInput { private static final String RSP_INPUT = "1, 2, 3 ์ค‘์—์„œ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”."; private static final String RESTART_INPUT = "์žฌ์‹œ์ž‘ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (y:n)"; private static final Scanner SCANNER = new Scanner(System.in); public ViewInput() { }.. 2022. 3. 3.
๋ฐ˜์‘ํ˜•