
์ฒ ํ์ ์๊ฐ
์์๋ค์ํผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๋ฟ์ ๋๋ค.
- ๋ถ์ ๋ฐฉ๋ฒ์ด๋ ์ถ๋ก ๋ฐฉ๋ฒ, ๋๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์์ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก.
- ํฉ์ฑ ๋ฐฉ๋ฒ์ด๋ ์ ๋ ๋ฐฉ๋ฒ, ๋๋ ํน์ ๋ฐฉ๋ฒ์์ ์ผ๋ฐ ๋ฐฉ๋ฒ์ผ๋ก.
"๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ํฅ์" ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ผ ์ ์์ต๋๋ค.
๋ถ์ โ ์ฐ๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ๋ณ๋์ ๋ถ๋ถ์ผ๋ก ๋ถ์ํ๊ณ ์ด๋ฅผ ํด๊ฒฐํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ์ ์ ์ฒด์ ์ผ๋ก ํฅ์์ํค๋ ค๊ณ ๋
ธ๋ ฅํฉ๋๋ค.
์ค์ ๋ก ๋ถ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค(์ฑ๋ฅ ์ฌ๊ณ )
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ์ ๋ํ ํต๊ณ ์ ๋ณด ์์ง
- ๋ณ๋ชฉ ํ์ ์ฐพ๊ธฐ
- ์ฐ๋ฆฌ๋ ๋ณ๋ชฉ ํ์์ผ๋ก ์ธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๋ชฉ ํ์ โ ์ธํ๋ผ(CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ๋คํธ์ํฌ, OS), ์ค์ (postgresql.conf), ์ฟผ๋ฆฌ:
ํ๋ถ ๊ตฌ์กฐ: ์์ง๋์ด์๊ฒ ์ํฅ๋ ฅ๊ณผ ๋ณํ์ ๊ธฐํ๋ ๊ฑฐ์ ์ ๋ก์ ๊ฐ๊น์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ : ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์ด์ ์ฌ๋ก๋ณด๋ค ์ฝ๊ฐ ๋ ํฌ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ํนํ ํด๋ผ์ฐ๋์์๋ ์ฌ์ ํ ๋งค์ฐ ์ด๋ ต์ต๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฒ ์ด์ค์: ์์ง์ผ ์ ์๋ ์ ์ผํ ๊ณต๊ฐ.
ํฉ์ฑ โ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ด ํฅ์๋ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ฉด์ ๊ฐ๋ณ ๋ถ๋ถ์ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
์์ ์ ์๊ฐ ๋๋ ์ด ๋ชจ๋ ๊ฒ์ด ํ์ํ ์ด์
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ด ๋ชจ๋ํฐ๋ง๋์ง ์๋ ๊ฒฝ์ฐ ์ฑ๋ฅ ์ฌ๊ณ ๋ฅผ ํด๊ฒฐํ๋ ํ๋ก์ธ์ค๋ ๋ฌด์์ ๋๊น?
๊ณ ๊ฐ - "๋ชจ๋ ๊ฒ์ด ์ข์ง ์์ต๋๋ค. ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฝ๋๋ค. ์ฐ๋ฆฌ๋ฅผ ์ํด ์ข์ ์ผ์ ํด์ฃผ์ธ์."
์์ง๋์ด - "์ผ๋ง๋ ์ ์ข์๋ฐ์?"
๊ณ ๊ฐ โ โ์ง๊ธ์ด ๊ทธ๋์(ํ ์๊ฐ ์ , ์ด์ , ์ ๋ฒ์), ์ฒ์ฒํโ
์์ง๋์ด - "์ธ์ ์ข์๋์?"
๊ณ ๊ฐ๋ โ โ์ผ์ฃผ์ผ(2์ฃผ) ์ ์๋ ๋์์ง ์์์ด์. โ(๋คํ์ด๋ค)
๊ณ ๊ฐ - โ์ธ์ ๋ ์ข์๋์ง ๊ธฐ์ต์ด ์ ๋์ง๋ง ์ง๊ธ์ ๋ณ๋ก์์โ (ํ์ ๋ต๋ณ)
๊ฒฐ๊ณผ๋ ๊ณ ์ ์ ์ธ ๊ทธ๋ฆผ์ ๋๋ค.

๋๊ฐ ์ฑ ์์์ง๊ณ ๋ฌด์์ํด์ผํฉ๋๊น?
์ง๋ฌธ์ ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ๋๋ตํ๊ธฐ ๊ฐ์ฅ ์ฌ์ด ๋ถ๋ถ์ ๋๋ค. ํญ์ ์ฑ ์์ DBA ์์ง๋์ด์๊ฒ ์์ต๋๋ค.
๋ ๋ฒ์งธ ๋ถ๋ถ ์ญ์ ๋ต๋ณํ๊ธฐ ์ด๋ ต์ง ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๊ตฌํํด์ผ ํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ์ง๋ฌธ์ด ๋ฐ์ํฉ๋๋ค - ๋ฌด์์ ๋ชจ๋ํฐ๋งํด์ผ ํฉ๋๊น?
๊ฒฝ๋ก 1. ๋ชจ๋ ๊ฒ์ ๋ชจ๋ํฐ๋งํฉ๋๋ค.

CPU ๋ก๋, ๋์คํฌ ์ฝ๊ธฐ/์ฐ๊ธฐ ์์
์, ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ ๋ฐ ์ด๋ ์ ๋ ์๋ ์ค์ธ ๋ชจ๋ํฐ๋ง ์์คํ
์ด ์ ๊ณตํ ์ ์๋ ๋ ๋ค๋ฅธ ๋ฉ๊ฐํค์ ๋ค์ํ ์นด์ดํฐ.
๊ทธ ๊ฒฐ๊ณผ ์๋ง์ ๊ทธ๋ํ, ํผ๋ฒ ํ ์ด๋ธ, ์ง์์ ์ธ ์ด๋ฉ์ผ ์๋ฆผ์ด ์์ฑ๋๊ณ 100% ๋ฐ์ ์์ง๋์ด๊ฐ ๋์ผํ ํฐ์ผ ๋ฌถ์์ ํด๊ฒฐํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก "์ผ์์ ์ธ ๋ฌธ์ "๋ผ๋ ํ์ค ๋ฌธ๊ตฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์กฐ์น๊ฐ ํ์ํ์ง ์์ต๋๋ค.โ ๊ทธ๋ฌ๋ ๋ชจ๋๊ฐ ๋ฐ์๊ณ ํญ์ ๊ณ ๊ฐ์๊ฒ ๋ณด์ฌ์ค ๊ฒ์ด ์์ต๋๋ค. ์์ ์ด ๋ณธ๊ฒฉํ๋๊ณ ์์ต๋๋ค.
Way 2. ํ์ํ ๊ฒ๋ง ๋ชจ๋ํฐ๋งํ๊ณ , ํ์ํ์ง ์์ ๊ฒ์ ๋ชจ๋ํฐ๋งํ ํ์๊ฐ ์์ต๋๋ค.
์กฐ๊ธ ๋ค๋ฅด๊ฒ ์ํฐํฐ์ ์ด๋ฒคํธ๋ง ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
- ์ํฅ์ ๋ฏธ์น ์ ์๋ DBA ์์ง๋์ด
- ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ์ํฐํฐ๊ฐ ๋ณ๊ฒฝ๋ ๋ ๋์ ์๊ณ ๋ฆฌ์ฆ์ด ์์ต๋๋ค.
์ด ๊ฐ์ ์ ๋ฐํ์ผ๋ก "์ฒ ํ์ ์๊ฐ"๊ท์น์ ์ธ ๋ฐ๋ณต์ ํผํ๊ธฐ ์ํด"์์ ์ ์๊ฐ ๋๋ ์ด ๋ชจ๋ ๊ฒ์ด ํ์ํ ์ด์ โ์ต์ ํ์ ๋ถ์์ ์ํด ๊ฐ๋ณ ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ฉฐ, ์ด๋ ๊ถ๊ทน์ ์ผ๋ก ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ ํฅ์์ผ๋ก ์ด์ด์ง๋๋ค.
ํ์ง๋ง ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ๋ฌด๊ฑฐ์ด ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ ํ๋ ค๋ฉด ๋จผ์ ์ด๋ฅผ ์ฐพ์์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๋ ๊ฐ์ง ์ํธ ๊ด๋ จ๋ ์ง๋ฌธ์ด ๋ฐ์ํฉ๋๋ค.
- ์ด๋ ค์ด ์์ฒญ์ผ๋ก ๊ฐ์ฃผ๋๋ ์์ฒญ
- ์ด๋ ค์ด ๊ฒ์์ด๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ.
๋ถ๋ช ํ ๋ฌด๊ฑฐ์ด ์ฟผ๋ฆฌ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ๋ง์ OS ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ ์ฟผ๋ฆฌ์ ๋๋ค.
๋ ๋ฒ์งธ ์ง๋ฌธ์ธ ๋ฌด๊ฑฐ์ด ์ฟผ๋ฆฌ๋ฅผ ๊ฒ์ํ๊ณ ๋ชจ๋ํฐ๋งํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋์ด๊ฐ๊ฒ ์ต๋๋ค.
PostgreSQL์๋ ์ด๋ค ์ฟผ๋ฆฌ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ด ์์ต๋๊น?
Oracle์ ๋นํด ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ง๋ง ์ฌ์ ํ ๋ญ๊ฐ๋ฅผ ํ ์ ์์ต๋๋ค.

