๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€421

[Java DeepDive] - List (ArrayList) ๐Ÿ“Ž List (ArrayList) ์•ˆ๋…•ํ•˜์„ธ์š”, ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Java์˜ Collection Framework ์ค‘ ํ•˜๋‚˜์ธ List์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. List ์ธํ„ฐํŽ˜์ด์Šค๋Š” Collection ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Collection ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ, ์‚ญ์ œ, ์‚ฝ์ž… ๊ธฐํƒ€ ๋“ฑ๋“ฑ์˜ ๋กœ์ง์„ ๋ณด๋‹ค ํŽธํ•˜๊ฒŒ API๋กœ ์ž‘์„ฑํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด๋‹ค ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋„์™€์ฃผ๋Š” ์ž๋ฐ”์˜ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด Collection์€ collection hierarchy์˜ ์ตœ์ƒ์œ„ ์ธํ„ฐํŽ˜์ด์Šค์ด๋ฉฐ ํ•˜์œ„ ์ธํ„ฐํŽ˜์ด์Šค์ธ List, Queue, Set ๋“ฑ์ด ์ด๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์žˆ๊ณ , List ์ธํ„ฐํŽ˜์ด์Šค๋Š” ArrayList, Vector, LinkedList์˜ ๊ตฌํ˜„์ฒด๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” List ์ธํ„ฐํŽ˜.. 2022. 10. 29.
Spring Batch (2) ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ ๋ฐ ์˜์กด์„ฑ ์„ค์ •, Hello World ๐Ÿ“Œ ํ•ด๋‹น ํฌ์ŠคํŒ…์˜ ๋ชฉํ‘œ Spring Batch ํ”„๋กœ์ ํŠธ ์„ค์ • Spring Batch ์„ค์ • ๋‚ด๋ถ€ Spring Batch Hello World ๐Ÿ“Œ Spring Batch ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์€ IntelliJ, Java 11, Gradle, MySQL(Docker), H2, Spring Boot, Batch ๋“ฑ์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. (ํ”„๋กœ์ ํŠธ ์„ค์ • ๊ด€๋ จ ์„ค๋ช…์€ ์—†์œผ๋‹ˆ GitHub๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.) ๐Ÿ“Œ Spring Batch ์˜์กด์„ฑ ์„ค์ • ์Šคํ”„๋ง ๋ฐฐ์น˜๋ฅผ ์ž‘๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋ฉ”์ธ ํด๋ž˜์Šค์— @EnableBatchProcessing ์–ด๋…ธํ…Œ์ด์…˜์„ ์„ ์–ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;.. 2022. 10. 29.
Spring Batch (1) ๊ฐœ์š” ํšŒ์‚ฌ์—์„œ Spring Batch ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๊ฐ€ ์•„๋‹Œ, ๋‹จ์ˆœ 1ํšŒ์„ฑ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ ˆ๊ฑฐ์‹œ ํ”„๋กœ์ ํŠธ๋ฅผ Spring Batch ํ”„๋กœ์ ํŠธ๋กœ ์กฐ๊ธˆ์”ฉ ์ด๊ด€ํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”, ๊ธฐ์กด์— ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ํŒŒ์•…ํ•œ ํ›„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋‹ˆ Spring Batch์˜ ์‚ฌ์ƒ์ด๋‚˜ ๊ฐœ๋…, ์œ ์šฉํ•œ ๊ธฐ๋Šฅ(skip, retry, chunk, listener ๋“ฑ๋“ฑ)๋“ค์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์ง€ ๋ชปํ•œ์ฑ„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Spring Batch ํ”„๋กœ์ ํŠธ์˜ ๋ฐฐ๊ฒฝ๋ถ€ํ„ฐ ๊ฐœ๋…, ์šฉ์–ด, ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ๋“ฑ๋“ฑ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜์—ฌ ํ•™์Šตํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŒ…์˜ ๋ชฉํ‘œ Spring Batch ์†Œ๊ฐœ Spring Batch ๋ฐฐ๊ฒฝ Spring Batch ์•„ํ‚คํ…์ฒ˜ Spring Batch ๊ตฌ.. 2022. 10. 28.
[Java DeepDive] - String (2) ๋‚ด์žฅ ํ•จ์ˆ˜ ๐Ÿ“Ž String (2) - ๋‚ด์žฅ ํ•จ์ˆ˜ ์•ˆ๋…•ํ•˜์„ธ์š”, ์ง€๋‚œ ์‹œ๊ฐ„์—๋Š” String - ๋ฌธ์ž์—ด ์ƒ์„ฑ ๊ด€๋ จํ•ด์„œ ์‚ดํŽด๋ณด์•˜๋Š”๋ฐ์š”, ์ด๋ฒˆ์—๋Š” String ํด๋ž˜์Šค์— ์กด์žฌํ•˜๋Š” ๋ฉ”์„œ๋“œ๋“ค ์ค‘ ์ผ๋ถ€ ๋ฉ”์„œ๋“œ๋“ค์— ๋Œ€ํ•ด ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. (์˜ˆ์ œ ์ฝ”๋“œ๋Š” ๊นƒํ—ˆ๋ธŒ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฒ„์ „์€ Java 11์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.) String ํด๋ž˜์Šค ๋‚ด์˜ ๋ฉ”์„œ๋“œ๋“ค์€ ์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๊ต‰์žฅํžˆ ๋งŽ์ด ์กด์žฌํ•˜๋Š”๋ฐ์š”, ๊ฐœ์ธ์ ์œผ๋กœ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋“ค์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. · String.length() @Stable private final byte[] value; ... static final boolean COMPACT_STRINGS; static { COMPACT_STRINGS = true; } ... public int lengt.. 2022. 10. 23.
[Java DeepDive] - String (1) ๋ฌธ์ž์—ด ์ƒ์„ฑ ๐Ÿ“Ž String (1) - ๋ฌธ์ž์—ด ์ƒ์„ฑ ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํƒ€์ž… ์ค‘ ํ•˜๋‚˜์ธ ๋ฌธ์ž์—ด(String)์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. (์˜ˆ์ œ ์ฝ”๋“œ๋Š” ๊นƒํ—ˆ๋ธŒ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฒ„์ „์€ Java 11์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.) String ๋ฌธ์ž์—ด ์ƒ์„ฑ - new, literal ๋ณดํ†ต ์ž๋ฐ”์—์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” new ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€๋งŒ, String์˜ ๊ฒฝ์šฐ ๋ฆฌํ„ฐ๋Ÿด(literal)์„ ํ†ตํ•ด ๊ฐ’์„ ๋ฐ”๋กœ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. public static void main(String[] args) { final String str1 = "JuHyun"; // [1] final String str2 = "JuHyun"; // [2] final String str3 = new String("JuHyun"); .. 2022. 10. 10.
Spring + MyBatis์—์„œ ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ์™€ ๊ฐ์ฒด๊ฐ€ ๋งคํ•‘์ด ๋˜๋Š” ๊ณผ์ • ๐Ÿงท Spring + MyBatis์—์„œ ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ์™€ ๊ฐ์ฒด๊ฐ€ ๋งคํ•‘์ด ๋˜๋Š” ๊ณผ์ • ์Šคํ”„๋ง์—์„œ ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, Select ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ์™€ ๊ฐ์ฒด(Dto)๊ฐ€ ์–ด๋– ํ•œ ์ž‘์—…์„ ํ†ตํ•ด ๋งคํ•‘์ด ๋˜๋Š”์ง€ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋งคํ•‘ ๊ณผ์ •์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. (๋‹น์—ฐํžˆ ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ํ”ผ๋“œ๋ฐฑ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜‚) ๐ŸŒˆ ๊ฐœ์š” Spring๊ณผ MyBatis์—์„œ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์™€ ๊ฐ์ฒด์˜ ๋งคํ•‘์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จํ•˜์—ฌ ์–ด๋– ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋งคํ•‘์„ ์ง„ํ–‰ํ•˜๋Š”์ง€, ์ข‹์€ ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€ ๋“ฑ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ”– ๊ฒฐ๋ก  ํฌ์ŠคํŒ…์ด ๊ฝค๋‚˜ ์žฅ๋ฌธ์ด๊ธฐ์—,, ๋งคํ•‘ ๊ณผ์ •์— ๋Œ€ํ•ด ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋ง์”€๋“œ๋ฆฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ƒ์„ฑ์ž(NoArgs)๋งŒ ์กด์žฌํ•  ๊ฒฝ์šฐ, ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์™€ ๊ฐ์ฒด์˜ ๋งคํ•‘์ด ์ •์ƒ์ ์œผ๋กœ ์ง„.. 2022. 10. 3.
์ธํ”„์ฝ˜ 2022 - (๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ) ๊ฐœํŽธ์˜ ๊ธฐ์ˆ  ๐Ÿ“Ž (๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ) ๊ฐœํŽธ์˜ ๊ธฐ์ˆ  ๋ฐฐ๋‹ฌ ํ”Œ๋žซํผ์—์„œ ๊ฒช์€ N๋ฒˆ์˜ ๊ฐœํŽธ ๊ฒฝํ—˜๊ธฐ, ์šฐ์•„ํ•œํ˜•์ œ๋“ค ๊ถŒ์šฉ๊ทผ๋‹˜ ์ตœ๊ทผ ํšŒ์‚ฌ ์—…๋ฌด๋˜ํ•œ ๋ ˆ๊ฑฐ์‹œ ๋ถ€๋ถ„๋“ค์„ ๊ฐœ์„ ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์šด์˜ํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๊ธฐ์— ์ธํ”„์ฝ˜์—์„œ ๊ฐ€์žฅ ๊ด€์‹ฌ์ด ๊ฐ„ ์„น์…˜ ์ค‘ ํ•˜๋‚˜์ธ๋ฐ์š”, ๊ณต๊ฐ๊ฐ€๋Š” ๋ถ€๋ถ„๋„ ๊ต‰์žฅํžˆ ๋งŽ๊ณ  ๋‚ด์šฉ์ด ๋งค์šฐ ์œ ์ตํ•˜๊ธฐ์— ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. (ํ˜น์‹œ ์ด๋ฏธ์ง€์™€ ๊ด€๋ จํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.) ์ „์ฒด ์„น์…˜์€ ์•„๋ž˜ ๋งํฌ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ƒ https://www.inflearn.com/course/infcon2022/dashboard [๋ฌด๋ฃŒ] ์ธํ”„์ฝ˜ 2022 ๋‹ค์‹œ๋ณด๊ธฐ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์ธํ”„๋Ÿฐ์˜ ์ฒซ ์˜คํ”„๋ผ์ธ ์ฝ˜ํผ๋Ÿฐ์Šค, ์ธํ”„์ฝ˜ 2022์—์„œ ์ง„ํ–‰๋œ ์˜คํ”„๋‹ ๋ฐ ๋ฐœํ‘œ ์„ธ์…˜์„ ์˜์ƒ์œผ๋กœ ๋‹ค์‹œ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค., - ๊ฐ•์˜ ์†Œ๊ฐœ |.. 2022. 9. 24.
JUnit5 assertThat vs assertAll vs assertSoftly ๐Ÿ“Ž JUnit5 assertThat vs assertAll vs assertSoftly ํ‰์†Œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ assertThat ํ˜น์€ assertAll ๋‚ด๋ถ€์— assertThat์„ ์ž‘์„ฑํ–ˆ์—ˆ๋Š”๋ฐ์š”, ์ด๋ฒˆ์— SoftAssertions์˜ assertSoftly๋ผ๋Š” ๊ฒ€์ฆ ๋ฉ”์†Œ๋“œ๋ฅผ ์•Œ๊ฒŒ๋˜์–ด ๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜€ โœ๏ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.SoftAssertions.assertSoftly; import static org.junit.jupiter.api.Assertions.ass.. 2022. 9. 17.
Git Sqaush๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Commit logs ํ•ฉ์น˜๊ธฐ(Git Rebase) ๐Ÿ“Ž Git Sqaush๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Commit logs ํ•ฉ์น˜๊ธฐ(Git Rebase) ์•ˆ๋…•ํ•˜์„ธ์š”, ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์—ฌ๋Ÿฌ ์ปค๋ฐ‹๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต git์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ปค๋ฐ‹์„ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์˜ˆ๋ฅผ ๋“ค๋ฉด.. ๊ฐœ๋ฐœ ์„œ๋ฒ„์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ฟผ๋ฆฌ๋‚˜ ๋ฐ์ดํ„ฐ ์กฐ์ž‘๋“ฑ์˜ ๋ถˆํ•„์š”ํ•œ ์˜ˆ์‹œ๊ฐ€ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.) ๋ฌดํŠผ, ์ด๋Ÿฌํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ ค๋ฉด ํ…Œ์ŠคํŠธ commit - ๋กค๋ฐฑ commit์œผ๋กœ ์ตœ์†Œ 2๋ฒˆ ์ด์ƒ ๋ถˆํ•„์š”ํ•œ ์ปค๋ฐ‹์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ, Git Squash๋ฅผ ํ†ตํ•ด ๋ถˆํ•„์š”ํ•œ ์ปค๋ฐ‹ ๋กœ๊ทธ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Squash ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด Git Rebase๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ์š”, ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์ด๋ ฅ์„ ๋ณด๋‹ค ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด.. 2022. 9. 15.
Github ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ปค๋ฐ‹ ์ด๋ ฅ ์œ ์ง€ํ•œ ์ฑ„ ๋‹ค๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ๋ณต์ œํ•˜๊ธฐ ๐Ÿ“Ž Github ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ปค๋ฐ‹ ์ด๋ ฅ ๋ณด๊ด€ํ•œ ์ฑ„ ๋ณต์ œํ•˜๊ธฐ ๊ธฐ์กด ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋‚ด์šฉ์„ ์ƒˆ๋กœ์šด ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์ด๋ ฅ์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ณต์ œ๋ฅผ ํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ์š”, ์ด ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•˜๋ฉด ๊ธฐ์กด ์ด๋ ฅ์„ ์œ ์ง€ํ•œ ์ฑ„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Design-Pattern-Study ํด๋”๊ฐ€ ๊ธฐ์กด์— ์กด์žฌํ•˜๋˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์ด๊ณ , to ํด๋”๊ฐ€ ์ด๋™ํ•  ๋ ˆํฌ์ง€ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ธฐ์กด Design-Pattern-Study ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ์ด๋ ฅ์„ ๊ทธ๋Œ€๋กœ ๋ณด๊ด€ํ•œ ์ฑ„ to ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ์˜ฎ๊ฒจ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿฅ• ์ „์ฒด ๊ณผ์ •์„ ๋ช…๋ น์–ด๋กœ ๊ฐ„๋‹จํžˆ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. // to ํด๋”๋กœ ์ด๋™ cd to // main(master) ๋ธŒ๋žœ์น˜๋กœ ๋ณ€๊ฒฝ git checkout main(master) // ๊ธฐ์กด ๋ ˆํฌ์ง€ํ† ๋ฆฌ url ์ถ”๊ฐ€ : cloneํ•  ๋•Œ ๋ณต์‚ฌ.. 2022. 9. 9.
๋ฐ˜์‘ํ˜•