๋ฐ์ผ๋ฆฌ ์žก(Job) ์ง€์‹ 19

[IntelliJ] ์ธํ…”๋ฆฌ์ œ์ด JUnit5 ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ๋””๋ฒ„๊น… ์•ˆ๊ฑธ๋ฆผ ํƒ€์ž„์•„์›ƒ ํ•ด๊ฒฐ

์ธํ…”๋ฆฌ์ œ์ด์—์„œ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ ๋””๋ฒ„๊น…์ด ์•ˆ๊ฑธ๋ฆฌ๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ๋‹ค.. ์‹ฌ์ง€์–ด ๋‹ค๋ฅธ ๋™๋ฃŒ PC์—์„œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ–ˆ์Œ... ๋”ฐ๋ผ์„œ ์ฝ”๋“œ์˜ ๋ฌธ์ œ๋Š” ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, IDE ์ž์ฒด ์„ค์ •๋ฌธ์ œ์ผ๊นŒ ์‹ถ์–ด ์—ฌ๊ธฐ์ €๊ธฐ ์ฐพ์•„๋ณธ ๊ฒฐ๊ณผ ์šฐ์„ , ํ•ด๊ฒฐ๋ฒ•์„ ์ ์–ด๋‘”๋‹ค. ๐Ÿšจ ์˜ฌ๋ฐ”๋ฅธ ํ•ด๊ฒฐ๋ฒ•์ธ์ง€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์œผ๋‹ˆ ํ˜น์‹œ, ์›์ธ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์•„์‹œ๋Š” ๋ถ„๋“ค์€ ๋Œ“๊ธ€์— ๋‚จ๊ฒจ์ฃผ์„ธ์š” :-) 1. IntelliJ -> Preferences -> Build,Execution,Deployment -> Build Tools -> Gradle 2. Gradle projects -> Run tests using -> Gradle (Default) ๋ฅผ Intellij IDEA ๋กœ ๋ฐ”๊พธ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ “File”์„ ํด๋ฆญํ•œ ๋‹ค์Œ “Sett..

๊ฐ€์žฅ ๋Šฆ๊ฒŒํ‡ด๊ทผํ•˜๋Š” ๋ฆฌ๋” vs. ๊ฐ€์žฅ ๋นจ๋ฆฌํ‡ด๊ทผํ•˜๋Š” ๋ฆฌ๋”

๊ฐ€์žฅ ๋Šฆ๊ฒŒ ํ‡ด๊ทผํ•˜๋Š” ๋ฆฌ๋” vs. ๊ฐ€์žฅ ๋นจ๋ฆฌ ํ‡ด๊ทผํ•˜๋Š” ๋ฆฌ๋”์–ด๋–ค ๋ฆฌ๋”๊ฐ€ ๋” ์ข‹์„๊นŒ์š”?   ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ์‚ฌ์ดํŠธ๋ฅผ ๋‹ค๋‹ˆ๋‹ค๋ณด๋ฉด ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฆฌ๋”๋ฅผ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€์žฅ ๋นจ๋ฆฌ ํ‡ด๊ทผํ•˜๋Š” ๋ฆฌ๋”์™€ ํ•ญ์ƒ ๋Šฆ๊ฒŒ ํ‡ด๊ทผํ•˜๋Š” ๋ฆฌ๋”, ์šด์ด ์ข‹๊ฒŒ๋„ ๋‘ ์ข…๋ฅ˜์˜ ์‚ฌ๋žŒ๋“ค๊ณผ ๋ชจ๋‘ ์ผ์„ ํ•ด๋ดค๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ด๋ฆฌ์ €๋ฆฌ ์ผ์— ์น˜์ด๋Š๋ผ ํ•œ๋™์•ˆ ์ƒ๊ฐ์ด๋ž€ ๊ฑธ ์•ˆํ•˜๊ณ  ์‚ด์•˜๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ... ์ด์ œ ์ƒˆํ•ด๋„ ๋˜์—ˆ๊ฒ ๋‹ค ์ด ๊ธ€์„ ๊ณ„๊ธฐ๋กœ ์ง€๋‚œ ๊ฒฝํ—˜์„ ๋Œ์•„๋ณด๊ณ  ์–ด๋–ค ๊นจ๋‹ฌ์Œ์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋Š”์ง€ ํšŒ๊ณ ํ•ด๋ณด๊ธฐ๋กœ ํ•œ๋‹ค. ๊ฒŒ์ž„ ์—…๊ณ„๋ฅผ ๋‹ค๋‹ˆ๋ฉด์„œ ๋งŒ๋‚ฌ๋˜ ์•ฝ๊ฐ„์€ ๊ทน๋‹จ์˜ ๋‘ ์ข…๋ฅ˜์˜ ๋ฆฌ๋”๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.ํ•œ ๋ถ„์€ ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ํ‡ด๊ทผํ•˜๋Š” ๋ฆฌ๋”๋กœ, ํŠน๋ณ„ํ•œ ์ผ์ด ์—†๋‹ค๋ฉด ์ƒˆ๋ฒฝ์ด ๋˜์—ˆ๊ฑด ์ฒ ์•ผ๊ฐ€ ๋˜์—ˆ๊ฑด ๋๊นŒ์ง€ ๋‚จ์•„์„œ ํ•จ๊ป˜ํ•˜๋Š” ๋ฆฌ๋” ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ฆฌ๋”์˜ ์‹ ์กฐ๋Š” ํ•จ๊ป˜ํ•˜๋Š” ๋ฆฌ๋” ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ถ„์€ ..

