๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€193

[์„ค์น˜] MariaDB 10.11.6 ์„ค์น˜ ๋ฐ ์„ค์ •ํŒŒ์ผ ์ปค์Šคํ…€ MSI Package ์„ค์น˜ ์ฑ…์—์„œ๋Š” Binary๋ฐฉ๋ฒ•์œผ๋กœ ์„ค์น˜ํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ๊ทธ๋ƒฅ ํ™ˆํŽ˜์ด์ง€์—์„œ ๋‚ด๋ ค๋ฐ›์€ MSI Package๋ฅผ ์ด์šฉํ–ˆ๋‹ค ๋ฒ„์ „์€ ์Šคํ”„๋ง๋ถ€ํŠธ 3.X๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด์–ด์„œ ๋น„๊ต์  ์ตœ์‹ ์ค‘์— GPT์˜ ์ถ”์ฒœ์„ ๋ฐ›์Œ pakage ์„ค์น˜๋Š” ๋น„๊ต์  ๊ฐ„๋‹จํ•˜๋‹ค. root password๋Š” ์žŠ์ง€ ๋ง๊ฒƒ ๊ทธ์™ธ์˜ ์„ค์ •์€ ๊ธฐ๋ณธ๊ฐ’์„ ๋”ฐ๋ž๋‹ค ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ํ„ฐ๋ฏธ๋„์—์„œ root ๊ถŒํ•œ์œผ๋กœ ์ ‘์†ํ•œ๋‹ค mysql -u root -p ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค CREATE DATABASE NEWMARIADB; ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•œ๋‹ค CREATE USER '์ƒˆ๋กœ์šด_์‚ฌ์šฉ์ž'@'localhost' IDENTIFIED BY '๋น„๋ฐ€๋ฒˆํ˜ธ'; ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค GRANT ALL PRIVILEGES ON *.* TO '์ƒˆ๋กœ์šด_์‚ฌ์šฉ์ž'@'.. 2023. 12. 18.
[์„ค์ •] ๊น€์˜ํ•œ SpringBoot JPA ๊ฐ•์˜ ํ”„๋กœ์ ํŠธ 3.X.X ์„ค์น˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ https://start.spring.io/ ์ƒ์„ฑ ํ”„๋กœ์ ํŠธ ์˜ค๋ฅ˜๋กœ ์‹คํ–‰ ๋ถˆ๊ฐ€ ๊ฐ•์˜์— ๋‚˜์˜จ ๋‚ด์šฉ๋Œ€๋กœ https://start.spring.io/ ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  IDE์—์„œ ์˜คํ”ˆํ–ˆ์ง€๋งŒ Gradle๊ณผ Java๋ฒ„์ „์ด ์•ˆ๋งž๋Š”๋‹ค๋Š” ์˜ค๋ฅ˜๋กœ ์‹คํ–‰์กฐ์ฐจ ์•ˆ๋จ ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€ ๋”๋ณด๊ธฐ A problem occurred configuring root project 'datastudy'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.1.6. Required by: project : > org.springframework.boot:o.. 2023. 12. 17.
[Axios] Axios๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ Axios๋ž€? Axios๋Š” JavaScript๋กœ ์ž‘์„ฑ๋œ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•œ HTTP ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฃผ๋กœ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ API ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•จ ๋ธŒ๋ผ์šฐ์ €์™€ Node.js ํ™˜๊ฒฝ์—์„œ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, HTTP ์š”์ฒญ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ• Axios๋Š” GET, POST, PUT, DELETE ๋“ฑ ๋‹ค์–‘ํ•œ HTTP ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•จ // PUT ์š”์ฒญ axios.put('/api/users/1', { username: 'updateduser', password: 'newpassword' }) .then(response => { console.log(response.data); // ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ์˜ ์‘๋‹ต }) .catch(error => { console.error(erro.. 2023. 12. 15.
[๋ฉ”์„œ๋“œ] Deque ์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์„œ๋“œ Deque ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž๋ฐ”์˜ java.util ํŒจํ‚ค์ง€์— ํฌํ•จ๋œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ์–‘์ชฝ ๋์—์„œ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ์–‘๋ฐฉํ–ฅ ํ ์ด๊ฒƒ์€ ์Šคํƒ๊ณผ ํ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ํ†ตํ•ฉํ•œ ํ˜•ํƒœ๋กœ, ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Œ void addFirst(E e): ์š”์†Œ๋ฅผ ๋ฐํฌ์˜ ์•ž์ชฝ์— ์ถ”๊ฐ€ void addLast(E e): ์š”์†Œ๋ฅผ ๋ฐํฌ์˜ ๋’ค์ชฝ์— ์ถ”๊ฐ€ boolean offerFirst(E e): ์š”์†Œ๋ฅผ ๋ฐํฌ์˜ ์•ž์ชฝ์— ์‚ฝ์ž…ํ•˜๊ณ , ์„ฑ๊ณต ์‹œ true ๋ฐ˜ํ™˜ boolean offerLast(E e): ์š”์†Œ๋ฅผ ๋ฐํฌ์˜ ๋’ค์ชฝ์— ์‚ฝ์ž…ํ•˜๊ณ , ์„ฑ๊ณต ์‹œ true ๋ฐ˜ํ™˜ E removeFirst(): ๋ฐํฌ์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐ˜ํ™˜ E removeLast(): ๋ฐํฌ์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐ˜ํ™˜ E pollFirst(): ๋ฐํฌ.. 2023. 12. 14.
[๋ฉ”์„œ๋“œ] Collections ํด๋ž˜์Šค ์ฃผ์š” ๋ฉ”์„œ๋“œ void sort(List list): ์ž์—ฐ ์ˆœ์„œ๋Œ€๋กœ ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ void reverse(List list): ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋ณ€๊ฒฝ Comparator reverseOrder(): ์—ญ์ˆœ ์ž์—ฐ ์ •๋ ฌ Comparator ๋ฐ˜ํ™˜ void shuffle(List list): ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋ฅผ ์ž„์˜์˜ ์ˆœ์„œ๋กœ ์„ž์Œ T min(Collection list, int i, int j): ๋ฆฌ์ŠคํŠธ ๋‚ด ๋‘ ์š”์†Œ์˜ ์œ„์น˜ ๊ตํ™˜ Collection unmodifiableCollection(Collection c, Object o): ํŠน์ • ๊ฐ์ฒด๊ฐ€ ์ปฌ๋ ‰์…˜์— ๋‚˜ํƒ€๋‚˜๋Š” ํšŸ์ˆ˜ ๊ณ„์‚ฐ int indexOfSubList(List source, List target): ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์— ์ฒ˜์Œ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์œ„์น˜์˜ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜.. 2023. 12. 14.
[์œˆ๋„์šฐ ํ•จ์ˆ˜] PARTITION BY ์ ˆ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์œˆ๋„์šฐ ํ•จ์ˆ˜๋ž€? ์œˆ๋„์šฐ ํ•จ์ˆ˜๋Š” ์˜ค๋ผํด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ SQL Server, PostgreSQL, MySQL(8.0 ์ด์ƒ) ๋“ฑ ๋‹ค์–‘ํ•œ SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ ์ด ํ•จ์ˆ˜๋“ค์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ๊ฐ ๊ทธ๋ฃน ๋‚ด์—์„œ ๋ณต์žกํ•œ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ ์œˆ๋„์šฐ ํ•จ์ˆ˜ ROW_NUMBER(): ๊ฐ ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ์˜ ํ–‰ ์ˆœ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•จ RANK(): ํŠน์ • ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฐ ํ–‰์— ์ˆœ์œ„๋ฅผ ๋งค๊น€. ๊ฐ™์€ ๊ฐ’์ด๋ฉด ๊ฐ™์€ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๋ฉฐ, ์ˆœ์œ„์— ๊ณต๋ฐฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ DENSE_RANK(): RANK()์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๊ณต๋ฐฑ ์—†๋Š” ์—ฐ์†์ ์ธ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•จ SUM(): ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ์˜ ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐ AVG(): ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ์˜ ํ‰๊ท ๊ฐ’์„ ๊ณ„์‚ฐ MIN() ๋ฐ MAX(): ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ์˜ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์„ ๊ณ„์‚ฐ LEAD() ๋ฐ LAG():.. 2023. 12. 14.
[Git] ๊ฐœ์ธ ํ•™์Šต Repository๋ฅผ ์œ„ํ•œ Git ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ๊ตฌ์กฐ์™€ ๋ช…ํ™•์„ฑ -m ์˜ต์…˜์„ ์—ฌ๋Ÿฌ๋ฒˆ ์‚ฌ์šฉํ•ด์„œ ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ ๋ถ„๋ฆฌํ•˜๊ธฐ git commit -m "๋™์ž‘ ๋Œ€์ƒ ๊ฒฐ๊ณผ๋ฌผ" -m "๊ด€๋ จ ์ž‘์—… ๋‚ด์šฉ" git commit -m "Add Docker ํ•™์Šต ๋…ธํŠธ" -m "๊ธฐ๋ณธ ๋„์ปค ๋ช…๋ น์–ด, ๋„์ปค์˜ ์œ ์—ฐ์„ฑ, ๋„์ปค ์ด๋ฏธ์ง€ ์ž‘๋™ ๋ฐฉ์‹" ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ์ œ๋ชฉ์— ์‚ฌ์šฉํ•˜๋Š” ๋™์‚ฌ๋“ค ์ œ๋ชฉ์— ์‚ฌ์šฉํ•  ์ฒซ ๋‹จ์–ด Add: ์ƒˆ๋กœ์šด ํŒŒ์ผ, ๊ธฐ๋Šฅ, ์ฝ”๋“œ, ๋ฌธ์„œ ๋“ฑ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Update: ๊ธฐ์กด ์ฝ”๋“œ๋‚˜ ํŒŒ์ผ์„ ์ˆ˜์ •(์—…๋ฐ์ดํŠธ)ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Fix: ๋ฒ„๊ทธ ์ˆ˜์ •์ด๋‚˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Refactor: ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ ๋ฆฌํŒฉํ† ๋งํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์  ๋ณ€๊ฒฝ์ด ์•„๋‹Œ ๊ตฌ์กฐ์ /์„ฑ๋Šฅ์  ๊ฐœ์„ ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Remove/Delete: ์ฝ”๋“œ, ํŒŒ์ผ, ๊ธฐ๋Šฅ ๋“ฑ์„ ์ œ๊ฑฐํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.. 2023. 12. 11.