์ค๋ฒ๋ผ์ด๋ฉ, ์ค๋ฒ๋ก๋ฉ
- ์ค๋ฒ๋ก๋ฉ - ๊ฐ์ ์ด๋ฆ ๋งค๊ฐ๋ณ์ ์์ ์ ์๋ฅผ ๋ค๋ฅด๊ฒ ํ์ฌ ์ฌ์ฉ
- ์ค๋ฒ๋ผ์ด๋ฉ - ์์๋ฐ์ ๊ฐ์ ธ๋ค ์ฐ๊ธฐ
VPN(virtual private network)
๊ฐ์ ์ฌ์ค๋ง.
๋ชฉ์ : ๋ชจ๋ ๋คํธ์ํฌ ํธ๋ํฝ์ ์์ ํ๊ฒ ์ํธํ๋ ์ฐ๊ฒฐ์ ํตํด VPN์ผ๋ก ์ ์ก
(๋ณดํต ๊ณ ์ IP ์ฃผ์ ํ ๋น๋๋๋ฐ, VPN ์๋ฒ์์ ๋ณด์ ์ฐ๊ฒฐ์ ๊ตฌ์ถ ๋ค๋ฅธ ๋ง์ ์ฌ์ฉ์์ ๊ณต์ ๋๋ฉฐ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ณ๊ฒฝ๋๋ VPN ์๋ฒ์ IP ์ฃผ์๋ง ๋ณผ ์ ์์ต๋๋ค.)
์ฅ์ : ์์น๋ณ๊ฒฝ, ๊ฐ์ธ์ ๋ณด๋ณดํธ, ๋ณด์๊ฐํ
์ฃผ์ ์์์ผ ํ ๊ฐ๋
: ํ๋ก์, ์ธ์ฆ, ํฐ๋๋ง, ์ํธํ (๋งํฌ)
OSI 7 ๊ณ์ธต
๊ณ์ธต์ ๋๋ ์ด์ ๋ ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ ์ด ๋จ๊ณ๋ณ๋ก ํ์ ํ ์ ์๋ค. PDNTSPA
- ๋ฌผ๋ฆฌ ๊ณ์ธต(Physical Layer) : ์ผ์ด๋ธ/๋ฆฌํผํฐ/ํ๋ธ
- ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต(DataLink Layer) : ๋ฌผ๋ฆฌ๊ณ์ธต์ ํตํด ์ก์์ ๋๋ ์ ๋ณด์ ์ค๋ฅ์ ํ๋ฆ์ ๊ด๋ฆฌํ์ฌ ์์ ํ ์ ๋ณด์ ์ ๋ฌ์ ์ํํ ์ ์๋๋ก ๋์์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ฐ๋ผ์ ํต์ ์์์ ์ค๋ฅ๋ ์ฐพ์์ฃผ๊ณ ์ฌ์ ์ก๋ ํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ด๋ค. ์ด ๊ณ์ธต์์๋ ๋งฅ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ํต์ ํ๊ฒ ๋๋ค.
- ๋คํธ์ํฌ ๊ณ์ธต(Network Layer) : ๋ฐ์ดํฐ๋ฅผ ๋ชฉ์ ์ง๊น์ง ๊ฐ์ฅ ์์ ํ๊ณ ๋น ๋ฅด๊ฒ ์ ๋ฌํ๋ ๊ธฐ๋ฅ(๋ผ์ฐํ ). ์ฌ๊ธฐ์ IP์ฃผ์๋ฅผ ์ฌ์ฉํ๋ค.
- ์ ์ก ๊ณ์ธต(Transport Layer) : ํต์ ์ ํ์ฑํํ๊ธฐ ์ํ ๊ณ์ธต์ด๋ค. ๋ณดํต TCPํ๋กํ ์ฝ์ ์ด์ฉํ๋ฉฐ, ํฌํธ๋ฅผ ์ด์ด์ ์์ฉํ๋ก๊ทธ๋จ๋ค์ด ์ ์ก์ ํ ์ ์๊ฒ ํ๋ค. TCP/UDPํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ค.
- TCP : ์๋จ๊ฐ, ์ ๋ขฐ์ฑ ๋์
- UDP : ์ผ๋ฐฉํฅ, ์ ๋ขฐ์ฑ์ด ๋ฎ์ง๋ง ๋น ๋ฅธ ์์ฒญ๊ณผ ์๋ต์ด ํ์ํ ๋
- ์ธ์ ๊ณ์ธต(Session Layer) : ๋ฐ์ดํฐ๊ฐ ํต์ ํ๊ธฐ ์ํ ๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ, ์์ฉํ๋ก๊ทธ๋จ ๊ด์ ์์ ๋ด์ผํ๋ค.
- ํํ ๊ณ์ธต(Presentation Layer): MIME ์ธ์ฝ๋ฉ์ด๋ ์ํธํ ๋ฑ์ ๋์์ด ์ด ๊ณ์ธต์์ ์ด๋ฃจ์ด์ง๋ค. ์๋ฅผ ๋ค๋ฉด, EBCDIC๋ก ์ธ์ฝ๋ฉ๋ ๋ฌธ์ ํ์ผ์ ASCII๋ก ์ธ์ฝ๋ฉ๋ ํ์ผ๋ก ๋ฐ๊ฟ ์ฃผ๋ ๊ฒ. ํด๋น ๋ฐ์ดํฐ๊ฐ TEXT์ธ์ง, ๊ทธ๋ฆผ์ธ์ง, GIF์ธ์ง JPG์ธ์ง์ ๊ตฌ๋ถ ๋ฑ์ด ํํ ๊ณ์ธต์ ๋ชซ์ด๋ค.
- ์์ฉ ๊ณ์ธต(Application Layer) : HTTP, FTP, SMTP, POP3, IMAP, Telnet ๋ฑ๊ณผ ๊ฐ์ ํ๋กํ ์ฝ์ด ์๋ค.
HTTP METHOD์ ์๋ง์ ์ญํ
POST, GET, PUT, DELETE ์ด 4๊ฐ์ง์ Method๋ฅผ ๊ฐ์ง๊ณ CRUD๋ฅผ ํ๋ฉฐ, HEAD ๊น์ง ์ด 5๊ฐ์ง ๋ฉ์๋๊ฐ ์กด์ฌํ๋ค.
๊ธฐํ ์ถ๊ฐ ์ฌํญ : https://mokpo.tistory.com/202
32bit์ 64bit์ ์ฐจ์ด
CPU ์ฐจ์ด๋ผ๋ ๊ฒ
webhook๊ณผ API ์ฐจ์ด
API๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์๋๋ก, ์ด์ ์ฒด์ ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ ์ดํ ์ ์๊ฒ ๋ง๋ ์ธํฐํ์ด์ค๋ฅผ ๋ป
API (Application Programming Interface)๋ ์ํ๊ธฐ์ฒ๋ผ ์๋ํ๋ค. ๋์ ๋ฃ๊ณ ์ํ๋ ๊ฑธ ์ ํํ๋ฉด (get, post) ๊ทธ์ ๋ง๋ ์ํ์ ๋ฑ์ด๋ธ๋ค (response). ๋ฐ๋ฉด์, Webhook์ ์๊ตฌ ์์ด ํน์ ํ ์กฐ๊ฑด/ ์ํฉ์ด ๋ฐ์ํ๋ฉด ์๋์ผ๋ก ๊ฒฐ๊ณผ๋ฌผ (event)๋ฅผ ๋ฐ์์ํจ๋ค.
์ฐ๋ฆฌ์ ํด๋ํฐ์์ 5๋ถ๋ง๋ค ๋ฉ์์ง๊ฐ ์๋์ง ํ์ธํ๋ ๊ฒ์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ฉ์์ง๊ฐ ์ฌ ๋๋ง ์๋์ ๋ฃ๊ณ ํ์ธํ๊ฒ ํ๋๋ฐ, 5๋ถ๋ง๋ค ํฐ์ ์ผ์ ๋ฉ์์ง๊ฐ ์๋์ง ํ์ธํ๋ ๊ฒ์ api, ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฉ์์ง๊ฐ ์์ ๋ ์๋์ ์ฃผ๋ ๊ฒ์ webhook์ด๋ค
๊ธ์ต์ฌ ์ฒ๋ฆฌ ๋ฐฉ์?
- ๊ณ์ ์ฒ๋ฆฌ ํด์ผํด์ ์ ํฉ์ฑ์ด๋ ์์ ์ฑ์ด ์ ค ์ค์ํ๋ค.
- ๋์ ์ ์์ด๋ ๋์์ฒ๋ฆฌ์๋ ํฐ ๊ธ์ต์ฌ ์ผ์๋ก ๋ง์์ ์์ ์ฑ ๊ฐ์ฉ์ฑ ์๋ ์ค์ํจ
- ๋์ฉ๋ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด OLAP์ฑ ๋ฐฐ์น์ฒ๋ฆฌ๊ฐ ๋ง์.
- ์ผํฐ์ปท๋ ์งํ.
DB isolation level 4๋จ๊ณ
- READ UNCOMMITTED : ํธ๋์ญ์ ์ฒ๋ฆฌ ์ค์ด๊ฑฐ๋, ์์ง commit ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ํธ๋์ญ์ ์์ ์ฝ๋ ๊ฒ์ ํ์ฉํจ
- READ COMMITTED : ์ค๋ผํด, ํธ๋์ญ์ ์ด ์ํ๋๋ ๋์ ๋ค๋ฅธ ํธ๋์ญ์ ์ ์ ๊ทผํ ์ ์์ด ๋๊ธฐํด์ผ ํจ, commit์ด ์ด๋ฃจ์ด์ง ํธ๋์ญ์ ๋ง ์กฐํ ๊ฐ๋ฅ
- REPEATABLE READ : Mysql, ํธ๋์ญ์ ์ด ์์๋๊ธฐ ์ ์ปค๋ฐ๋ ๋ด์ฉ์ ๋ํด์๋ง ์กฐํ ๊ฐ๋ฅ. READ COMMITTED์ REPETABLE READ์ ์ฑ๋ฅ์ฐจ์ด๋ ๊ฑฐ์ ์๋ค๊ณ ํ๋ค.
- SERIALIZABLE
* ํธ๋์ญ์ (transaction)์ด๋ "์ชผ๊ฐค ์ ์๋ ์ ๋ฌด ์ฒ๋ฆฌ์ ์ต์ ๋จ์"๋ฅผ ๋งํ ๋จ์
๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค(Data Warehouse) ๊ทธ๋ฆฌ๊ณ OLAP ์ OLTP ๊ธฐ๋ฒ (https://chankim.tistory.com/6)
- ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค : ์ ๋ณด์ ์ ๊ฐํ ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ๋ถ์ ๊ฐ๋ฅํ ์ ๋ณด์ ์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ. ์ํคํ ์ฒ๋ ํฐ์ด๋ก ๊ตฌ์ฑ
- OLTP ๋ฐ์ดํฐ ์์ค ์ ๊ณต OLAP ๋ฐ์ดํฐ ์์ค ๋ถ์
- OLAP = SUM, COUNT ํต๊ณ, ๋ฐ์ดํฐ ๋ถ์, ์งํ, ๋น์ ๊ทํ ๋ ํ ์ด๋ธ๋ก ์ด๋ฃจ์ด์ ธ์๋ DB
- OLTP = Insert, Update, Delete ์ต์ ๋ฐ์ดํฐ ์ ์ง
์ฆ๋ถ๋ฐฑ์ ๊ณผ CDC
์ฆ๋ถ๋ฐฑ์
: ์ผ์ ์๊ฐ๋ง๋ค ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ง ๋ฐฑ์
ํ๋ ํ์, ๋ค๋ฅธ ๋ฐฑ์
๋ณด๋ค ๋ณต๊ตฌ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง ํ์ผ ์์ด ์ ์ด ๋น ๋ฅธ ๋ฐฑ์
์ด ๊ฐ๋ฅํจ.
์ฐจ๋ฑ๋ฐฑ์
: ๋ง์ง๋ง ์ ์ฒด ๋ฐฑ์
ํ ๋ณ๊ฒฝ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐฑ์
ํ๋ ๋ฐฉ์.
์ ์ฒด๋ฐฑ์
: ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ๋ฌด๋ ์๊ด์์ด ์ ์ฒด ๋ฐ์ดํฐ์ ๋ณต์ฌ๋ณธ์ ๋ง๋๋ ๋ฐฑ์
๋ฐฉ์, ๋ณต๊ตฌ๊ฐ ๊ฐํธํ๊ณ ์๊ฐ์ด ์ ๊ฒ ์์
์ผ์์ ์ผ๋ก ์์ชฝ์ ํฉ์ด ๋ง์ง ์์ ์ ์์ผ๋ ๊ถ๊ทน์ ์ผ๋ก ๋ง๋๋ก ํ๋ ๋น๋๊ธฐ ๋ฐฉ์
CDC : ํธ๋์ญ์
๋ก๊ทธ๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ๋ฐฑ์
, DBMS ๋ฐ์ดํฐ์ ์ค์๊ฐ ๋ฐฑ์
์ ์ํด ํธ๋์ญ์
๋ก๊ทธ๋ฅผ ์ด์ฉํ๋ ๋ฐ์ดํฐ ๋ฐฑ์
๋ฐฉ์. ํธ๋์ญ์
๋ก๊ทธ๋ฅผ ์ด์ฉํด ๋ณ๊ฒฝ๋ถ์ ์ค์๊ฐ์ผ๋ก ๋ฐฑ์
๊ฐ๋ฅํ๊ณ , ์ด์์ค์ธ ์์คํ
์ ๋ถํ๋ฅผ ์ฃผ์ง ์๋ ์ฅ์ ์ด ์๋ค.
์ฟ ํผ๋คํฐ์ค์ ๋์ปค
์ฟ ํผ๋คํฐ์ค๋ ์ปจํ
์ด๋ ๋ฐํ์์ ํตํด ์ปจํ
์ด๋๋ฅผ ๋ค๋ฃจ๋ ๋๊ตฌ, ๋ถ์ฐ ๋ฐฐ์น, ์ํ ๊ด๋ฆฌ ๋ฐ ์ปจํ
์ด๋์ ๊ตฌ๋ ํ๊ฒฝ๊น์ง ๊ด๋ฆฌํด์ฃผ๋ ๋๊ตฌ์
๋๋ค. ์๋ํํ๋ ์คํ์์ค ํ๋ซํผ์ ๋ปํ๋ค๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๋ ์ปจํ
์ด๋๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด ๋์ปค ์ด์ธ์๋ ๋ค์ํ ์ปจํ
์ด๋ ๋ฐํ์ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Git
๋ฒ์ ๊ด๋ฆฌ,๋ฐฑ์ ํ์ ์ ์ํด ์ฌ์ฉ
CI/CD
์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ ๋จ๊ณ๋ฅผ ์๋ํํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ณด๋ค ์งง์ ์ฃผ๊ธฐ๋ก ๊ณ ๊ฐ์๊ฒ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ
"CI"๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ํ ํ๋ก์ธ์ค์ธ ์ง์์ ์ธ ํตํฉ(Continuous Integration)
- ์์คํฉ์ณ์ ธ์ ๋น๊ต ๊ฐ๋ฅํจ?
"CD"๋ ์ง์์ ์ธ ์๋น์ค ์ ๊ณต(Continuous Delivery) ๋ฐ/๋๋ ์ง์์ ์ธ ๋ฐฐํฌ(Continuous Deployment)
- ์ด๋ ๊ฒ ์ฑ๊ณต์ ์ผ๋ก ๋ณํฉ๋ ๋ด์ญ์ ์ ์ฅ์๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ์ ์๋ ๋ฐฐํฌํ๊ฒฝ๊น์ง ๋ฆด๋ฆฌ์ฆํ๋ ๊ฒ์ ์๋ฏธ
SSR/CSR
- SSR server side rendering
- ์๋ฒ๋ก๋ถํฐ ์์ ํ๊ฒ ๋ง๋ค์ด์ง html ํ์ผ์ ๋ฐ์์ ํ์ด์ง ์ ์ฒด๋ฅผ ๋ ๋๋ง ํ๋ ๋ฐฉ์
- SEO ๊ฒ์์์ง ์ต์ ํ์ ์ข์
- ์๋ฒ๋ก๋ถํฐ ํ๋ฉด์ ๋ ๋ํ๊ธฐ ์ํ ํ์์ ์ธ ์์๋ฅผ ๋จผ์ ๊ฐ์ ธ์ด, ์ด๊ธฐ ์๋๊ฐ ๋น ๋ฆ => ์ ์ ๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ์ ๋ค
- ์์ฒญ์๋ง๋ค ์๋ก์ด ์์ฒญ.. ๋ฐ๋์ง ์์๋ ๋๋ ๋ถ๋ถ๋ ๋ ๋๋ง ๊ฐ๋ฅํจ.
- CRS client side rendering
- ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ ํ์ํ ๋ถ๋ถ์ ์๋ต๋ฐ์ ๋ ๋๋ง ํ๋ ๋ฐฉ์
- ์ด๊ธฐํ๋ฉด ๋ก๋๋ฅผ ์ํด ์๋ฒ์ ์์ฒญ ์๋ฒ๋ ํ๋ฉด ํ์์ ํ์ํ ์์ ํ ๋ฆฌ์์ค ์๋ต์ ํจ
- ๋ชจ๋ js ํ์ผ์ ๋ค์ด๋ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ ๋ก๋ฉ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ.
- ์๋ฒ๋ถํ ๊ฐ์ → ํ์ํ ๋ถ๋ถ๋ง ์์ฒญํ๊ณ ์๋ต
JAVA ๊ด๋ จ ๊ธฐ์ด
- IOC? Inversion of Control
์ฆ, ์ ์ด์ ์ญ์ ์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ด ๋ง์ด ๋ญ๋๋ฉด.. ํ๋ง๋๋ก ํ๋ ์์ํฌ์ ๋ผ์ดํ์ฌ์ดํด์ ๊ด๋ฆฌํฉ๋๋ค.
์ฝ๊ฒ ๋งํด ๊ฐ์ฒด์ ์์ฑ๊ณผ ๊ทธ ๊ฐ์ฒด๋ค์ ๊ด๋ฆฌ๊น์ง ๋ชจ๋ ๊ด๋ฆฌํ๋ค๋ ๊ฐ๋ ์ธ๋ฐ, ๊ธฐ์กด์ ์๋ฐ ๊ธฐ๋ฐ์ผ๋ก ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ์๋ฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์๋ก๊ฐ์ ์์กด ๊ด๊ณ๋ฅผ ์ฐ๊ฒฐ์ํค๋ ์์ ์ ๋ํ ์ ์ด๊ถ์ ๋ณดํต ๊ฐ๋ฐ๋๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์์๋๋ฐ IOC ์ปจํ ์ด๋๋ ๊ฐ์ฒด์ ์์ฑ, ์ด๊ธฐํ, ์๋น์ค ์๋ฉธ์ ๊ดํ ๋ชจ๋ ๊ถํ์ ๊ฐ์ง๋ฉด์ ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค ์ด๊ฒ์ ์ ์ด๊ถ์ด ์ญ์ ๋์๋คํด์ IOC๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. - AOP? Aspect Oriented Programming
๊ด์ ์งํฅํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ,
์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ๋ฐ๋ณต๋๋ ์์ ๋ค์ด ์์ต๋๋ค. ์ด๊ฒ๋ค์ ๊ณตํต ์์ ๋๋ ๊ฒ๋ค์ ๋ชจ์์ ํ์ํ ์ ์ ํ ์๊ธฐ์ ์ ์ฉํ๋ ๊ฐ๋ ์ ๋๋ค.
๋ฐ๋ก ์ฝ๋ ๋ฐ์์ ๊ฐ๋ฐ์ ํด๋๊ณ ํ๋ก์๊ฐ๋ ์ผ๋ก ๋ฉ์๋๊ฐ ์คํ๋๊ธฐ์ , ์คํ๋ ์งํ, ์คํ์์ ์ ๋ฐ๋ผ ๋ฐ๋ก ๊ธฐ๋ฅ์ ์ ์ฉ ์ํค๋ ๊ฒ์ ๋๋ค. - DI? Dependency Injection
์์กด์ฑ ์ฃผ์
๊ฐ์ฒด ์์ฒด๊ฐ ์๋๋ผ Framework์ ์ํด ๊ฐ์ฒด์ ์์กด์ฑ์ด ์ฃผ์ ๋๋ ์ค๊ณ ํจํด์ธ๋ฐ IOC์ ์ฐ๊ฒฐ๋๋ ๊ฐ๋ ์ ๋๋ค.
IOC์ ์ ์ด๊ถ์ด ํ๋ ์์ํฌ์๊ฒ ๊ฐ๊ฒ ๋๋๊ฒ์ IOC ์ปจํ ์ด๋๋ DI๋ฅผ ํตํด ์ฃผ์ ์ํค๋๋ฐ ์ฃผ์ ํ๋ ๋ฐฉ๋ฒ์ ์์ฑ์,๋ฉ์๋์ setter, ๋ฉค๋ฒ๋ณ์์ @Inject,@Autowired ๋ฅผ ํตํด ์ฃผ์ ํฉ๋๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ์ผ๋ก IOC ์ปจํ ์ด๋์ ์์กด์ฑ์ฃผ์ ์ ํ๋๊ฒ์ DI๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. - JMS (Java message service)
MVCํจํด
- MVC (๋ชจ๋ธ-๋ทฐ-์ปจํธ๋กค๋ฌ) ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค, ๋ฐ์ดํฐ ๋ฐ ๋ ผ๋ฆฌ ์ ์ด๋ฅผ ๊ตฌํํ๋๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ๋์์ธ ํจํด
- ๋ชจ๋ธ : ๋น์ง๋์ค ๋ก์ง , ๋ฐ์ดํฐ ์ ์
- ๋ทฐ : ๋ ์ด์์ ํ๋ฉด ์ฒ๋ฆฌ
- ์ปจํธ๋กค๋ฌ : ๋ชจ๋ธ๊ณผ ๋ทฐ ๋ถ๋ถ์ ๋ผ์ฐํ
ํ์์์ ์ดํด
๋ฐฉํ๋ฒฝ
๋ฏธ๋ฆฌ ์ ์๋ ๋ณด์ ๊ท์น์ ๊ธฐ๋ฐํ, ๋ค์ด์ค๊ณ ๋๊ฐ๋ ๋คํธ์ํฌ ํธ๋ํฝ์ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ดํ๋ ๋คํธ์ํฌ ๋ณด์ ์์คํ
๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ (MA) → ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ณ (MSA)
MA
ํ๋์ ๊ฑฐ๋ํ ์๋น์ค ํํ๋ก , ๊ฐ๋ฐ ๊ด๋ฆฌ๋ ์ฉ์ดํ์ง๋ง ์์คํ ๊ท๋ชจ๊ฐ ์ปค์ง ์๋ก ๋ณต์ก๋ ์ฆ๊ฐ ๋ฐ ์ฝ๋ ์ดํด ๋ถ์์ด ์ด๋ ค์. ๋ํ ์์ ์์ ์ฌํญ์๋ ์์คํ ์ ์ฒด๋ฅผ ๋ค์ ๊ฐ๋ฐํด์ผํ๊ณ ๋ฐฐํฌํด์ผํ๋ ๋นํจ์จ์ ํ์ฅ์ฑ์ด ์กด์ฌ
=> ๋ผ๋ผ ๊ฐ๋ฐ ์์
MSA
๊ฒฝ๋ํ ๋๊ณ ๋ ๋ฆฝ์ ์ธ ์ฌ๋ฌ๊ฐ์ ์๋น์ค๋ฅผ ์กฐํฉํด ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑํ๋ ๋ฐฉ์. ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ฐ์ฅ ์ ๊ตฌํํ ์ ์๋ ํํ์ ํ๋ซํผ์ด ์ปจํ ์ด๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ
=> ์ง๊ธ ๊ฐ๋ฐ ์์
RabbitMQ, Redis, Kafka
๋ฉ์์ง ๋ธ๋ก์ปค < ์ด๋ฒคํธ ๋ธ๋ก์ปค
์ด๋ฒคํธ ๋ธ๋ก์ปค๋ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ๊ทธ ์์ ๋ถํฐ ์ฌ์ฒ๋ฆฌ ๊ฐ๋ฅํ๋ฉฐ, ๋ง์ ์์ ์ค์๊ฐ์ผ๋ก ํจ๊ณผ์ ์ฒ๋ฆฌ
๋ฉ์์ง ๋ธ๋ก์ปค๋ ๋ฐ์ดํฐ ์์ค ์ํ์ด ์๋ค.(์ด๋ฒคํธ ์ญ์ ๋จ)
- RabbitMQ (๋ฉ์์ง ๋ธ๋ก์ปค)
- ์ฅ์
- ๊ตฌ์ฑ์ด ์ฝ๋ค. ์ง๊ด์ ์ด๋ค
- ๋ณต์กํ ๋ผ์ฐํ ์ ์ง์
- ์ค๋๋์๊ณ , ์์ ์ฑ์ด ๋๋ค
- 20K/sec ์ ๋์ ์๋๋ฅผ ๋ณด์ธ๋ค.
- ์๋น์ ์ค์ฌ์ ์ค๊ณ
- UI ๋ชจ๋ํฐ๋ง ํ์ด์ง ์ ๊ณต
- ๋จ์
- ๋ฐ์ดํฐ ์์ค์ ์ํ์ฑ
- ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์๋ค.
- ์ฅ์
- Redis (๋ฉ์์ง ๋ธ๋ก์ปค)
- ์ฅ์
- ์ฒ๋ฆฌ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ.
- MQ๋ผ๊ธฐ๋ณด๋ค ์บ์ฑ์ด๋ ์ธ์ ๊ด๋ฆฌ์ ์ด์ ์ ๋ง์ถ ํด
- ์บ์ ์ญํ ๊ฐ๋ฅ
- ๋ช ์์ ๋ฐ์ดํฐ ์ญ์ ๊ฐ๋ฅ
- ์ฌ์ฉ ์ด๋ด๋ ์ฑ๋ฅ(ํผํฌ๋จผ์ค)
- ๋จ์
- ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ , ์๋ฒ ๋ค์ด ์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง → ๋์ ๋น ๋ฅธ ์๊ฐ๋ด์ ๋ณต๊ตฌ๋์๋ ๊ฑธ๋ก ๊ธฐ์ตํจ
- ์ฅ์
- Kafka (์ด๋ฒคํธ ๋ธ๋ก์ปค)
- ์ฅ์
- ๋ถ์ฐ์ฒ๋ฆฌ์ ํจ๊ณผ์
- ํ์ฅ์ฑ
- ์์ฐ์ ์ค์ฌ์ ์ค๊ณ
- MSA ๋ฐ์ ํ๋๋ฐ ํฐ ๋์์ด ๋จ
- 100k/sec ์ ๋์ ์๋
- ์์ ์ ์ธ ๋๊ท๋ชจ ์ฒ๋ฆฌ์ ์ ํจ
- ์๋์ ์ผ๋ก ๋ฌ๋ ์ปค๋ธ๊ฐ ๋์ (ํ์ต ์ด๊ธฐ์๋ ๋งค์ฐ ์ ์ ํ์ต์ผ๋ก๋ ์ฑ๊ณผ๋ฅผ ๋ณด์ด์ง๋ง ๊ทธ ์ดํ์ ๋ ๋ง์ ์ฑ๊ณผ๋ฅผ์ํด ์ฐ์์ ์ผ๋ก ๋ ํฐ ํ์ต์ ํ์๋กํ์ฌ ์ ๋ ํ๊ณ์น์ ๋๋ฌํ๋ ํํ)
- ๋จ์
- ๊ด๋ฆฌ ๋ชจ๋ํฐ๋ง ํด์ด ๋ถ์กฑํ๋ค.
- ์ฅ์
ํ์ง๋ง ๋๊ท๋ชจ ํธ๋ํฝ์ด ์์๋๊ณ , ํ์ฅ์ด ์์๋๋ค๋ฉด kafka๋ฅผ ์ ํํ๋๊ฒ์ด ๋ ์ข์๋ณด์ธ๋ค.
NPM , Yarn
npm๊ณผ yarn์ ์ฃผ์ ์ฐจ์ด์ ์ค ํ๋๋ ํจํค์ง ์ค์น ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. npm์ ํจํค์ง๋ฅผ ํ ๋ฒ์ ํ๋์ฉ ์์ฐจ์ ์ผ๋ก ์ค์นํฉ๋๋ค. ๊ทธ์ ๋นํด yarn์ ์ฌ๋ฌ ํจํค์ง๋ฅผ ๋์์ ๊ฐ์ ธ์ค๊ณ ์ค์นํ๋๋ก ์ต์ ํ๋์ด ์์ด ํจํค์ง ์ค์น ์๋ ์ธก๋ฉด์์ yarn์ด npm๋ณด๋ค ๋น ๋ฆ ๋๋ค.
ELK
- Elasticsearch ๋ก๊ทธ ์ ์ฅ ๋ฐ ๊ฒ์
- Logstash ๋ก๊ทธ ์์ง ์์ง
- Kibana ๋ก๊ทธ ์๊ฐํ ๋ฐ ๊ด๋ฆฌ
CDN / Cloudfront
https://velog.io/@dankim/CDN%EC%9D%B4%EB%9E%80-CloudFront%EB%9E%80
๊ธฐํ
- scale up : ์ฅ๋น์ ์ฑ๋ฅ์ ๋์ฌ ์ฑ๋ฅํฅ์
- scale out : ์ฅ๋น์ ๊ฐ์๋ฅผ ๋๋ ค ์ฑ๋ฅํฅ์
์ ๋ณด ๋ณด์ OWASP Top 10
'๋์งํธ ๊ฟํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
iptime ๋๋ฉ์ธ https ์ค์ ํ๊ธฐ ์ค๋ฅ : ddns์ caa ์ธ์ฆ ๋ถ๊ฐ (0) | 2022.08.17 |
---|---|
[DB] CDC(Change Data Capture), ETL (0) | 2022.08.12 |
IT ํ์ฌ ๋ฉด์ ์ , ๊ธฐ๋ณธ ์ด๋ก ์ ๋ฆฌํด๋ณด๊ธฐ, ๊ฐ๋ฐ ์ง๊ตฐ, IT ์ง์ (0) | 2022.07.28 |
๋๊ธ