728x90

๐Ÿ“•CS 22

์›น ์บ์‹œ

๐Ÿ“Œ์›น ์บ์‹œ์˜ ์ข…๋ฅ˜์›น ์บ์‹œ๋Š” ์›นํŽ˜์ด์ง€์™€ ๊ด€๋ จ๋œ ๋ฆฌ์†Œ์Šค(HTML, CSS, JavaScript, ์ด๋ฏธ์ง€ ๋“ฑ)๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜์—ฌ, ๋™์ผํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์žฌ์š”์ฒญํ•  ๋•Œ ๋” ๋น ๋ฅด๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ์ค„์ด๊ณ , ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๋ฅผ ์ตœ์ ํ™”ํ•˜๋ฉฐ, ์„œ๋ฒ„ ๋ถ€ํ•˜๋ฅผ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ฌ์›น ์บ์‹œ์˜ ์ข…๋ฅ˜๋ธŒ๋ผ์šฐ์ € ์บ์‹œ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์›นํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•  ๋•Œ ๋‹ค์šด๋กœ๋“œํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋กœ์ปฌ ์ €์žฅ์†Œ(๋””์Šคํฌ ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ)์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.์˜ˆ: ๋™์ผํ•œ ์ด๋ฏธ์ง€๋ฅผ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•  ๋•Œ, ์ด๋ฏธ์ง€๊ฐ€ ์„œ๋ฒ„์—์„œ ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œ๋˜์ง€ ์•Š๊ณ  ๋กœ์ปฌ ์บ์‹œ์—์„œ ๋กœ๋“œ๋จ. ๋™์ผํ•œ ํŽ˜์ด์ง€์— ์ ‘์†ํ•  ๋•Œ ๋” ๋น ๋ฅด๊ฒŒ ์ ‘์† ๊ฐ€๋Šฅํ”„๋ก์‹œ ์บ์‹œํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์˜ ํ”„๋ก์‹œ ์„œ๋ฒ„์—์„œ ์บ์‹ฑ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.๋„คํŠธ์›Œํฌ ๋‹จ์œ„์—์„œ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€..

๐Ÿ“•CS 2024.12.09

ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ(Cloud Native)

๐Ÿ“Œํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ(Cloud Native)๋ž€?ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ๋ž€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์— ์ตœ์ ํ™”๋˜์–ด ์„ค๊ณ„๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์‹œ์Šคํ…œ์„ ๋งํ•œ๋‹ค. ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์ปจํ…Œ์ด๋„ˆํ™”, ์ง€์†์ ์ธ ํ†ตํ•ฉ ๋ฐ ๋ฐฐํฌ(CI/CD) ๋“ฑ์˜ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋œ๋‹ค. ๐Ÿ“Œ๋ฆฌํ”„ํŠธ ์•ค ์‹œํ”„ํŠธ(Lift and Shift) ๋ฐฉ์‹๊ณผ์˜ ์ฐจ์ด๋ฆฌํ”„ํŠธ ์•ค ์‹œํ”„ํŠธ๋Š” ๊ธฐ์กด ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐ์ ์ธ ๋ณ€๊ฒฝ ์—†์ด ๊ทธ๋Œ€๋กœ ํด๋ผ์šฐ๋“œ๋กœ ์˜ฎ๊ธฐ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์ด๋‹ค. ์ด์— ๋ฐ˜ํ•ด ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์ตœ์ ํ™”๋˜์–ด ๋™์ž‘ํ•˜๋„๋ก ์ฒ˜์Œ๋ถ€ํ„ฐ ์ƒˆ๋กญ๊ฒŒ ์„ค๊ณ„ํ•˜๊ฑฐ๋‚˜ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๊ฐœ๋…์ด๋‹ค. ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฐฉ์‹์€ ํด๋ผ์šฐ๋“œ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด ๋” ๋†’์€ ํšจ์œจ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. ๐Ÿ”จํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ํ•ต์‹ฌ๊ธฐ์ˆ  1..

