๐CS49 ๋ ๋-๋ธ๋ ํธ๋ฆฌ ๊ฐ๋ ๊ฐ ๋ ธ๋์ ํ ๋นํธ์ color ํ๋๊ฐ ์ถ๊ฐ๋ก ์์ผ๋ฉฐ ์๋ ๋ ๋-๋ธ๋ ํน์ฑ์ ๋ชจ๋ ๋ง์กฑํ๋ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ๋งํ๋ค. ๋ ๋-๋ธ๋ ํน์ฑ ๊ฐ ๋ ธ๋ color๋ '๋ ๋'์ด๊ฑฐ๋ '๋ธ๋'์ด๋ค. ๋ฃจํธ์ ์ธ๋ถ ๋ ธ๋(NIL)์ color๋ ๋ธ๋์ด๋ค. ๋ ๋ ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋๋ ๋ฐ๋์ ๋ธ๋์ด๋ค. ์์์ ๋ ธ๋ x์์ ํ์ ๋ฆฌํ๊น์ง ๊ฐ๋ ๊ฒฝ๋ก์ ์๋ ๋ธ๋ ๋ ธ๋์ ๊ฐ์๋ ๊ฐ๋ค. ์ด๊ฒ์ black-height(x)๋ผ๊ณ ํ๋ค. ํธ๋ฆฌ์ ๋์ด O(log n) n๊ฐ์ ํค๋ฅผ ๊ฐ์ง ๋ ๋-๋ธ๋ ํธ๋ฆฌ T์ ๋์ด๋ฅผ h๋ผ๊ณ ํ๋ฉด h ≤ 2log(n+1) ์ด๋ค. ๋์ด์ฐจ๋ ์ต๋ 2๋ฐฐ ์ด์ ์ปค์ง์ง ์๋๋ค. ์ฐ์ฐ O(log n) ํ์ ์ต์๊ฐ ์ฐพ๊ธฐ ์ต๋๊ฐ ์ฐพ๊ธฐ ์ ํ์ ํํ์ ์ฝ์ , ์ญ์ ์ฐ์ฐ ์๊ณ ๋ฆฌ์ฆ์์ ์ํํ๋ rotation์ ์ต๋ 2ํ์ด๋ค. ์ฐธ.. 2021. 4. 11. [DB] N + 1 ๋ฌธ์ ๊ฐ๋ ORM์์ ์ฑ๋ฅ ์ด์๊ฐ ๋ฐ์ํ๋ฉด ๊ฐ์ฅ ํํ ์์ธ์ผ๋ก N+1 Problem์ด ์ธ๊ธ๋๋ค. N+1 Problem์ ์ฟผ๋ฆฌ 1๋ฒ์ผ๋ก N๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์๋๋ฐ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํด ์ด N๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ ์ ๋งํผ ๋ฐ๋ณตํด์ 2์ฐจ์ ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์ํํ๋ ๋ฌธ์ ์ ๋๋ค. ORM : (Object Relational Mapping) ๊ฐ์ฒด-๊ด๊ณ ๋งคํ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋งคํ(์ฐ๊ฒฐ)ํด์ฃผ๋ ๊ฒ์ ๋งํ๋ค. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ๊ณ , ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ ์ด๋ธ์ ์ฌ์ฉํ๋ค. ๊ฐ์ฒด ๋ชจ๋ธ๊ณผ ๊ด๊ณํ ๋ชจ๋ธ ๊ฐ์ ๋ถ์ผ์น๊ฐ ์กด์ฌํ๋ค. ORM์ ํตํด ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ฐํ์ผ๋ก SQL์ ์๋์ผ๋ก ์์ฑํ์ฌ ๋ถ์ผ์น๋ฅผ ํด๊ฒฐํ๋ค. Persistence API๋ผ๊ณ ๋ ํ ์ ์๋ค. JPA : (Java.. 2021. 4. 11. ๋ฌธ์ ์ธ์ฝ๋ฉ | ASCII, Unicode, UTF-8 ์ธ์ฝ๋ฉ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฌธ์๋ ๊ธฐํธ๋ฅผ ์ปดํจํฐ๊ฐ ์ด์ฉํ ์ ์๋ ์ ํธ๋ก ๋ง๋๋ ๊ฒ์ ๋งํ๋ค. ๋ฌธ์ → ์ซ์ : ์ธ์ฝ๋ฉ ์ซ์ → ๋ฌธ์ : ๋์ฝ๋ฉ ์๋ฅผ ๋ค์ด, ๋ฉ๋ชจ์ฅ์ A๋ผ๊ณ ์น ๋ค์ ์ ์ฅํ๋ฉด ์ค์ ๋ก ํ๋๋์คํฌ์ ๊ธฐ๋ก๋๋ ์ ๋ณด๋ 65๋ผ๋ ์ซ์๊ฐ. A -> 65๋ผ๊ณ ์ ์ฅํ๋๋ก ๋ง๋ค์ด๋จ๊ธฐ ๋๋ฌธ์ ์์คํค์ฝ๋ ๊ฐ์ฅ ์ฒ์ ๋ง๋ค์ด์ง ์ธ์ฝ๋ฉ์ด ASCII์ฝ๋. ์ซ์์ ๋ฌธ์๋ฅผ ๋งค์นญ์ํค๋ ๊ตญ์ ์ ๊ท์น. ํจ๋ฆฌํฐ ๋นํธ๋ฅผ ์ ์ธํ๊ณ , 128๊ฐ์ ๋ฌธ์์กฐํฉ์ ์ ๊ณตํ๋ 7๋นํธ ๋ถํธ (ํจ๋ฆฌํฐ ๋นํธ๋ ๋ฐ์ดํฐ์ ์๋ฌ๋ฅผ ํ์งํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ์ผ๊ณฑ์๋ฆฌ์ ์ด์ง์์์ '1'์ด ํ์๊ฐ๋ผ๋ฉด ๋์ 1์, '1'์ด ์ง์๊ฐ๋ผ๋ฉด ๋์ 0์ ๋ง๋ถ์ธ๋ค. ์์ฃผ ์ ๋ฐํ์ง ์์ง๋ง ํจ๋ฆฌํฐ ๋นํธ๋ฅผ ์ด์ฉํด ์ด๋ ์ ๋์ ์๋ฌ๋ฅผ ํ์งํ ์ ์๋ค.) ๋ฌธ์ ์ ์์คํค์ฝ๋๋ง์ผ๋ก๋ ์.. 2021. 4. 10. [Web] HTTP, HTTPS, HTTP ๋ฒ์ HTTP Hyper Text Transfer Protocol์ ์ฝ์ด๋ก WWW(World Wide Web)์ ๋ด์ฌ๋ ํ๋กํ ์ฝ์ด๋ค. ์ธํฐ๋ท์์ ์์(ํ์ผ, ์ด๋ฏธ์ง, ๋น๋์ค)์ ๊ตํํ๋ ํ๋กํ ์ฝ(์ฝ์, ๊ท์น) ∴ HTTP๋ ์ธํฐ๋ท์์ ํด๋ผ์ด์ธํธ์ ์น ์๋ฒ๊ฐ ํต์ (๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์)์ ์ํ ํ๋กํ ์ฝ ์ค ํ๋ ๊ธฐ๋ณธ ํฌํธ 80 ํ์ดํผํ ์คํธ ๋ฌธ์๋ฅผ ํํํ๊ธฐ ์ํ ํ ์คํธ ํ์์ ๋งํฌ์ ์ธ์ด๊ฐ HTML(ํ์ดํผ ํ ์คํธ ๋งํฌ์ ์ธ์ด) ๋ฌธ์ ๊ฐ์ ๊ฒ์ ๊ตํํ๊ธฐ ์ํ ๊ฐ๋จํ ํ๋กํ ์ฝ์ด HTTP(ํ์ดํผํ ์คํธ ์ ์ก ํ๋กํ ์ฝ) ๋ฌธ์๋ฅผ ๋์คํ๋ ์ดํ๊ธฐ ์ํ ํด๋ผ์ด์ธํธ๊ฐ WWW(์ฒซ๋ฒ์งธ ๋ธ๋ผ์ฐ์ ) CORS(Corss-Origin Resource Sharing) ๋ณด์์์ ์ด์ ๋ก ๋ธ๋ผ์ฐ์ ๋ค์ด ๋ค๋ฅธ ๋๋ฉ์ธ์๊ฒ XHR ์์ฒญ ๋ณด๋ด๋ ๊ฒ์ ์ ํํ .. 2021. 4. 8. [OS] ์ค๋ ๋ ์ด ๊ธ์ '๊ทธ๋ฆผ์ผ๋ก ๋ฐฐ์ฐ๋ ๊ตฌ์กฐ์ ์๋ฆฌ ์ด์์ฒด์ ' ๊ฐ์ 3ํ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์ฒจ๋ถ๋ ์ด๋ฏธ์ง๋ ์ฑ ์ ๊ธฐ๋ฐ์ผ๋ก ์ง์ ์ ์ํ์ต๋๋ค. ๋ชฉ์ฐจ 1. ์ค๋ ๋์ ๊ฐ๋ ๊ณผ ์ํ ๋ณํ ๊ฐ๋ ์ค๋ ๋์ ์ฃผ์ ๊ณต๊ฐ ๋จ์ผ ์ค๋ ๋์ ๋ค์ค ์ค๋ ๋ ์ค๋ ๋์ ์ํ ๋ณํ ์ค๋ ๋์ ์ ์ด ๋ธ๋ก 2. ์ค๋ ๋์ ๊ตฌํ ์ฌ์ฉ์ ์์ค ์ค๋ ๋ ์ปค๋ ์์ค ์ค๋ ๋ ํผํฉํ ์ค๋ ๋ 1. ์ค๋ ๋์ ๊ฐ๋ ๊ณผ ์ํ ๋ณํ ๊ฐ๋ ์ง๊ธ๊น์ง ์ดํด๋ณธ ํ๋ก์ธ์ค๋ ๋ ๊ฐ์ง ํน์ฑ์ธ ์์๊ณผ ์ ์ด๋ก ๊ตฌ๋ถํ ์ ์๋ค. ์ด ์ค ์ ์ด๋ง ๋ถ๋ฆฌํ ์คํ ๋จ์๋ฅผ ์ค๋ ๋(thread)๋ผ๊ณ ํ๋๋ฐ, ํ๋ก์ธ์ค ํ๋๋ ์ค๋ ๋ ํ ๊ฐ ์ด์์ผ๋ก ๋๋ ์ ์๋ค. ์ค๋ ๋๋ค์ ํ๋ก์ธ์ค์ ์ง์ ์คํ ์ ๋ณด๋ฅผ ์ ์ธํ ๋๋จธ์ง ํ๋ก์ธ์ค ๊ด๋ฆฌ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ค. ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC)์ ์คํ ํฌ์ธํฐ(SP)๋ฑ์ ๋น๋กฏํ.. 2021. 4. 4. [DB] Index ์ธ๋ฑ์ค๋? ์ธ๋ฑ์ค == ๋ชฉ์ฐจ, RDBMS์์ ๊ฒ์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํ ๊ธฐ์ ์ธ๋ฑ์ค๋ ๊ฒฐ๊ตญ ์ง์ ํ ์ปฌ๋ผ๋ค์ ๊ธฐ์ค์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ผ์ข ์ ๋ชฉ์ฐจ๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค. ์ธ๋ฑ์ค๊ฐ ํ์ํ ์ด์ ์ปดํจํฐ๋ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ(ํ ์ด๋ธ ๋ฑ)๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋๋ฐ, ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ๋์คํฌ์์ ํ ์ด๋ธ ์ ์ฒด๋ฅผ ํ์ผ๋ฉด์ ์ฐพ์์ผ ํ๊ณ ์ด๋ฅผ Full Table Scan์ด๋ผ๊ณ ํ๋ค. ๋์ฉ๋ ๋ฐ์ดํฐ์์๋ ๊ต์ฅํ ๋นํจ์จ์ ์ด๋ค. ๊ทธ๋์ Full Table Scan์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๋ชฉ์ฐจ์ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ค. ํน์ง ์ธ๋ฑ์ค๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค. B-Tree ํํ๋ก ์ ์ฅ๋จ ์์ ๋ ธ๋๊ฐ 2๊ฐ ์ด์ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ Page(Block)์ ๊ฐ์ฅ ๊ธฐ๋ณธ๋จ์ ๋ก ์ผ๋๋ค. ๋์คํฌ ์ฝ๊ธฐ ์ฐ.. 2021. 4. 4. [Web] ์ฟ ํค์ ์ธ์ HTTP ํ๋กํ ์ฝ ํน์ง ๋น์ฐ๊ฒฐ ์งํฅ(Connectionless) ํด๋ผ์ด์ธํธ์์ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์๋ต์ ํ๊ณ ์ ์์ ๋๋ ํน์ฑ์ด ์๋ค.(HTTP1.1์์ Connectionํค๋์ keep-alive์ค์ ํ๋ฉด ์ปค๋ฅ์ ์ ์ ์งํ ์ ์๋ค.) ์ํ์ ๋ณด ์ ์ง ์ ํจ(Stateless) HTTP ํต์ ์ ์์ฒญ์ ์๋ตํ๊ณ ์ ์์ ๋๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ ์ํ ์ ๋ณด๋ฅผ ์ ์ ์๋ค. ์ฟ ํค์ ์ธ์ ์ ํ์์ฑ ์ฟ ํค์ ์ธ์ ์ ํ์ → HTTP ํ๋กํ ์ฝ์์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํจ ์์ ๊ฐ์ HTTP ํ๋กํ ์ฝ์ ํน์ง์ผ๋ก ๋ชจ๋ ์์ฒญ๊ฐ์ ์์กด๊ด๊ณ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ์ ์๋ค. ์ด์ ์์ฒญ๊ณผ ํ์ฌ ์์ฒญ์ด ๊ฐ์ ์ฌ์ฉ์์ ์์ฒญ์ธ์ง ์๊ธฐ ์ํด์๋ ์ํ๋ฅผ ์ ์งํด์ผ ํ๋ค. HTTP ํ๋กํ ์ฝ์์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํ ๊ธฐ์ .. 2021. 4. 4. [Web] REST & RESTful REST & RESTful REST๋ HTTP, ํ๋กํ ์ฝ์ด ์๋๋ค! REST๋ ์ผ์ข ์ ๊ฐ์ด๋๋ผ์ธ์ด๋ค. REST API ๋ REST ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค API๋ฅผ ๊ตฌํํ ๊ฒ REST ์๋ฆฌ๋ฅผ ๋ฐ๋ผ๋ฅด๋ ์์คํ (์๋น์ค)๋ฅผ RESTful ์ด๋ผ๊ณ ํ๋ค. = REST API ๋ฅผ ์ ๊ณตํ๋ ์น ์๋น์ค๋ฅผ RESTful ํ๋ค๊ณ ํ ์ ์๋ค. REST REST๋ Representational State Transfer์ ์ฝ์๋ก ๋ถ์ฐ ํ์ดํผ ๋ฏธ๋์ด ์์คํ ์ ์ํ ์ํํธ์จ์ด ์ํคํ ์ฒ์ ํ ํ์์ด๋ค. ์น์ ์กด์ฌํ๋ ๋ชจ๋ ์์(์ด๋ฏธ์ง, ๋์์, DB์์)์ ๊ณ ์ ํ URL์ ๋ถ์ฌํด ํ์ฉํ๋ ๊ฒ์ผ๋ก ์์์ ์ ์ํ๊ณ ์์์ ๋ํ ์ฃผ์๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ๋ก ์ ์๋ฏธํ๋ค. → URL์ ์์์ ํํํ๋ ๊ฒ HTTP URI ๋ฅผ ํตํด ์์์ ๋ช ์ํ๊ณ HTT.. 2021. 4. 3. [OS] ํ๋ก์ธ์ค ์ด ๊ธ์ '๊ทธ๋ฆผ์ผ๋ก ๋ฐฐ์ฐ๋ ๊ตฌ์กฐ์ ์๋ฆฌ ์ด์์ฒด์ ' ๊ฐ์ 3ํ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์ฒจ๋ถ๋ ์ด๋ฏธ์ง๋ ์ง์ ์ ์ํ์ต๋๋ค. ๋ชฉ์ฐจ 1. ํ๋ก์ธ์ค ๊ฐ๋ ๊ณผ ์ํ ๋ณํ ๊ฐ๋ ํ์์์ ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก์ธ์ค ์ฐจ์ด ๊ด์ ์ ๋ฐ๋ฅธ ํ๋ก์ธ์ค ํ๋ก์ธ์ค ์ข ๋ฅ ํ๋ก์ธ์ค ์ํ ๋ณํ์ ์ํ ์ ๋ณด ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ ๊ตํ 2. ํ๋ก์ธ์ค์ ๊ด๋ฆฌ ํ๋ก์ธ์ค์ ๊ตฌ์กฐ ํ๋ก์ธ์ค์ ์์ฑ ํ๋ก์ธ์ค์ ์ข ๋ฃ ํ๋ก์ธ์ค์ ์ ๊ฑฐ ํ๋ก์ธ์ค์ ์ค๋จ๊ณผ ์ฌ์์ ํ๋ก์ธ์ค์ ์ฐ์ ์์ ๋ณ๊ฒฝ ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ ๊ตํ 1. ํ๋ก์ธ์ค ๊ฐ๋ ๊ณผ ์ํ ๋ณํ ๊ฐ๋ ์ผ๋ฐ์ ์ธ ํ๋ก์ธ์ค ์ ์๋ '์คํ ์ค์ธ ํ๋ก๊ทธ๋จ'์ด๋ค. ์คํ ์ค์ด๋ผ๋ ์๋ฏธ๋ ๋์คํฌ์ ์๋ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ์ฌ ์ด์์ฒด์ ์ ์ ์ด๋ฅผ ๋ฐ๋ ์ํ๊ฐ ๋์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ์์ ๋ง์ ๋ฉ๋ชจ๋ฆฌ ์์ญ(์ฃผ์ ๊ณต๊ฐ)์ด ์.. 2021. 4. 2. ์ด์ 1 2 3 4 5 6 ๋ค์