๐ฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Data base)๋? > ์ฌ๋ฌ ์ฌ๋์ด ๊ณต์ ํ๊ณ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ํตํฉ ๊ด๋ฆฌ๋๋ ์ ๋ณด์ ์งํฉ. ๋ ผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ด๋ ํ๋ ์ด์์ ์๋ฃ์ ๋ชจ์์ผ๋ก ๊ทธ ๋ด์ฉ์ ๊ณ ๋๋ก ๊ตฌ์กฐํํจ์ผ๋ก์จ ๊ฒ์๊ณผ ๊ฐฑ์ ์ ํจ์จํ๋ฅผ ๊พํ ๊ฒ์ด๋ค. ์ฆ, ๋ช ๊ฐ์ ์๋ฃ ํ์ผ์ ์กฐ์ง์ ์ผ๋ก ํต
์คํค๋ง(Schema)๋? ์ปดํจํฐ ๊ณผํ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง(database schema)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์๋ฃ์ ๊ตฌ์กฐ, ์๋ฃ์ ํํ ๋ฐฉ๋ฒ, ์๋ฃ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ ์ธ์ด๋ก ์ ์ํ ๊ตฌ์กฐ์ด๋ค. > ๋ฐ์ดํฐ์ ๊ตฌ์กฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค๊ณ > ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ
๐พ DBMS๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ '๋ฐ์ดํฐ์ ์งํฉ'์ด๋ผ๊ณ ์ ์ํ๋ค๋ฉด, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ์ด์ํ๋ ์ํํธ์จ์ด๋ฅผ DBMS(Dataase Management System)๋ผ๊ณ ํฉ๋๋ค. ๋ค์ํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ๋ช ์ ์ฌ์ฉ์๋ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ๊ณต์ ํ
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ค๊ณ๋ ํน์ ๋ชฉ์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์์ ์๋ฃ์ ๊ฒ์๊ณผ ๊ด๋ฆฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ์์ฑ๊ณผ ์์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ์ ๊ทผ ์กฐ์ ๊ด๋ฆฌ๋ฅผ ์ํด ๊ณ ์๋์๋ค. ๋ง์ ์์
RDBMS ์ค ์ค๋ผํด ๋ค์์ผ๋ก ๋ง์ด ์ธ๊ธ๋๋ PostgreSQL์ ํ๋ฒ ์ค์นํ๊ณ ์ฌ์ฉํด๋ณด์! ๐ PostgreSQL ์ค์น ๋ฐ ํ์ธ! ์ค์น ์คํ ํ์ธ DB์ ์ ์ ํด ๋ณด์! PostgreSQl์ ์ค์น์ ์๋์ผ๋ก ๊ณ์ ์ ์์ฑํด์ค๋ค๊ณ ํฉ๋๋ค! ํ์ธํด ๋ณผ๊น์?
๐ค HTTP? HTTP๋ ํ์ดํผ ํ ์คํธ ์ ์ก ํ๋กํ ์ฝ์(Hypertext Transfer Protocol)์ ์ฝ์์ ๋๋ค. ์๋ก ๋ค๋ฅธ ์์คํ ๋ค ์ฌ์ด์์ ํต์ ์ ์ฃผ๊ณ ๋ฐ๊ฒ ํด์ฃผ๋ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ํ๋กํ ์ฝ์ ๋๋ค. โญ๏ธ HTTP ํ๋กํ ์ฝ ํน์ง HTTP ํ๋กํ ์ฝ์ ์ํ๊ฐ ์๋
ํธ๋์ญ์ (Transaction)์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ๋๋ ํ๊บผ๋ฒ์ ๋ชจ๋ ์ํ๋์ด์ผ ํ ์ผ๋ จ์ ์ฐ์ฐ๋ค์ ์๋ฏธํ๋ค.ํธ๋์ญ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ๋ณํ ์ ์ด ๋ฐ ํ๋ณต ์์ ์ ์ฒ๋ฆฌ๋๋ ์์ ์ ๋ ผ๋ฆฌ์ ๋จ์์ด๋ค.
HTTP ๋ฉ์๋๋ ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ์ ์ฌ์ฉ์ ์์ฒญ์ ๋ชฉ์ ์ด๋ ์ข ๋ฅ๋ฅผ ์๋ฆฌ๋ ์๋จ์ด๋ค. ์ต์ด์ HTTP์์๋ GET ๋ฉ์๋ ํ๋๋ฐ์ ์์์ง๋ง ์ดํ ๋ค์ผํญ ๋ฉ์๋๋ค์ด ์๊ฒจ๋ฌ๋ค.HTTP ๋ฉ์๋์ ์ข ๋ฅ๋ ์ด 9๊ฐ์ง๊ฐ ์๋ค. ์ด ์ค ์ฃผ๋ก ์ฐ์ด๋ ๋ฉ์๋๋ 5๊ฐ์ง๊ฐ ์๋ค. ์ด์
API(Application Programming Interface)๋?๋ฐ์ดํฐ์ ๊ธฐ๋ฅ์ ์งํฉ์ ์ ๊ณตํ์ฌ ์ปดํจํฐ ํ๋ก๊ทธ๋จ๊ฐ ์ํธ์์ฉ์ ์ด์งํ๋ฉฐ, ์๋ก ์ ๋ณด๋ฅผ ๊ตํ๊ฐ๋ฅ ํ๋๋ก ํ๋ ๊ฒREST ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค API๋ฅผ ๊ตฌํํ ๊ฒ์ต๊ทผ OpenAPI(๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋๋ก ๊ณต
"Representational State Transfer"์ ์ฝ์ ์์์ ์ด๋ฆ(์์์ ํํ)์ผ๋ก ๊ตฌ๋ถํ์ฌ ํด๋น ์์์ ์ํ(์ ๋ณด)๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ชจ๋ ๊ฒ์ ์๋ฏธํ๋ค.์ฆ, ์์(resource)์ ํํ (representation)์ ์ํ ์ํ ์ ๋ฌ์์: ํด๋น ์ํํธ์จ์ด
ํด๋ผ์ฐ๋ ์ปดํจํ ์ IT๋ฆฌ์์ค๋ฅผ ์ธํฐ๋ท์ ํตํด ์จ๋๋งจ๋(On-Demand)๋ก ์ ๊ณตํ๊ณ , ์ฌ์ฉํ ๋งํผ ๋น์ฉ์ ์ง๋ถํ๋ ๊ฒ์ด๋ค.ํด๋ผ์ฐ๋๋ฅผ ํตํด ์๋ฒ, ์คํ ๋ฆฌ์ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋คํธ์ํน, ์ํํธ์จ์ด, ๋ถ์, ์ธํ ๋ฆฌ์ ์ค๋ฑ์ ์ปดํจํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด๋ค.ํด๋ผ์ฐ๋ฉ ์ปดํจํ ์ ์ฌ์ฉ
isalpha() ๋ฌธ์์ด์ ๊ณต๋ฐฑ, ๊ธฐํธ, ์ซ์๊ฐ ์์์ False๋ฅผ ๋ฆฌํดํ๋ค.isdisit() ๋ฌธ์์ด์ ๊ณต๋ฐฑ, ๊ธฐํธ, ์ซ์๊ฐ ์์์ False๋ฅผ ๋ฆฌํดํ๋ค.
IP(Internet Protocol)์ด๋ ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋์ด ์๋ ๋ชจ๋ ์ฅ์น๋ค(์ปดํจํฐ, ์๋ฒ์ฅ๋น, ์ค๋งํธํฐ ๋ฑ)์ ์๋ณํ ์ ์๋๋ก ๊ฐ๊ฐ์ ์ฅ๋น์ ๋ถ์ฌ๋๋ ๊ณ ์ ์ฃผ์์ด๋ค.IP์ฃผ์๋ IPv4,IPv6 2๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ผ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก๋ IP ์ฃผ์๋ผ ํ๋ฉด IPv4 ์ฃผ์๋ฅผ
๐ค ํ๋ก์(Proxy)๋? ์ฌ์ ์ ์๋ฏธ: ๋์ , ๋๋ฆฌ์ด๋ค. ๋ง ๊ทธ๋๋ก ๋ PC๊ฐ ํต์ ์ ํ ๋ ์ง์ ํ์ง ์๊ณ ์ค๊ฐ์์ ๋๋ฆฌ๋ก ํต์ ํ๋ ๊ฒ์ 'ํ๋ก์'๋ผ๊ณ ํ๊ณ , ์ค๊ณ ์ญํ์ ํ๋ ๊ฒ์ 'ํ๋ก์ ์๋ฒ' ๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ฆ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ '์ค๊ณ์๋ฒ'๋ผ๊ณ ์๊ฐ
Transaction์ ์ด๋ฏธ ๋ธ๋ก๊น ํด๋จ์ผ๋ ๋ฐ๋ก ๊ฒฉ๋ฆฌ์์ค์ผ๋ก ๋์ด๊ฐ๋ณด์!ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค์ด๋?๋์์ ์ฌ๋ฌ ํธ๋์ญ์ ์ด ์ฒ๋ฆฌ๋ ๋, ํน์ ํธ๋์ญ์ ์ด ๋ค๋ฅธ ํธ๋์ญ์ ์์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์กฐํํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์๋๋ก ํ์ฉํ ์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋๋ค.๊ฒฉ๋ฆฌ ์์ค์ ๋ค์๊ณผ ๊ฐ์ด
๋ก๋ ๋ฐธ๋ฐ์๋ ์๋ฒ์ ๊ฐํด์ง๋ ๋ถํ(=load)๋ฅผ ๋ถ์ฐ(=balancing)ํด์ฃผ๋ ์ฅ์น ๋๋ ๊ธฐ์ ์ ํต์นญํฉ๋๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒํ(Server Pool, ๋ถ์ฐ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑํ๋ ์๋ฒ๋ค์ ๊ทธ๋ฃน) ์ฌ์ด์ ์์นํ๋ฉฐ, ํ ๋์ ์๋ฒ๋ก ๋ถํ๊ฐ ์ง์ค๋์ง ์๋๋ก ํธ๋ํฝ์ ๊ด๋ฆฌํด