์ ์ฒด ๊ธ(658)
-
[DB ์ฑ๋ฅ ๋ถ์] EXPLAIN ๊ธฐ๋ฐ ์ฟผ๋ฆฌ ์ง๋จ ๋ฐ ์ธ๋ฑ์ค ๊ฐ์ ํฌ์ธํธ ์ ๋ฆฌ
์ต๊ทผ์ ์๊ฐ์ ์ฌ์ ๊ฐ ์๊ธฐ๋ฉด์, ์ด์ ์ค์ธ ์๋น์ค์ ์ฃผ์ ์ฟผ๋ฆฌ๋ค์ ์ ๊ฒํด ์ฑ๋ฅ ๊ฐ์ ์ด ๊ฐ๋ฅํ ๋ถ๋ถ์ด ์๋์ง ํ์ธํด๋ณด๋ ค๊ณ ํ๋ค. ์ด๋ฅผ ์ํด EXPLAIN ์ ํ์ฉํด ์ฃผ์ SELECT ์ฟผ๋ฆฌ์ ์คํ ๊ณํ์ ๋ถ์ํ๊ณ , ์ธ๋ฑ์ค ํจ์จ์ฑ๊ณผ ์กฐ์ธ ์์ ๋ฐ ์กฐ๊ฑด ์ต์ ํ ๋ฐฉํฅ์ ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค. ๐๐ป ์ด๋ฒ ์ง๋จ์ ํตํด ์ค์ ์ด์ ํ๊ฒฝ์์์ ์ธ๋ฑ์ค ์ค๊ณ๊ฐ ์ ์ ํ ์ด๋ฃจ์ด์ก๋์ง ๊ฒํ ํจ์ผ๋ก์จ ์๋น์ค ์ ๋ฐ์ ์ฑ๋ฅ ์์ ์ฑ์ ๋์ด๋ ๊ฒ์ด ๋ชฉํ๋ค ! ๐ ๋ถ์ ๋ฐฉ๋ฒ ์ฃผ์ SELECT ์ฟผ๋ฆฌ๋ค์ ์คํ ๊ณํ์ EXPLAIN ์ผ๋ก ํ์ธํ๋ฉฐ, ๊ฐ ์ฟผ๋ฆฌ๊ฐ ์ค์ ๋ก ์ด๋ค ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์กฐ์ธํ๋์ง๋ฅผ ์ ๊ฒํ๋ค. type, possible_keys, key, rows, Extra ํญ๋ชฉ์ ์ค์ฌ์ผ๋ก ์ฟผ๋ฆฌ์ ์ ๊ทผ ๋ฐฉ์(ํ์ค์บ, ์ธ๋ฑ์ค ์ค์บ, ..
2025.10.30 -
[Spring Boot] Micrometer Tracing ๋ถ์ฐ ํธ๋ ์ด์ฑ TraceID, SpanID
๐ฏ ์ค๋ ํ์ต ๋ชฉํ๋ถ์ฐ ํธ๋ ์ด์ฑ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ (TraceID, SpanID) ๋ฅผ ์ดํดํ๊ณ ์ค์ Spring Boot ๋ก๊ทธ์์ TraceID ์ด๋ป๊ฒ ํ์ฉ๋๋์ง ํ์ธํด๋ณด๊ธฐ ! 1๏ธโฃ TraceID / SpanID ๊ฐ๋ ๐งฉ ๊ธฐ๋ณธ ์ฉ์ด ์ ๋ฆฌ์ฉ์ด ์๋ฏธ ๋น์ Traceํ๋์ ์์ฒญ ์ ์ฒด ํ๋ฆ์ฌ์ฉ์๊ฐ “์ฑ์์ ๋ฒํผ์ ๋๋ฌ ์์ฒญ์ ๋ณด๋ธ ์ ์ฒด ์ฌ์ ”SpanTrace ์์ ํ ๋จ๊ณ (์์ ๋จ์)Controller → Service → DB ๊ฐ๊ฐ ํ “์คํ ”TraceIDTrace ์ ์ฒด๋ฅผ ์๋ณํ๋ ๊ณ ์ ID“ํ๋ฐฐ ์ก์ฅ๋ฒํธ”์ฒ๋ผ ์ ์ฒด ์ฌ์ ์ ์ถ์ ํ๋ ๋ฒํธSpanID๊ฐ๊ฐ์ ์์ (Span)์ ๊ตฌ๋ถํ๋ ๊ณ ์ ID์ก์ฅ ์์ “์ธ๋ถ ๊ตฌ๊ฐ ๋ฒํธ” (์: ํ๋ธ ์ด๋ ๋จ๊ณ)TraceID ๋ ๋ณดํต ‘ํ๋ฐฐ ์ก์ฅ๋ฒํธ’๋ก ๋น์ ๊ฐ ๋ง์ด ๋๋ ๊ฒ ๊ฐ๋ค..
2025.10.28 -
[Github] The requested URL returned error: 403 ์๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ
์์ฆ ๋๋ ๋ฐ์ ํ๋ก์ ํธ๊ฐ ๋๋๊ณ ๋น๊ต์ ์๊ฐ์ ์ฌ์ ๊ฐ ์๊ธด ์๊ธฐ..๊ทธ๋์ ์ด๋ฐ ์ ๋ฐ ๊ฐ๋จํ ์์ ๋ฅผ ๋ง๋ค์ด๋ณด๋ฉด์ ๊ณต๋ถ๋ฅผ ํ๊ณ ์๋ค. Github์ ๋ก์ปฌ์ ์๋ ํด๋๋ฅผ ๊นํ๋ธ repo์ ์ฌ๋ฆฌ๋ ค๊ณ ํ๋๋ฐ ์๊พธ The requested URL returned error: 403 ์ด ์๋ฌ๊ฐ ๋๋ ๊ฒ..!! ์ด ์๋ฌ๋ ํด๋น ์ฃผ์์ ์ ๊ทผ ๊ถํ์ด ์์ด์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ค. ๊ตฌ๊ธ๋ง ํ๋ฉฐ ์ฐพ์๋ณธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก๋ git remote set-url origin [๊นํ๋ธ ์ฃผ์] ํ๊ณ ๋ค์ push ํ๋ฉด ๋๋ค๋๋ฐ ๋๋ ๊ณ์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ๋ณต๋๋ค. ... ๊ทผ๋ฐ git remote set-url origin https://@github/๊ณ์ ์์ด๋/๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ.git ์ด๋ ๊ฒ ํ๋๊น ๋๋ค?? ๊ทธ๋์ ์ด ๋์ ์ฐจ์ด์ ์ ์ฐพ์๋ณด๋..
2025.02.20 -
Spring Batch ๊ฐ๋ ๋ฐ ์ฃผ์ ๊ตฌ์ฑ์์, ๊ฐ๋จํ ์์ ๊ตฌํ
๐ ๋ชฉ์ฐจ Spring Batch - ๊ธฐ๋ณธ ๊ฐ๋ & ํน์ง, ์ฃผ์ ๊ตฌ์ฑ ์์, ๋ฉํ๋ฐ์ดํฐ ํ ์ด๋ธ Spring Scheduler - ๊ธฐ๋ณธ ๊ฐ๋ , ์ฌ์ฉ ๋ฐฉ๋ฒ ๊ฐ๋จํ ์์ ๊ตฌํ - CSV ํ์ผ ์ฝ์ด์ DB์ ์ ์ฅํด๋ณด๊ธฐ Spring BatchSpring Batch ์คํ๋ง ๋ฐฐ์น : ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์ ์ ์๋ฐ ๊ธฐ๋ฐ์ ๋ฐฐ์น ์ฒ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ํ๋ ์์ํฌ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ผ๊ด์ ์ผ๋ก ์ฒ๋ฆฌํ๊ฑฐ๋ ๋ฐ๋ณต์ ์ธ ์์ ์ ์๋ํํ๋ ๋ฐ ์ฌ์ฉ๋จ Spring Batch ํน์ง๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋๋์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด chunk (์ฒญํฌ) ๊ธฐ๋ฐ ์ฒ๋ฆฌ์ paging (ํ์ด์ง) ๋ฑ์ ๊ธฐ์ ์ ๊ณต๋ถ์ฐ ์ฒ๋ฆฌ ๋ฐ ๋ณ๋ ฌ ์ฒ๋ฆฌ ์ง์ํด ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ ๊ทน๋ํ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ์ผ, API ๋ฑ์ ๋ฐ..
2025.02.18 -
[Error] Could not fetch URL : There was a problem confirming the ssl certificate: (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed ํด๊ฒฐ ๋ฐฉ๋ฒ
๋์ปค ๊ฐ์๋ฅผ ์๊ฐํ๊ณ ์๋๋ฐ DockerFile ์ด ํฌํจ๋ ํด๋์์ docker compose๋ฅผ ํตํด ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ค๊ณ ํ๋ค. ๊ทผ๋ฐ ๊ฐ์๊ธฐ [Error] Could not fetch URL : There was a problem confirming the ssl certificate: ... (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed.. ์ด๋ฐ ์๋ฌ๊ฐ ๋ฐ์ํด์ ์ปจํ ์ด๋ ์คํ์ ํ ์ ์์๋ค. ๋ฌธ์ ์ DockerFile FROM python:3.7-alpineWORKDIR /appCOPY . /appRUN pip install flask redis..
2025.02.10 -
Your developer_v2 branch isn't protected: PR(Pull Request) ์, ๋ธ๋์น ๋ณดํธํ๊ธฐ
default ๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ๊ณ , ๊นํ๋ธ ํ์ธํด๋ณด๋ 'Your developer_v2 branch isn't protected' ์ด๋ฐ ๊ฒฝ๊ณ ์ฐฝ์ด ๋ด๋ค. ๐ก ๋ฉ์์ง ๋จ๋ ์์ธ ์ด๊ฒ ๋ญ๊ฐ ํ๊ณ ๋ดค๋๋ developer_v2 ๋ธ๋์น๊ฐ ๊ฐ์ ํธ์๋ ์ง์ ํธ์ ๋ฑ์ด ๊ฐ๋ฅํ ์ํ๋ก, ๋ณดํธ๋์ง ์๋ ์ํ๋ผ๋ ๋ป์ด๋ค. ์ด ๋ฉ์์ง๋ ์ฃผ๋ก ๊นํ๋ธ์์ PR(Pull Request) ๋จธ์งํ ๋ ๋ํ๋๋ ๋ฉ์์ง๋ก ๊นํ๋ธ์์ protected branch ์ค์ ์ ํ๋ฉด PR๋ฅผ ํตํด์๋ง ์ฝ๋๊ฐ ๋ณํฉ๋๊ณ , ์ง์ ํธ์๋ฅผ ๋ง์ ์ ์๋ค. ๐ฉ๐ป๐ป Protect this branch ์ค์ ํด๋ณด๊ธฐ 1. GitHub ์ ์ฅ์(Repository)๋ก ์ด๋2. Settings → Branches ์ ํ3. "Branch protection r..
2025.02.05