TDD, ๋„๋Œ€์ฒด ๋ญ๊ธธ๋ž˜?

์„ค๊ณ„ - ๊ฐœ๋ฐœ(์ฝ”๋“œ์ž‘์„ฑ) - ํ…Œ์ŠคํŠธ(์ฝ”๋“œ์ž‘์„ฑ) ์ž˜๋ชป๋˜๋ฉด ๋‹ค์‹œ ์„ค๊ณ„์ˆ˜์ •.. ์š”์ฆ˜ ์•„์ฃผ ํ•ซํ•œ TDD๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•˜๊ธฐ๋„ ํ•˜๊ณ , ์™œ ์ด๋ ‡๊ฒŒ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์—ด๊ด‘ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ํฌ์ŠคํŒ…ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. TDD(Test Driven Development)๋ž€ Test Driven Development์˜ ์•ฝ์ž๋กœ 'ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ'์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฐ˜๋ณต ํ…Œ์ŠคํŠธ๋ฅผ ์ด์šฉํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ์ž‘์€ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ๋ถˆํ•„์š”ํ•œ ์„ค๊ณ„๋ฅผ ํ”ผํ•˜๊ณ , ์ •ํ™•ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์— ์ง‘์ค‘ํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค. ์„ค๊ณ„ -> ํ…Œ์ŠคํŠธ(์ฝ”๋“œ์ž‘์„ฑ) -> ๊ฐœ๋ฐœ(์ฝ”๋“œ์ž‘์„ฑ) ๋งŒ์•ฝ, ์„ค๊ณ„๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์œผ๋ฉด ํ…Œ์ŠคํŠธ๋‹จ๊ณ„์—์„œ ๋ฐ”๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ธ ์ธก๋ฉด์—์„œ๋Š” TDD๊ฐ€ ์ข‹๋‹ค. ..

Nginx, Proxy ๊ทธ๋ฆฌ๊ณ  Load Balancer

์ €ํฌ gateway Nginx๋กœ ๋˜์–ด์žˆ๊ตฌ์š”... Nginx๋ž€ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ์›น ์„œ๋ฒ„๋กœ์„œ MIT Lisence์ด๋ฉฐ, ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์€ ์›น ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•œ๋‹ค. ๐Ÿ“Œ ์›น์„œ๋ฒ„!? ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋Š” WAS(Web Application Server)์™€ ์–ด๋–ค ์ฐจ์ด์ธ์ง€ ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„ ํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๊ณ  ๋„˜์–ด๊ฐ€์ž. ๐Ÿ’ป Web Server ๋‹จ์ˆœํžˆ ์ •์  ํŒŒ์ผ์„ ์‘๋‹ตํ•œ๋‹ค. ๐Ÿ’ป WAS(Web Application Server) ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋Œ€ํ•ด ๋™์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„ ํ›„ ์‘๋‹ตํ•œ๋‹ค. ์•„๋ž˜ ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด "๊ณ ์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ, ๊ณ ๊ฐ€์šฉ์„ฑ ์›น์„œ๋ฒ„, ์—ญ๋ฐฉํ–ฅ ํ”„๋ก์‹œ ์„œ๋น„ ๋ฐ ์›น ๊ฐ€์†๊ธฐ(HTTP ๋กœ๋“œ ๋ฐธ๋žœ์„œ, ์ฝ˜ํ…์ธ  ์บ์‹œ ๋“ฑ์˜ ๊ธฐ๋Šฅ ๊ฒฐํ•ฉ)์ด๋‹ค."๋ผ๊ณ  ์†Œ๊ฐœํ•˜๊ณ  ์žˆ๋‹ค. nginx๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ๋ฐฐ๊ฒฝ์€ 1995๋…„ ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ตœ์ดˆ์˜..

[๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜] camelCase, PascalCase, Snake_case, Kebab-Case

method๋Š” camel๋กœ ์ž‘์„ฑํ•ด์ฃผ์…”์•ผ ํ•ด์š”. repository๋Š” ๋ณดํ†ต ์ผ€๋ฐฅ์œผ๋กœ ๋งŽ์ด๊ฐ€์ฃ ? - ์‚ฌ๋žŒ๊ณผ ์‚ฌ๋ฌผ ๋“ฑ ๋ชจ๋“  ๊ฒƒ์€ ์ด๋ฆ„์ด ์žˆ๊ณ , ๊ทธ ์ด๋ฆ„์€ ๊ฐ์ž ์˜๋ฏธ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค. ๋ณ€์ˆ˜๋ช…, ์ƒ์ˆ˜๋ช…, ํ•จ์ˆ˜๋ช…์„ ํ•œ๊ธ€๋กœ ์ง€์—ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ๋‚˜์š”? ๐Ÿค”์•„๋งˆ ํŠน์ •ํ•œ ์ˆ˜์—…๊ณผ์ œ๋‚˜ ์ดํ•ด๋ฅผ ์œ„ํ•ด ๋ณ€๊ฒฝํ•œ ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณค ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ์‹ค๋ฌด๋Š” ๊ด€์Šต์ ์œผ๋กœ ์˜์–ด๋กœ ๋„ค์ด๋ฐํ•˜๋Š” ๊ฒƒ์€ ์ „์„ธ๊ณ„์ ์œผ๋กœ ํ†ต์šฉ๋˜๋Š” ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์ž…๋‹ˆ๋‹ค. ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์ด ํ•„์š”ํ•œ ์ด์œ  ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ์œ„ํ•ด ๋„์–ด์“ฐ๊ธฐํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ๋‹จ์–ด๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋‹จ์–ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด๋ณด๋ฉด, ๋„์–ด์“ฐ๊ธฐ ์‚ฌ์ด์— ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๋„ฃ๊ฑฐ๋‚˜ ๋Œ€์†Œ๋ฌธ์ž๋กœ ํ•ฉ์ณ์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ดํŽด๋ณด๊ธฐ dailyTimeLimit : ์ฒซ๋ฒˆ์งธ ๋‹จ์–ด๋Š” ์†Œ๋ฌธ์ž๋กœ, ์ดํ›„์—๋Š” ์ฒซ..

๋ฐฑ๋งŒ ๋‹ฌ๋Ÿฌ์งœ๋ฆฌ ์‹ค์ˆ˜, Null return์ด ์•ˆ์ข‹์€ ์ด์œ 

๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ๋ฌด์‹ฌ๊ฒฐ์— null์„ return ํ•˜๋„๋ก ํ–ˆ๋˜ ์ ์ด ์ข…์ข…์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์ด๋Ÿฐ ์Šต๊ด€(?)์ด ๋ฐฑ๋งŒ ๋‹ฌ๋Ÿฌ์งœ๋ฆฌ ์‹ค์ˆ˜์ž„์„ ์•Œ๊ณ ์žˆ๋Š”๊ฐ€? ์˜ค๋Š˜ ๊ณต์œ ํ•  ๋‚ด์šฉ์€ null์„ ๋ฆฌํ„ดํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์™œ ๋‚˜์œ ์ฝ”๋“œ์ธ์ง€, ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์‚ฌ๋žŒ์˜ ์ž…์žฅ๊ณผ ์ฝ”๋“œ ๋ณต์žก์„ฑ ๊ด€์ ์œผ๋กœ ์„ค๋ช…ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ† ์Šค tech(https://toss.tech/article/engineering-note-2?utm_source=oneoneone)์— ๊ฒŒ์‹œ๋œ ์›๋ฌธ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ํฌ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค. Null ์ด ์™œ ๋‚˜์œ๊ฐ€์š”? ๋ฌธ์ œ: ์˜๋ฏธ๋ฅผ ์ถ•์•ฝํ•œ ์ฝ”๋“œ ํ‘œํ˜„ null ๊ฐ’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํ•ด๋‹น ์ด๋ฆ„์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์ด ์—†๋Š” ๊ฒƒ์€ ์•„๋‹๊นŒ? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋ถˆ์•ˆ์ •ํ–ˆ๋˜ ๊ฒƒ์ด ์•„๋‹๊นŒ? “๊น€์ฃผ๋”””๋Š” ํƒˆํ‡ดํ•œ ํšŒ์›์ธ ๊ฒƒ์ด ์•„๋‹๊นŒ? “๊น€์ฃผ๋”””๋Š” ์šด์˜ํ™˜๊ฒฝ์—์„œ๋งŒ..

๋ฉด์ ‘๊ด€์ด ์ข‹์•„ํ•˜๋Š”, ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ์“ฐ๋Š” ๋ฒ•(๋‚ด๊ฐ€ ๋ถ€์ •์  ์‚ฌ๋ก€์˜ ํ‘œ๋ณธ์ผ์ˆ˜๋„?)

[์ด๋ ฅ์„œ] ๋งํฌ : ______________________________ ์ด์ œ๋Š” ์ด๋ ฅ์„œ, ํฌํŠธํด๋ฆฌ์˜ค์—์„œ ํ•„์ˆ˜๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ [๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ] ๋‚˜ ์—ญ์‹œ๋„ ๋ธ”๋กœ๊ทธ๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์œผ๋กœ์„œ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋Š”๊ฒŒ ์˜ฌ๋ฐ”๋ฅธ๊ฐ€(?) ์•„๋‹ˆ ๋งž๋Š” ๋ฐฉํ–ฅ์ธ์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. ๋˜ velog, tistory, naver blog ๋“ฑ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๋ถ€ํ„ฐ ๋‹ค์–‘ํ•œ ํฌ๋งท์œผ๋กœ ์ž‘์„ฑ๋˜๋Š” ๊ธ€๋“ค์ด ๋งŽ์€๋ฐ ์–ด๋–ค ๋ธ”๋กœ๊ทธ๊ฐ€ ๋ฉด์ ‘๊ด€์˜ ๋งˆ์Œ์„ ์‚ฌ๋กœ์žก๋Š”์ง€ ์•Œ๊ณ ์‹ถ์—ˆ๋‹ค. ๋ฉด์ ‘๊ด€์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ทธ ๋‚ด์šฉ์˜ ์ผ๋ถ€๋ฅผ ๊ฐ€์ ธ์™€ ๋‚˜์˜ ์ƒ๊ฐ๊ณผ ํ•จ๊ป˜ ํฌ์ŠคํŒ…ํ•œ๋‹ค. ๊ฐœ์š” ์ˆ˜๋งŽ์€ ๊ฐœ๋ฐœ์ž์˜ ์‚ฌ๋ก€๋กœ ์ธํ•ด ๊ฐœ๋ฐœ์ž ๋ธ”๋กœ๊ทธ๋Š” ์ทจ์—… ์ŠคํŽ™์ด ๋˜์–ด๋ฒ„๋ฆฐ ๋“ฏํ•˜๋‹ค. ์‚ฌ์‹ค ๊ณผ๊ฑฐ์— ๋ธ”๋กœ๊ทธ๋Š” ๊ฐœ์ธ ๊ธฐ๋ก์˜ ๋ชฉ์ ์ด ๊ฐ•ํ–ˆ๊ณ  ์—ด์‹ฌํžˆ ๋…ธ๋ ฅํ•˜๋Š” ๊ทผ์„ฑ, ์˜์š•, ์˜์ง€์— ๋Œ€ํ•œ ์–ดํ•„์˜ ์žฅ์ด ๋˜๊ธฐ๋„ ํ–ˆ๋‹ค. ๊ฐœ๋ฐœ ๋ฌธํ™”๋Š” ..

์šฐ๋ฆฌ์˜ ์•ฝ์†, ์ฝ”๋“œ ์ปจ๋ฒค์…˜ (Coding Conventions)๊ณผ ๋ณดํ’€ ์ œ๊ฑฐ๊ธฐ Lint

์šฐ๋ฆฌ์˜ ์ธ์ƒ์—๋Š” '์ƒ์‹' ์ด๋ผ๋Š”๊ฒŒ ์žˆ๋‹ค. ๊ตญ์–ด์‚ฌ์ „์— ๋”ฐ๋ฅด๋ฉด '์ƒ์‹' ์ด๋ž€ ์‚ฌ๋žŒ๋“ค์ด ๋ณดํ†ต ์•Œ๊ณ  ์žˆ๊ฑฐ๋‚˜ ์•Œ์•„์•ผ ํ•˜๋Š” ์ง€์‹. ์ผ๋ฐ˜์  ๊ฒฌ๋ฌธ๊ณผ ํ•จ๊ป˜ ์ดํ•ด๋ ฅ, ํŒ๋‹จ๋ ฅ, ์‚ฌ๋ฆฌ ๋ถ„๋ณ„ ๋”ฐ์œ„๊ฐ€ ํฌํ•จ๋œ๋‹ค. ๋ผ๊ณ  ์„ค๋ช…๋˜์–ด ์žˆ๋Š”๋ฐ, ์šฐ๋ฆฌ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•จ์— ์žˆ์–ด๋„ '์ƒ์‹' ์ด๋ผ๋Š”๊ฒŒ ์žˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ทœ์น™์„ ์ž˜ ์ง€ํ‚ค๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž๋“ค๊ฐ„์— ์ƒ์‹์ด๋‹ค. ์ด๊ฒƒ์„ 'Coding Convention' ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค๋ณด๋ฉด ๋ณ€์ˆ˜๋ช…์€ ์†Œ๋ฌธ์ž(name, age, weight ๋“ฑ)๋กœ, ํด๋ž˜์Šค๋Š” ์ฒซ๊ธ€์ž๊ฐ€ ๋Œ€๋ฌธ์ž(Human, Student ๋“ฑ)๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฐ๊ฒƒ๋“ค์€ ๋‚ด๊ฐ€ ๊ทธ๋ƒฅ ์“ฐ๊ณ ์‹ถ์€๋Œ€๋กœ ์“ด๊ฒŒ ์•„๋‹ˆ๋ผ, ๋ชจ๋‘ ์ผ๋ฐ˜์ ์ธ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์„ ๋”ฐ๋ฅธ ๊ฒƒ์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์•ž์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ์ปจ๋ฒค์…˜์„ ๋”ฐ๋ฅด์ง€..

ํด๋ฆฐ์ฝ”๋“œ ์ž‘์„ฑ 1์›์น™, ๋ฐ๋“œ ์ฝ”๋“œ(์‚ฌ์šฉํ•˜์ง€์•Š๋Š” ์ฝ”๋“œ)์ฒญ์†Œํ•˜๊ธฐ

ํด๋ฆฐ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ๋‹ค.. ์–ด๋–ค ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผํ• ๊นŒ? ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๋Š” ๋ชจ๋‘ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ์ •๋ฆฌ์˜ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๋ฉด ์ƒ๊ฒจ๋‚˜๋Š” ์—ฌ๋Ÿฌ ํ•จ์ˆ˜์™€ ์ฃผ์„๋“ค์„ ์‚ญ์ œํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ์‹œ๊ฐ„, ๋…ธ๋ ฅ, ๋ˆˆ๋ฌผ์ด ๋“ค์–ด๊ฐ„ ์ฝ”๋“œ์™€ ์กฐ์ง์˜ ๋น„์šฉ์ด ์ง€๋ถˆ๋œ ๊ฐ€์น˜๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ์•„๊น๊ฒŒ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋Ÿฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๊ฐ€ ํ”„๋กœ์ ํŠธ์— ์กด์žฌํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋น„์šฉ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ผญ ์‚ญ์ œํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ฝ”๋“œ๋ฆฌ๋ทฐ์—์„œ ์ด ์ง€์ ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋น„์šฉ์ด ์ ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ตฌ๊ธ€ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ๋ผ์ธ์—์„œ๋Š” CL์˜ ๋ชจ๋“  ์ค„์„ ๋ฆฌ๋ทฐํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์„ ์›์น™์œผ๋กœ ์‚ผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋กœ ์ฝ”๋“œ์˜ ์ค‘์š”๋„์— ๋”ฐ๋ผ ํ›‘์–ด๋งŒ ๋ด๋„ ๊ดœ์ฐฎ์€ ์ฝ”๋“œ์™€ ์ฃผ์˜ ๊นŠ๊ฒŒ ์‚ดํŽด์•ผ ํ•˜๋Š” ์ฝ”๋“œ๋Š” ๋‚˜๋‰˜๊ฒ ์ง€๋งŒ, ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์ค„..

GitHub, ๊ณต๋Œ€์ƒ์ฒ˜๋Ÿผ ์•ˆ๋ณด์ด๋Š” README.md ์ž‘์„ฑ๋ฒ•

๊ณต๋Œ€๋„ README ์˜ˆ์˜๊ฒŒ ์“ฐ๊ณ  ์‹ถ๋‹ค... 1. ๋งˆํฌ๋‹ค์šด์— ๊ด€ํ•˜์—ฌ 1.1. ๋งˆํฌ๋‹ค์šด์ด๋ž€? **Markdown**์€ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ๋งˆํฌ์—…์–ธ์–ด๋กœ 2004๋…„ ์กด๊ทธ๋ฃจ๋ฒ„์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ ์‰ฝ๊ฒŒ ์“ฐ๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ HTML๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํŠน์ˆ˜๊ธฐํ˜ธ์™€ ๋ฌธ์ž๋ฅผ ์ด์šฉํ•œ ๋งค์šฐ ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ์˜ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น์—์„œ๋„ ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ปจํ…์ธ ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋ณด๋‹ค ์ง๊ด€์ ์œผ๋กœ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งˆํฌ๋‹ค์šด์ด ์ตœ๊ทผ ๊ฐ๊ด‘๋ฐ›๊ธฐ ์‹œ์ž‘ํ•œ ์ด์œ ๋Š” ๊นƒํ—™(https://github.com) ๋•๋ถ„์ด๋‹ค. ๊นƒํ—™์˜ ์ €์žฅ์†ŒRepository์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•˜๋Š” README.md๋Š” ๊นƒํ—™์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ๊ฐ€์žฅ ๋จผ์ € ์ ‘ํ•˜๊ฒŒ ๋˜๋Š” ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ์˜€๋‹ค. ๋งˆํฌ๋‹ค์šด์„ ํ†ตํ•ด์„œ ์„ค์น˜๋ฐฉ๋ฒ•, ์†Œ์Šค์ฝ”๋“œ ์„ค๋ช…, ์ด์Šˆ ๋“ฑ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ธฐ๋กํ•˜๊ณ  ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ..