์ถ๋ ฅprintf("์ ์: %d \n", 500);printf("์ค์: %f \n", 4.5);printf("๋ฌธ์: %c \n", 'B');๋ฌธ์์ด ํ๋ฉด์ ์ถ๋ ฅ#include #stdio: standard input outputint main(void){ printf("Hi"); return 0;}๋งจ๋ ํ์ด์ฌ, ์๋ฐ๋ง ์ฐ๋ค๋ณด๋ ; ๋ถ์ด๋๊ฒ ๋๋ฌด ์ด์ํ๋ค. ๊ทธ๋ฆฌ๊ณ #include ์ ์ฐ๊ณ ์ถ๋ค...stdio.h -> ์
์ถ๋ ฅํจ์ ํฌํจ๋จ ์ ์ด๋ฌธ์๊ฐํ: \nํญ: \t์บ๋ฆฌ์ง ๋ฆฌํด(์ถ๋ ฅ ์์น ์ค ๋งจ ์์ผ๋ก): \r๋ฐฑ์คํ์ด์ค: \b#include int main(void){ printf("Hi1\n"); //๊ฐํ ์ํด์ \nํ์ printf("Hi\t2"); //8์นธ ๋์ด์ฐ๊ธฐ ํด์ค๋ค. ..
๐ปโ๏ธ์ ๊ณต๊ณต๋ถ
4ํ๋
2ํ๊ธฐ์ง๋ง, ์กธ์
์ ์ํ ํ์ ๊ณผ๋ชฉ์ผ๋ก C์ธ์ด ์์
์ ๋ฃ๊ฒ ๋์๋ค...6์ด์ด๋ ์ด๋ฆฐ ์น๊ตฌ๋ค๊ณผ ์์
์ ๋ฃ๊ฒ ๋์๋ค....๋ด๊ฐ 20์ด๋ ์ด๋ฑํ์..???!!! ์ค์ ์นดํ
๊ณ ๋ฆฌ ์์ฃผ๋ก ์ ๋ฆฌํ๋ ค ํ๋ค.๋ฐ์ดํฐ ์
์ถ๋ ฅ: https://koreatstm.tistory.com/169๋ฐ์ดํฐ ํํ๋ณ์์ฐ์ฐ์์กฐ๊ฑด๋ฌธif๋ฌธswitch ~ case๋ฌธ๋ฐ๋ณต๋ฌธwhile๋ฌธfor๋ฌธdo ~ while๋ฌธ์ค์ฒฉ ๋ฐ๋ณต๋ฌธํจ์๋ฐฐ์ดํฌ์ธํฐ๋ฌธ์ํ๋ฌธ์์ด๋ค์ฐจ์ ๋ฐฐ์ดํฌ์ธํฐ ๋ฐฐ์ด์ด์ค ํฌ์ธํฐ๋ฐฐ์ด ํฌ์ธํฐํจ์ ํฌ์ธํฐvoid ํฌ์ธํฐ๋์ ํ ๋น ํจ์๊ตฌ์กฐ์ฒด์ด๊ฑฐํํ์ผ ์
์ถ๋ ฅ
0. ๋ฉด์ ์ง๋ฌธ์ด์ ํ์์ด ๋ญ๊น์?์ฝ์
์ด์(Insertion Anomaly)์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.๊ฐฑ์ ์ด์(Update Anomaly)์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ญ์ ์ด์(Deletion Anomaly)์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.ํจ์ ์ข
์์ฑ์ด ๋ฌด์์ธ๊ฐ์?์์ ํจ์์ ์ข
์์ ๋ญ๊ฐ์?๋ถ๋ถ ํจ์์ ์ข
์์ ๋ญ๊ฐ์?์ดํ์ ํจ์์ ์ข
์์ ๋ญ๊ฐ์?์ ๊ทํ(Normalization)์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ 1 ์ ๊ทํ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ 2 ์ ๊ทํ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ 3 ์ ๊ทํ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.BCNF ์ ๊ทํ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.๋ฐ์ ๊ทํ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์. 1. ์ด์ ํ์๊ฐ๋
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ์ ๋ฐ์ํ ์ ์๋ ๋น์ ์์ ์ธ ์ํฉ์ฃผ๋ก ๋น์ ๊ทํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ํ๋ฉฐ, ๋ฐ์ดํฐ์ ์ฝ์
, ๊ฐฑ์ , ์ญ์ ๊ณผ..
ํ๊ธฐ: ์ธ๋ฑ์ค๋ real mysql์ด ์ ์์ด๋ผ๊ณ ํ์ ๋ค... ์ฑ
์ฐธ๊ณ ํด๋ณด์0. ๋ฉด์ ์ง๋ฌธ๋๋ค I/O์ ์์ฐจ I/O์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ธ๋ฑ์ค์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ธ๋ฑ์ค์ ๋์ ๋ฐฉ์์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ด๋ค ๊ธฐ์ค์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์ค์ ํด์ผํ ๊น์?ํ
์ด๋ธ์ ์ธ๋ฑ์ค๋ฅผ ๋ง์ด ์ค์ ํ๋ฉด ์ข์๊น์?์ปค๋ฒ๋ง ์ธ๋ฑ์ค(Covering index)์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.๋ค์ค ์ปฌ๋ผ ์ธ๋ฑ์ค(Multi-column index, ๋ณตํฉ ์ธ๋ฑ์ค)์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.B-Tree ์ธ๋ฑ์ค์ B+Tree ์ธ๋ฑ์ค์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.Hash ์ธ๋ฑ์ค์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.ํด๋ฌ์คํฐ๋ง ์ธ๋ฑ์ค์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ธ๋ฑ์ค ์ค์บ ๋ฐฉ์์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.์ฟผ๋ฆฌ ์คํ ๊ณํ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์. ์คํ ๊ณํ์ ํ์ธํด๋ณธ์ ์ด ์๋์?ํํธ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์..
0. ๋ฉด์ ์ง๋ฌธSQL์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์. C์ธ์ด์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ด๋ค์ฐจ์ด๊ฐ ์๋์?๊ฐ๋ฐ์๊ฐ ์์ฑํ SQL์ด ์ด๋ค ๊ณผ์ ์ ํตํด ์คํ ๋๋์ง ์ค๋ช
ํด์ฃผ์ธ์.DML์ ๋ฌด์์ธ๊ฐ์? ์ด๋ค ๊ตฌ๋ฌธ์ด ์๋์ง๋ ์ค๋ช
ํด์ฃผ์ธ์.DDL์ ๋ฌด์์ธ๊ฐ์? ์ด๋ค ๊ตฌ๋ฌธ์ด ์๋์ง๋ ์ค๋ช
ํด์ฃผ์ธ์.DCL์ ๋ฌด์์ธ๊ฐ์? ์ด๋ค ๊ตฌ๋ฌธ์ด ์๋์ง๋ ์ค๋ช
ํด์ฃผ์ธ์.์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.CASCADE ์ค์ ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.VIEW์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.SELECT ์ ์ ์ฒ๋ฆฌ์์์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.SELECT ~ FOR UPDATE ๊ตฌ๋ฌธ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.GROUP BY์ ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.ORDER BY์ ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.INNER JOIN๊ณผ OUTER JOIN์ ์ฐจ์ด์ ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.LEFT OUTE..
0. ๋ฉด์ ์ง๋ฌธํ์ผ์์คํ
๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐจ์ด์ ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.DBMS๋ ๋ญ๊น์? ํน์ง์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.์คํค๋ง๊ฐ ๋ญ๊น์? 3๋จ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.RDBMS(๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ
)๋ ๋ญ๊น์?๋ฆด๋ ์ด์
์คํค๋ง์ ๋ฆด๋ ์ด์
์ธ์คํด์ค์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.๋ฆด๋ ์ด์
์ ์ฐจ์์ ์นด๋๋๋ฆฌํฐ์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.ํค(Key)์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์. (์ํผํค, ํ๋ณดํค, ๊ธฐ๋ณธํค, ๋๋ฆฌํค, ์ธ๋ํค)๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์. (๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ, ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ)์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์. (์ค๋ผํดDB, MySQL, MariaDB, MongoDB ๋ฑ) 1. ํ์ผ์์คํ
๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์..
1. ๋๊ธฐํ(Synchronization)๋ํ๋ ฅํ์ฌ ์คํ๋๋ ํ๋ก์ธ์ค๋ค์ ์คํ ์์์ ์์์ ์ผ๊ด์ฑ์ ๋ณด์ฅํด์ผ ํ๊ธฐ์ ๋ฐ๋์ ๋๊ธฐํ ๋์ด์ผ ํ๋ค.์ฆ, ํ๋ก์ธ์ค ๋๊ธฐํ๋ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ํ ์๊ธฐ๋ฅผ ๋ง์ถ๋ ๊ฒ์ ์๋ฏธํ๋ค.์คํ ์์ ์ ์ด: ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ์คํํ๊ธฐ์ํธ ๋ฐฐ์ : ๋์์ ์ ๊ทผํด์๋ ์ ๋๋ ์์์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผํ๊ฒ ํ๊ธฐ+) ์ค๋ ๋๋ ๋๊ธฐํ ๋์์ด๋ค. 1) ์คํ ์์ ์ ์ด๋ฅผ ์ํ ๋๊ธฐํ๋์์ ์คํ๋๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ์คํํ๋ ๊ฒ2) ์ํธ ๋ฐฐ์ ๋ฅผ ์ํ ๋๊ธฐํ์ํธ๋ฐฐ์ ๋ ๊ณต์ ๋ถ๊ฐ๋ฅํ ์์์ ๋์ ์ฌ์ฉ์ ํผํ๊ธฐ ์ํ ๊ฒ. e.g. ์์ฐ์-์๋น์ ๋ฌธ์ 2. ๋ฐฐ๊ฒฝ์์ฐ์-์๋น์ ๋ฌธ์ ์์ ์์ฐ์์ ์๋น์ ํ๋ก์ธ์ค๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๊ณตํต๋ ๋ณ์์ ๋ฒํผ๋ฅผ ๊ณต์ ํ๋ค. ๊ฐ๊ฐ์ ํ..
1. ์ค์ผ์ค๋ง ๊ฐ๋
: ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ ๋ชฉ์ ์ ํญ์ ์คํํ ์ ์๋ ํ๋ก์ธ์ค๊ฐ ์๋๋ก ํ์ฌ CPU ์ฌ์ฉ ํจ์จ์ ๊ทน๋ํ ํ๋๋ฐ ์๋ค. CPU - I/O ๋ฒ์คํธ ์ฃผ๊ธฐํ๋ก์ธ์ค๋ ์คํ๋๋ ๋์ CPU ์คํ๊ณผ ์
์ถ๋ ฅ ๋๊ธฐ๋ผ๋ ๋ ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋ณตํ๋ค.๊ณ์ฐ ์ค์ฌ ํ๋ก์ธ์ค์ ๊ฒฝ์ฐ ์ ์ ์์ ๋งค์ฐ ๊ธด CPU ๋ฒ์คํธ๋ฅผ ๊ฐ์ง๋ฉฐ, ์
์ถ๋ ฅ ์ค์ฌ ํ๋ก์ธ์ค๋ ๋ง์ ์์ ์งง์ CPU ๋ฒ์คํธ๋ฅผ ๊ฐ์ง๋ค. CPU ์ค์ผ์ค๋ฌCPU๊ฐ ์ ํด ์ํ๊ฐ ๋๋ฉด ์ค๋น์๋ฃ ํ์ ์๋ ํ๋ก์ธ์ค๋ฅผ ํ๋ ์ ํํด์ ์คํํ๋ค. ์ด ์ ํ์ ๋จ๊ธฐ ์ค์ผ์ค๋ฌ๊ฐ ํ๋ค.CPU ์ค์ผ์ค๋ง์ ๋ํ ๊ฒฐ์ ์ 4๊ฐ์ง ์ํฉ์์ ์ผ์ด๋๋ค. 1. ํ ํ๋ก์ธ์ค๊ฐ ์คํ ์ํ์์ ๋๊ธฐ ์ํ๋ก ์ ํ๋ ๋(์
์ถ๋ ฅ ์์ฒญ, ์์ ํ๋ก์ธ์ค๋ค ์ค ํ๋๊ฐ ์ข
๋ฃ๋๋๊ฒ์ ๊ธฐ๋ค๋ฆฌ๊ธฐ ์ํด wait๋ฅผ ํธ์ถํ ๋)2. ํ..