user-img
Computer Science 22
thumbnail
[DB] ์ธ๋ฑ์Šค ๋จธ์ง€ (Index Merge)
0. ํ•™์Šต ๋ชฉ์ ์ธ๋ฑ์Šค ๋จธ์ง€๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•œ๋‹ค.์ธ๋ฑ์Šค ๋จธ์ง€์˜ ์ข…๋ฅ˜์ธ ๊ต์ง‘ํ•ฉ, ํ•ฉ์ง‘ํ•ฉ, ์ •๋ ฌ ํ›„ ํ•ฉ์ง‘ํ•ฉ์„ ์ดํ•ดํ•œ๋‹ค.1. ์ธ๋ฑ์Šค ๋จธ์ง€๋ž€?Index Merge ๋ž€ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์—์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ๋ณ„ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ตœ์ ํ™” ์ „๋žต์ด๋‹ค.๋งŒ์•ฝ ํ•ด๋‹น ์˜ต์…˜์„ ์ผœ๋‘์ง€ ์•Š์•˜๋‹ค๋ฉด, ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ, ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์—์„œ๋Š” ์˜ค๋กœ์ง€ ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•œ๋‹ค.2. ์‚ฌ์šฉ๋˜๋Š” ์กฐ๊ฑด์ฟผ๋ฆฌ์— ์‚ฌ์šฉ๋œ ๊ฐ๊ฐ์˜ ์กฐ๊ฑด์ด ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ” ๋‚ด์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค๋กœ๋งŒ ์ฒ˜๋ฆฌํ–ˆ์„ ๊ฒฝ์šฐ ๋ฒ”์œ„ ํ•„ํ„ฐ๋ง ํšจ๊ณผ๊ฐ€ ๋ฏธ๋ฏธํ•˜๋‹ค.3. ์ข…๋ฅ˜intersection: ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ธ๋ฑ์Šค๋กœ ํ•„ํ„ฐ๋งํ•œ ๋ฐ์ดํ„ฐ๋“ค ์‚ฌ์ด์˜ ๊ต์ง‘ํ•ฉ๋งŒ ๋ฐ˜ํ™˜union: ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ธ๋ฑ์Šค๋กœ ํ•„ํ„ฐ๋งํ•œ ๋ฐ์ดํ„ฐ๋“ค ์‚ฌ์ด์— ํ•ฉ์ง‘..
2025.07.24
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค] 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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค] BNL ์กฐ์ธ์˜ ์ •์˜์™€ ์ž‘๋™ ๋ฐฉ์‹
0. ํ•™์Šต ๋ชฉ์ BNL ์กฐ์ธ์˜ ๋™์ž‘ ๊ณผ์ •์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค.BNL ์กฐ์ธ์ด ์™œ ํ•ด์‹œ ์กฐ์ธ์ด๋‚˜ ๋จธ์ง€ ์†ŒํŠธ ์กฐ์ธ์— ์˜ํ•ด ๋ฐ€๋ ค๋‚ฌ๋Š”์ง€ ์ดํ•ดํ•œ๋‹ค.BNL ์กฐ์ธ๊ณผ BKA ์กฐ์ธ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค.1. BNL ์กฐ์ธ์ด๋ž€?์กฐ์ธ ๋ฒ„ํผ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋“œ๋ฆฌ๋ธ ํ…Œ์ด๋ธ” ์Šค์บ” ํšŸ์ˆ˜๋ฅผ ์ค„์ด๋Š” ์กฐ์ธ ๋ฐฉ์‹.๋“œ๋ผ์ด๋น™ ํ…Œ์ด๋ธ”์˜ ์œ ํšจํ•œ ๋ ˆ์ฝ”๋“œ ํ•˜๋‚˜ ๋‹น, ๋“œ๋ฆฌ๋ธ ํ…Œ์ด๋ธ” ์ „์ฒด๋ฅผ ์Šค์บ”ํ•ด์•ผ ํ•˜๋Š” NL ์กฐ์ธ์˜ ์žฆ์€ ์Šค์บ” ํšŸ์ˆ˜๋ฅผ ์ค„์ด๊ณ ์ž ๋‚˜์˜จ ๋ฐฉ์‹์ด๋‹ค.2. BNL ์กฐ์ธ์˜ ๋™์ž‘ ๊ณผ์ •๋“œ๋ผ์ด๋น™ ํ…Œ์ด๋ธ”์—์„œ ์œ ํšจํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด, '์กฐ์ธ์— ํ•„์š”ํ•œ ์ปฌ๋Ÿผ๋งŒ' ์กฐ์ธ ๋ฒ„ํผ์— ์ €์žฅ์กฐ์ธ ๋ฒ„ํผ๊ฐ€ ๊ฐ€๋“์ฐจ๊ฑฐ๋‚˜, ๋“œ๋ผ์ด๋น™ ํ…Œ์ด๋ธ” ์ฝ๊ธฐ๊ฐ€ ๋๋‚˜๋ฉด ๋‹ค์Œ ๊ณผ์ •์„ ์ง„ํ–‰๋“œ๋ฆฌ๋ธ ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์œ ํšจํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋งŒ๋‚ฌ์„ ๊ฒฝ์šฐ, ์กฐ์ธ ๋ฒ„ํผ๋ฅผ ์ „์ฒด ์ˆœํšŒํ•œ๋‹ค.ํ˜„์žฌ์˜ ๋“œ๋ฆฌ๋ธ ๋ ˆ์ฝ”๋“œ์™€ ๋งค์นญ๋˜๋Š”..
2025.07.17
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค] 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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[๋ฉด์ ‘ ์งˆ๋ฌธ] 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/๋ชจ์˜๋ฉด์ ‘
thumbnail
[๋ฉด์ ‘ ์งˆ๋ฌธ] Spring์—์„œ Bean์„ ๋“ฑ๋กํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”
1. ์š”์•ฝ ๋‹ต๋ณ€โœ…KEY WORD: @Component = ํด๋ž˜์Šค ๊ธฐ๋ฐ˜, @Bean = ๋งค์„œ๋“œ ๊ธฐ๋ฐ˜, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๊ฐ์ฒด ์ƒ์„ฑ์— ๊ด€์—ฌํ•ด์•ผ ํ•˜๋Š”๊ฐ€์˜ ์ฐจ์ด2. ์ƒ์„ธ ์„ค๋ช… ๐Ÿ“šBean ๋“ฑ๋ก ์–ด๋…ธํ…Œ์ด์…˜์€ ๊ทธ ๋Œ€์ƒ์ด ํด๋ž˜์Šค์ธ์ง€, ๋งค์„œ๋“œ์ธ์ง€์— ๋”ฐ๋ผ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.@Component: ํด๋ž˜์Šค ๋Œ€์ƒ, Bean ๋“ฑ๋กํ•˜๊ณ  ์‹ถ์€ ํด๋ž˜์Šค์— ๋ช…์‹œํ•˜๋ฉด, ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ Bean์œผ๋กœ ๋“ฑ๋ก ๋ฉ๋‹ˆ๋‹ค.@Configuration ํด๋ž˜์Šค์˜ ๋งค์„œ๋“œ์— @Bean: ๋งค์„œ๋“œ ๋Œ€์ƒ, ์ด ์–ด๋…ธํ…Œ์ด์…˜์ด ์ ํžŒ ๋งค์„œ๋“œ์˜ ๋ฐ˜ํ™˜ ๊ฐ์ฒด๊ฐ€ Bean์— ๋“ฑ๋ก ๋ฉ๋‹ˆ๋‹ค.(์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์˜จ์ „ํžˆ ์Šค์Šค๋กœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค์— ๋Œ€ํ•˜์—ฌ, ๋ฏธ๋ฆฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•œ ํ™˜๊ฒฝ ์„ค์ •์„ ์ฝ”๋“œ๋กœ ์„ธํŒ…ํ•ด๋‘๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.)์ดํ›„ Spring Application์ด @CompnentS..
2025.07.14
Computer Science/๋ชจ์˜๋ฉด์ ‘
thumbnail
[๋ชจ์˜ ๋ฉด์ ‘] static ํ‚ค์›Œ๋“œ๋Š” ์™œ ์‚ฌ์šฉํ•˜๋ฉฐ ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”
1. ์š”์•ฝ ๋‹ต๋ณ€โœ…KEY WORD: ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ํด๋ž˜์Šค ์ˆ˜์ค€์˜ ๊ณต์œ  ์ž์›, ๊ฐ์ฒด ์ง€ํ–ฅ ์œ„๋ฐ˜, ์ˆจ๊ฒจ์ง„ ์˜์กด์„ฑ ๋ฌธ์ œ, ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๋ ค์›€static ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๋ณ€์ˆ˜ ํ˜น์€ ๋งค์„œ๋“œ๋Š” ์ปดํŒŒ์ผ์‹œ์ ์— ๋”ฑ ํ•œ๋ฒˆ๋งŒ Method ์˜์—ญ์— ํ• ๋‹น๋œ ๋’ค์—, ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์‹œ๊นŒ์ง€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.์ด๋Ÿฌํ•œ ํŠน์„ฑ ๋•์—, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ํšจ์œจ์ ์ด๊ณ , ํด๋ž˜์Šค ์ˆ˜์ค€์˜ ๊ณต์œ  ์ž์›์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋Š” ๋ถˆ๋ณ€ ์ƒ์ˆ˜๋‚˜ Utill ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ static์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹ฌ๊ฐํ•œ ๋ถ€์ž‘์šฉ์ด ๋™๋ฐ˜๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉ ์‹œ ์œ ์˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.์ฒซ ๋ฒˆ์งธ๋กœ, ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„๋ฐ˜ํ•˜๋Š” ํ‚ค์›Œ๋“œ ์ž…๋‹ˆ๋‹ค.static ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋Š” ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋Š” ์ž์‹ ์˜ ์ƒํ…Œ๋ฅผ ์Šค์Šค๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ์ œ์–ดํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ํƒ€ ๊ฐ์ฒด๋‚˜ ์„œ๋น„์Šค์— ์˜ํ•ด ์ž์‹ ์˜ ์ƒํƒœ๊ฐ€ ..
2025.07.07
Computer Science/๋ชจ์˜๋ฉด์ ‘
thumbnail
[๋ชจ์˜๋ฉด์ ‘] 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/๋ชจ์˜๋ฉด์ ‘
thumbnail
[๋ชจ์˜ ๋ฉด์ ‘] ์ •์  ํŒฉํ† ๋ฆฌ ๋งค์„œ๋“œ ํŒจํ„ด๊ณผ ๋นŒ๋” ํŒจํ„ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
1. ์š”์•ฝ ๋‹ต๋ณ€โœ…KEY WORD: ์ƒ์„ฑ์ž ์ˆจ๊ธฐ๊ธฐ, static ๋งค์„œ๋“œ๋กœ ํŒฉํ† ๋ฆฌ ๊ตฌํ˜„, Builder = ์กฐ๋ฆฝ๊ณผ์ •๊ณผ ์ƒ์„ฑ์˜ ๋ถ„๋ฆฌ์ •์  ํŒฉํ† ๋ฆฌ ๋งค์„œ๋“œ ํŒจํ„ด์€ ํŒฉํ† ๋ฆฌ ํŒจํ„ด์˜ ๊ตฌํ˜„์ฒด ์ค‘ ํ•˜๋‚˜ ์ž…๋‹ˆ๋‹ค.ํŒฉํ† ๋ฆฌ ํŒจํ„ด์˜ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.์ œํ’ˆ ์ธํ„ฐํŽ˜์ด์Šค: ์ƒ์„ฑํ•  ๊ตฌํ˜„์ฒด์— ๋Œ€ํ•œ ๋ช…์„ธ๋งŒ ์ถ”์ƒํ™” ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.๊ตฌ์ฒด์ ์ธ ์ƒํ’ˆ: ๋ช…์„ธ์— ๋งž๊ฒŒ ๊ฐ์ฒด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์ฒดํ™”์‹œํ‚ฌ์ง€ ์ฝ”๋“œ ๋กœ์ง์ด ์žˆ์Šต๋‹ˆ๋‹ค.ํŒฉํ† ๋ฆฌ: ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋งž๊ฒŒ ๊ตฌํ˜„์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์ •์  ํŒฉํ† ๋ฆฌ ๋งค์„œ๋“œ ํŒจํ„ด์€ ํŒฉํ† ๋ฆฌ ๋ถ€๋ถ„์„ static method๋กœ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.์ •์  ํŒฉํ† ๋ฆฌ ๋งค์„œ๋“œ ํŒจํ„ด์˜ ์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.์ƒ์„ฑ ๋ชฉ์ ์— ๋Œ€ํ•œ ํ‘œํ˜„์ด ๋งค์„œ๋“œ ์ด๋ฆ„์œผ๋กœ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ํ†ต์ œ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. -> ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ๊ฐ์ฒด ์ƒ์„ฑ์„ ํ•œ์ •ํ•  ์ˆ˜ ์žˆ์Œ, ..
2025.07.07
Computer Science/๋ชจ์˜๋ฉด์ ‘
thumbnail
[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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[DB] ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ๊ฐœ๊ด„์ ์ธ ์ดํ•ด
0. ํ•™์Šต๋ชฉ์ ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ๊ฐœ๊ด„์ ์ธ ์ดํ•ด ( ์•„ ์ด๋Ÿฐ ๊ฑฐ๊ตฌ๋‚˜~ ์ •๋„๋งŒ ์–ป์œผ๋ฉด OK)1. ์ธ๋ฑ์Šค๋ž€?์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋กœ ์ฐพ์•„๋ณด๊ธฐ ์œ„ํ•œ ์ƒ‰์ธ์„ ๋งํ•œ๋‹ค.์ฑ…์˜ ๋ชฉ์ฐจ๋‚˜ ์ฑ… ๋ง๋ฏธ์— ์กด์žฌํ•˜๋Š” ์›ํ•˜๋Š” ๊ธ€ ์ฐพ์•„๋ณด๊ธฐ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค.2. ์ธ๋ฑ์Šค์˜ ๊ตฌ์กฐ์ถœ์ฒ˜: ํ†ต๊ณ„ํ•™ ์„ธ์ƒ - 489๋ฒˆ์งธ ํฌ์ŠคํŒ… ๊ธ€์—์„œ๊ณ„์† ์ฑ…์˜ ๊ด€์ ๊ณผ ๋น„๊ตํ•ด์„œ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.์œ„์˜ ๊ทธ๋ฆผ์€ ๊ตญ์–ด ์‚ฌ์ „์˜ ๋งจ ๋์— ์žˆ๋Š” ์›ํ•˜๋Š” ๋‹จ์–ด์˜ ๋œป ์ฐพ์•„๋ณด๊ธฐ์ด๋‹ค. (์ดํ•˜ ์ƒ‰์ธ์ด๋ผ ๋ถ€๋ฅด๊ฒ ๋‹ค.)ํ•ด๋‹น ์ƒ‰์ธ์—์„œ๋Š” a. ์›ํ•˜๋Š” ๋‹จ์–ด ์ด๋ฆ„์„ ์ฐพ์€ ๋’ค, b. ๊ทธ๊ฒƒ์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ํŽ˜์ด์ง€๋กœ ๊ฐ€์„œ c. ์ฑ…์˜ ๋‚ด์šฉ์„ ๋ณธ๋‹ค.DB์˜ INDEX ๋˜ํ•œ ํ•ด๋‹น ์›๋ฆฌ๋ฅผ ๊ทธ๋Œ€๋กœ ์ด์–ด ๋‚˜๊ฐ„๋‹ค. ๊ตญ์–ด์‚ฌ์ „์—์„œ ์›ํ•˜๋Š” ๋‹จ์–ด ์ด๋ฆ„๊ณผ ๊ฐ™์ด ๊ฐœ๋ณ„ ์ธ๋ฑ์Šค๋“ค์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” a. ์‹๋ณ„ ์ปฌ๋Ÿผ ๊ฐ’์ด ์กด์žฌ ํ•˜๋ฉฐ, ๊ทธ๊ฒƒ๋งˆ๋‹ค Pair ๊ฐ’..
2025.05.10
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[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/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
thumbnail
[๋„คํŠธ์›Œํฌ] 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/๋„คํฌ์›Œํฌ
thumbnail
VPC, Subnet, gateWay์— ๋Œ€ํ•˜์—ฌ
2
0. ๋“ค์–ด๊ฐ€๋ฉฐ์˜ค๋Š˜์€ ์ธํ”„๋ผ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์ œ์ผ ๊ธฐ๋ณธ์ ์ธ CS ์ง€์‹์„ ์ •๋ฆฌํ•˜๊ฒ ๋‹ค. ๋ฐ”๋กœ VPC, Subnet, gateway, routing_table ์ด ๊ทธ๊ฒƒ์ด๋‹ค. ํ•„์ž๋Š” ํ•ด๋‹น ๊ฐœ๋…์˜ ์กด์žฌ์กฐ์ฐจ ์ž˜ ์•Œ์ง€ ๋ชปํ–ˆ์œผ๋‚˜, ์ด๋ฒˆ์— ์ธํ”„๋ผ ํŒ€๊ณผ ๋Œ€ํ™”๋ฅผ ํ•˜๋ฉด์„œ ์Šค์Šค๋กœ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์ง€์‹์ด ์ „๋ฌดํ•จ์„ ๋А๋ผ๊ณ , ๋‹ค์Œ ํšŒ์˜์—์„œ๋Š” ๋” ์ž˜ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ํ•™์Šตํ–ˆ๋‹ค. ์ด์ œ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค.1. VPC๋„คํŠธ์›Œํฌ ๊ณต๊ฐ„์€ ์„œ๋ถ€ ์‹œ๋Œ€ ํ™ฉ์•ผ ์ฒ˜๋Ÿผ ๋“œ๋„“๊ณ  ํšกํ•˜๋‹ค. ์ด ๋“œ๋„“์€ ๊ณต๊ฐ„์—์„œ ์‚ฌ๋žŒ๋“ค์ด ๊ต๋ฅ˜ํ•˜๊ณ  ์˜์‹์ฃผ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ™์ด ๋ชจ์—ฌ ์‚ด ํŠน์ • ๊ณต๊ฐ„์„ ์ง€์ •ํ•˜๊ณ  ๋งˆ์„์„ ๊ฑด์„คํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. ๋“œ๋„“์€ ํ™ฉ์•ผ๊ฐ€ ๋„คํŠธ์›Œํฌ๋ผ๋ฉด, ๋งˆ์„์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ฐ”๋กœ VPC์ด๋‹ค.VPC๋ฅผ ๋งŒ๋“  ๋‚˜๋Š” ์ด์ œ ์ด ์ƒˆ๋กœ์šด ๋„์‹œ์˜ ์‹œ์žฅ์ด๋‹ค. ์„œ๋ถ€ ์‹œ๋Œ€์˜ ์‹œ์žฅ์€..
2025.02.23
Computer Science/๋„คํฌ์›Œํฌ
thumbnail
[OS] ์„ ์ ํ˜•๊ณผ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์˜ ์ •์˜์™€ ์ข…๋ฅ˜
1. CPU ์Šค์ผ€์ค„๋ง์ด๋ž€?๋ณต์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค ์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์‚ฌ์šฉํ•˜๊ณ  ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์‚ฌ์šฉํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค.์ด๋ฅผ ์œ„ํ•ด์„œ ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ธก์ •ํ•˜๊ณ , CPU ์‚ฌ์šฉ์‹œ๊ฐ„์„ ์‚ฐ์ •ํ•œ๋‹ค.(1) ์ข‹์€ CPU ์Šค์ผ€์ค„๋ง์ด๋ž€?CPU๋ž€ ๋‹จ์ผ ์ž์›์„ ํ”„๋กœ์„ธ์Šค๋“ค์—๊ฒŒ ์ตœ๋Œ€ํ•œ ๊ณตํ‰ํ•˜๊ฒŒ ๋ฐฐ๋ถ„ํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ์œจ๊ณผ CPU ์ด์šฉ๋ฅ ์„ ๋†’์ด๊ณ , ์‘๋‹ต์‹œ๊ฐ„, CPU ๊ณผ๋ถ€ํ™”(์˜ค๋ฒ„ ํ—ค๋“œ), ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ฒ˜๋ฆฌ ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๊ฒƒ์ด ์ข‹์€ ์Šค์ผ€์ค„๋ง์ด๋‹ค.๊ณตํ‰์„ฑ๐Ÿ†™ โžœ ( ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ์œจโฌ†๏ธ, CPU ์ด์šฉ๋ฅ โฌ†๏ธ ) | (์‘๋‹ต ์‹œ๊ฐ„ โฌ‡๏ธ, CPU ๊ณผ๋ถ€ํ•˜ โฌ‡๏ธ, ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ ๋Œ€๋ฆฌ์‹œ๊ฐ„ โฌ‡๏ธ)2. ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์— ๋Œ€ํ•˜์—ฌํ˜„์žฌ CPU๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ A๋ผ๊ณ  ํ•˜์ž. ์ด๋•Œ ์ค€๋น„ํ์—์„œ A๋ณด๋‹ค ์ฒ˜..
2025.02.07
Computer Science/์šด์˜์ฒด์ œ
thumbnail
[์šด์˜์ฒด์ œ] ์šด์˜์ฒด์ œ์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์˜์—ญ ์ง€์–ด ์„ค๋ช…ํ•˜์„ธ์š”.
1. ์šด์˜์ฒด์ œ์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ž€?RAM(์ฃผ ๊ธฐ์–ต ์žฅ์น˜)์ด๋ž€ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋…ผ๋ฆฌ์ (๊ฐ€์ƒ)์œผ๋กœ ์˜์—ญ์„ ์ง€์–ด ๋‚˜๋ˆˆ ๊ฒƒ.(1) ํ•˜๋“œ์›จ์–ด์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐํ•˜๋“œ์›จ์–ด ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐโ”œโ”€โ”€ ๋ ˆ์ง€์Šคํ„ฐโ”‚ โ””โ”€ CPU ๋‚ด๋ถ€์— ์œ„์น˜ (๊ฐ€์žฅ ๋น ๋ฅธ ๋ฉ”๋ชจ๋ฆฌ)โ”œโ”€โ”€ ์บ์‹œ (L1, L2, L3)โ”‚ โ””โ”€ CPU์™€ RAM ์‚ฌ์ด์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅโ”œโ”€โ”€ ์ฃผ๊ธฐ์–ต์žฅ์น˜ (RAM)โ”‚ โ”œโ”€โ”€ ์‚ฌ์šฉ์ž ์˜์—ญ (User Space)โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ ์ปค๋„ ์˜์—ญ (Kernel Space)โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ (HDD, SSD) โ”œโ”€โ”€ ์Šค์™‘ ๊ณต๊ฐ„ (Swap Space) โ””โ”€โ”€ ์˜๊ตฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์ €์žฅ์†Œ๋ผ๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜..
2025.01.14
Computer Science/์šด์˜์ฒด์ œ