๐Ÿ“•CS 2024.12.08

Git ๋ธŒ๋žœ์น˜ ์ „๋žต

๐Ÿ“ŒGit ๋ธŒ๋žœ์น˜ ์ „๋žตGit ๋ธŒ๋žœ์น˜ ์ „๋žต์€ ํ˜‘์—…ํ•˜๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ทœ์น™๊ณผ ์›Œํฌํ”Œ๋กœ์šฐ๋‹ค. 1. Git Flowmaster: ์ œํ’ˆ ์ถœ์‹œ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”์ธ ๋ธŒ๋žœ์น˜develop: ๋‹ค์Œ ์ถœ์‹œ ๋ฒ„์ „์„ ์œ„ํ•ด ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜feature: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜release: ๋‹ค์Œ ์ถœ์‹œ ๋ฒ„์ „์„ ์ค€๋น„ํ•˜๋Š” ๋ธŒ๋žœ์น˜hotfix: ์ถœ์‹œ๋œ ์ œํ’ˆ์˜ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์น˜๊ธฐ ์œ„ํ•œ ๋ธŒ๋žœ์น˜ 2. Github Flow๋ฐฐํฌ๋Š” Git Flow ์™€ ๋™์ผํ•˜๊ฒŒ master ๋ธŒ๋žœ์น˜์—์„œ ์ˆ˜ํ–‰๋˜์ง€๋งŒ, ๊ทธ ์™ธ์˜ release, hotfix ๋“ฑ์˜ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋“ค ๋Œ€์‹  ํ•˜๋‚˜์˜ feature branch ๋งŒ์ด ์กด์žฌํ•œ๋‹ค.  master/ # ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ ์ƒํƒœ (์ตœ์ข…..

๐Ÿ“•CS 2024.12.06

JWT ํ† ํฐ ๊ตฌ์กฐ์™€ ํ™œ์šฉ ๋ฐฉ๋ฒ•

