Computer Science
22

[DB] ์ธ๋ฑ์ค ๋จธ์ง (Index Merge)
0. ํ์ต ๋ชฉ์ ์ธ๋ฑ์ค ๋จธ์ง๊ฐ ๋ฌด์์ธ์ง ์ดํดํ๋ค.์ธ๋ฑ์ค ๋จธ์ง์ ์ข
๋ฅ์ธ ๊ต์งํฉ, ํฉ์งํฉ, ์ ๋ ฌ ํ ํฉ์งํฉ์ ์ดํดํ๋ค.1. ์ธ๋ฑ์ค ๋จธ์ง๋?Index Merge ๋ ํ๋์ ํ
์ด๋ธ์์ ๋ ๊ฐ ์ด์์ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ณํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณํฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๋ ์ต์ ํ ์ ๋ต์ด๋ค.๋ง์ฝ ํด๋น ์ต์
์ ์ผ๋์ง ์์๋ค๋ฉด, ์ตํฐ๋ง์ด์ ๋ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ ๋, ํ๋์ ํ
์ด๋ธ์์๋ ์ค๋ก์ง ํ๋์ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ๋ค.2. ์ฌ์ฉ๋๋ ์กฐ๊ฑด์ฟผ๋ฆฌ์ ์ฌ์ฉ๋ ๊ฐ๊ฐ์ ์กฐ๊ฑด์ด ํ๋์ ํ
์ด๋ธ ๋ด์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ ์ ์๋ค.ํ๋์ ์ธ๋ฑ์ค๋ก๋ง ์ฒ๋ฆฌํ์ ๊ฒฝ์ฐ ๋ฒ์ ํํฐ๋ง ํจ๊ณผ๊ฐ ๋ฏธ๋ฏธํ๋ค.3. ์ข
๋ฅintersection: ๊ฐ๊ธฐ ๋ค๋ฅธ ์ธ๋ฑ์ค๋ก ํํฐ๋งํ ๋ฐ์ดํฐ๋ค ์ฌ์ด์ ๊ต์งํฉ๋ง ๋ฐํunion: ๊ฐ๊ธฐ ๋ค๋ฅธ ์ธ๋ฑ์ค๋ก ํํฐ๋งํ ๋ฐ์ดํฐ๋ค ์ฌ์ด์ ํฉ์ง..
2025.07.24
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[DB] ์ธ๋ฑ์ค ํ์ฅ (Index Extension)
0. ํ์ต ๋ชฉ์ ์ธ๋ฑ์ค ํ์ฅ์ด ๋ฌด์์ธ์ง ์ดํดํ๋ค.์ธ๋ฑ์ค ํ์ฅ ์ ๋ต์ ์ฅ์ ์ ์ดํดํ๋ค.1. ์ธ๋ฑ์ค ํ์ฅ ์ด๋?Index Extension์ InnoDB๋ฅผ ์ฌ์ฉํ๋ ํ
์ด๋ธ์์ ๋ณด์กฐ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ ๋, ๊ทธ ๋ณด์กฐ ์ธ๋ฑ์ค์ ์๋ ์ถ๊ฐ๋ PK๋ ํจ๊ป ํ์ฉํ ์ ์๊ฒ ํ ์ง ๋ง์ง๋ฅผ ์ ํ๋ ์ต์
์ด๋ค. ํด๋น ์ต์
์ ํ์ฑํํ๋ฉด, ๋ณด์กฐ์ธ๋ฑ์ค๋ฅผ (๋ณด์กฐ ์ธ๋ฑ์ค, PK) ๋ก ๋ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.๋ค์๊ณผ ๊ฐ์ด ํ
์ด๋ธ์ด ์๋ค๊ณ ํด๋ณด์.-- ํ
์ด๋ธ ์์ฑCREATE TABLE dept_emp ( dept_no INT NOT NULL, emp_no CHAR(4) NOT NULL, salary INT, from_date DATE NOT NULL, PRIMARY KEY (dept_no, ..
2025.07.24
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[๋ฐ์ดํฐ ๋ฒ ์ด์ค] Multi Range Read
0. ํ์ต ๋ชฉ์ MRR ์ต์
์ด ๋ฌด์์ธ์ง, ์๋ ์๋ฆฌ๊ฐ ์ด๋ป๊ฒ ๋๋์ง ์ดํดํ๋ค.MRR๊ณผ BKA์ ๊ด๊ณ๋ฅผ ์ดํดํ๋ค.BKA์ ์๋ ์๋ฆฌ์ ๋ํด ์ดํดํ๋ค. 1. MRR (Multi-Range-Read) ์ด๋?๋๋ค I/O ์ ๊ทผ์ ์์ฐจ I/O ์ ๊ทผ์ผ๋ก ๋ณํํ์ฌ ์ฝ๊ธฐ ์๋๋ฅผ ์ต์ ํํ๋ ์ ๋ต์ด๋ค. 2. MRR ์๋ ์๋ฆฌ-- ํ
์ด๋ธ ์์ฑCREATE TABLE employees ( emp_no INT PRIMARY KEY, last_name VARCHAR(50), department VARCHAR(50), salary INT, hire_date DATE, INDEX idx_hire_date (hire_date))engine='innodb';-- ์คํํ ์ฟผ๋ฆฌSELECT * FROM employ..
2025.07.17
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[๋ฐ์ดํฐ ๋ฒ ์ด์ค] BNL ์กฐ์ธ์ ์ ์์ ์๋ ๋ฐฉ์
0. ํ์ต ๋ชฉ์ BNL ์กฐ์ธ์ ๋์ ๊ณผ์ ์ ๋ํด ์ดํดํ๋ค.BNL ์กฐ์ธ์ด ์ ํด์ ์กฐ์ธ์ด๋ ๋จธ์ง ์ํธ ์กฐ์ธ์ ์ํด ๋ฐ๋ ค๋ฌ๋์ง ์ดํดํ๋ค.BNL ์กฐ์ธ๊ณผ BKA ์กฐ์ธ์ ์ฐจ์ด์ ์ ๋ํด ์ดํดํ๋ค.1. BNL ์กฐ์ธ์ด๋?์กฐ์ธ ๋ฒํผ๋ฅผ ํ์ฉํ์ฌ ๋๋ฆฌ๋ธ ํ
์ด๋ธ ์ค์บ ํ์๋ฅผ ์ค์ด๋ ์กฐ์ธ ๋ฐฉ์.๋๋ผ์ด๋น ํ
์ด๋ธ์ ์ ํจํ ๋ ์ฝ๋ ํ๋ ๋น, ๋๋ฆฌ๋ธ ํ
์ด๋ธ ์ ์ฒด๋ฅผ ์ค์บํด์ผ ํ๋ NL ์กฐ์ธ์ ์ฆ์ ์ค์บ ํ์๋ฅผ ์ค์ด๊ณ ์ ๋์จ ๋ฐฉ์์ด๋ค.2. BNL ์กฐ์ธ์ ๋์ ๊ณผ์ ๋๋ผ์ด๋น ํ
์ด๋ธ์์ ์ ํจํ ๋ ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ๋ฉด, '์กฐ์ธ์ ํ์ํ ์ปฌ๋ผ๋ง' ์กฐ์ธ ๋ฒํผ์ ์ ์ฅ์กฐ์ธ ๋ฒํผ๊ฐ ๊ฐ๋์ฐจ๊ฑฐ๋, ๋๋ผ์ด๋น ํ
์ด๋ธ ์ฝ๊ธฐ๊ฐ ๋๋๋ฉด ๋ค์ ๊ณผ์ ์ ์งํ๋๋ฆฌ๋ธ ํ
์ด๋ธ์ ๋ ์ฝ๋๋ฅผ ์ํํ๋ฉฐ ์ ํจํ ๋ ์ฝ๋๋ฅผ ๋ง๋ฌ์ ๊ฒฝ์ฐ, ์กฐ์ธ ๋ฒํผ๋ฅผ ์ ์ฒด ์ํํ๋ค.ํ์ฌ์ ๋๋ฆฌ๋ธ ๋ ์ฝ๋์ ๋งค์นญ๋๋..
2025.07.17
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[๋ฐ์ดํฐ ๋ฒ ์ด์ค] BKA ์กฐ์ธ์ ์ ์์ ์๋๋ฐฉ์๋ฐ์ดํฐ ๋ฒ ์ด์ค] BKA ์กฐ์ธ์ ์ ์์ ์๋๋ฐฉ์
0. ํ์ต ๋ชฉ์ BKA ์กฐ์ธ์ ์๋ ์๋ฆฌ๋ฅผ ์ดํดํ๋ค. BNL ์กฐ์ธ๊ณผ์ ์ฐจ์ด์ ์ ์ดํดํ๋ค. 1. BKA (Batch-Key-Access) ์กฐ์ธ์ด๋?์กฐ์ธ ๋ฒํผ์ MRR ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ์ฌ, Nested Loop Join์์ ๋ฌธ์ ๊ฐ ๋๋ ๋๋ฌด ๋ง์ ๋๋ค I/O ์ ๊ทผ์ ํ ๋ฒ์ ์์ฐจ I/O๋ก ์ ํํ์ฌ ์ต์ ํํ๋ ์กฐ์ธ์ ๋ต์ ๋งํ๋ค.2. BKA ์กฐ์ธ์ ๊ณผ์ ๋๋ผ์ด๋น ํ
์ด๋ธ ์ค์บ ํ ์กฐ์ธ ๋ฒํผ ์ ์ฌKey Build (์กฐ์ธ๋ฒํผ ๊ฐ ํ์ (์กฐ์ธ ์ปฌ๋ผ, ์กฐ์ธ ๋ฒํผ ์ ์์น offset) ํํ์ ์ถ์ถํด ๋๋ค ๋ฒํผ์ ์ ์ฌ) MRR ์ธํฐํ์ด์ค ํธ์ถ (๋๋ฆฌ๋ธ ํ
์ด๋ธ์ ์กฐ์ธ ์ปฌ๋ผ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ณด์กฐ ์ธ๋ฑ์ค ํ์ฉํ์ฌ PK ๊ฐ ์ถ์ถ ๋ฐ ์ ๋ ฌ) MRR ์ธํฐํ์ด์ค๊ฐ ๋๋ฆฌ๋ธ ๋ณธ ํ
์ด๋ธ (ํด๋ฌ์คํฐ๋ง ํ
์ด๋ธ)์ 3๋ฒ์์ ์ ๋ ฌํ PK ๊ฐ ์์ผ๋ก ์..
2025.07.17
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[๋ฉด์ ์ง๋ฌธ] IoC(Inversion of Control) ์ด๋ ๋ฌด์์ด๊ณ , ์คํ๋ง์์๋ ์ด๋ป๊ฒ ๊ตฌํํ๋์ง ์ค๋ช
ํด์ฃผ์ธ์.
1. ์์ฝ ๋ต๋ณโ
KEY WORD: ์ ์ด๊ถ์ ์ญ์ DI, Spring์์์ IoC ๋์ ๊ณผ์ , Spring์์ DI 3๊ฐ์ง ๋ฐฉ๋ฒ๊ณผ ํน์ง, Bean ๋ฑ๋ก 3๊ฐ์ง ๋ฐฉ๋ฒ๊ณผ ํน์งIoC๋, '๊ฐ์ฒด ์์ฑ๊ณผ ๊ด๋ฆฌ ํต์ ๊ถ์ ๊ฐ๋ฐ์์์ ํ๋ ์์ํฌ๋ก ๋๊ฒจ์ค๋ค.' ๋ผ๋ ์ค๊ณ ์์น์
๋๋ค.์ฅ์ ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ์ด ์ ์ง ๋ณด์์ฑ๊ณผ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ , ํ
์คํธ์ ์ฉ์ดํ๊ฒ ํด์ค๋ค๋ ์ ์
๋๋ค.Spring์์๋ Spring IoC ์ปจํ
์ด๋๋ฅผ ํ์ฉํ์ฌ ์ด ์์น์ ๊ตฌํํฉ๋๋ค. ๊ตฌํ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.๊ฐ๋ฐ์๊ฐ ์์ฑํ pom.xml ํน์ ์ด๋
ธํ
์ด์
๊ธฐ๋ฐ, ์๋ฐ ์ฝ๋ ๊ธฐ๋ฐ์ bean ๋ฑ๋ก ๋ช
์ธ์๋ฅผ SpringIoC ์ปจํ
์ด๋๊ฐ ์ฝ์ต๋๋ค.์ฝ์ ๋ด์ฉ์ ํ ๋๋ก Spring Ioc ์ปจํ
์ด๋ ๋ด๋ถ์ bean ๊ฐ์ฒด๋ฅผ ์์ฑ ํ ๋ฑ๋ก ํฉ๋๋ค.Busines..
2025.07.14
Computer Science/๋ชจ์๋ฉด์

[๋ฉด์ ์ง๋ฌธ] Spring์์ Bean์ ๋ฑ๋กํ๋ ๋ํ์ ์ธ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์
1. ์์ฝ ๋ต๋ณโ
KEY WORD: @Component = ํด๋์ค ๊ธฐ๋ฐ, @Bean = ๋งค์๋ ๊ธฐ๋ฐ, ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ฐ์ฒด ์์ฑ์ ๊ด์ฌํด์ผ ํ๋๊ฐ์ ์ฐจ์ด2. ์์ธ ์ค๋ช
๐Bean ๋ฑ๋ก ์ด๋
ธํ
์ด์
์ ๊ทธ ๋์์ด ํด๋์ค์ธ์ง, ๋งค์๋์ธ์ง์ ๋ฐ๋ผ ๋๋ฉ๋๋ค.@Component: ํด๋์ค ๋์, Bean ๋ฑ๋กํ๊ณ ์ถ์ ํด๋์ค์ ๋ช
์ํ๋ฉด, ํด๋น ํด๋์ค๊ฐ Bean์ผ๋ก ๋ฑ๋ก ๋ฉ๋๋ค.@Configuration ํด๋์ค์ ๋งค์๋์ @Bean: ๋งค์๋ ๋์, ์ด ์ด๋
ธํ
์ด์
์ด ์ ํ ๋งค์๋์ ๋ฐํ ๊ฐ์ฒด๊ฐ Bean์ ๋ฑ๋ก ๋ฉ๋๋ค.(์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ ํ๋ ์์ํฌ๊ฐ ์จ์ ํ ์ค์ค๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์๋ ํด๋์ค์ ๋ํ์ฌ, ๋ฏธ๋ฆฌ ๊ฐ๋ฐ์๊ฐ ํ์ํ ํ๊ฒฝ ์ค์ ์ ์ฝ๋๋ก ์ธํ
ํด๋๋ ๋ฐฉ์์
๋๋ค.)์ดํ Spring Application์ด @CompnentS..
2025.07.14
Computer Science/๋ชจ์๋ฉด์

[๋ชจ์ ๋ฉด์ ] static ํค์๋๋ ์ ์ฌ์ฉํ๋ฉฐ ๋จ์ ์ ๋ฌด์์ธ๊ฐ์
1. ์์ฝ ๋ต๋ณโ
KEY WORD: ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ํด๋์ค ์์ค์ ๊ณต์ ์์, ๊ฐ์ฒด ์งํฅ ์๋ฐ, ์จ๊ฒจ์ง ์์กด์ฑ ๋ฌธ์ , ๋จ์ ํ
์คํธ๊ฐ ์ด๋ ค์static ํค์๋๋ฅผ ์ฌ์ฉํ ๋ณ์ ํน์ ๋งค์๋๋ ์ปดํ์ผ์์ ์ ๋ฑ ํ๋ฒ๋ง Method ์์ญ์ ํ ๋น๋ ๋ค์, ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์๊น์ง ์ ์ง๋ฉ๋๋ค.์ด๋ฌํ ํน์ฑ ๋์, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ํจ์จ์ ์ด๊ณ , ํด๋์ค ์์ค์ ๊ณต์ ์์์ผ๋ก ์ฌ์ฉ๋์ด์ผ ํ๋ ๋ถ๋ณ ์์๋ Utill ํจ์๋ฅผ ๊ตฌํํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ง๋ง static์ ๋ค์๊ณผ ๊ฐ์ ์ฌ๊ฐํ ๋ถ์์ฉ์ด ๋๋ฐ๋ ์ ์์ผ๋ฏ๋ก ์ฌ์ฉ ์ ์ ์ ํด์ผ ํฉ๋๋ค.์ฒซ ๋ฒ์งธ๋ก, ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์๋ฐํ๋ ํค์๋ ์
๋๋ค.static ๋ฉค๋ฒ ๋ณ์๋ฅผ ํ์ฉํ๋ ํด๋์ค์ ๊ฐ์ฒด๋ ์์ ์ ์ํ
๋ฅผ ์ค์ค๋ก ์๋ฒฝํ๊ฒ ์ ์ดํ์ง ๋ชปํ๋ฉฐ, ํ ๊ฐ์ฒด๋ ์๋น์ค์ ์ํด ์์ ์ ์ํ๊ฐ ..
2025.07.07
Computer Science/๋ชจ์๋ฉด์

[๋ชจ์๋ฉด์ ] Self-Invocation์ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์?
1. ์์ฝ ๋ต๋ณโ
KEY WORD: Bean ๋ถ๋ฆฌ, ์๊ฐ์ฃผ์
SELF-INVOCATION ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ 2๊ฐ์ง ์
๋๋ค.์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ์๊ฐ ํธ์ถ๋ ๋งค์๋๋ฅผ ๋ค๋ฅธ ํด๋์ค๋ก ๋ถ๋ฆฌํ์ฌ, ํด๋น ๋งค์๋ ํธ์ถ ์์๋ AOP ๋น ํ๋ก์๊ฐ ํธ์ถ๋๊ฒ ํ๋ ๊ฒ์
๋๋ค.๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๊ฐ์ ๊ฐ์ฒด ๋ด์ ๋งค์๋๋ฅผ ํธ์ถํ ์, this. ํค์๋๋ฅผ ์ฌ์ฉํ๋ ๋์ ๊ฐ์ฒด ์ด๋ฆ. ์ผ๋ก ์๊ธฐ ์์ ์ ํ ๋ฒ ๋ ์ฃผ์
ํ๋ ๊ฒ์
๋๋ค. Self-Invocation ๋ฐ์ ์ํฉpublic class Test { public void methodAB (A a, B b) { saveA(a); saveB(b); } public void saveA (A a) { repository.save(A a);..
2025.07.07
Computer Science/๋ชจ์๋ฉด์

[๋ชจ์ ๋ฉด์ ] ์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด๊ณผ ๋น๋ ํจํด์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.
1. ์์ฝ ๋ต๋ณโ
KEY WORD: ์์ฑ์ ์จ๊ธฐ๊ธฐ, static ๋งค์๋๋ก ํฉํ ๋ฆฌ ๊ตฌํ, Builder = ์กฐ๋ฆฝ๊ณผ์ ๊ณผ ์์ฑ์ ๋ถ๋ฆฌ์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ํฉํ ๋ฆฌ ํจํด์ ๊ตฌํ์ฒด ์ค ํ๋ ์
๋๋ค.ํฉํ ๋ฆฌ ํจํด์ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์ ํ ์ธํฐํ์ด์ค: ์์ฑํ ๊ตฌํ์ฒด์ ๋ํ ๋ช
์ธ๋ง ์ถ์ํ ๋์ด ์์ต๋๋ค.๊ตฌ์ฒด์ ์ธ ์ํ: ๋ช
์ธ์ ๋ง๊ฒ ๊ฐ์ฒด๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฒดํ์ํฌ์ง ์ฝ๋ ๋ก์ง์ด ์์ต๋๋ค.ํฉํ ๋ฆฌ: ์ฌ์ฉ์์ ์์ฒญ์ ๋ง๊ฒ ๊ตฌํ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ํฉํ ๋ฆฌ ๋ถ๋ถ์ static method๋ก ๊ตฌํํ ๊ฒ์
๋๋ค.์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์์ฑ ๋ชฉ์ ์ ๋ํ ํํ์ด ๋งค์๋ ์ด๋ฆ์ผ๋ก ๊ฐ๋ฅํด์ง๋ค.์ธ์คํด์ค์ ๋ํ ํต์ ๋ฐ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง๋ค. -> ์ํ๋ ๋ฐฉํฅ์ผ๋ก๋ง ๊ฐ์ฒด ์์ฑ์ ํ์ ํ ์ ์์, ..
2025.07.07
Computer Science/๋ชจ์๋ฉด์

[DB] My.ini์ ์์น ์ฐพ์์ ์ค์ ๊ฐ ๋ฐ๊พธ๊ธฐ (innodb_ft_min_token_size)
0. ์์ฑ ์ด์ innodb_ft_min_token_size๋ read-only variable์ด๋ผ์ mysql ide์์ ๋ฐ๋ก ๋ชป ๊ณ ์น๋ค. ๋ฐ๋ผ์ ์ด๊ฒ์ ๊ณ ์น๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํ๋ค.1. my.ini ์์น ์ฐพ๊ธฐmy.ini๋ ๋ณดํต MySQL์ basedir ํ์์ ์๋ค. show variables like %dir;๋ง์ฝ .msi๋ก ์ค์นํ๋ค๋ฉด, %PROGRAMDATA% ๋๋ ํ ๋ฆฌ ํ์์ ์์นํ๋ค. ๋ช
๋ น ํ๋กฌํํธ์์ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ณ์ %PROGRAMDATA% ์ ์์น๋ฅผ ํ์ธํ๋ค.echo %PROGRAMDATA%๋ง์ฝ %PROGRAMDATA%์ my.ini์ด ์๋ค๋ฉด ์ด ์ค์ ํ์ผ์ด ์ ๋ง ์ฐ๋ฆฌ๊ฐ ์ฐ๋ mySQL์ ์ฌ์ฉ๋๊ณ ์๋์ง ํ์ธํด์ผ ํ๋ค. ๋ค์ ๋ช
๋ น์ด๋ฅผ ๋ช
๋ น ํ๋กฌํํธ์์ ์ฒ๋ณธ๋ค.mysql --help์ดํDefaul..
2025.06.07
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[DB] ์ ๋ฌธ ๊ฒ์ ์ธ๋ฑ์ค์ ๋ถ์ฉ์ด ์ ์ธ ๊ธฐ์ค
0. ํ์ต ๋ชฉ์ '๋ถ์ฉ์ด์ ์ผ์นํ๊ฑฐ๋, ๋ถ์ฉ์ด๋ฅผ ํฌํจํ๋ ํ ํฐ์ ์ธ๋ฑ์ค ๋ฑ๋ก์์ ์ ์ธ' ๋ผ๋ ๋ป์ ์๋ฏธ๊ฐ ๋ช
ํํ ์ดํด๋์ง ์์ ์ค์ตํจ.์ค์ต์ ํตํด ์
์ฒด์ ์ธ ์ดํด๋ฅผ ํ๋ค.1. ๊ฒฐ๋ก n-gram์ผ๋ก ๋ถํ ํ์ ์ ๋ถํ ๋ ํ ํฐ์ด ๋ ์ค ํ๋๋ผ๋ ์ถฉ์กฑํ๋ฉด (๋ถ์ฉ์ด์ ์ผ์น ํน์ ๋ถ์ฉ์ด๋ฅผ ํฌํจ) ์ธ๋ฑ์ค ๋ฑ๋ก์์ ์ ์ธ๋ฉ๋๋ค.๋ฐ๋ผ์ n-gram์ n์ด ํด์๋ก ์ ๋ฌธ ๊ฒ์ ์ธ๋ฑ์ค์ ์ฑ๋ฅ์ด ์ ํ๋ฉ๋๋ค. 2. ์ค์ตํ๊ธฐ1. innodb ์ ์ฒด ํ ํฐ ์ค์ ์ 2-gram์ ๋ง์ถค์ธ๋ถ ๊ณผ์ : [[MySQL์์ innodb_ft_min_token_size ๋ฐ๊พธ๊ธฐ]]2. docs ํ
์ด๋ธ ์์ฑcreate table docs ( id int auto_increment primary key, content text, fulltext..
2025.06.07
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[DB] Hash Index ์๋์๋ฆฌ, ์ ์ ์ฐ์ด๋์ง
0. ํ์ต ๋ชฉ์ Hash Index์ ์๋์๋ฆฌ๋ฅผ ์๋ฐ ๊ฒํฅ๊ธฐ์์ผ๋ก ์๋ค.Hash Index์ ์ฅ์ ๊ณผ ๋จ์ ์ ์๋ค.1. ๋์ ์๋ฆฌ(1) ์ ๊ฐ๋์ถ์ฒ: https://codingsight.com/hash-index-understanding-hash-indexes/๊ตฌ์ฑ์์Hash Function:์๋ณ ์ปฌ๋ผ๊ฐ์ ํด์๊ฐ์ผ๋ก ๋ฐํํ์ฌ ํด๋น ์ธ๋ฑ์ค ๋ ์ฝ๋๊ฐ ์ ์ฅ๋ ๋ฒํท ์์น๋ฅผ ํน์ ํ๋ค.Bucket:๊ตฌํ์ ๋ฐฐ์ด๋ก ๋์ด ์๋ค. CREATE INDEX idx_name ON members USING hash (name);(2) ๋ฐ์ดํฐ ์ ์ฅ ์Insert๊ฐ ๋ค์ด์จ๋ค.Insert into members (name, ...) VALUES ( "John doe", ...)'John doe'๋ ์ด๋ฆ์ ์ผ๋ถ (ex - 'john')์ H..
2025.05.11
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[DB] ์ธ๋ฑ์ค์ ๋ํ ๊ฐ๊ด์ ์ธ ์ดํด
0. ํ์ต๋ชฉ์ ์ธ๋ฑ์ค์ ๋ํ ๊ฐ๊ด์ ์ธ ์ดํด ( ์ ์ด๋ฐ ๊ฑฐ๊ตฌ๋~ ์ ๋๋ง ์ป์ผ๋ฉด OK)1. ์ธ๋ฑ์ค๋?์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ์ฐพ์๋ณด๊ธฐ ์ํ ์์ธ์ ๋งํ๋ค.์ฑ
์ ๋ชฉ์ฐจ๋ ์ฑ
๋ง๋ฏธ์ ์กด์ฌํ๋ ์ํ๋ ๊ธ ์ฐพ์๋ณด๊ธฐ์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ค.2. ์ธ๋ฑ์ค์ ๊ตฌ์กฐ์ถ์ฒ: ํต๊ณํ ์ธ์ - 489๋ฒ์งธ ํฌ์คํ
๊ธ์์๊ณ์ ์ฑ
์ ๊ด์ ๊ณผ ๋น๊ตํด์ ์ค๋ช
ํ๊ฒ ๋ค.์์ ๊ทธ๋ฆผ์ ๊ตญ์ด ์ฌ์ ์ ๋งจ ๋์ ์๋ ์ํ๋ ๋จ์ด์ ๋ป ์ฐพ์๋ณด๊ธฐ์ด๋ค. (์ดํ ์์ธ์ด๋ผ ๋ถ๋ฅด๊ฒ ๋ค.)ํด๋น ์์ธ์์๋ a. ์ํ๋ ๋จ์ด ์ด๋ฆ์ ์ฐพ์ ๋ค, b. ๊ทธ๊ฒ์ด ๊ฐ๋ฆฌํค๋ ํ์ด์ง๋ก ๊ฐ์ c. ์ฑ
์ ๋ด์ฉ์ ๋ณธ๋ค.DB์ INDEX ๋ํ ํด๋น ์๋ฆฌ๋ฅผ ๊ทธ๋๋ก ์ด์ด ๋๊ฐ๋ค. ๊ตญ์ด์ฌ์ ์์ ์ํ๋ ๋จ์ด ์ด๋ฆ๊ณผ ๊ฐ์ด ๊ฐ๋ณ ์ธ๋ฑ์ค๋ค์ ์๋ณํ ์ ์๋ a. ์๋ณ ์ปฌ๋ผ ๊ฐ์ด ์กด์ฌ ํ๋ฉฐ, ๊ทธ๊ฒ๋ง๋ค Pair ๊ฐ..
2025.05.10
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[DB] ๋๋ค I/O๋ ์ ์์ฐจ I/O๋ณด๋ค ๋๋ฆด ์ ๋ฐ์ ์๋๊ฐ? (HDD, SSD, DB ์๋ฒ ๊ด์ ์์ ๋ถ์)
Relevance Framing ๐งฉ๋ชฉ์ : ์ฟผ๋ฆฌํ๋์ ๋ชฉํ๋ฅผ ์ดํดํ๊ธฐ ์ํด์์ฟผ๋ฆฌ์ Disk I/O์์ ๊ด๊ณ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ฐ์ ์ผ๋ก ๋์คํฌ I/O ์์
์ ๊ฑฐ์ณ์ผ ํ๋ค.ํด๋น Disk I/O ์์
์ ๋ค์ ๋๋ค I/O์ ์์ฐจ I/O๋ก ๋๋๋๋ฐ, ์ด๋ ๋์คํฌ์ ์ ๊ทผ์ ๋ช ๋ฒ ํ๋๋์ ๋ฐ๋ผ ์ข
๋ฅ๊ฐ ๋๋๋ค.์ฟผ๋ฆฌํ๋์,๊ธฐ์กด ์ฟผ๋ฆฌ์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๋ ๋น ๋ฅธ ์๊ฐ์์ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ ์ ์๋๋ก ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ ํ๋ ์์
์ ๋งํ๋ค.๋์คํฌ์ ์ ๊ทผํ๋ ํ์๊ฐ ์ ์์๋ก ์๋๊ฐ ๊ฐ์ ๋จ์ ๋น์ฐํ ์ด์ผ๊ธฐ ์ด๋ฏ๋ก,**์ฟผ๋ฆฌ ํ๋์ ๋ชฉํ๋ ์ต๋ํ Disk I/O๋ฅผ ์ ๊ฒ ํ๋ ๊ฒ์ ์๋ค. 0. ์ ์ ์ํฉ๋์คํฌ I/O์ ๋ํ ๊ฐ๋
์ ๋ช
ํํ ์ดํดํ๊ธฐ ์ํด, OS ํ์ด์ง ์บ์์ InnoDB ๋ฒํผ ํ์ ์ฐพ์ผ๋ ค๋ ๋ฐ์ดํฐ๊ฐ 100% ์๋ ์ํฉ์ด๋ผ๊ณ ๊ฐ..
2025.05.09
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[DB] ์ HDD์ SSD์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์์ฐจ I/O์์๋ ํฌ์ง ์์๊น?
1. CPU, D-ram, SSD, HDD์ ์ด๋น ์ฐ์ฐ ์ฒ๋ฆฌ ์๋ ์ฐจ์ด ๋น๊ต์ธ๋ก์ถ์ธ OPS๋ ์ด๋น ์ฒ๋ฆฌ ์๋์ด๋ค.๋ฉ๋ชจ๋ฆฌ(D-RAM)์ HDD๋ 10๋ง ๋ฐฐ ์ด์์ ์ฒ๋ฆฌ์๋ ์ฐจ์ด๋ฅผ ๋ณด์ธ๋ค.๋ฉ๋ชจ๋ฆฌ์ SSD๋ 1000๋ฐฐ์ ์ฒ๋ฆฌ์๋ ์ฐจ์ด๋ฅผ ๋ณด์ธ๋ค.2. SSD์ HDD์ ์์ฐจ I/O, ๋๋ค I/O ์ฑ๋ฅ ๋น๊ต(1) ์์ฐจ I/O ์์๋ ์ฑ๋ฅ์ ์ฐจ์ด๊ฐ ํฌ๊ฒ ์๋ค.์์ฐจ ์ฝ๊ธฐ๋ ํ ๋ฒ์ ์ฐ์๋ ๋ง์ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ผ๊ด์ ์ผ๋ก ์ฝ๋ ๊ฒ์ ๋งํ๋ค.A. ์์ฐจ I/O์์๋ HDD์ ๋ฌผ๋ฆฌ์ ์ธ ์ ๊ทผ ์๋๊ฐ SSD์ ์ ๊ธฐ์ ์ ๊ทผ ๋ณด๋ค '์๋ฑํ' ๋๋ฆฌ์ง ์๋ค.HDD์์ ์์ฐจ I/O๋ฅผ ์งํํ๋ค๋ฉด ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ๋ค. (1)ํค๋๋ฅผ ์ฝ์ด์ผ ํ๋ ๋ฐ์ดํฐ ์์์ ์ ์์น์ํค๊ณ , (2) ๋์คํฌ๋ฅผ ํ์ ์์ผ์ ๊ทธ๋ฅ ์ญ ์ฝ์ผ๋ฉด ๋๋ค. ์ฆ SEEK TIME๊ณผ..
2025.05.04
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[DB] HDD์ SSD์ ๊ตฌ์ฑ์์ ๋ฐ ์๋์๋ฆฌ
0. ํ์ต์๋HDD์ SSD์ ์์ฐจ I/O ์๊ฐ์ ๊ฑฐ์ ๋น์ทํ๋ค๋ ๋ง ์์ฒด๊ฐ ์ดํด๊ฐ ๋์ง ์์๋ค. ์ ๊ธฐ์ ์ ๊ทผ์ด ์ด๋ฃจ์ด์ง๋ SSD๊ฐ HDD๋ณด๋ค ๋น์ฐํ ๋ชจ๋ ๋ฉด์์ ์๋ฑํด์ผ ํ๋ ๊ฒ ์๋๊ฐ?? ํด๋น ๋ฌผ์์ ๋ตํ๊ธฐ ์ํด ๋จผ์ HDD์ SSD์ ์๋์๋ฆฌ์ ๋ํ์ฌ ์ดํด๋ณด์๋ค.1. HDD์ ๋ํ์ฌ(1) ๊ตฌ์ฑ์์Platter(ํ๋ ํฐ)๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ํ ์๊ธฐ(magnetic) ๋์คํฌ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ปํ๋ ์์ฑ๋ฌผ์ง๋ค๋ก ์ธ๋ถ๊ฐ ์ฝํ
๋์ด ์์.Spindle(์คํ๋ค)๋ชจ๋ ํ๋ ํฐ๋ฅผ ๊ดํต ๋ฐ ๊ณ ์ ํ๊ณ ํ์ ์ํค๋ ์ถํ๋ ํฐ๋ฅผ ํ์ ์์ผ์ arm์ด ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ์นํฐ๋ฅผ ์ฝ์ ์ ์๋๋ก ํ๋ ์ญํ Track(ํธ๋)ํ๋ํฐ ์์ ๋์ฌ์ ๋ชจ์์ผ๋ก ๋ฐฐ์ด๋ ๋ฐ์ดํฐ์ ์ ์ฅ ๋จ์ํ๋์ ํ๋ํฐ์ ์์ฒ ~ ์๋ง ๊ฐ์ ํธ๋์ด ์กด์ฌSect..
2025.05.04
Computer Science/๋ฐ์ดํฐ๋ฒ ์ด์ค

[๋คํธ์ํฌ] WEB-SOCKET ์ฐ๊ฒฐ ๊ณผ์ ์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์!
๐ง WEB-SOCKET ์ฐ๊ฒฐ ๊ณผ์ ์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์!KEY WORD: HTTP 1.1์์๋ง ์
๊ทธ๋ ์ด๋ ๊ฐ๋ฅ, STATE-LESS ์์ STATE-FULL ๋ก, HEART-BEAT๋ก ์ฐ๊ฒฐ ์ง์!๐๐ปโ๏ธ ๋ฉด์ 1๋ถ ๋๋ต !WebSocket์ Http1.1์์๋ง ์
๊ทธ๋ ์ด๋๊ฐ ๊ฐ๋ฅํ ํ๋กํ ์ฝ๋ก, ๊ธฐ์กด์ state-lessํ http ์์ฒญ ์๋ต ํจํด์์, heart-beat๋ฅผ ํ์ฉํ state-full ํ ์ํ๋ก ์๋ฒ-ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ์ ๋ณํํฉ๋๋ค. ํฌ๊ฒ ๋ค์์ 3๊ฐ์ง ๊ณผ์ ์ผ๋ก Web-Socket ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด ์ง๋๋ค.ํด๋ผ์ด์ธํธ๊ฐ Header์ Upgrade: Websocket Attribute๋ฅผ ๋ด์ ์ฐ๊ฒฐ์ ์์ฒญํฉ๋๋ค.์๋ฒ๊ฐ Header์ Http/1.1 101 Switching Protocol์ ๋ณด๋ด,..
2025.03.23
Computer Science/๋คํฌ์ํฌ

VPC, Subnet, gateWay์ ๋ํ์ฌ
2
0. ๋ค์ด๊ฐ๋ฉฐ์ค๋์ ์ธํ๋ผ๋ฅผ ์ดํดํ๊ธฐ ์ํ ์ ์ผ ๊ธฐ๋ณธ์ ์ธ CS ์ง์์ ์ ๋ฆฌํ๊ฒ ๋ค. ๋ฐ๋ก VPC, Subnet, gateway, routing_table ์ด ๊ทธ๊ฒ์ด๋ค. ํ์๋ ํด๋น ๊ฐ๋
์ ์กด์ฌ์กฐ์ฐจ ์ ์์ง ๋ชปํ์ผ๋, ์ด๋ฒ์ ์ธํ๋ผ ํ๊ณผ ๋ํ๋ฅผ ํ๋ฉด์ ์ค์ค๋ก ๋คํธ์ํฌ์ ๋ํ ์ง์์ด ์ ๋ฌดํจ์ ๋๋ผ๊ณ , ๋ค์ ํ์์์๋ ๋ ์ ์ดํดํ๊ธฐ ์ํ์ฌ ํ์ตํ๋ค. ์ด์ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค.1. VPC๋คํธ์ํฌ ๊ณต๊ฐ์ ์๋ถ ์๋ ํฉ์ผ ์ฒ๋ผ ๋๋๊ณ ํกํ๋ค. ์ด ๋๋์ ๊ณต๊ฐ์์ ์ฌ๋๋ค์ด ๊ต๋ฅํ๊ณ ์์์ฃผ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๊ฐ์ด ๋ชจ์ฌ ์ด ํน์ ๊ณต๊ฐ์ ์ง์ ํ๊ณ ๋ง์์ ๊ฑด์คํด์ผ ํ ๊ฒ์ด๋ค. ๋๋์ ํฉ์ผ๊ฐ ๋คํธ์ํฌ๋ผ๋ฉด, ๋ง์์ ํด๋นํ๋ ๋ถ๋ถ์ด ๋ฐ๋ก VPC์ด๋ค.VPC๋ฅผ ๋ง๋ ๋๋ ์ด์ ์ด ์๋ก์ด ๋์์ ์์ฅ์ด๋ค. ์๋ถ ์๋์ ์์ฅ์..
2025.02.23
Computer Science/๋คํฌ์ํฌ

[OS] ์ ์ ํ๊ณผ ๋น์ ์ ํ ์ค์ผ์ค๋ง์ ์ ์์ ์ข
๋ฅ
1. CPU ์ค์ผ์ค๋ง์ด๋?๋ณต์์ ํ๋ก์ธ์ค ์ค ์ด๋ค ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๊ฐ์ฅ ๋จผ์ ์ฌ์ฉํ๊ณ ์ผ๋ง๋ ์ค๋ ์ฌ์ฉํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.์ด๋ฅผ ์ํด์ ์ค์ผ์ค๋ง ๊ธฐ๋ฒ๋ง๋ค ๋ค๋ฅด๊ฒ ํ๋ก์ธ์ค๋ค์ ์ฐ์ ์์๋ฅผ ์ธก์ ํ๊ณ , CPU ์ฌ์ฉ์๊ฐ์ ์ฐ์ ํ๋ค.(1) ์ข์ CPU ์ค์ผ์ค๋ง์ด๋?CPU๋ ๋จ์ผ ์์์ ํ๋ก์ธ์ค๋ค์๊ฒ ์ต๋ํ ๊ณตํํ๊ฒ ๋ฐฐ๋ถํ์ฌ ํ๋ก์ธ์ค ์ฒ๋ฆฌ์จ๊ณผ CPU ์ด์ฉ๋ฅ ์ ๋์ด๊ณ , ์๋ต์๊ฐ, CPU ๊ณผ๋ถํ(์ค๋ฒ ํค๋), ํ๋ก์ธ์ค๋ค์ ์ฒ๋ฆฌ ๋๊ธฐ์๊ฐ์ ์ค์ด๋ ๊ฒ์ด ์ข์ ์ค์ผ์ค๋ง์ด๋ค.๊ณตํ์ฑ๐ โ ( ํ๋ก์ธ์ค ์ฒ๋ฆฌ์จโฌ๏ธ, CPU ์ด์ฉ๋ฅ โฌ๏ธ ) | (์๋ต ์๊ฐ โฌ๏ธ, CPU ๊ณผ๋ถํ โฌ๏ธ, ํ๋ก์ธ์ค ์ฒ๋ฆฌ ๋๋ฆฌ์๊ฐ โฌ๏ธ)2. ์ ์ ํ ์ค์ผ์ค๋ง์ ๋ํ์ฌํ์ฌ CPU๋ฅผ ํ์ฉํ๊ณ ์๋ ํ๋ก์ธ์ค๋ฅผ A๋ผ๊ณ ํ์. ์ด๋ ์ค๋นํ์์ A๋ณด๋ค ์ฒ..
2025.02.07
Computer Science/์ด์์ฒด์

[์ด์์ฒด์ ] ์ด์์ฒด์ ์์์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์์ญ ์ง์ด ์ค๋ช
ํ์ธ์.
1. ์ด์์ฒด์ ์์์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋?RAM(์ฃผ ๊ธฐ์ต ์ฅ์น)์ด๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋
ผ๋ฆฌ์ (๊ฐ์)์ผ๋ก ์์ญ์ ์ง์ด ๋๋ ๊ฒ.(1) ํ๋์จ์ด์์์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐํ๋์จ์ด ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐโโโ ๋ ์ง์คํฐโ โโ CPU ๋ด๋ถ์ ์์น (๊ฐ์ฅ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ)โโโ ์บ์ (L1, L2, L3)โ โโ CPU์ RAM ์ฌ์ด์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅโโโ ์ฃผ๊ธฐ์ต์ฅ์น (RAM)โ โโโ ์ฌ์ฉ์ ์์ญ (User Space)โ โ โ โ โ โ โ โ โ โโโ ์ปค๋ ์์ญ (Kernel Space)โ โ โ โ โโโ ๋ณด์กฐ๊ธฐ์ต์ฅ์น (HDD, SSD) โโโ ์ค์ ๊ณต๊ฐ (Swap Space) โโโ ์๊ตฌ ๋ฐ์ดํฐ ์ ์ฅ์์ ์ฅ์๋ผ๋ ๋ฉ๋ชจ๋ฆฌ์..
2025.01.14
Computer Science/์ด์์ฒด์