๋ฐ์ํ CS12 ์ ๋ฌด์ ๋ฐ๋ก ์ฐ๋ SQL ํ๋ 2 - SQL ํ๋ ์ค์ต (1) ์ง๋ ํฌ์คํ ์์ SQL ํ๋ ์ด๋ก ์ ๋ํด ์ดํด๋ณด์๋๋ฐ์, ์ด๋ฒ ํฌ์คํ ์์๋ ์ค์ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฟผ๋ฆฌ์ ๋ฌธ์ ์ ์ ํ์ ํ๊ณ , ํ๋ํ์ฌ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.(์ค์ ํ๋ ์ SQL ๋ฌธ์ ํ์ธํ์ฌ ๋ฌด์์ด ๋ฌธ์ ์ธ์ง ํ์ ํด๋ณด๊ณ , ์ง์ ๊ฐ์ ํด๋ณด๊ณ ํ๋ ํ SQL ๋ฌธ์ ํ์ธํ๋ ๋ฐฉ์๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.) ์ ์ฑ SQL ํ๋์ผ๋ก ์ด๋ณด์ ํ์ถํ๊ธฐ์ค๋ฌด์ ์ธ SQL ํ๋ ์ ์ฐจ ์ดํดํ๊ธฐ1. SQL ๋ฌธ ์คํ ๊ฒฐ๊ณผ & ํํฉ ํ์ ๊ฒฐ๊ณผ ๋ฐ ์์์๊ฐ ํ์ธ์กฐ์ธ / ์๋ธ์ฟผ๋ฆฌ ๊ตฌ์กฐ๋๋ฑ / ๋ฒ์ ์กฐ๊ฑด2. ๊ฐ์์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ๊ฑด์SELECT ์ ์ปฌ๋ผ ๋ถ์์กฐ๊ฑด์ ์ปฌ๋ผ ๋ถ์๊ทธ๋ฃจํ / ์ ๋ ฌ ์ปฌ๋ผ3. ๋น๊ฐ์์ ์คํ๊ณํ์ธ๋ฑ์ค ํํฉ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ถ์ด์ ๋ฌด์ ํน์ง4. ํ๋ ๋ฐฉํฅ ํ๋จ & ๊ฐ์ / ์ ์ฉ (ํ ์คํธ) SQL ๋ฌธ ๋จ์ ์์ ์ผ๋ก ์ฐฉํ ์ฟผ๋ฆฌ .. 2024. 10. 8. ์ ๋ฌด์ ๋ฐ๋ก ์ฐ๋ SQL ํ๋ 1 - SQL ํ๋ ์ด๋ก ํด๋น ํฌ์คํ ์ ์ ๋ฌด์ ๋ฐ๋ก ์ฐ๋ SQL ํ๋ ๋์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ต๋๋ค. ์ด์ ์ง์ฅ์์๋ ์ฃผ๋ก ์ค๋ผํด์ ์ฌ์ฉํ์๊ณ , ์์ผ๋ก๋ MySQL(MariaDB, Postgresql...) ์ ์ฌ์ฉํ ์์ ์ด๊ธฐ์ ๊ด๋ จํ์ฌ ์คํ ๊ณํ ๋ฐ ์ฌ๋ฌ SQL ํ๋ ๊ธฐ๋ฒ๋ค์ ๋ํด ์ ๋ฆฌํด ๋ณด๊ณ ์ ํฉ๋๋ค. ์์ ์ Real MySQL ๋์๋ฅผ ํตํด ์ด๋ก ์ ์ผ๋ก ํ์ตํ์์ง๋ง, ์ค๋ผํด์ ์ฃผ๋ก ์ฌ์ฉํ๋ค๋ณด๋ MySQL์ ์ฃผ์ ์คํ ๊ณํ์ ๋ํด์๋ ์ ๋ฆฌ ์ฐจ์์์ ๋ค์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฑ ์ ์์ ๋ค์ ํตํด ํ์์ ์ด๋ก ์ผ๋ก๋ง ์๊ณ ์์๋ ๋ด์ฉ๋ค์ด๋ ๊ฒฝํ์ด ์์๋ ํ๋๋ค ๋ฑ ๋ค์ํ๊ฒ ๊ฒฝํํด๋ณผ ์ ์์ด ์ข์์ต๋๋ค.์ฑ ์ ์์ ๋ค์ ํตํด ์ ํ ์๋ก์ด ์ ๊ทผ์ด๋, ํ์์ ์ด๋ก ์ผ๋ก๋ง ์๊ณ ์์๋ ๋ด์ฉ๋ค, ์กฐ๊ธ์ด๋๋ง ๊ฒฝํ์ด ์์๋ ์ฟผ๋ฆฌ ๋ฑ ์ ํด์ง ๋ฐ์ดํฐ ํ์์ด๊ธด .. 2024. 10. 7. MySQL EXPLAIN ์คํ๊ณํ ๋ง์คํฐํ๊ธฐ(feat. RealMySQL 8.0) ๐ฏ MySQL EXPLAIN ์คํ๊ณํ ๋ง์คํฐํ๊ธฐ(feat. RealMySQL 8.0) ์คํ ๊ณํ(EXPLAIN) ์ด๋? ๋๋ถ๋ถ์ DBMS๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ , ๋น ๋ฅด๊ฒ ์ ์ฅ ๋ฐ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ฃผ๋ชฉ์ ์ด๋ค. ์ด๋ฌํ ๋ชฉ์ ์ ๋ฌ์ฑํ๊ธฐ ์ํด ์ฌ์ฉ์์ ์ฟผ๋ฆฌ๋ฅผ ์ตํฐ๋ง์ด์ ๊ฐ ์ต์ ์ผ๋ก ์ฒ๋ฆฌ๋ ์ ์๋๋ก ์ฟผ๋ฆฌ์ ์คํ ๊ณํ์ ์๋ฆฝํ ์ ์์ด์ผ ํ๋ค. ํ์ง๋ง ์ตํฐ๋ง์ด์ ๊ฐ ํญ์ ์ต์ ์ ์คํ ๊ณํ์ ๋ง๋ค์ด๋ผ ์ ์๋ ๊ฒ์ ์๋๋ฏ๋ก DBMS ์๋ฒ๋ ์ด๋ฌํ ๋ฌธ์ ์ ์ ๊ด๋ฆฌ์๋ ์ฌ์ฉ์๊ฐ ๋ณด์ํ ์ ์๋๋ก EXPLAIN ๋ช ๋ น์ผ๋ก ์ตํฐ๋ง์ด์ ๊ฐ ์๋ฆฝํ ์คํ ๊ณํ์ ํ์ธํ ์ ์๋ค. ํ ์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค: https://github.com/datacharmer/test_db ์คํ ๊ณํ ์๋ฏธ id SELECT ์ฟผ๋ฆฌ ๋ณ ๋ถ์ฌ๋๋ ์๋ณ์ ๊ฐ se.. 2023. 1. 7. IP ์ฃผ์(ํด๋์ค, CIDR, ์๋ธ๋ท ๋ง์คํฌ) ๐ IP ์ฃผ์ OSI 7๊ณ์ธต์์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ณ์ธต์ 2๊ณ์ธต(๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต)๊ณผ 3๊ณ์ธต(๋คํธ์ํฌ ๊ณ์ธต) ์ ๋๋ค. 2๊ณ์ธต์ ๊ฒฝ์ฐ ๋ฌผ๋ฆฌ ์ฃผ์์ธ MAC์ฃผ์๋ฅผ ์ฌ์ฉํ๊ณ , 3๊ณ์ธต์ ๋ ผ๋ฆฌ ์ฃผ์์ธ IP ์ฃผ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. (3๊ณ์ธต์์ ๋์ํ๋ ์ฅ๋น์ธ ๋ผ์ฐํฐ๊ฐ IP ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ดํดํ๊ณ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ํจํท์ ํฌ์๋ฉํฉ๋๋ค.) IP ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ ผ๋ฆฌ ์ฃผ์ ์ฃผ์์ ๋ ๋ฒจ(Class)์ด ์กด์ฌ - ๊ทธ๋ฃน์ ์๋ฏธํ๋ ๋คํธ์ํฌ ์ฃผ์์ ํธ์คํธ ์ฃผ์๋ก ๋๋จ ๋๋ถ๋ถ์ ๋คํธ์ํฌ๊ฐ TCP/IP๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ IP ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ๋คํธ์ํฌ์ ๋งค์ฐ ์ค์ํ๊ธฐ์ ์ด๋ฒ ํฌ์คํ ์์๋ 3๊ณ์ธต ์ฃผ์์ธ IP ์ฃผ์์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๐ IP ์ฃผ์ ์ฒด๊ณ ํํ ์ฌ์ฉํ๋ IP ์ฃผ์.. 2022. 8. 22. [Network] NAT(Network Address Translation) NAT(Network Address Translation) NAT(Network Address Translation)๋ ์ด๋ฆ ๊ทธ๋๋ก ๋คํธ์ํฌ ์ฃผ์๋ฅผ ๋ณํํ๋ ๊ธฐ์ ์ ๋๋ค. ์ฆ, IP ์ฃผ์๋ฅผ ๋ค๋ฅธ IP ์ฃผ์๋ก ๋ณํํด ๋ผ์ฐํ ์ ์ํํ ํด์ฃผ๋ ๊ธฐ์ ์ ๋๋ค. NAT๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์ ๋คํธ์ํฌ ์ฃผ์์ ๋ค๋ฅธ ํ๋์ ๋คํธ์ํฌ ์ฃผ์๋ก ๋ณํํ๋ 1:1 ๋ณํ์ด ๊ธฐ๋ณธ์ด๋ IP ์ฃผ์์ ๊ณ ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ IP๋ฅผ ํ๋์ IP๋ก ๋ณํํ๊ธฐ๋ ํฉ๋๋ค. ์์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ IP๋ฅผ ํ๋์ IP๋ก ๋ณํํ๋ ๊ธฐ์ ๋ NAT ๊ธฐ์ ์ค ํ๋์ด๊ณ , NAT๋ก ํต์นญํ์ฌ ๋ถ๋ฅด์ง๋ง ์ค์ ๊ณต์ ์ฉ์ด๋ NAPT(Network Address Port Translation)๋ผ๊ณ ํ๋๋ฐ์, ์ค์ ๋ก๋ PAT(Port Address Transl.. 2022. 6. 21. [Spring Data MongoDB] - Auto Increment Sequence ์ด๊ธฐํํ๊ธฐ ๐ [Spring Data MongoDB] - Auto Increment Sequence ์ด๊ธฐํํ๊ธฐ ์๋ ํ์ธ์, ์ ๋ฒ ์๊ฐ์๋ Spring Data MongoDB์์ Auto Increment Sequence ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์์ต๋๋ค. ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กด์ฌํ๋ ๊ฐ๋ค์ ์ ๊ฑฐํ๋ฉด์ Auto Increment ๊ฐ๋ ์ด๊ธฐํ ํด์ผ ํ๋ ์ํฉ์ด ๋ฐ์ํ์์ต๋๋ค. MySQL์์๋ ๋จ์ ์ฟผ๋ฆฌ๋ฌธ์ผ๋ก Auto Increment๋ฅผ ์ด๊ธฐํ ํ ์ ์๋๋ฐ์, MongoDB์์๋ ๊ตฌ๊ธ๋ง์ ํด๋ด๋ ์๋ฃ๊ฐ ์ ๋์ค์ง ์์์ต๋๋ค.(๊ฒ์ ๋ฅ๋ ฅ์ด ๋ถ์กฑํด์...) ๋ฐ๋ผ์ ์ด๋ป๊ฒ ์ด๊ธฐํ๋ฅผ ํ ์ ์์์ง ๊ณ ๋ฏผ์ ํ๋ค๊ฐ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฐพ๊ฒ๋์๋๋ฐ์, ์๊ฐ์ธ๋ก ํจ์ฌ ๊ฐ๋จํ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค. 1) Sequence ๋ฉ์๋๋ฅผ ์ฆ๊ฐ์.. 2021. 9. 11. [Spring Data MongoDB] Auto-Increment Sequence ๋ง๋ค๊ธฐ ๐ Spring Data MongoDB Auto-Increment Sequence ๋ง๋ค๊ธฐ ์๋ ํ์ธ์, ์ด๋ฒ ์๊ฐ์ ์ ๋ฆฌํ ๋ด์ฉ์ Spring Data MongoDB์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ ๋ ๋ง๋ค ์๋์ผ๋ก ์ฆ๊ฐํ๋ ํ๋๋ฅผ ์์ฑํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ํด๋น ๊ธฐ๋ฅ์ MySQL์์์ AUTO INCREMENT์ ๋์ผํ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. โป Spring Data MongoDB์ ๊ฒฝ์ฐ ์ฒ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋ฆฐ ๋ด์ฉ์ด ์์ ์ ์์ต๋๋ค. Sequence Collection ์์ฑ package com.juhyun.shorturl.entity.sequence; import lombok.Getter; import lombok.Setter; import org.springframework.data.annotation.Id; .. 2021. 9. 10. [MySQL] - ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค(Isolation level) ๐ ๊ธ๋ 6๊ธฐ ํฌ์คํ 1. ๋ฏธ์น๋๋ก ๋์ ๋ 7์์ ํ๊ณ 2. ์ฌ์ฉ์๊ฐ ๊ฒ์๋ฌผ์ ์์ฑํ ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ 3. Spring AOP - (1) ํ๋ก์ ํจํด, ๋ฐ์ฝ๋ ์ดํฐ ํจํด 4. [MySQL] - ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค(Isolation level) 5. Spring AOP - (2) AOP ๊ฐ๋ ๋ฐ ์ค์ต 6. ์ธํ ๋ฆฌ์ ์ด(IntelliJ) - ๋๋ฒ๊น (Debugging) ํ๊ธฐ 7. [Java, ๋์์ธํจํด] - ์ฑ๊ธํด ํจํด(Singleton Pattern) 8. ์๊ฐ ์ฝ๋๋ฆฌ๋ทฐ Ver_0.1: ์ปค๋ฆฌ์ด ์ฑ์ฅ CODE ์ธ๋ฏธ๋ ์ ๋ฆฌ 9. ํฌ์คํธ๋งจ(API ํ ์คํธ) ํ์ฉํ๊ธฐ 10. ๋ป๊น์ 2021๋ ํ๊ณ ๐ MySQL ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค(Isolation level) ์๋ ํ์ธ์, ์ด๋ฒ ์๊ฐ์ ์ ๋ฆฌํ ๋ด์ฉ์ MySQL์์.. 2021. 9. 5. DBCP(DataBase Conncetion Pool), ์ปค๋ฅ์ ํ ์ด๋? ๐ DBCP(DataBase Connection Pool) ์๋ ํ์ธ์, ์ด๋ฒ์ ์ ๋ฆฌํ ๋ด์ฉ์ DBCP(๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปค๋ฅ์ ํ) ์ ๋๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด๋์ธ ์น ์ดํ๋ฆฌ์ผ์ด์ ์์, ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ Connection์ด ์์ฑ๋๋ค๋ฉด ์ ๋ง์ ์ฌ์ฉ์๊ฐ ์์ฒญ์ ํ์ ๋ ์๋ฒ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ์ํฉ์ ์๋ฐฉํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ ์ผ์ ๊ฐฏ์์ Connection์ ๋ง๋ค์ด Pool์ ์ ์ฅ์ ํ๊ณ , ์ฌ์ฉ์์ ์์ฒญ์ด ๋ฐ์ํ๋ฉด Connection์ ์ ๊ณตํ๊ณ ์ฌ์ฉ์์์ ์ฐ๊ฒฐ์ด ์ข ๋ฃ๋๋ค๋ฉด Pool์ ๋ค์ ๋ฐํํ์ฌ ๋ณด๊ดํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ฆ, Connection Pool์ ๋ํด ์ ๋ฆฌํ์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ฌ๋ฌ ๊ฐ์ DB Connection์ ํ๋์ Pool์ ๋ชจ์๋๊ณ ๊ด๋ฆฌ DB ์ปค๋ฅ์ ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ ๊ฐ ์์ฑ.. 2021. 8. 10. ์ฌ์ฉ์๊ฐ ๊ฒ์๋ฌผ์ ์์ฑํ ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ ๐ ๊ธ๋ 6๊ธฐ ํฌ์คํ 1. ๋ฏธ์น๋๋ก ๋์ ๋ 7์์ ํ๊ณ 2. ์ฌ์ฉ์๊ฐ ๊ฒ์๋ฌผ์ ์์ฑํ ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ 3. Spring AOP - (1) ํ๋ก์ ํจํด, ๋ฐ์ฝ๋ ์ดํฐ ํจํด 4. [MySQL] - ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค(Isolation level) 5. Spring AOP - (2) AOP ๊ฐ๋ ๋ฐ ์ค์ต 6. ์ธํ ๋ฆฌ์ ์ด(IntelliJ) - ๋๋ฒ๊น (Debugging) ํ๊ธฐ 7. [Java, ๋์์ธํจํด] - ์ฑ๊ธํด ํจํด(Singleton Pattern) 8. ์๊ฐ ์ฝ๋๋ฆฌ๋ทฐ Ver_0.1: ์ปค๋ฆฌ์ด ์ฑ์ฅ CODE ์ธ๋ฏธ๋ ์ ๋ฆฌ 9. ํฌ์คํธ๋งจ(API ํ ์คํธ) ํ์ฉํ๊ธฐ 10. ๋ป๊น์ 2021๋ ํ๊ณ ์๋ ํ์ธ์, ์ผ๋ง ์ ๋ฉด์ ์์ ๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์ ๋ฐ์ ์ ์ด ์์์ต๋๋ค. "์ฌ์ฉ์๊ฐ ๊ฒ์๋ฌผ์ ์์ฑํ๊ณ , ํ์ผ ์ ๋ก๋๋ฅผ .. 2021. 8. 5. ์ด์ 1 2 ๋ค์ ๋ฐ์ํ