๐Ÿ“ŒJWT ํ† ํฐJWT(JSON Web Token)์ด๋ž€ ์›น ํ‘œ์ค€์œผ๋กœ, ์ฃผ๋กœ ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ์ •๋ณด ๊ตํ™˜์— ์‚ฌ์šฉ๋œ๋‹ค. JWT๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ๊ฐ ํ—ค๋”, ํŽ˜์ด๋กœ๋“œ, ์‹œ๊ทธ๋‹ˆ์ฒ˜๋กœ ๋‚˜๋‰œ๋‹ค. ํ—ค๋”๋Š” ํ† ํฐ์˜ ์œ ํ˜•๊ณผ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํฌํ•จํ•˜๋ฉฐ, ํŽ˜์ด๋กœ๋“œ๋Š” ์‚ฌ์šฉ์ž ์ •๋ณด์™€ ๊ฐ™์€ ํด๋ ˆ์ž„์„ ํฌํ•จํ•˜๋ฉฐ, ์‹œ๊ทธ๋‹ˆ์ฒ˜๋Š” ํ† ํฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.JWT๋Š” ์ฃผ๋กœ OAuth์™€ ๊ฐ™์€ ์ธ์ฆ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์•ˆ์ „ํ•œ ์ •๋ณด ๊ตํ™˜์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด JWT๋Š” ์ž์ฒด์ ์œผ๋กœ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.ํ—ค๋”ํ† ํฐ์˜ ์œ ํ˜•๊ณผ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํฌํ•จํ•œ๋‹ค.{"alg": "HS256", "typ": "JWT"} ํŽ˜์ด๋กœ๋“œ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ํฌํ•จํ•œ๋‹ค. {"sub": "1234567890", "name..

๐Ÿ“•CS 2024.12.06

JavaScript์˜ ๋น„๋™๊ธฐ์™€ ์ด๋ฒคํŠธ ๋ฃจํ”„

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

๐Ÿ“•CS 2024.11.21

๊ฐœ๋ฐœ ์–ธ์–ด

๐Ÿ“Œ์ปดํŒŒ์ผ ์–ธ์–ด์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ปดํŒŒ์ผ ์–ธ์–ด์ „์ฒด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ ์–ธ์–ด๋ฅผ ํ†ตํ•ด ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ ์‹คํ–‰ํ•˜๋Š” ์–ธ์–ด์ด๋‹ค.- C, C++ ๋“ฑ- ํ”Œ๋žซํผ ์ข…์†์ : ์ปดํŒŒ์ผ ์–ธ์–ด๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํŠน์ • ํ”Œ๋žซํผ(์šด์˜์ฒด์ œ์™€ ํ•˜๋“œ์›จ์–ด)์˜ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค.  ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ•œ ์ค„์”ฉ ์ฝ์–ด๊ฐ€๋ฉฐ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์˜ ์–ธ์–ด์ด๋‹ค. (์ด๋กœ ์ธํ•ด ์ปดํŒŒ์ผ ๊ณผ์ •์ด ๋”ฐ๋กœ ํ•„์š” ์—†๋‹ค.)- Python, JavaScript ๋“ฑ  ํ˜ผํ•ฉํ˜• ์–ธ์–ด, ๋ฐ”์ดํŠธ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ์–ธ์–ด์ปดํŒŒ์ผ ์–ธ์–ด์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์˜ ํŠน์ง•์„ ๊ฒฐํ•ฉํ•œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์–ธ์–ด์ด๋‹ค.- Java ๋“ฑ: Java๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ผ๋Š” ์ค‘๊ฐ„ ์ฝ”๋“œ ์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์ด ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋Š” ๊ฐ€์ƒ๋จธ์‹ (VM)์ด ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ํ•ด์„ํ•˜๊ฑฐ๋‚˜ ์ปดํŒŒ์ผํ•ด์„œ ์‹คํ–‰ํ•œ๋‹ค.  ์ปดํŒŒ์ผ ์–ธ์–ด..

๐Ÿ“•CS 2024.11.20

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP, Object-Oriented Programming)

๐Ÿ“Œ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์‹ค์„ธ๊ณ„์˜ ์‚ฌ๋ฌผ์„ ๊ฐ์ฒด๋กœ ๋ชจ๋ธ๋งํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ, ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋กœ ๋ฌถ๋Š”๋‹ค. ๐Ÿ“Œ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์žฅ์ 1. ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€๊ฐ์ฒด๋ฅผ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ์กด์˜ ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š”๋ฐ ์šฉ์ดํ•˜๋‹ค.2. ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ์บก์Аํ™”๋ฅผ ํ†ตํ•ด ๋‚ด๋ถ€ ๊ตฌํ˜„์„ ๊ฐ์ถ”๊ณ , ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๊ณต๊ฐœํ•˜์—ฌ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‹œ ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.3. ๊ฐ€๋…์„ฑ๊ณผ ์ดํ•ด๋„ ์ฆ๊ฐ€ํ˜„์‹ค ์„ธ๊ณ„์˜ ์‚ฌ๋ฌผ์„ ๊ฐ์ฒด๋กœ ๋ชจ๋ธ๋งํ•˜์—ฌ ์ง๊ด€์ ์ธ ์„ค๊ณ„๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๐Ÿ“Œ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŠน์ง•: ์ถ”์ƒํ™”, ์บก์Аํ™”, ์ƒ์†, ๋‹คํ˜•์„ฑ1. ์ถ”์ƒํ™”๋ณต์žกํ•œ ๊ฐœ๋…์€ ๊ฐ์ถ”๊ณ  ํ•ต์‹ฌ๋งŒ ๋“œ๋Ÿฌ๋‚ด๋Š” ๊ฒƒ2. ์บก์Аํ™”๊ฐ์ฒด์˜ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๊ณ  ์ผ๋ถ€๋ฅผ ์™ธ๋ถ€์— ๊ฐ์ถ”์–ด ์€๋‹‰ํ•˜๋Š” ๊ฒƒ3. ์ƒ์†์ƒ์œ„ ํด๋ž˜์Šค์˜ ํŠน์„ฑ์„ ํ•˜์œ„ ํด๋ž˜์Šค์—..

