๐Ÿ“š ์—ฐ์žฌ ์‹œ๋ฆฌ์ฆˆ

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์œผ๋กœ ๋ฐ”๊พธ์–ด ์‚ฌ์šฉํ•œ๋‹ค...
๊ฐœ์š”๋…ธํŠธ๋ถ๊ณผ ํœด๋Œ€์šฉ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ๊ฐ™์ด ๋“ค๊ณ  ๋‹ค๋‹ˆ๋Š”๋ฐ... ํœด๋Œ€์šฉ ๋ชจ๋‹ˆํ„ฐ์— ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ๊ณ ์ •๋˜๋Š” ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค -ใ……-... ์ฆ์ƒ์„ ํ™•์ธํ•ด๋ณด๋‹ˆ ํœด๋Œ€์šฉ ๋ชจ๋‹ˆํ„ฐ์˜ ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ๊ธฐ๋Šฅ ๋•Œ๋ฌธ์ธ๊ฒƒ ๊ฐ™๋‹ค. ํ•œ ๋ฒˆ ํ„ฐ์น˜ํ–ˆ์„ ๋ฟ์ธ๋ฐ ๋ฉˆ์ถ”์ง€ ์•Š๊ณ  ๊ณ„์† ํ„ฐ์น˜๊ฐ€ ๋œ๋‹ค ใ…กใ…ก.... ์ €๊ฐ€ํ˜•์ด๋ผ ๊ทธ๋Ÿฐ์ง€... ๊ณ ๊ฐ€ํ˜•์„ ์‚ฌ๊ธฐ์—” ๋น„์‹ธ๊ณ ... ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ๊ธฐ๋Šฅ์ด ์—†๋Š” ๋ชจ๋ธ๋กœ ์‚ฌ์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค;; ์ด์ฒ˜๋Ÿผ ํ•œ ๋ฒˆ ํ„ฐ์น˜ ํ–ˆ์„ ๋ฟ์ธ๋ฐ ๋ฉˆ์ถ”์ง€ ์•Š๊ณ  ๊ณ„์† ํ„ฐ์น˜๊ฐ€ ๋œ๋‹ค๋ฉด ์•„๋ž˜์˜ ๋ฐฉ๋ฒ•๋Œ€๋กœ ํ•ด๋ณด์ž! ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ๋“œ๋ผ์ด๋ฒ„ ์ œ๊ฑฐ์žฅ์น˜ ๊ด€๋ฆฌ์ž > ํœด๋จผ ์ธํ„ฐํŽ˜์ด์Šค ์žฅ์น˜ > HID ๊ทœ๊ฒฉ ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉ์•ˆํ•จ or ์ œ๊ฑฐํ•œ๋‹ค.๋‹ค๋งŒ, ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ํ„ฐ์น˜๊ฐ€ ๋˜์ง€ ์•Š์•„์•ผ ํ•˜๋Š”๋ฐ... ์ด์ƒํ•˜๊ฒŒ ํœด๋Œ€์šฉ ๋ชจ๋‹ˆํ„ฐ์—..
๊ฐœ์š”๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ณต์œ  ์ž์›์„ ์‚ฌ์šฉํ•  ๋•Œ, ์ฃผ๋กœ ์›์ž์„ฑ๊ณผ ๊ฐ€์‹œ์„ฑ์ด ์–ธ๊ธ‰๋˜๋Š”๋ฐ ์›์ž์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด์ž! ์›์ž์„ฑ์ด๋ž€์›์ž์„ฑ์€ ์œ„ํ‚ค๋ฐฑ๊ณผ์— ๋”ฐ๋ฅด๋ฉด ์–ด๋–ค ๊ฒƒ์ด ๋” ์ด์ƒ ์ชผ๊ฐœ์งˆ ์ˆ˜ ์—†๋Š” ์„ฑ์งˆ์„ ๋งํ•˜๋ฉฐ, ์–ด๋–ค ๊ฒƒ์ด ์›์ž์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ์›์ž์  (Atomic) ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.์›์ž์„ฑ์˜ ์„ฑ์งˆ์„ ์ปดํ“จํ„ฐ๊ณผํ•™์— ๋Œ€์ž…ํ•ด๋ณด๋ฉด ์–ด๋– ํ•œ ์ž‘์—…์ด ์‹คํ–‰๋  ๋•Œ, ์–ธ์ œ๋‚˜ ์™„์ „ํ•˜๊ฒŒ ์ง„ํ–‰๋˜์–ด ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ๊ทธ๋Ÿด ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์‹คํ–‰์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์›์ž์„ฑ์„ ๊ฐ€์ง€๋Š” ์ž‘์—…์€ ์‹คํ–‰๋˜์–ด ์ง„ํ–‰๋˜๋‹ค๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š๊ณ  ์ค‘๊ฐ„์—์„œ ๋ฉˆ์ถ”๋Š” ๊ฒฝ์šฐ๋Š” ์ ˆ๋Œ€๋กœ ์žˆ์„ ์ˆ˜ ์—†๋‹ค. ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๋ฉด ๊ธฐ๊ณ„์–ด ์ˆ˜์ค€์˜ ์‹คํ–‰ ๋ช…๋ น์–ด๋“ค์€ ๊ฐ๊ฐ ์›์ž์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ์— ADD์™€ LOAD ๋ช…๋ น์–ด ์ž์ฒด๋Š” ๊ฐ๊ฐ ์›์ž์ ์ด๋ฏ€ ADD์™€ LOAD์˜ ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด ๋‹จ์œ„๋Š” ์‹ค..
๊ฐœ์š”๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ณต์œ  ์ž์›์„ ์‚ฌ์šฉํ•  ๋•Œ, ์ฃผ๋กœ ์›์ž์„ฑ๊ณผ ๊ฐ€์‹œ์„ฑ์ด ์–ธ๊ธ‰๋˜๋Š”๋ฐ ๊ฐ€์‹œ์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด์ž! ๊ฐ€์‹œ์„ฑ (Visibility)๊ฐ€์‹œ์„ฑ์€ ์‚ฌ์ „์— ๋”ฐ๋ฅด๋ฉด “๋ˆˆ์— ์‰ฝ๊ฒŒ ๋ณด์ด๋Š” ์ •๋„”๋ฅผ ๋œปํ•˜๋Š”๋ฐ ์ปดํ“จํ„ฐ๊ณผํ•™์—์„œ ๊ฐ€์‹œ์„ฑ์ด๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค.๊ฐ€์‹œ์„ฑ์ด๋ž€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ฐ๊ฐ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ์ž์›์— ๋Œ€ํ•ด์„œ ๋ชจ๋‘ ๊ฐ™์€ ์ƒํƒœ๋ฅผ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.๐Ÿ‘‰  ํ•ด๋‹น ์ •์˜๋งŒ์œผ๋กœ๋Š” ์ง๊ด€์ ์ธ ์ดํ•ด๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๊ธฐ์— ์•„๋ž˜์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์ž์„ธํ•˜๊ฒŒ ๋‹ค๋ค„๋ณด์ž.public class Main { boolean runningFlag = true; public void test() { new Thread(()->{ // ์“ฐ๋ ˆ๋“œ ์ƒ์„ฑ ..
๋™์‹œ์„ฑ (Concurrency)์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, CPU๊ฐ€ ์ž‘์—…๋งˆ๋‹ค ์‹œ๊ฐ„์„ ๋ถ„ํ• ํ•ด ์ ์ ˆํ•˜๊ฒŒ Context Switching ํ•จ์œผ๋กœ์จ “๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ”์„ ๋™์‹œ์„ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ปดํ“จํ„ฐ๋Š” ๊ต‰์žฅํžˆ ๋น ๋ฅธ ์†๋„๋กœ ์ž‘์—…๋“ค์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‚ฌ๋žŒ์ด ๋ณผ ๋•Œ๋Š” ๋™์‹œ์— ์ž‘์—…๋“ค์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์ง€์ง€๋งŒ ์ ˆ๋Œ€์ ์ธ ์‹œ๊ฐ„ ๊ด€์ ์œผ๋กœ ๋ดค์„ ๋•Œ๋Š” ๋™์‹œ์— ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋ณ‘๋ ฌ์„ฑ (Parallelism)๋…๋ฆฝ์ ์œผ๋กœ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ณ‘๋ ฌ์„ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ๋™์‹œ์„ฑ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋‹ค๋ฅธ ์ฝ”์–ด, ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค, ๋ณ„๋„์˜ ์ปดํ“จํ„ฐ ๋“ฑ์—์„œ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŽ์€ ์ž‘์—…์„ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์ง€๋งŒ ์ ์ ˆํ•œ ์ž‘์—… ๋ถ„๋ฐฐ๊ฐ€ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค๋Š” ์ „์ œ ์กฐ๊ฑด์ด ์žˆ๋‹ค. Refer..
์ฝ”๋“œ ์ปจ๋ฒค์…˜ (Code Convention)์ฝ”๋“œ ์ปจ๋ฒค์…˜์ด๋ž€ ์ฝ๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ์ฝ”๋”ฉ ์Šคํƒ€์ผ ๊ทœ์•ฝ(ํ•˜๋‚˜์˜ ์ž‘์„ฑ ํ‘œ์ค€)์ด๋‹ค. ์œ ์—ฐํ•œ ๋ฌธ๋ฒ• ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์–ธ์–ด์ผ์ˆ˜๋ก ๊ฐœ๋ฐœ์ž ๊ฐ„ ํ†ต์ผ๋œ ๊ทœ์•ฝ์ด ์—†๋‹ค๋ฉด ์ฝ”๋“œ์˜ ์˜๋„๋ฅผ ํŒŒ์•…ํ•˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๋ฅผ ์ฐพ๊ธฐ ์–ด๋ ค์šฐ๋ฉฐ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ด ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ์˜ ๊ฐ€๋„์„ฑ์„ ๋†’์ด๊ณ  ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณตํ†ต์˜ ๊ทœ์น™์„ ๊ผญ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค! ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๋‹ค! ๐Ÿ‘‰  ์ •ํ•ด์ง„ ๊ทœ์น™์ด ์žˆ์–ด ๋ช…์นญ์ด๋‚˜ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ‘‰  ํ†ต์ผ๋œ ๊ทœ์•ฝ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์ด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๋‹ค! ๐Ÿ‘‰  ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.   โœ๏ธ ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ ์‹ ์ž… ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์ž…์‚ฌ ..
Scale Up์Šค์ผ€์ผ์—… (Scale-up)์€ ๊ธฐ์กด์˜ ํ•˜๋“œ์›จ์–ด๋ฅผ ๋ณด๋‹ค ๋†’์€ ์‚ฌ์–‘์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋กœ ๋“ค์ž๋ฉด ์„ฑ๋Šฅ์ด๋‚˜ ์šฉ๋Ÿ‰ ์ฆ์„ค์„ ๋ชฉ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์„œ๋ฒ„์— ๋””์Šคํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ CPU๋‚˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ์„œ๋ฒ„์˜ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ง ์Šค์ผ€์ผ๋ง (Vertical Scaling)์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. Scale Out์Šค์ผ€์ผ์•„์›ƒ (Scale-out)์€ ์„œ๋ฒ„ ์žฅ๋น„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ™•์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ธฐ์กด ์„œ๋ฒ„๋งŒ์œผ๋กœ ์šฉ๋Ÿ‰์ด๋‚˜ ์„ฑ๋Šฅ์˜ ํ•œ๊ณ„์— ๋„๋‹ฌํ•˜๋ฉด ๋น„์Šทํ•œ ์‚ฌ์–‘์˜ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•ด ์ถ”๊ฐ€๋œ ์„œ๋ฒ„ ๋Œ€์ˆ˜๋งŒํผ ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์›Œํฌ๋กœ๋“œ๋ฅผ ๋ถ„๋‹ดํ•ด ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๋ณ‘๋ ฌ ์ปดํ“จํŒ…์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€๋กœ ํ™•์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜ํ‰ ์Šค์ผ€์ผ๋ง (Horizontal Scalin..
Dev_sHu
'๐Ÿ“š ์—ฐ์žฌ ์‹œ๋ฆฌ์ฆˆ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)