PG_STAT_STATEMENTS
ํ์ค ํ์ฅ pg_stat_statements๋ PostgreSQL์์ ๊ณผ๋ํ ์ฟผ๋ฆฌ๋ฅผ ๊ฒ์ํ๊ณ ๋ชจ๋ํฐ๋งํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
ํ์ฅ ๊ธฐ๋ฅ์ ์ค์นํ๋ฉด ๋์ผํ ์ด๋ฆ์ ๋ณด๊ธฐ๊ฐ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ๋๋ฉฐ ๋ชจ๋ํฐ๋ง ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ชจ๋ํฐ๋ง ์์คํ ๊ตฌ์ถ์ ์ํ ๋์ pg_stat_statements ์ด:
- ์ฟผ๋ฆฌID ์ฐ์ฐ์์ ๊ตฌ๋ฌธ ๋ถ์ ํธ๋ฆฌ์์ ๊ณ์ฐ๋ ๋ด๋ถ ํด์ ์ฝ๋
- ์ต๋ ์๊ฐ ๋ช ๋ น๋ฌธ์ ์์๋ ์ต๋ ์๊ฐ(๋ฐ๋ฆฌ์ด)
์ด ๋ ์ปฌ๋ผ์ ๋ํ ํต๊ณ๋ฅผ ์ถ์ ํ๊ณ ํ์ฉํจ์ผ๋ก์จ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
pg_stat_statements๋ฅผ ์ฌ์ฉํ์ฌ PostgreSQL ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๋ ๋ฐฉ๋ฒ

์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ธ์.
๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธก - pg_stat_statements ๋ณด๊ธฐ
์์์ ์๋ฒ ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ผ๋ จ์ bash ์คํฌ๋ฆฝํธ์ ์๋น์ค ํ
์ด๋ธ์
๋๋ค.
1๋จ๊ณ - ํต๊ณ ๋ฐ์ดํฐ ์์ง
cron ๋ชจ๋ํฐ๋ง ํธ์คํธ์์๋ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ pg_stat_statements ๋ณด๊ธฐ ๋ด์ฉ์ ๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ pg_stat_history ํ ์ด๋ธ๋ก ๋ณต์ฌํ๋ ์คํฌ๋ฆฝํธ๊ฐ ์ ๊ธฐ์ ์ผ๋ก ์คํ๋ฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์ฑ๋ฅ ๋ณด๊ณ ์๋ฅผ ์์ฑํ๊ณ ์งํ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ณ ์ฟผ๋ฆฌ ์คํ ๊ธฐ๋ก์ด ์์ฑ๋ฉ๋๋ค.
2๋จ๊ณ - ์ฑ๊ณผ ์งํ ์ค์
์์ง๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ด์ธํธ(์ ํ๋ฆฌ์ผ์ด์ )์ ์คํ์ด ๊ฐ์ฅ ์ค์/์ค์ํ ์ฟผ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค. ๊ณ ๊ฐ๊ณผ ํฉ์ํ์ฌ queryid ๋ฐ max_time ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ ์งํ ๊ฐ์ ์ค์ ํ์ต๋๋ค.
๊ฒฐ๊ณผ - ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์์
- ๋ชจ๋ํฐ๋ง ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋๋ฉด ๋ฉํธ๋ฆญ์ max_time ๊ฐ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ pg_stat_statements ๋ทฐ ๊ฐ๊ณผ ๋น๊ตํ์ฌ ๊ตฌ์ฑ๋ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ํ์ธํฉ๋๋ค.
- ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ด ๋ฉํธ๋ฆญ ๊ฐ์ ์ด๊ณผํ๋ฉด ๊ฒฝ๊ณ ๊ฐ ์์ฑ๋ฉ๋๋ค(ํฐ์ผ ์์คํ ์ ์ฌ๊ณ ).
์ถ๊ฐ ์ต์ 1
์ฟผ๋ฆฌ ๊ณํ ๊ธฐ๋ก
ํ์ ์ฑ๋ฅ ์ฌ๊ณ ํด๊ฒฐ์ ์ํด์๋ ์ฟผ๋ฆฌ ์คํ ๊ณํ ๋ณ๊ฒฝ ๋ด์ญ์ ๋ณด์ ํ๋ ๊ฒ์ด ๋งค์ฐ ์ข์ต๋๋ค.
log_query ์๋น์ค ํ ์ด๋ธ์ ๊ธฐ๋ก์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ก๋๋ PostgreSQL ๋ก๊ทธ ํ์ผ์ ๋ถ์ํ ๋ ํ ์ด๋ธ์ด ์ฑ์์ง๋๋ค. ๋ก๊ทธ ํ์ผ์๋ pg_stat_statements ๋ทฐ์ ๋ฌ๋ฆฌ ์ ๊ทํ๋ ํ ์คํธ๊ฐ ์๋ ์คํ ๋งค๊ฐ๋ณ์ ๊ฐ์ด ํฌํจ๋ ์ ์ฒด ํ ์คํธ๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์์ฒญ ์๊ฐ ๋ฐ ๊ธฐ๊ฐ๋ฟ๋ง ์๋๋ผ ํ์ฌ ์คํ ๊ณํ๋ ์ ์ฅํ ์ ์์ต๋๋ค. ์๊ฐ.
์ถ๊ฐ ์ต์ 2
์ง์์ ์ธ ์ฑ๋ฅ ๊ฐ์ ํ๋ก์ธ์ค
์ผ๋ฐ์ ์ธ ๊ฐ๋ณ ์ฟผ๋ฆฌ ๋ชจ๋ํฐ๋ง์ ๊ฐ๋ณ ์ฟผ๋ฆฌ์ ๋ํด์๋ง ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ํด๊ฒฐํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด์ ์ง์์ ์ธ ์ฑ๋ฅ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ฒ์ด ์๋๋๋ค. ๊ทธ๋ฌ๋ ๋ฐฉ๋ฒ์ ํ์ฅํ๊ณ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ชจ๋ํฐ๋ง ์ฟผ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ ค๋ฉด ์ถ๊ฐ ์ฑ๋ฅ ์งํ๋ฅผ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
- ์ต๊ทผ์
- ๊ธฐ์ค๊ธฐ๊ฐ ๋์
์คํฌ๋ฆฝํธ๋ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ pg_stat_statements ๋ณด๊ธฐ์์ ์ฟผ๋ฆฌ๋ฅผ ์ ํํ๊ณ max_time ๊ฐ์ ํ๊ท max_time ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ๋ ๋ง์ง๋ง ๋ ์ ๋ํด, ๋ ๋ฒ์งธ ๊ฒฝ์ฐ์๋ ์ ํํ ๊ธฐ๊ฐ(๊ธฐ์ค)์ ๋ํด ๋น๊ตํฉ๋๋ค.
๋ฐ๋ผ์ ์์ฒญ์ ๋ํ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ณด๊ณ ์๋ฅผ ์๋์ผ๋ก ๋ถ์ํ์ง ์๊ณ ๋ ์๋์ผ๋ก ๊ฒฝ๊ณ ๊ฐ ์์ฑ๋ฉ๋๋ค.
ํฉ์ฑ์ด ๊ทธ๊ฒ๊ณผ ๋ฌด์จ ๊ด๋ จ์ด ์์ต๋๊น?
์ค๋ช ๋ ์ ๊ทผ ๋ฐฉ์์์๋ ํฉ์ฑ ๋ฐฉ๋ฒ์์ ์ ์ ์๋ฏ์ด ์์คํ ์ ๊ฐ๋ณ ๋ถ๋ถ์ ๊ฐ์ ํ์ฌ ์์คํ ์ ์ฒด๋ฅผ ๊ฐ์ ํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํด ์คํ๋๋ ์ฟผ๋ฆฌ - ์ถ์
- ์์ ๋ ์์ฒญ - ๋์กฐ
- ์์คํ ์ํ ๋ณ๊ฒฝ - ํฉ์ฑ

์์คํ ๊ฐ๋ฐ
- pg_stat_activity ์์คํ ๋ณด๊ธฐ์ ๋ํ ๊ธฐ๋ก์ ์ถ๊ฐํ์ฌ ์์ง๋ ํต๊ณ ํ์ฅ
- ์ฟผ๋ฆฌ์ ์ฐธ์ฌํ ๊ฐ๋ณ ํ ์ด๋ธ์ ํต๊ณ์ ๋ํ ์ด๋ ฅ์ ์ถ๊ฐํ์ฌ ์์ง ํต๊ณ ํ์ฅ
- AWS ํด๋ผ์ฐ๋ ๋ชจ๋ํฐ๋ง ์์คํ ๊ณผ ํตํฉ
- ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๋ญ๊ฐ ์๊ฐํด ๋ผ ์ ์์ต๋๋ค ...
์ถ์ฒ : habr.com