๐Ÿ“•CS 2024.11.20

์†Œํ”„ํŠธ์›จ์–ด V&V(Verification & Validation)

๐Ÿ“ŒV&V(Verification & Validation)Verification์€ ์ถฉ๋ถ„ํžˆ ๋‚ฉ๋“ํ• ๋งŒํ•œ ์ „๋ฌธ์ ์ธ ๊ฐœ๋ฐœ ๊ณผ์ •์„ ๊ฑฐ์ณค๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด๊ณ , Validation์€ ๊ณ ๊ฐ์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๊ธฐ๋ฐ˜ํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋„์ถœํ•˜์˜€๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. Verification = ํ™•์ธ = ์ œํ’ˆ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๊ฐ€?1. ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ์™€ ์„ค๊ณ„ ๋ช…์„ธ์„œ์— ๋”ฐ๋ผ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋Š”์ง€ ํ˜น์€ ๊ฒฐํ•จ์ด ์žˆ๋Š”์ง€๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ด๋‹ค.2. ์‚ฌ์šฉ์ž์—๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์ „์— ํ™•์ธ(Verification)์€ ๋ฐ˜๋“œ์‹œ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค. ์˜ค๋ฅ˜๋‚˜ ์š”๊ตฌ ๋ˆ„๋ฝ์ด ์กด์žฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ณ ๊ฐ์—๊ฒŒ ์‹ ๋ขฐ๋ฅผ ์ค„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.3. ๊ณ ๊ฐ์˜ ๋‹ˆ์ฆˆ์— ๋”ฐ๋ผ ์ œํ’ˆ์ด ์„ค๊ณ„์— ๋งž๊ฒŒ ๋งŒ๋“ค์–ด์ง€๊ณ  ์žˆ๋Š”๊ฐ€ ํ˜น์€ ์ œํ’ˆ์ด ๋ช…์„ธ์„œ๋ฅผ ์ถฉ์กฑํ•˜๋Š”๊ฐ€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ์ ˆ์ฐจ์ด๋‹ค...

๐Ÿ“•CS 2024.11.20

[OS]ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ(2)

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

๐Ÿ“•CS 2024.11.19

[OS]ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ(1)

๐Ÿ“Œ ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œํ”„๋กœ์„ธ์Šค(process)๋Š” ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•˜๋ฉฐ CPU ์Šค์ผ€์ค„๋ง์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ์ž‘์—…(task)์™€ ๊ฑฐ์˜ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์“ฐ์ธ๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด ์ž‘์—…์˜ ํ๋ฆ„์„ ์ง€์นญํ•œ๋‹ค.ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜๋Š” ์ธ์Šคํ„ด์Šคํ™”๊ฐ€ ์ผ์–ด๋‚˜๊ณ , ์ดํ›„ ์šด์˜์ฒด์ œ์˜ CPU ์Šค์ผ€์ค„๋Ÿฌ์— ๋”ฐ๋ผ CPU๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๋ฉด CPU๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ PC๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.์ดํ›„ PC๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ์— ์žˆ๋Š” ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ์‹คํ–‰์ด ๋๋‚˜๋ฉด PC๋ฅผ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ์‹œ, ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ PC์™€ ๊ด€๋ จ ๋ ˆ์ง€์Šคํ„ฐ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ , ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค.*Program Counter(PC)๋ž€?Program Counter๋Š” C..

๐Ÿ“•CS 2024.11.13
728x90