๐Ÿ“š ์—ฐ์žฌ ์‹œ๋ฆฌ์ฆˆ/์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ฉด ์ข‹์„ ๋‚ด์šฉ

1) ์ง๋ ฌํ™” (Serialization) ๋ฐ ์—ญ์ง๋ ฌํ™” (Deserialization) (1) ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™”๋ž€ ๋ฐ์ดํ„ฐ ์ง๋ ฌํ™”๋ž€ ์ปดํ“จํ„ฐ์˜ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด๋ฅผ ์ €์žฅ ๋งค์ฒด์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹ or ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋ฐ˜๋Œ€๋กœ ๋ฐ์ดํ„ฐ ์—ญ์ง๋ ฌํ™”๋ž€ ๋””์Šคํฌ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ง๋ ฌํ™” ๊ณผ์ • ์—†์ด ๋ฐ์ดํ„ฐ ๊ฐ์ฒด๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์€๋ฐ ์™œ ์ง๋ ฌํ™”๋ผ๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž! (2) ์ง๋ ฌํ™”๊ฐ€ ํ•„์š”ํ•œ ์ด์œ  โ‘  ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ข…๋ฅ˜ ์–ด๋– ํ•œ ๊ฐœ๋ฐœ ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜๋“  ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๊ฒŒ ๋œ๋‹ค. * ๊ฐ’ ํ˜•์‹ ๋ฐ์ดํ„ฐ (Primitive Type) int, ..
1) ๊ฐœ์š” ์˜ค๋Š˜์€ 1/31์ผ์— ์ง„ํ–‰๋œ ๊น€์˜ํ•œ๋‹˜ ์˜จ๋ผ์ธ ๋ฐ‹์—…์—์„œ ๋‚˜์˜จ Q&A๋ฅผ ์ œ ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ๊ณผ ํ•จ๊ป˜ ์ •๋ฆฌํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ๋œ ๋‚ด์šฉ์€ ์ธํ”„๋Ÿฐ์—์„œ ๊ฐ•์˜๋กœ ๋“ค์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2) Q & A (1) ๊ฐœ๋ฐœ์ž์˜ ์—ญ๋Ÿ‰ JPA์˜ ๋ฏธ๋ž˜ ์˜ค๋ž˜๋œ ๊ธฐ์ˆ ์ธ๋งŒํผ, ๊ธฐ์ˆ ์ ์œผ๋กœ ์™„์„ฑ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ ์—…๋ฐ์ดํŠธ ์™ธ์— ํฌ๊ฒŒ ๋ฐ”๋€Œ๋Š” ๋ถ€๋ถ„์ด ์—†๋‹ค. RDB์™€ ํ•จ๊ป˜ํ•˜๋Š” ๋งŒํผ, RDB๊ฐ€ ๋งํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ๊พธ์ค€ํžˆ ์‚ฌ์šฉ๋  ๊ฒƒ์ด๋‹ค. ๊ตญ๋‚ด ๊ฐœ๋ฐœ์ž๋“ค์˜ ๊ฒฝ์Ÿ๋ ฅ ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ๋Š” ๊ตญ๋‚ด๊ฐ€ ์˜คํžˆ๋ ค ๋›ฐ์–ด๋‚˜๋ฉฐ, ์žฅ์• ์— ๋Œ€ํ•œ ๋Œ€์‘๋„ ๋น ๋ฅด๋‹ค. ๋‹ค๋งŒ, ํ•ด์™ธ์˜ ๊ฒฝ์šฐ ๊ตญ๋‚ด์™€ ๋‹ฌ๋ฆฌ ๋ฌธ์„œํ™”๊ฐ€ ๊ต‰์žฅํžˆ ์ž˜ ๋˜์–ด ์žˆ๋‹ค. ๊ธฐ์ˆ ์ ์ธ ๋ ˆ๋ฒจ์—์„œ๋Š” ๊ตญ๋‚ด ๋˜ํ•œ ์ƒํ–ฅ ํ‰์ค€ํ™”๊ฐ€ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์–ด์ ์ธ ์ธก๋ฉด์ด ํ•ด๊ฒฐ๋œ๋‹ค๋ฉด ํ•ด์™ธ๋กœ์˜ ๋„์ „๋„ ์Šน์‚ฐ์ด ์žˆ๋‹ค. ..
1) Git Flow๋ž€ Git Flow๋Š” Git์œผ๋กœ ํ˜•์ƒ ๊ด€๋ฆฌ๋ฅผ ํ•  ๋•Œ, ๋ธŒ๋žœ์น˜๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ ์ „๋žต์ด๋‹ค. (Branch Management Strategy) 2) Git Flow๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ž‘๊ฑฐ๋‚˜ ํ˜ผ์ž์„œ ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ตณ์ด ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค ํ•„์š” ์—†์ด Main ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•ด๋„ ์ƒ๊ด€์ด ์—†๋‹ค. ๋‹ค๋งŒ ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๊ฑฐ๋‚˜ ํŒ€ ๋‹จ์œ„๋กœ ๊ฐœ๋ฐœ์ด ์ด๋ฃจ์–ด์ง€๋Š” ์ƒํ™ฉ์—์„œ ๋ณ„๋„์˜ ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ ์ „๋žต ์—†์ด ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜์–ด ์žฆ์€ ์ถฉ๋Œ๋กœ ์ธํ•ด ์ƒ์‚ฐ์„ฑ์ด ๋–จ์–ด์ง€๊ฒŒ ๋˜๊ณ  ํ˜‘์—…์ด ์›ํ™œํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. ์ฆ‰, Git Flow๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” Git์„ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์™€ ํ˜‘์—…์„ ๊ฐœ์„ ํ•˜๊ณ  ํŒ€์˜ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋ฉฐ ์†Œํ”„ํŠธ ์›จ์–ด ..
1) HTML5, CSS ๊ด€๋ จ Extension 1. Prettier - ์ฝ”๋“œ Format ๋ณ€๊ฒฝ (์ค„ ๋งž์ถค) 2. Live Server - HTML5, CSS3 ์ฝ”๋“œ ๋ณ€๊ฒฝ + ๋ธŒ๋ผ์šฐ์ €๋กœ ํ…Œ์ŠคํŠธ (์‹ค์‹œ๊ฐ„) 3. CSS Peak - CSS ํด๋ž˜์Šค ์„ ํƒ ์‹œ, ํ•ด๋‹น ํด๋ž˜์Šค ์„ ์–ธ๋ถ€๋กœ ์ด๋™ 4. HTML CSS Support - CSS Class, ID, Attribute ์ž๋™ ์™„์„ฑ 5. Intellisense for CSS Class names in HTML - HTML์—์„œ CSS ํด๋ž˜์Šค๋ช… ์ž๋™ ์™„์„ฑ (?) 6. Material Icon Thema - HTML5, CSS3, JS ํŒŒ์ผ์˜ ์•„์ด์ฝ˜์„ ๋ฐ”๊ฟ”์คŒ
1) Git Repository ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐ ์„ค์ • ๋ช…๋ น์–ด # git init → ํ•ด๋‹น ๊ฒฝ๋กœ์— .git ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋ฉฐ ์ƒˆ๋กœ์šด git ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. # git config --global core.autocrlf true → ํ˜‘์—… ์‹œ, ์œˆ๋„์šฐ์™€ ๋งฅ์—์„œ ์—”ํ„ฐ ๋ฐฉ์‹ ์ฐจ์ด๋กœ ์ธํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. # git config --global user.name "(๋ณธ์ธ ์ด๋ฆ„)" # git config --global user.email "(๋ณธ์ธ ์ด๋ฉ”์ผ)" # git config --global init.defaultBranch main → ๊ธฐ์กด Branch๋Š” Master|Slave ๋ช…์นญ์œผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์œผ๋‚˜ ํ•ด๋‹น ์šฉ์–ด๋Š” ์ธ์ข…์ฐจ๋ณ„๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์–ด ์š”์ฆ˜์—๋Š” Main์œผ๋กœ ๋ฐ”๊พธ์–ด ์‚ฌ์šฉํ•œ๋‹ค...
๊ฐœ์š”๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ณต์œ  ์ž์›์„ ์‚ฌ์šฉํ•  ๋•Œ, ์ฃผ๋กœ ์›์ž์„ฑ๊ณผ ๊ฐ€์‹œ์„ฑ์ด ์–ธ๊ธ‰๋˜๋Š”๋ฐ ์›์ž์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด์ž! ์›์ž์„ฑ์ด๋ž€์›์ž์„ฑ์€ ์œ„ํ‚ค๋ฐฑ๊ณผ์— ๋”ฐ๋ฅด๋ฉด ์–ด๋–ค ๊ฒƒ์ด ๋” ์ด์ƒ ์ชผ๊ฐœ์งˆ ์ˆ˜ ์—†๋Š” ์„ฑ์งˆ์„ ๋งํ•˜๋ฉฐ, ์–ด๋–ค ๊ฒƒ์ด ์›์ž์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ์›์ž์  (Atomic) ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.์›์ž์„ฑ์˜ ์„ฑ์งˆ์„ ์ปดํ“จํ„ฐ๊ณผํ•™์— ๋Œ€์ž…ํ•ด๋ณด๋ฉด ์–ด๋– ํ•œ ์ž‘์—…์ด ์‹คํ–‰๋  ๋•Œ, ์–ธ์ œ๋‚˜ ์™„์ „ํ•˜๊ฒŒ ์ง„ํ–‰๋˜์–ด ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ๊ทธ๋Ÿด ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์‹คํ–‰์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์›์ž์„ฑ์„ ๊ฐ€์ง€๋Š” ์ž‘์—…์€ ์‹คํ–‰๋˜์–ด ์ง„ํ–‰๋˜๋‹ค๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š๊ณ  ์ค‘๊ฐ„์—์„œ ๋ฉˆ์ถ”๋Š” ๊ฒฝ์šฐ๋Š” ์ ˆ๋Œ€๋กœ ์žˆ์„ ์ˆ˜ ์—†๋‹ค. ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๋ฉด ๊ธฐ๊ณ„์–ด ์ˆ˜์ค€์˜ ์‹คํ–‰ ๋ช…๋ น์–ด๋“ค์€ ๊ฐ๊ฐ ์›์ž์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ์— ADD์™€ LOAD ๋ช…๋ น์–ด ์ž์ฒด๋Š” ๊ฐ๊ฐ ์›์ž์ ์ด๋ฏ€ ADD์™€ LOAD์˜ ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด ๋‹จ์œ„๋Š” ์‹ค..
๊ฐœ์š”๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ณต์œ  ์ž์›์„ ์‚ฌ์šฉํ•  ๋•Œ, ์ฃผ๋กœ ์›์ž์„ฑ๊ณผ ๊ฐ€์‹œ์„ฑ์ด ์–ธ๊ธ‰๋˜๋Š”๋ฐ ๊ฐ€์‹œ์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด์ž! ๊ฐ€์‹œ์„ฑ (Visibility)๊ฐ€์‹œ์„ฑ์€ ์‚ฌ์ „์— ๋”ฐ๋ฅด๋ฉด “๋ˆˆ์— ์‰ฝ๊ฒŒ ๋ณด์ด๋Š” ์ •๋„”๋ฅผ ๋œปํ•˜๋Š”๋ฐ ์ปดํ“จํ„ฐ๊ณผํ•™์—์„œ ๊ฐ€์‹œ์„ฑ์ด๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค.๊ฐ€์‹œ์„ฑ์ด๋ž€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ฐ๊ฐ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ์ž์›์— ๋Œ€ํ•ด์„œ ๋ชจ๋‘ ๊ฐ™์€ ์ƒํƒœ๋ฅผ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.๐Ÿ‘‰  ํ•ด๋‹น ์ •์˜๋งŒ์œผ๋กœ๋Š” ์ง๊ด€์ ์ธ ์ดํ•ด๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๊ธฐ์— ์•„๋ž˜์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์ž์„ธํ•˜๊ฒŒ ๋‹ค๋ค„๋ณด์ž.public class Main { boolean runningFlag = true; public void test() { new Thread(()->{ // ์“ฐ๋ ˆ๋“œ ์ƒ์„ฑ ..
๋™์‹œ์„ฑ (Concurrency)์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, CPU๊ฐ€ ์ž‘์—…๋งˆ๋‹ค ์‹œ๊ฐ„์„ ๋ถ„ํ• ํ•ด ์ ์ ˆํ•˜๊ฒŒ Context Switching ํ•จ์œผ๋กœ์จ “๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ”์„ ๋™์‹œ์„ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ปดํ“จํ„ฐ๋Š” ๊ต‰์žฅํžˆ ๋น ๋ฅธ ์†๋„๋กœ ์ž‘์—…๋“ค์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‚ฌ๋žŒ์ด ๋ณผ ๋•Œ๋Š” ๋™์‹œ์— ์ž‘์—…๋“ค์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Š๊ปด์ง€์ง€๋งŒ ์ ˆ๋Œ€์ ์ธ ์‹œ๊ฐ„ ๊ด€์ ์œผ๋กœ ๋ดค์„ ๋•Œ๋Š” ๋™์‹œ์— ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋ณ‘๋ ฌ์„ฑ (Parallelism)๋…๋ฆฝ์ ์œผ๋กœ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ณ‘๋ ฌ์„ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ๋™์‹œ์„ฑ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋‹ค๋ฅธ ์ฝ”์–ด, ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค, ๋ณ„๋„์˜ ์ปดํ“จํ„ฐ ๋“ฑ์—์„œ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŽ์€ ์ž‘์—…์„ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์ง€๋งŒ ์ ์ ˆํ•œ ์ž‘์—… ๋ถ„๋ฐฐ๊ฐ€ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค๋Š” ์ „์ œ ์กฐ๊ฑด์ด ์žˆ๋‹ค. Refer..
Dev_sHu
'๐Ÿ“š ์—ฐ์žฌ ์‹œ๋ฆฌ์ฆˆ/์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ฉด ์ข‹์„ ๋‚ด์šฉ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก