| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- vue3
- ๋ฐฑ์ค
- javascript
- java ์ฝ๋ฉ ํ ์คํธ
- pnpm
- ์๊ณ ๋ฆฌ์ฆ
- python
- ๋ฐฐ๋น์ฃผ
- kotlin algorithm
- linux
- Vue.js
- Kotlin
- ์๋ฐ ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค ์ฝํ๋ฆฐ
- ๋ฏธ๊ตญ๋ฐฐ๋น์ฃผํฌ์
- ํ์ด์ฌ
- ์๋ฐ์คํฌ๋ฆฝํธ
- Java
- ์๋ฐ
- ๋ฏธ๊ตญ์ฃผ์
- GIT
- ํ์ฝํ
- kotlin ์๊ณ ๋ฆฌ์ฆ
- ์ฝํ๋ฆฐ
- js
- Swift
- ์ฝํ๋ฆฐ ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝํ๋ฆฐ ์คํ
- CI/CD
- Today
- Total
๋ชฉ๋กProgramming (101)
๐ ์ ์ด์ ๋จธ๋ฆฟ์์ผ๋ก
์ต๊ทผ์ ์์์น ๋ชปํ๊ฒ ์๋นํ ์ข์ ๊ธฐํ๋ฅผ ์ป์ด์ ํ ์ค ์ฑ์ฉ์ ์ฐธ์ฌํ๊ฒ ๋์๊ณ ๋ณด์ด๋ ๊ฒ๊ณผ ๊ฐ์ด ์ต์ข ์ ์ผ๋ก ๊ธฐ์ ๋ฉด์ ์ ํต๊ณผํ์ง ๋ชปํ์ต๋๋ค.๋ฌผ๋ก , ๋ฉด์ ์งํ์๋ ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ํ์๋ ์์ฌ์์ด ๋จ์์ง๋ง, ์๋นํ ์ข์ ์ธ์ฌ์ดํธ๋ฅผ ์ป๊ฒ๋ ๊ณ๊ธฐ์๋ค๋ ์๊ฐ์ด ๋ค์ด์ ๊ธ์ ๋จ๊ฒจ๋ณด๋ ค ํฉ๋๋ค. ์ ๋ ๊ฐ๋ฐ์๋ก ์ปค๋ฆฌ์ด๋ฅผ ์์ํ๋ฉด์ ์ด์ง์ ๋น ๋ฅด๊ฒ ์ค๋นํ์ง๋ ์์์ต๋๋ค. ์คํ๋ ค ํ ํ์ฌ์ ๋ช ๋ ์ ์์ด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ์์ด์ ์ด์ง ์ค๋น๋ฅผ ๊ฑฐ์ ํ์ง ์์์ต๋๋ค. ์กฐ๊ธ์ฉ ์๋ก์ด ํ๊ฒฝ์ ๋ํ ๊ถ๊ธ์ฆ์ด ์๊ฒจ๋ ์ฏค๋ถํฐ ์ด์ง ์์ฅ์ ๋ถ์๊ธฐ๋ฅผ ์์๋ณผ ๊ฒธ ๋ช๋ช ํ์ฌ์ ์ง์์ ํ์๊ณ ๊ธฐ์ ๋ฉด์ ๋ถํฐ ์ต์ข ํฉ๊ฒฉ๊น์ง ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊ธฐ๋ ํ์ต๋๋ค. ๋ฉด์ ๊น์ง ์งํํ ํ์ฌ๊ฐ ๋ง์ง๋ ์์์ง๋ง ์์ 1์ฐจ ๋ฉด์ ํน์ ์ง๋ฌด/๊ธฐ์ ๋ฉด์ ์์ ํ๋ฝํ ๊ฒฝ์ฐ๋ ์์์ต๋๋ค. ์ด..
๊ธ์ต๊ถ์์ IT ๊ฐ๋ฐ์๋ก ์ผํ๋ฉด์ ํ์ฅ์์ '๋ ๊ฑฐ์(Legacy)'๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ค๋๋ ์ฝ๋๋ฅผ ์์ฃผ ๋ง์ฃผํ๊ฒ ๋ฉ๋๋ค.์ ๋ ์ด๋ฐ ์ฝ๋๋ฅผ ๋จ์ํ ๋ ๊ฑฐ์('์ค๋๋ ์ฝ๋'๋ '๊ธฐ์ ๋ถ์ฑ')๋ผ๊ณ ๋งํ๊ณ ์ถ์ง๋ ์์ต๋๋ค. ์ด ์ฝ๋๋ค์ ์ญ์ ๋ ๊ฐ ์์ฒ๋ง ๊ฑด์ ๊ฑฐ๋๋ฅผ ๋ฒํ จ๋ธ '์ด์๋จ์ ์ฝ๋'์ด์, ๋น์์ ์น์ดํ ๊ณ ๋ฏผ์ด ๋ด๊ธด '์ ๋ฐฐ๋ค์ ์ ์ฐ'์ ๋๋ค.๊ธ์ต๊ถ์ ํน์ฑ์ 'ํ์ ์ ์ธ ์ฑ๋ฅ'๋ณด๋ค '๋จ ํ๋์ ์ค๋ฅ๋ ์๋ ์์ '์ด 1์์์์ ํ ๋๊น์. ํ์ง๋ง ์ต๊ทผ ์ ๊ท ํ๋ก์ ํธ๋ ๊ณตํต ๋ชจ๋ ๊ฐ๋ฐ ๊ณผ์ ์์๋ ๋ฌด์์์ ์ผ๋ก StringBuffer๊ฐ ์ฌ์ฉ๋๋ ๋ชจ์ต์ ๋ณด๋ฉฐ, ๊ฐ๋ฐ์๋ก์ ์์ ๋ฌผ์ํ๋ฅผ ๋์ง๊ฒ ๋์์ต๋๋ค. "์ฐ๋ฆฌ๋ ์ง๊ธ ์์ ์ ์ํด StringBuffer๋ฅผ ์ฐ๋ ๊ฑธ๊น, ์๋๋ฉด ๊ด์ต์ ์ผ๋ก ์ฐ๊ณ ์๋ ๊ฑธ๊น?"1. 10๋ ์ ์ ์ ๋ต์ด ..
๋ฐ์ดํฐ๊ฐ ์๋ ค์ค ํด๊ฒฐ์ฑ : '๋บ์ '์ ๊ธฐ์ ๊ณผ ์์ฌ๊ฒฐ์ ๊ณผ์ [1ํธ]์์ ์ฐ๋ฆฌ๋ ์์ฒด ๊ตฌ์ถํ ๋ชจ๋ํฐ๋ง ์์คํ ์ ํตํด, ๋น๋ ์ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ํญ๋ฐํ๋ ์์ธ์ด ๊ณผ๋ํ๊ฒ ๋ณต์กํ Chunking ์ค์ '๊ณผ ๋ถํ์ํ๊ฒ ๋น๋๋๋ ๋ชจ๋์ด ์์์ ๋ฐ์ดํฐ๋ก ํ์ธํ์ต๋๋ค.ํ์ง๋ง ์์ธ์ ์์๋ค๊ณ ํด์ ๋ฌด์์ ์ฝ๋๋ฅผ ์ญ์ ํ ์๋ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ ๊ธฐ์กด ์ฝ๋์ ์๋๋ฅผ ํ์ ํ๋ฉฐ ์์ ํ๊ฒ ๊ฐ์ ํ๋ ๊ณผ์ ๊ณผ, ์ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋๊ฐ๋ ๊ธฐ์ ์ ์์ฌ๊ฒฐ์ ์ ๋ด์์ต๋๋ค.1. ์ฒซ ๋ฒ์งธ ๋๊ด: manualChunks, ๊ณผ์ฐ ์ค์ฌ๋ ๋๋๊ฐ?๊ฐ์ฅ ํฐ ๋ฉ๋ชจ๋ฆฌ ๋ณ๋ชฉ์ง์ ์ vite.config.js์ manualChunks ์ค์ ์ด์์ต๋๋ค.๋ง์ if-else ๋ฌธ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์๊ฒ ์ชผ๊ฐ๊ณ ์์์ต๋๋ค.๐ค ๊ณ ๋ฏผ: "์ด ์ฝ๋๋ ์ด์ ๊ฐ ์์ด์ ์กด์ฌํ์ง ์์๊น..
ํ์๋ง ํ๊ฒฝ์์ OOM ์ก๊ธฐ: "๋๊ตฌ"๊ฐ ์์ผ๋ฉด ๋ง๋ค์ด ์ด๋ค. ๋ค์ด๊ฐ๋ฉฐ์ต๊ทผ ์ ํฌ ํ์ด ์ด์ํ๋ ๋๊ณ ๊ฐ ์๋น์ค ํ๋ก์ ํธ ๋น๋ ์ค, JavaScript heap out of memory (OOM) ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์์ํ์ต๋๋ค.๋น์ฅ ๊ธํ ๋ถ์ ๋๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ ํ ๋น๋์ ๋๋ฆฌ๋ ์กฐ์น๋ฅผ ์ทจํ์ง๋ง, ์ด๋ ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ์ฑ ์ด ์๋์์ต๋๋ค."๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ ค์ ํด๊ฒฐ"ํ๋ ๋ฐฉ์์ ์ธ์ ๊ฐ ์๊ณ์น๋ฅผ ๋์ผ๋ฉด ๋ฐ๋์ ์ฌ๋ฐํฉ๋๋ค. ๋ ํฐ ๋ฌธ์ ๋ "์ ํํ ์ด๋์, ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ๋์ง ๋ชจ๋ฅธ๋ค"๋ ๊ฒ์ด์์ต๋๋ค. "๊ด์ธกํ ์ ์์ผ๋ฉด, ๊ฐ์ ํ ์ ์๋ค."๊ธ์ต๊ถ์ด๋ผ๋ ํน์ํ ํ๊ฒฝ(ํ์๋ง) ํ์ Prometheus๋ Grafana ๊ฐ์ ์ข์ ์๊ฐํ ๋๊ตฌ๋ฅผ ์ธ ์ ์์์ต๋๋ค.๋ํ, ๊ฒฝ๋์ฑ๊ณผ ์ฆ์์ฑ์ด ์ค์ํ ์์ ์์ ํด๋น ๋๊ตฌ๋ฅผ ๋ฐ์ ํ๋ ๊ฒ์ ๋ฐฐ๋ณด๋ค..
์ต๊ทผ ๋ง์ ํ๋๊ฐ ๋๊ณ ์๋ ์คํ ์ด๋ธ ์ฝ์ธ์ ๋ํ ์ข์ ๊ฐ์ฐ์ ๋ฃ๊ฒ ๋์์ต๋๋ค. ์คํ ์ด๋ธ ์ฝ์ธ ๋ฟ์๋๋ผ ํ์ฌ์ ๊ธ์ต ์์คํ ์ ํ๊ณ๋ฅผ ์ง์ ํ๋ฉด ์ฝ์ธ์ด ๋์ค๊ฒ๋ ๋ฐฐ๊ฒฝ๊ณผ ์ํ๊ณ์ ๊ตฌ์ฑ, ๋ฐ๋๋ก ์ฝ์ธ์ ๊ธ์ต ๋คํธ์ํฌ์์ ๋ฐ๋ก ์ด์ฉ๋๊ธฐ ์ด๋ ค์ด ํ๊ณ๋ฅผ ์ํธํ ๊ด์ ์์ ๋ฐ๋ผ๋ณด๊ณ ์ด ํ๊ณ๋ฅผ ๊นฐ ์ ์๋ ๋ํ์ํธ์ ๋ํ ์ฐ์ค๊น์ง ๊ธ์ต๊ณผ IT ๊ธฐ์ ์ ๊ด์ฌ์ด ์๋ ์ฌ๋์ด๋ผ๋ฉด ์์ฃผ ์ ์ตํ ๊ฐ์ฐ์ด์๋ค๊ณ ์๊ฐํ์ฌ ๊ธ์ ์ ๋ฆฌํ๊ณ ๊ณต์ ํฉ๋๋ค. 1๋ถ. ๋ํ์ํธํ๋ ๋ฌด์์ธ๊ฐโ ๊ธฐ์กด ์ํธ ๋ฐฉ์์ ํ๊ณ์ ‘๋ฐ์ดํฐ๋ฅผ ๋ณด์ง ์๊ณ ๊ณ์ฐํ๋’ ๊ธฐ์ ์ ๋ฑ์ฅ์ต๊ทผ ๋ฐ์ดํฐ ๋ณด์ ๋ถ์ผ์์ ๊ฐ์ฅ ํฐ ํ๋๋ **๋ํ์ํธ(Fully Homomorphic Encryption, FHE)**์ด๋ค.์ด ๊ธฐ์ ์ “๋ฐ์ดํฐ๋ฅผ ์ํธํํ ์ํ ๊ทธ๋๋ก ๊ณ์ฐํ ์ ์๋ค”๋ ์ ์..
TOP-N๊ณผ ์ธ๋ฑ์ค ์ค์บ์ด์ ๊ทธ๋ ๊ฒ ๋์ํ๋์ง๊น์ง ์ฌ๋ด์์ ํ์ด์ง์ฒ๋ฆฌ๋ฅผ ์ํด์ ๊ณ ์ ๋ฐฉ์์ ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ TOP-N ๋ฐฉ์์ ์ฌ์ฉํ๋ค.์์SELECT *FROM( SELECT ROWNUM as row_num, T.* FROM ( SELECT * FROM MY_TABLE WHERE :์กฐ๊ฑด ORDER BY :์ธ๋ฑ์ค_์ปฌ๋ผ ) T WHERE ROWNUM (:pageNum - 1) * :pageCountpageNum: ํ์ด์ง ๋ฒํธpageCount: ํ ํ์ด์ง์ ํ๊ธฐํ ์์ดํ ์ ์์ ๊ฐ์ ๊ท์น์ ๋ง๊ฒ ์์ฑ๋์ด์๋ ํ์ด์ง์ ์ฒ๋ฆฌํ๋ ์๋น์ค์ ํ ์คํธ๋ฅผ ์งํํ๋ค. ์ฒ์์ ๋จ์ํ๊ฒ ์๊ฐํ๋ค.PK์ ๋ ฌ -> ์ธ๋ฑ์ค ์กด์ฌ -> ์ธ๋ฑ์ค๋ก ์ ๋ ฌ ์์ด ์์ N๊ฐ๋ฅผ ๋จผ์ ์ฝ์ด์จ๋ค. ํ์ง๋ง ์ค์ ๊ฐ๋ฐ์๋ฒ์์ ์งํํ ์ค๋ผํด์ ..
JS๋ฅผ ํ์ฉํ๋ front ์์ค์์ ์ฌ์ฉ์ ์ ๋ ฅ์ ํตํด์ ํจ์๋ฅผ ๋ ์งํ์ํฌ์ง ์ค๋จํ ์ง ์ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ด ์๊น๋๋ค. ๋ชจ๋ Modal ์ฐฝ์ ํตํด์ callback ์ฒ๋ฆฌ๋ฅผ ๊ฐ๊ฐ ํจ์์์ ๋ฐ์์ ์ฒ๋ฆฌํ๋ฉด ๋ฌธ์ ๊ฐ ์๊ธธ ์ผ์ด ์์ง๋ง, ๋ณต์กํ ๋น์ง๋์ค ๋ก์งํด์ํ๋์ ํจ์์์ ์ฐ์์ ์ผ๋ก ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ์ํ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์์ต๋๋ค. ์ต๊ทผ ์ค๋ฌด์์ ์์ ๊ฐ์ ๋ฌธ์ ๊ฐ ์๊ธด์ ์ด ์๋๋ฐ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ฌ์ฉํ ๊ฐ๋ตํ ๊ธฐ๋ฒ์ ์ ๋ฆฌํด ๋ด ๋๋ค. ์์์ฝ๋let success = '' //resolve๋ฅผ ๋ด์ ๋ณ์let fail = '' //reject๋ฅผ ๋ด์ ๋ณ์const returnPromise = () => { console.log("returnPromise call") return new P..
ํ์ฝํ 8์ผ์ฐจ ๋ฌธ์ ์ญ์ ์คํ/ํ ๋ฌธ์ ์ ๋๋ค.ํด๋น ๋ฌธ์ ์์๋ ํ๋ฅผ ์ด์ฉํ ๋ฌธ์ ํ์ด๋ฅผ ํ์์ผ๋ ๋ฐ๋์ ์๋ฃ๊ตฌ์กฐ ํ๋ฅผ ์ด์ฉํ ํ์์์ด ์ฑ๋ฅ ํฅ์์ ์ํ ๋ฐฉ์์ ๊ณ ๋ คํด๋ณผ ์ ์์ด์ต๋๋ค.๋ฌธ์ ์ค๋ช ํ๋ก๊ทธ๋๋จธ์ค ํ์์๋ ๊ธฐ๋ฅ ๊ฐ์ ์์ ์ ์ํ ์ค์ ๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ์๋น์ค์ ๋ฐ์ํ ์ ์์ต๋๋ค.๋, ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๋๋ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค์ ์๋ ๊ธฐ๋ฅ์ด ์์ ์๋ ๊ธฐ๋ฅ๋ณด๋ค ๋จผ์ ๊ฐ๋ฐ๋ ์ ์๊ณ , ์ด๋ ๋ค์ ์๋ ๊ธฐ๋ฅ์ ์์ ์๋ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋ ๋ ํจ๊ป ๋ฐฐํฌ๋ฉ๋๋ค.๋จผ์ ๋ฐฐํฌ๋์ด์ผ ํ๋ ์์๋๋ก ์์ ์ ์ง๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด progresses์ ๊ฐ ์์ ์ ๊ฐ๋ฐ ์๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด speeds๊ฐ ์ฃผ์ด์ง ๋ ๊ฐ ๋ฐฐํฌ๋ง๋ค ๋ช ๊ฐ์ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ..
ํ์ฝํ (ํ๋ฃจ ์ฝ๋ฉ ํ ์คํธ) 2์ฃผ์ฐจ์ ๋๋ฒ์งธ ๋ฌธ์ ์ ๋๋ค.์ด๋ฒ์ฃผ๋ ํ์ฌ ์ผ์ ์ผ๋ก ๋ฌธ์ ํ์ด ๋ฐ ๋ธ๋ก๊ทธ ๊ธ ์์ฑ์ด ๋ฒ๊ฑฐ์์ด ์์์ด์ ๋ธ๋ก๊ทธ ๊ธ์ ๋ชฐ์์ฐ๊ฒ ๋์์ต๋๋ค.๊ทธ๋๋ ๋งค์ผ ํ ๋ฌธ์ ์ฉ ํ์๊ณ ๋ชฉํ๋ฅผ๋๋ ์์ฑ์ ํฌ๊ธฐํ์ง๋ ์๊ฒ๋์ด์ ๋์์ด๋๋ค์.๋ฌธ์ ์ค๋ช ์ด ๋จ์๋ก ๊ธฐ๋ก๋ ์ฃผ์๊ฐ๊ฒฉ์ด ๋ด๊ธด ๋ฐฐ์ด prices๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ ๋ช ์ด์ธ์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ์ฌํญprices์ ๊ฐ ๊ฐ๊ฒฉ์ 1 ์ด์ 10,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.prices์ ๊ธธ์ด๋ 2 ์ด์ 100,000 ์ดํ์ ๋๋ค. ์ ์ถ๋ ฅ ์prices return[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]์ ์ถ๋ ฅ ์ ์ค๋ช 1์ด ์์ ์ โฉ1์ ๋๊น์ง ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์์ต๋๋ค.2..
ํ์ฝํ ๋ฅผ ์์ํ๊ณ 2์ฃผ์ฐจ๊ฐ ์์๋์์ต๋๋ค.์์์ผ์ ํฐ ์ผ์ ์ด ์์ด์ ๋ฌด์ฌํ ๋ฌธ์ ๋ฅผ ํ ์ ์์์ต๋๋ค. ์ง๋์ฃผ์๋ ๊ณ์ ํด์ ๋ฌธ์ ๋ฅผ ํ์๋ค๋ฉด, ์ด๋ฒ์ฃผ์๋ ์คํ/ํ ๋ฌธ์ ๊ฐ ๋์ฌ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.๋ฌธ์ ์ค๋ช ๋ฐฐ์ด arr๊ฐ ์ฃผ์ด์ง๋๋ค. ๋ฐฐ์ด arr์ ๊ฐ ์์๋ ์ซ์ 0๋ถํฐ 9๊น์ง๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ด๋, ๋ฐฐ์ด arr์์ ์ฐ์์ ์ผ๋ก ๋ํ๋๋ ์ซ์๋ ํ๋๋ง ๋จ๊ธฐ๊ณ ์ ๋ถ ์ ๊ฑฐํ๋ ค๊ณ ํฉ๋๋ค. ๋จ, ์ ๊ฑฐ๋ ํ ๋จ์ ์๋ค์ ๋ฐํํ ๋๋ ๋ฐฐ์ด arr์ ์์๋ค์ ์์๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด,arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์ return ํฉ๋๋ค.arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์ return ํฉ๋๋ค.๋ฐฐ์ด arr์์ ์ฐ์์ ์ผ๋ก ๋ํ๋๋ ์ซ์๋ ์ ๊ฑฐํ..