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

Java260

Java ํด๋ž˜์Šค ์„ค๊ณ„ ์•ˆ์ „ํ•˜๊ฒŒ ์ž˜ ํ•˜๊ธฐ ํด๋ž˜์Šค๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ดˆ๊ธฐ ๋‹จ๊ณ„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ, ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์—์„œ ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์„ค๊ณ„๋ฅผ ์ž˜ ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋– ํ•œ ์ ๋“ค์„ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ง€ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค ์˜ˆ์ œ๋Š” ๊ธˆ์•ก์„ ๋‚˜ํƒ€๋‚ด๋Š” Money ํด๋ž˜์Šค๋ฅผ ํ† ๋Œ€๋กœ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์ •์ƒ์ ์ธ ๊ฐ’ ์„ค์ •ํ•˜๊ธฐ ์œ„์™€ ๊ฐ™์ด ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์„ ๋ฐ›๋Š” ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๋ฐ, ์œ„์˜ ๋ฌธ์ œ์ ์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ž˜๋ชป๋œ ๊ฐ’์ด ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์œ„์˜ ๊ฒฝ์šฐ ๊ฐ์ฒด๋Š” ์ •์ƒ์ ์œผ๋กœ ์ƒ์„ฑ๋˜์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜์—ฌ ๊ฐ์ฒด๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค๋ฉด ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ž˜๋ชป๋œ ๊ฐ’์ด ์œ ์ž…๋˜์ง€ ๋ชปํ•˜๊ฒŒ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ธˆ์•ก (amount): 0 ์ด์ƒ์˜ ์ •์ˆ˜ ํ†ตํ™” (currency): null .. 2023. 12. 16.
TDD, ํด๋ฆฐ ์ฝ”๋“œ with Java (๋ฏธ์…˜ 2. ๋กœ๋˜ - TDD) ์ง€๋‚œ๋ฒˆ ๋ฏธ์…˜ 1. ์ž๋™์ฐจ ๊ฒฝ์ฃผ - ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ , ์ด์–ด์„œ ๋ฏธ์…˜ 2. ๋กœ๋˜๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ์…˜ 1๋ณด๋‹ค๋Š” ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ, ๋ชจ๋“  ๋ฏธ์…˜์„ ๋๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์กฐ๊ธˆ ๋” ์†๋„๋ฅผ ๋‚ด์•ผ๊ฒ ๋„ค์š”... ๐Ÿ˜ญ 1๋‹จ๊ณ„ - ๋ฌธ์ž์—ด ์‹ค์Šต 1๋‹จ๊ณ„๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ž์—ด ์‚ฌ์น™ ์—ฐ์‚ฐ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฏธ์…˜์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 2 + 3 * 4 / 2์™€ ๊ฐ™์€ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•  ๊ฒฝ์šฐ 2 + 3 * 4 / 2 ์‹คํ–‰ ๊ฒฐ๊ณผ์ธ 10์„ ์ถœ๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ๋์—๋Š” ๊ฐœํ–‰์„ ์ถ”๊ฐ€ํ•˜์ž ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด ๋ณด๋ฉด ๊ฐœํ–‰์€ ํ•˜๋‚˜์˜ ํ–‰์„ ์ •์˜ํ•˜๋Š” ํ‘œ์ค€์œผ๋กœ ๊ฐœํ–‰์ด ์—†๋‹ค๋ฉด ๋๋‚˜์ง€ ์•Š์€ ํ–‰์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์˜ ๋์—๋Š” ๊ฐœํ–‰์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. https://velog.io/@doondoony/posix-eol ๊ทธ๋™์•ˆ ํŒŒ์ผ ๋์— ๊ฐœํ–‰์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ.. 2023. 5. 13.
TDD, ํด๋ฆฐ ์ฝ”๋“œ with Java (๋ฏธ์…˜ 1. ์ž๋™์ฐจ ๊ฒฝ์ฃผ - ๋‹จ์œ„ ํ…Œ์ŠคํŠธ) 4์›” ์ดˆ๋ถ€ํ„ฐ NEXTSTEP์—์„œ ์ง„ํ–‰ํ•˜๋Š” TDD, ํด๋ฆฐ ์ฝ”๋“œ with Java ๊ณผ์ •์„ ๋“ฃ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋…„๋ถ€ํ„ฐ ๊ณ„์† ๋“ค์–ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‹ค๊ฐ€ ์˜ฌํ•ด ๋“ฃ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ๋งˆ์นจ ๋น„์Šทํ•œ ์‹œ๊ธฐ์— ๋ฒˆ์•„์›ƒ์ด ์™€๋ฒ„๋ ค์„œ.. ๐Ÿ˜ญ ์ฒซ ๋ฒˆ์งธ ๋ฏธ์…˜๋„ ๊ต‰์žฅํžˆ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋„ค์š”. ๐Ÿ˜ญ๐Ÿ˜ญ ๊ต์œก์—์„œ ์ง„ํ–‰ํ•œ ๋ฏธ์…˜๋“ค์„ ํ† ๋Œ€๋กœ ๋ฐฐ์šด ๋‚ด์šฉ ๋ฐ ํ”ผ๋“œ๋ฐฑ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. (ํ˜น์‹œ ๋‹ค๋ฅด๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋Š” ํฌ์ธํŠธ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด, ๋ง์”€ํ•ด ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ™) ์ฒซ ๋ฒˆ์งธ ๋ฏธ์…˜์ธ ์ž๋™์ฐจ ๊ฒฝ์ฃผ - ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์—๋Š” ์ด 5๊ฐœ์˜ ๋ฏธ์…˜์ด ์กด์žฌํ•˜๊ณ , ๊ฐ ๋ฏธ์…˜๋งˆ๋‹ค ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ PR์„ ๋ณด๋‚ด๋ฉด ๋ฆฌ๋ทฐ์–ด๊ฐ€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•ด์ฃผ๋Š” ์‹์œผ๋กœ ์ง„ํ–‰์ด ๋˜๋Š”๋ฐ์š”, ์ž๋™์ฐจ ๊ฒฝ์ฃผ ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๋ฐ›์•˜๋˜ ๋ฆฌ๋ทฐ ๋ฐ ์ƒˆ๋กœ ์•Œ๊ฒŒ ๋œ ๋‚ด์šฉ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1๋‹จ๊ณ„ - ํ•™์Šต ํ…Œ์ŠคํŠธ ์‹ค์Šต 1๋‹จ๊ณ„ ๋ฏธ.. 2023. 4. 25.
EasyRandom - Java beans๋ฅผ ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑํ•ด ์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๐Ÿ”— EasyRandom - Java beans๋ฅผ ๋žœ๋ค ์ƒ์„ฑํ•ด ์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ณดํ†ต ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๊ฐ์ฒด๋ฅผ ์ž„์˜๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด์˜ ํ•„๋“œ๊ฐ€ 1~2๊ฐœ๋ผ๋ฉด ์ƒ๊ด€์—†๊ฒ ์ง€๋งŒ, ์กฐ๊ธˆ ๋งŽ์•„์ง„๋‹ค๋ฉด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์€๊ทผ(?) ๊ท€์ฐฎ์€๋ฐ์š”, ์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๊ฐ ํ•„๋“œ์— ๋งž๋Š” ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ์„ค์ •ํ•ด ์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฝค๋‚˜ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์„ ๋•Œ, ๊ฐ์ฒด์˜ ํ•„๋“œ๋ฅผ ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ  ๊ฐ์ฒด๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ EasyRandom ์ž…๋‹ˆ๋‹ค. (์‚ฌ์šฉ๋ฒ•๋„ ๊ต‰์žฅํžˆ ๊ฐ„๋‹จํ•˜๋‹ˆ, ์ž์„ธํ•œ ๊ฑด ๊นƒํ—ˆ๋ธŒ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.) ๐Ÿ”— ์‚ฌ์šฉ๋ฒ• ์˜์กด์„ฑ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ˆ์ด๋“ค์€ testImplementation์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. Member ํด๋ž˜์Šค Post ํด๋ž˜์Šค EasyRandom Cust.. 2023. 1. 27.
[Java DeepDive] - Map(HashMap) 1. ๊ฐœ๋…, ํ•„๋“œ, ์ƒ์„ฑ์ž ๐Ÿ”— Map(HashMap) Java์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋Š” List์™€ Map์ด ์•„๋‹๊นŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์–ด๋””์—์„œ๋“  ๊ต‰์žฅํžˆ ๋งŽ์ด ํ™œ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์ €๋˜ํ•œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ์š”, ์ด๋ฒˆ์—๋Š” Map ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ฐœ๋…๊ณผ ์ œ๊ณต๋˜๋Š” API๋“ค, ๊ตฌํ˜„์ฒด์ธ HashMap์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. (์˜ˆ์ œ ์ฝ”๋“œ๋Š” ๊นƒํ—ˆ๋ธŒ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฒ„์ „์€ Java 11์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.) Map ์ธํ„ฐํŽ˜์ด์Šค๋Š” Collection ํ”„๋ ˆ์ž„์›Œํฌ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ํ‚ค์™€ ๊ฐ’์„ ํ•˜๋‚˜์˜ ์Œ์œผ๋กœ ์ €์žฅํ•˜๋Š” Key-Value ํ˜•์‹์˜ ์ž๋ฃŒ๊ตฌ์กฐ ์ž…๋‹ˆ๋‹ค. Key๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๊ฐ’(Value)์„ ์ฐพ๊ธฐ ์œ„ํ•œ ์—ญํ• ์„ ํ•˜๋ฉฐ Map ์ธํ„ฐํŽ˜์ด์Šค์˜ key, value๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. key๋Š” ์ค‘๋ณต์ด ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, value๋Š” ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ .. 2022. 11. 27.
[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.
[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.
์ž๋ฐ”์™€ JUnit์„ ํ™œ์šฉํ•œ ์‹ค์šฉ์ฃผ์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋ฆฌ๋ทฐ ๐Ÿ“Ž ์ž๋ฐ”์™€ JUnit์„ ํ™œ์šฉํ•œ ์‹ค์šฉ์ฃผ์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋ฆฌ๋ทฐ ๐ŸŒˆ ๋„์„œ ๋ชฉ์ฐจ ๋„์„œ์˜ ์„ธ์„ธํ•œ ๋‚ด์šฉ์„ ์ œ์™ธํ•œ ์ฑ•ํ„ฐ ๋ฐ ๊ฐ ์žฅ์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1๋ถ€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์˜ ๊ธฐ์ดˆ 1์žฅ, ์ฒซ ๋ฒˆ์งธ JUnit ํ…Œ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ 2์žฅ, JUnit ์ง„์งœ๋กœ ์จ ๋ณด๊ธฐ 3์žฅ, JUnit ๋‹จ์–ธ ๊นŠ๊ฒŒ ํŒŒ๊ธฐ 4์žฅ, ํ…Œ์ŠคํŠธ ์กฐ์ง 2๋ถ€ ๋น ๋ฅธ ์•”๊ธฐ๋ฒ• ์Šต๋“ 5์žฅ, ์ข‹์€ ํ…Œ์ŠคํŠธ์˜ FIRST ์†์„ฑ 6์žฅ, Right-BICEP: ๋ฌด์—‡์„ ํ…Œ์ŠคํŠธํ•  ๊ฒƒ์ธ๊ฐ€? 7์žฅ, ๊ฒฝ๊ณ„ ์กฐ๊ฑด: CORRECT ๊ธฐ์–ต๋ฒ• 3๋ถ€ ๋” ํฐ ์„ค๊ณ„ ๊ทธ๋ฆผ 8์žฅ, ๊น”๋”ํ•œ ์ฝ”๋“œ๋กœ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ 9์žฅ, ๋” ํฐ ์„ค๊ณ„ ๋ฌธ์ œ 10์žฅ, ๋ชฉ ๊ฐ์ฒด ์‚ฌ์šฉ 11์žฅ, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง 4๋ถ€ ๋” ํฐ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ทธ๋ฆผ 12์žฅ, ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ 13์žฅ, ๊นŒ๋‹ค๋กœ์šด ํ…Œ์ŠคํŠธ 14์žฅ, ํ”„๋กœ์ ํŠธ์—์„œ ํ…Œ์ŠคํŠธ ๐ŸŒˆ ๋„์„œ Tips.. 2022. 4. 16.
[Kotlin] Slack API๋กœ ์Šฌ๋ž™ ์ฑ„๋„์— Message ๋ฐœ์†กํ•˜๊ธฐ ๐Ÿ“Ž Slack API๋กœ ์Šฌ๋ž™ ์ฑ„๋„์— Message ๋ณด๋‚ด๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š”, ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์Šฌ๋ž™์—์„œ ์ œ๊ณต๋˜๋Š” API๋ฅผ ํ†ตํ•ด Java ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Slack ์ฑ„๋„์— ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์šด์˜ํ•˜๋‹ค๋ณด๋ฉด ํŠน์ • ๋ฌธ์ œ(๋กœ๊ทธ, ์—๋Ÿฌ, ๋ฉ”๋ชจ๋ฆฌ, ๋ฐฐ์น˜ ์‹คํŒจ ๋“ฑ)๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์žฅ์• ์— ๋Œ€ํ•ด์„œ๋Š” ์•Œ๋ฆผ์„ ๋ฐ›์•„ ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ์š”, ์ด๋Ÿฌํ•œ ์•Œ๋ฆผ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์Šฌ๋ž™์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์Šฌ๋ž™์˜ ๊ฒฝ์šฐ ๋งŽ์€ ๊ธฐ์—…์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ , ๋˜ํ•œ ๊ต‰์žฅํžˆ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”, ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด ๋ฌด๊ถ๋ฌด์ง„ํ•˜๊ฒŒ ์ปค์Šคํ…€์„ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ๋Š” ์Šฌ๋ž™์„ ๋‹ค์šด๋ฐ›๊ฑฐ๋‚˜ ํšŒ์›๊ฐ€์ž…ํ•˜๋Š” ๋“ฑ์˜ ๊ธฐ๋ณธ์ ์ธ ์„ค์ •์„ ์ œ์™ธํ•œ ์Šฌ๋ž™์— ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐœ์†กํ•˜๊ธฐ ์œ„ํ•œ.. 2022. 3. 27.
๋ฐ˜์‘ํ˜•