์คํฐ๋50 ์ ๋ฌด ํจ์จ์ ์ฌ๋ ค์ฃผ๋ Intellij ๋จ์ถํค (์๋์ฐ ๊ธฐ์ค) ์ธํ ๋ฆฌ์ ์ด์์ ํ์ฉํ ์ ์๋ ๋จ์ถํค ์ ๋ฆฌ 1. ๋ผ์ธ ๋ณต์ฌ CTRL + D 2. ๋ผ์ธ ์ญ์ CTRL + Y 3. ๋ผ์ธ ์๋ก ์ด๋ SHIFT + ALT + โฌ๏ธ 4. ๋ผ์ธ ์๋๋ก ์ด๋ SHIFT + ALT + โฌ๏ธ 5. ํ๊ธ์์ฉ ์ ํ SHIFT + โฌ ๏ธ/โก๏ธ 6. ๋จ์ด๋ณ๋ก ์ ํ SHIFT + CTRL + โฌ ๏ธ/โก๏ธ 7. ์์ฐ๋ import ์ง์ฐ๊ธฐ CTRL + SHIFT + O 8. ๋ณ์ ์ด๋ฆ ์์ฑ CTRL + ALT + V 9. ์ ์ฒด ์ฐพ๊ธฐ SHIFT ๋๋ฒ 10. ๋ค๋ก๊ฐ๊ธฐ CTRL + ALT + โฌ ๏ธ 11. ์์ผ๋ก ๊ฐ๊ธฐ CTRL + ALT + โก๏ธ 12. ํ๋ก์ ํธ ํด๋ ๋ทฐ๋ก ์ด๋ ALT + 1 13. ๋ธ๋ญ ์ฝ๋ฉํธ( /* */) CTRL + SHIFT + / 14. ์ฝ๋ ์ ๊ณ ํผ์น๊ธฐ CTRL + โ/โ 15... 2024. 2. 25. Spring Boot file upload download rest api ์์ - 1 ๐ ์คํ๋ง ๋ถํธ๋ก ํ์ผ ์ ๋ก๋ ๋ค์ด๋ก๋ ๊ตฌํ ๋ฐฉ๋ฒ ์ฒซ ํ์ฌ์ ์์ต๊ณผ์ ๋ก ํ์ผ ์ ๋ก๋ ๋ค์ด๋ก๋ ๊ธฐ๋ฅ์ ๋ง๋ ์ ์ด ์๋๋ฐ ๊ฒ์์ ํ๋ฉด JSP๋ก ๊ตฌํ๋ ์์ ๊ฐ ๋ง์์ ํ๋ก ํธ๊ฐ React๋ Vue์ผ๋ ์ด๋ป๊ฒ ํ์ผ ์ ๋ก๋ ๋ค์ด๋ก๋ ๊ตฌํํด์ผ ํ๋์ง ๋ง๋งํ์๋ค. ๋คํ์ด ๊นํ๋ธ์์ ์ ์ ๋ฆฌ๋ ์ฝ๋๋ฅผ ์ฐพ์์ ๊ณผ์ ๋ฅผ ์ ๋ง๋ฌด๋ฆฌ ํ ์ ์์์ง๋ง ํด๋น ๊นํ๋ธ ์์ ๋ฅผ ์ฐธ๊ณ ํด์ ๊ตฌํ ํ ๋ ์์ฌ์ ๋ ์ ๊ณผ ๊ทธ๋๋ ์ ๋ชฐ๋๋ ๊ฒ๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค. 1๏ธโฃ Failed to perform cleanup of multipart items ์๋ฌ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ ์คํ๋ง ๋ถํธ ๋ฒ์ ๋ณ๊ฒฝ์์ inputStream.close() ์ถ๊ฐํ๋ ๊ฑธ๋ก ์์ - Caused by: java.io.IOException: Cannot delete ๊ฒฝ๋ก\ํ์ผ์ด๋ฆ.. 2024. 2. 19. ์๋ฐ iterators๋? ๐ฃ Java Iteration ๐ฃ Java์์ Map ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด๋ฉด for๋ฌธ์ ์ฌ์ฉํ ๋ฐฉ๋ฒ๊ณผ iterator๋ฅผ ์ฌ์ฉํ ๋ฐฉ๋ฒ 2๊ฐ์ง๊ฐ ์๋ค. ๊ทธ๋ฐ๋ฐ iterator๋ก Map์ ์ํํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์ธํ ๋ฆฌ์ ์ด์์๋ ํฅ์๋ for๋ฌธ์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ค๊ณ ํ๋ค. ์ธํ ๋ฆฌ์ ์ด์์ ์ถ์ฒํ๋๋๋ก enhanced 'for' loop์ผ๋ก ๋ฐ๊ฟ๋ณด๋ฉด ๊ธฐ์กด์ ์์ฑํ for๋ฌธ์ ํ์ฉํ Map ์ํ๋ฐฉ๋ฒ๊ณผ ๋๊ฐ์ด ๋ณ๊ฒฝ๋๋๋ฐ ํฅ์๋ for๋ฌธ์ ์ฌ์ค iterator object๋ฅผ ์ฌ์ฉํด์ ์ํํ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ ์์๊ฒ ๋ฐ๊ฟ๋์ ๊ฒ์ผ๋ก ๋ณผ ์ ์๋ค. (๋ฌผ๋ก , iterator๋ฅผ ์ฌ์ฉํ๋ฉด ์ํํ๋ ๋์ค์ ์ญ์ ๊ฐ ๊ฐ๋ฅํ์ง๋ง ํฅ์๋ for๋ฌธ์ ConcurrentModificationException์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ํ ๋์ค.. 2024. 2. 11. ์๋ฐ์์ Map ์ํ ๋ฐฉ๋ฒ ๐ฃ Java์์ Map ์ํํ๋ ๋ฐฉ๋ฒ ๐ฃ ์๋ฐ์์ Map์ผ๋ก ๋ฐ๋ณต๋ฌธ์ ๋๋ฆด ๋ entrySet(), keySet() ๊ทธ๋ฆฌ๊ณ values()๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ๊บผ๋ด์ฌ ์ ์๋ค. entrySet() : Map.Entry ํด๋์ค์ ์์ ๋ฐํ. entry.getKey() ๋ key๋ฅผ ๋ฐํํ๊ณ , entry.getValue()๋ value ๋ฆฌํด keySet() : ๋งต์ ์๋ ๋ชจ๋ keys๋ฅผ set์ผ๋ก ๋ฐํ values() : ๋งต์ ์๋ ๋ชจ๋ values๋ฅผ set์ผ๋ก ๋ฐํ Map ์ธํ Map map = new HashMap(); @BeforeEach void setUp() { map.put(1, "๋ธ๊ธฐ"); map.put(2, "์ฌ๊ณผ"); map.put(3, "๊ทค"); map.put(4, "๋ฐ๋๋"); map.put(.. 2024. 1. 27. [CS186] Introduction to Database Systems - Week 6 โ Joins โ final write cost๋ ์กฐ์ธ ๋ชจ๋ธ ๋น์ฉ์ ๊ณ์ฐํ๋๋ฐ ํฌํจํ์ง ์๋๋ค. ์ฆ, ์กฐ์ธ๋ ํ ์ด๋ธ์ ๋์คํฌ์ ๊ธฐ๋กํ๋ ๋น์ฉ์ ๋ฌด์ํ๋๋ฐ, ์กฐ์ธ๋ ํ ์ด๋ธ์ด ๋ฉ๋ชจ๋ฆฌ์์ ๋ค๋ฅธ ์ฐ์ฐ์์ ์ํด ์ฌ์ฉ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐ๋๊ธฐ ๋๋ฌธ์ด๋ค Simple Nested Loop Join ๊ฐ์ฅ ๋จ์ํ ๋ฐฉ๋ฒ์ ๋๊ฐ์ ์ค์ฒฉ๋ for loop๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋น์ทํ๋ค ์๋ฅผ ๋ค์ด, R ํ ์ด๋ธ์ ๊ฐ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ S ํ ์ด๋ธ์์ ์ผ์นํ๋ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ๋ ๊ฒ์ด๋ค I/O cost = [R]+|R|[S] [R]์ R ํ ์ด๋ธ์ ํ์ด์ง ์์ด๊ณ |R|๋ R์ ๋ ์ฝ๋ ์์ด๋ค Page Nested Loop Join R์ ๊ฐ ํ์ด์ง๋ง๋ค S์ ๋ชจ๋ ํ์ด์ง๋ฅผ ์ฝ๋๋ค I/O cost = [R] + [R][S] -> R๊ณผ S ์ค์์ ๋ .. 2023. 6. 3. [CS186] Introduction to Database Systems - Week 5 โ Sorting โ I/O Review ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ๋์คํฌ๋ก ์ฐ๊ฑฐ๋ ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ํ์ด์ง๋ฅผ ์ฝ์ ๋ I/O๊ฐ ๋ฐ์ํ๋ค ์๊ณ ๋ฆฌ์ฆ์ performance๋ฅผ ๊ณ์ฐํ ๋ I/Os๊ฐ ์ผ๋ง๋ ๋ฐ์ํ๋์ง๋ฅผ ๋ณธ๋ค Two Way External Merge Sort ํ๋ฒ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋จผ์ ์ ๋ ฌํ ๋ค์ ๋จธ์งํด์ผ ํ๋ค 1. conquer: ํ์ด์ง ๋ณ๋ก ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ํํ๋ค 2. sorted runs: merge sort ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ ํ์ด์ง๋ค์ ๋จธ์ง ํ ๊ฒฐ๊ณผ์ด๋ค 3. ํ๋์ sorted run์ด ๋ ๋๊น์ง ๊ณ์ sorted runs๋ฅผ ๋จธ์งํ๋ค Analysis of Two Way Merge ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ณ ๋ฆฌ์ฆ์ ๋ถ์ํ ๋ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ๋ง์ I.. 2023. 5. 27. ์ด์ 1 2 3 4 ยทยทยท 9 ๋ค์