IT/development212 [SpringBoot] ์ค๋ฌดํ ๋ฉํฐ๋ชจ๋ ํ๋ก์ ํธ ๊ตฌ์กฐ ์ค๊ณ ์์ ์ด ํฌ์คํ ์์๋ ์ค๋ฌด์์ ์์ฃผ ์ฌ์ฉํ๋ Spring Boot ๋ฉํฐ๋ชจ๋ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ตํ ๋ค๋ฃน๋๋ค.๊ณตํต ์ ํธ ๋ชจ๋๊ณผ API ๋ชจ๋์ ๋ถ๋ฆฌํ๊ณ , ๋ฃจํธ Gradle์์ ์ ์ฒด ์ค์ ์ ํตํฉ ๊ด๋ฆฌํ๋ ํํ๋ก ์ค๊ณ๋์์ต๋๋ค.์์ ์ค๋ฌด ํ๋ก์ ํธ์์๋ API๋ณ๋ก ๊ฐ๊ฐ ๋ ๋ฆฝ๋ ํ๋ก์ ํธ๋ก ๊ตฌ์ฑ๋์ด ์์๊ณ ,API๋ง๋ค ๊ณตํต์ ํธ๋ ๋ชจ๋ ์ค๋ณต๋์ด ์์์ต๋๋ค.(file-api์ menu-api์ ๊ฐ์ ๋ก์ง์ ๊ณตํต์ ํธ ์กด์ฌ)MSA ๊ตฌ์กฐ์๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ๊ทธ๋ ๊ฒ ์ค๊ณ ๋์์์ต๋๋ค.์ด๋ฒ์๋ ๋ฉํฐ๋ชจ๋ ๋ฐฉ์์ผ๋ก ๊ตฌ์กฐ๋ฅผ ํตํฉํ๋ฉด์ ์ค๋ณต์ ์ ๊ฑฐํ๊ณ ์ ์ง๋ณด์ ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํ ์๋๋ฐ์ค ํ๋ก์ ํธ๋ก ๊ตฌ์ฑํด ๋ณด์์ต๋๋ค.๊ตฌ์ฒด์ ์ธ ์ค์ ์ ์๋ ์์ค์ฝ๋ ๋ฐ GitHub ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.๐ ์ ์ฒด ์์ค์ฝ๋: https://github.com/d.. IT/development 2025. 6. 22. [IDE] IntelliJ ํ๋ฌ๊ทธ์ธ ์๋ ์ ์ฉ (Manually Applying IntelliJ Plugin Settings in a New Environment) ์ด ํฌ์คํ ์์๋ IntelliJ ํ๋ฌ๊ทธ์ธ ์๋ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค.์ธ๋ถ ๋คํธ์ํฌ๊ฐ ๋์ง ์๋ ํ์๋ง์์ ์ ์ฉํฉ๋๋ค.์ ๋ง ๊ฐ๋จํฉ๋๋ค.๊ธฐ์กด ์ธํ ๋ฆฌ์ ์ด๊ฐ ์ค์น๋ PC์ ์๋ ๊ฒฝ๋ก์ pluginsํด๋๋ฅผ ์ ๊ท PC์ ๋์ผํ ๊ฒฝ๋ก์ ๋ณต๋ถํ๋ฉด ๋ฉ๋๋ค.AppData๋ ์จ๊นํด๋ ํด์ ํด์ผ ๋ณด์ ๋๋ค.๊ทธ ํ ์ธํ ๋ฆฌ์ ์ด ์ฌ๋ถํ ํ๋ฉด ํ๋ฌ๊ทธ์ธ๋ค์ด ์ ์ฉ๋ฉ๋๋ค. ๐ ์ด ๊ธ์ ๊ฐ์ธ ํ์ต ๋ชฉ์ ์ผ๋ก ์์ฑํ ๊ธฐ๋ก์ด๋ฉฐ, ๋ด์ฉ์ ์ค๋ฅ๊ฐ ์์ ์ ์์ต๋๋ค. ์๋ชป๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์! IT/development 2025. 5. 27. [axios] axios ๋น๋๊ธฐ ํต์ ๋ชฉ์ฐจ์ํ ์ฝ๋function callAPI(e) { e.preventDefault(); const url = 'api.test.com'; axios.post(url, { param: //๋ฐ์ดํฐ ์์ผ๋ฉด.. ๋ฃ๊ธฐ }) // ์ ์์ธ ๊ฒฝ์ฐ .then((response) => { if (response.data.success) { location.href = "/"; } }) // ์์ธ ๋ฐ์ .catch((error) => { console.error('๋ฐ์ดํฐ ์ฒ๋ฆฌ .. IT/development 2025. 1. 19. [jQuery] ์ฒดํฌ ์ด๋ฒคํธ ๊ฐ์ ๋ฐ์ ์ํค๊ธฐ ๋ชฉ์ฐจํ๋ฉด์ ์ฒดํฌ๋ฐ์ค๊ฐ 2๊ฐ ์๊ณ , ์ฒดํฌ๋ฐ์ค์ change ์ด๋ฒคํธ๋ฅผ ๊ฐ์งํ์ฌ ๋ ์ฒดํฌ๋ฐ์ค๊ฐ ๋ชจ๋ ์ฒดํฌ๋์์ ๋๋ง ๋ฒํผ์ ํ์ฑํ์ํค๋ ๊ธฐ๋ฅ์ด ์๋ค.๊ทธ๋ฐ๋ฐ, ์ฌ์ฉ์๊ฐ ์ง์ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ฒดํฌํ์ ๋๋ ์ด๋ฒคํธ๊ฐ ์ ๊ฐ์ง๋์์ง๋ง, ํจ์ ํธ์ถ๋ก ๋์ ์ผ๋ก ์ฒดํฌ๋ฐ์ค๋ฅผ ์ฒดํฌํ ๊ฒฝ์ฐ๋ ๊ฐ์ง๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์๋ค.์ด์ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฒดํฌ๋ฐ์ค๋ฅผ ๋์ ์ผ๋ก ์กฐ์ํ๋ฉด ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๋ค.๊ทธ๋์ trigger.('์ด๋ฒคํธ๋ช ')์ผ๋ก ์ด๋ฒคํธ๋ฅผ ๊ฐ์ ๋ก ๋ฐ์์์ผ ํด๊ฒฐ ํ๋ค.์์ ์ function check(checkId, target) { document.getElementById(target).classList.add('d-none'); $("#" + checkId).prop('checked', true); .. IT/development 2025. 1. 11. [Node.js] ๋ฌดํ ์คํฌ๋กค ์ ์ฉ ์์ค (feat. mobile) ๋ชฉ์ฐจ๊ฐ๋ฐํ๊ฒฝ๋ฐฑ์๋ํ๋ก ํธ์๋Express.js(Node.js ๊ธฐ๋ฐ ์น ํ๋ ์์ํฌ)EJS ํ ํ๋ฆฟ ์์ง(Embedded JavaScript)๋ผ์ฐํธrouter.get('/searchHistoryScroll', MyController.getHistoryIndexUsePaging);๋ผ์ฐํธ ํ์ผ์์ /searchHistoryScroll url์ MyController์ getHistoryIndexUsePaging ํจ์์ ๋งคํ์ปจํธ๋กค๋ฌ// ์๋จ ์ ์ ๋ถ๋ถ const axios = require('axios');// ๋ผ์ฐํธ์ ์ ์๋ ํจ์exports.getHistoryIndexUsePaging = async(req, res) => { let pageNo = req.query.page[0]; // ์กฐ.. IT/development 2025. 1. 11. [java] ์ง์ ๊ตฌํํ List ์ถ์ํ (feat. ์์กด๊ด๊ณ ์ฃผ์ ) ๋ชฉ์ฐจ๋ณต์กํ ๋ก์ง์ ์ํํ๋ ๋ฐฐ์น ํ๋ก๊ทธ๋จ์ด ์๋ค๊ณ ๊ฐ์ ํ๋ค.๋ก์ง์ ๋งค๊ฐ๋ณ์๋ก ๋์ด์จ ์ธ์๋งํผ ๋ฃจํ๋ฅผ ๋๋ฉด์ list์ ์๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๋ก์ง์ด๋ค.(์๋ถ๋ถ์ธ๊ฒ ์ค์)๋ฐฐ์นํ๋ก๊ทธ๋จ ์ฝ๋๋ฅผ ์ ์ ๊ฐ๋ฐ์๋ค์ด ๋ฆฌํฉํ ๋ง ํ๋ค๋ ์คํ ๋ฆฌ๋ค.Ver 1: ArrayList ์ฌ์ฉ์ ์ฑ๋ฅ ๋ฌธ์ package collection.test;import collection.list.MyArrayList;public class BatchProcessorV1 { // MyArrayList์ ์ง์ ์์กด(bad) private final MyArrayList list = new MyArrayList(); //์์ฒญ ๋ณต์กํ ๋ก์ง์ด๋ผ๊ณ ๊ฐ์ public void logic(int size) { long st.. IT/development 2025. 1. 5. [java] ์ง์ ๊ตฌํํ๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ > ์ถ๊ฐ, ์ญ์ ๊ธฐ๋ฅ (feat. ์๋ฃ๊ตฌ์กฐ) ๋ชฉ์ฐจ์ฐ๊ฒฐ๋ฆฌ์คํธ์ ์ถ๊ฐ, ์ญ์ ์๋ฆฌ๋ ์ ๋ง ๊ฐ๋จํ๋ฐ ๊ทธ ์ถ์์ ์ธ ๊ฐ๋ ์ ๋จธ๋ฆฟ์์ผ๋ก ๊ทธ๋ฆฌ๋๊ฒ ๋๋ฌด ์ค๋ ๊ฑธ๋ ธ๋ค.source codepackage collection.link;public class MyLinkedListV2 { private Node first; private int size = 0; //๋ง์ง๋ง ์ธ๋ฑ์ค์ ๊ฐ์ ์ถ๊ฐ public void add(Object e) { Node newNode = new Node(e); if(first == null) { first = newNode; } else { getLastNode().next = newNode; } size++; .. IT/development 2025. 1. 5. [java] LinkedList(์ฐ๊ฒฐ ๋ฆฌ์คํธ) ๋ด ๋ฐฉ์๋๋ก ์ดํด (feat. ์๋ฃ๊ตฌ์กฐ) ๋ชฉ์ฐจ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๊ณ ๋ฏผํ๋ค๊ฐ ์ค์ค๋ก ์์ง ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์ ์ ๋ฆฌ๊ฐ ์๋ ์ํ๋ผ์ ๊ทธ๋ฅ java๋ก ๋ถ๋ฅํ๋ค.source code package collection.link;public class NodeMain1 { public static void main(String[] args) { //๋ ธ๋ ์์ฑํ๊ณ ์ฐ๊ฒฐํ๊ธฐ: A -> B -> C Node first = new Node("A"); //1๋ฒ ์งธ ๋ ธ๋์ ์ฐธ์กฐ๊ฐ first.next = new Node("B"); //1๋ฒ ์งธ ๋ ธ๋์ nextํ๋์ 2๋ฒ ์งธ ๋ ธ๋์ ์ฐธ์กฐ๊ฐ ์ ์ฅ first.next.next = new Node("C"); //2๋ฒ ์งธ ๋ ธ๋์ nextํ๋์ 3๋ฒ ์งธ ๋ ธ๋์ ์ฐธ.. IT/development 2025. 1. 4. [java] ๋คํ์ฑ์ ์ด์ฉํ ์ค๋ณต ์ฝ๋ ๋ถ๋ฆฌ (feat. ์ต๋ช ํด๋์ค) ๋ชฉ์ฐจ [java] ๋คํ์ฑ์ ์ด์ฉํ ์ค๋ณต ์ฝ๋ ๋ถ๋ฆฌ (feat. ์ ์ ์ค์ฒฉ ํด๋์ค)๋ชฉ์ฐจEx2Mainpackage nested.anonymous.ex;public class Ex2Main { public static void helloThor() { System.out.println("ํ๋ก๊ทธ๋จ ์์"); //์ฝ๋ ์กฐ๊ฐ ์์ for (int i = 0; i helloThor(), helloLoki()์ ์ฝ๋ ์กฐ๊ฐ ์์ ~ ์ข ๋ฃ๋ถ๋ถ์ ์ค๋ณตyaga.tistory.com์ ํฌ์คํ ์์ ์ด์ด์ง๋ ๋ด์ฉ์ต๋ช ํด๋์ค ํ์ฉ1package nested.anonymous.ex;public class Ex1RefMainV2 { public static void hello(Process process) { Syst.. IT/development 2024. 12. 25. [java] ๋คํ์ฑ์ ์ด์ฉํ ์ค๋ณต ์ฝ๋ ๋ถ๋ฆฌ (feat. ์ ์ ์ค์ฒฉ ํด๋์ค) ๋ชฉ์ฐจEx2Mainpackage nested.anonymous.ex;public class Ex2Main { public static void helloThor() { System.out.println("ํ๋ก๊ทธ๋จ ์์"); //์ฝ๋ ์กฐ๊ฐ ์์ for (int i = 0; i helloThor(), helloLoki()์ ์ฝ๋ ์กฐ๊ฐ ์์ ~ ์ข ๋ฃ๋ถ๋ถ์ ์ค๋ณต์ฝ๋๋ค.๋ฆฌํฉํ ๋ง ๐Godpackage nested.anonymous.ex;public interface God { void god();}Ex2RefMainV1package nested.anonymous.ex;public class Ex2RefMainV1 { public static void hello(.. IT/development 2024. 12. 25. ์ด์ 1 2 3 4 ยทยทยท 22 ๋ค์