๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ํ•˜๊ธฐ - ์ž๋ฃŒ๊ตฌ์กฐ
ยท
๐Ÿ€CS-๋ฉด์ ‘
๋ฐฐ์—ด(Array)๋ฐฐ์—ด์˜ ์žฅ๋‹จ์ ์€? ์žฅ์  ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•œ ๋น ๋ฅธ ์ ‘๊ทผ(O(1)) ์—ฐ์†๋œ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ์ด ์ข‹๋‹ค. ๋‹จ์  ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์กด์žฌํ•ด์„œ ์ค‘๊ฐ„์— ์š”์†Œ๊ฐ€ ์‚ฝ์ž…๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋˜๋Š” ๊ฒฝ์šฐ ๋’ค์— ์žˆ๋Š” ๋ชจ๋“  ์š”์†Œ๋“ค์„ ํ•œ์นธ์”ฉ ์›€์ง์—ฌ์ค˜์•ผ ํ•œ๋‹ค. O(n) ๋ฐฐ์—ด๊ณผ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์˜ ์ฐจ์ด์ ๋ฐฐ์—ด์€ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ๋“ค์˜ ์—ฐ๊ฒฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋ฐฐ์—ด์€ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด O(1) ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ํŠน์ • ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด O(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์‚ฝ์ž…๊ณผ ์‚ญ์ œ์— ๋ฐฐ์—ด์€ ๊ฐ ์›์†Œ๋“ค์„ ์˜ฎ๊ฒจ์ฃผ์–ด์•ผ ํ•ดO(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ, ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” O(1)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(L..
๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ํ•˜๊ธฐ - ์šด์˜์ฒด์ œ
ยท
๐Ÿ€CS-๋ฉด์ ‘
์šด์˜์ฒด์ œ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€? ์šด์˜์ฒด์ œ๋Š” ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ์†Œํ”„ํŠธ์›จ์–ด ์ž์›์„ ๊ด€๋ฆฌํ•˜๋ฉฐ ์ปดํ“จํ„ฐ์™€ ์‚ฌ์šฉ์ž ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ : ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ, ์Šค์ผ€์ค„๋ง ๋“ฑ์„ ๋‹ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ : ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น, ํ•ด์ œ, ์Šค์™‘ํ•‘ ๋“ฑ์„ ๊ด€๋ฆฌ. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ, ํŽ˜์ด์ง•, ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๊ธฐ๋ฒ•๋“ฑ์„ ์‚ฌ์šฉ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ : ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณต. ํŒŒ์ผ ์ €์žฅ, ๊ฒ€์ƒ‰, ์‚ญ์ œ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ž…์ถœ๋ ฅ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ : ๋‹ค์–‘ํ•œ ์ž…์ถœ๋ ฅ ์žฅ์น˜์™€ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ด€๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ๋ฉ”๋ชจ๋ฆฌ๋Š” ํฌ๊ฒŒ Code, Data, Heap, Stack์˜์—ญ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ดํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ์ธ์Šคํ„ด์Šค๋กœ ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง„๋‹ค. ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์ฒด ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๋…๋ฆฝ์ ..
๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ํ•˜๊ธฐ - ์›น / ๋„คํŠธ์›Œํฌ
ยท
๐Ÿ€CS-๋ฉด์ ‘
HTTP๋ž€? HyperText Transfer Protocol์˜ ์•ฝ์–ด๋กœ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ํ†ต์‹  ๊ทœ์•ฝ์„ ์˜๋ฏธํ•œ๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ฃผ์š” ํŠน์ง• ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ชจ๋ธ ๋ฌด์ƒํƒœ์„ฑ ์š”์ฒญ-์‘๋‹ต ๋ชจ๋ธ ๋น„์—ฐ๊ฒฐ์„ฑ ํ…์ŠคํŠธ๊ธฐ๋ฐ˜ HTTP์™€ HTTPS์˜ ์ฐจ์ด์ HTTP๋Š” ์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํžˆ์ง€ ์•Š๊ณ  ํ‰๋ฌธ์œผ๋กœ ์ „์†กํ•œ๋‹ค. HTTPS๋Š” HTTP์— SSL/TLS ์•”ํ˜ธํ™” ๊ณ„์ธต์„ ์ถ”๊ฐ€ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ ์•”ํ˜ธํ™”๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. ์ฟ ํ‚ค์™€ ์„ธ์„ ์˜ ์ฐจ์ด์  ์ฟ ํ‚ค ํด๋ผ์ด์–ธํŠธ ์ธก์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋กœ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋จ. ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ธŒ๋ผ์šฐ์ € ์žฌ์‹œ์ž‘ ํ›„์—๋„ ์ง€์†๋จ...
๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ํ•˜๊ธฐ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
ยท
๐Ÿ€CS-๋ฉด์ ‘
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€?๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ตฌ์กฐํ™”๋œ ์ •๋ณด ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์กฐ์งํ™”๋œ ๋ชจ์Œ์œผ๋กœ์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์— ์ „์ž์ ์œผ๋กœ ์ €์žฅ๋œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ DBMS์— ์˜ํ•ด ์ œ์–ด๋œ๋‹ค. ์—ฐ๊ฒฐ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•จ๊ป˜ ๋ฐ์ดํ„ฐ์™€ DBMS๋ฅผ ๋ฌถ์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ(์ค„์—ฌ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)๋ผ๊ณ  ํ•œ๋‹ค.  SQL๊ณผ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ฐจ์ด์ ์€?SQL๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ SQL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ณ  ์กฐ์ž‘ํ•œ๋‹ค. ์Šคํ‚ค๋งˆ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ์œผ๋ฉฐ ACID ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•œ๋‹ค. ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ช…ํ™•ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ณด์žฅํ•œ๋‹ค. ์‹œ์Šคํ…œ์ด ์ปค์ง€๋ฉด ์ฟผ๋ฆฌ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ณ  ์„ฑ๋Šฅ์ด ์ €ํ•˜๋จ. NoSQL๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. ์Šคํ‚ค๋งˆ๊ฐ€ ์œ ์—ฐํ•˜๊ณ  ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์ ํ•ฉํ•˜๋‹ค๋†’์€ ํ™•์žฅ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ์ด ์šฉ..
๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ํ•˜๊ธฐ - ์ž๋ฐ”
ยท
๐Ÿ€CS-๋ฉด์ ‘
์ž๋ฐ”์˜ ์žฅ๋‹จ์ ์žฅ์ JVM์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค. (ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ)๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋กœ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด ๋ชจ๋“ˆํ™”, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ์žฌ์‚ฌ์šฉ์„ฑ ํ–ฅ์ƒ.๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์„ ์ง€์›ํ•ด ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์šฉ์ดํ•˜๋‹ค. ํด๋ž˜์Šค๋กœ๋”์— ์˜ํ•ด ๋™์  ๋กœ๋”ฉ์„ ์ง€์›ํ•ด์„œ ์‹คํ–‰ ์‹œ ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ , ํ•„์š”ํ•œ ์‹œ์ ์— ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋‹จ์  ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ์— ๋น„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๋А๋ฆฌ๋‹ค. JVM ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„JDK, JRE, JVM์˜ ์ฐจ์ด๋Š”?JDK(Java Development Kit) Java ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์˜ ๋ชจ์Œ. JRE์™€ ๊ฐœ๋ฐœ๋„๊ตฌ(javac, java, javadoc...)์„ ํฌํ•จ. JRE(Java Runtime Environment) Jav..
๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ํ•˜๊ธฐ - Spring/SpringBoot
ยท
๐Ÿ€CS-๋ฉด์ ‘
Spring๊ณผ SpringBoot์˜ ์ฐจ์ด์ SpringBoot๋Š” Spring ํ”„๋ ˆ์ž„ ์›Œํฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ธํŒ…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ์ด๋‹ค.  SpringSpringBoot๋ชฉ์ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐœ๋ฐœ์„ ๋” ์‰ฝ๊ฒŒ์Šคํ”„๋ง ๊ฐœ๋ฐœ์„ ๋” ์‰ฝ๊ฒŒ์„ค์ • ํŒŒ์ผ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ์ž๋™ ๊ตฌ์„ฑXML์ผ๋ถ€ ํŒŒ์ผ์€ XML๋กœ ์ง์ ‘ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ์‚ฌ์šฉ x์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ง€์›ํ•˜์ง€ ์•Š์Œ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž๋™ ์„ค์ • ์ง€์›์„œ๋ฒ„ํ”„๋กœ์ ํŠธ๋ฅผ ๋„์šฐ๋Š” ์„œ๋ฒ„ ๋ณ„๋„๋กœ ์„ค์ •๋‚ด์žฅํ˜• ์„œ๋ฒ„๋ฅผ ์ œ IoC๋ž€?Inversion of Control์˜ ์ค„์ž„ ํ‘œํ˜„์œผ๋กœ, ์ œ์–ด์˜ ์—ญ์ „์ด๋ผ๋Š” ๋œป์ด๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์—์„œ ํด๋ž˜์Šค ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋А์Šจํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ œ์–ด๋ฅผ ๋ฐ˜์ „์‹œํ‚ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์–ด๋””์„ ๊ฐ€์—์„œ ๋ฐ›์•„์™€์„œ ์‚ฌ์šฉํ•œ..
์—ฌ์šฐ๋น„_YoBi
'๐Ÿ€CS-๋ฉด์ ‘' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก