๐Develop
-
๋ด์ฉ RDBMS์์ Model ๋๋ Dto ์ Date ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ค๋ณด๋ฉด ๋ฐ๋ฆฌ์ธ์ปจ์ฆ๊น์ง ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. (timestamp) ์ต๋ํ ์์ ๋จ์๋ฅผ ์ต์ํ ํ ๋ฐฉ๋ฒ์ด ๋ฌด์์ด ์์๊น ๊ณ ๋ฏผํ๋ค๊ฐ Javascript ์์ API๋ก ๋ถ๋ฌ์ฌ ๋, ์ ์ผ ๋จ์ํ ๋ฐฉ๋ฒ์ผ๋ก convert ํ๋ ๋ฐฉ๋ฒ์ ์ฑํํ๋ค. ์ฝ๋ function convertDateFormat(date) { let dateSplit = date; if (date.indexOf("T") != -1) { dateSplit = date.split("T"); dateSplit = dateSplit[0] + ' ' + dateSplit[1].substring(0, 8); } return dateSplit; }
Java LocalDateTime ๋ฅผ Javascript ์์ ์ฒ๋ฆฌ ํ ๋๋ด์ฉ RDBMS์์ Model ๋๋ Dto ์ Date ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ค๋ณด๋ฉด ๋ฐ๋ฆฌ์ธ์ปจ์ฆ๊น์ง ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. (timestamp) ์ต๋ํ ์์ ๋จ์๋ฅผ ์ต์ํ ํ ๋ฐฉ๋ฒ์ด ๋ฌด์์ด ์์๊น ๊ณ ๋ฏผํ๋ค๊ฐ Javascript ์์ API๋ก ๋ถ๋ฌ์ฌ ๋, ์ ์ผ ๋จ์ํ ๋ฐฉ๋ฒ์ผ๋ก convert ํ๋ ๋ฐฉ๋ฒ์ ์ฑํํ๋ค. ์ฝ๋ function convertDateFormat(date) { let dateSplit = date; if (date.indexOf("T") != -1) { dateSplit = date.split("T"); dateSplit = dateSplit[0] + ' ' + dateSplit[1].substring(0, 8); } return dateSplit; }
2024.02.15 -
//์ฒ๋จ์ (,) ์์ฑ function numberWithCommas(number) { if(isNaN(number)){ number = parseInt(number); } return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
javascript ์ซ์ ์ฒ ๋จ์ ์ฝค๋ง ์์ฑ//์ฒ๋จ์ (,) ์์ฑ function numberWithCommas(number) { if(isNaN(number)){ number = parseInt(number); } return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
2024.02.15 -
Spring Batch ์ผ๊ด์ฒ๋ฆฌ๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ์ ์์ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ์์์ ๋ฐ๋ผ ์ค๋จ ์์ด ์ฒ๋ฆฌํ๋ ๊ฒ Spring Batch ์ 5๊ฐ์ง ํน์ง 1. ๋์ฉ๋ ์ฒ๋ฆฌ: ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋, ์ ๋ฌํ๊ฑฐ๋, ๊ณ์ฐํ๋ ๋ฑ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ผ ํ๋ค. 2. ๊ฒฌ๊ณ ์ฑ: ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ์ถฉ๋/์ค๋จ ์์ด ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ค. 3. ์๋ํ: ์ฌ์ฉ์ ๊ฐ์ ์์ด ์คํ๋์ด์ผ ํ๋ค. 4. ์ ๋ขฐ์ฑ: ๋ฌด์์ด ์๋ชป๋์๋์ง๋ฅผ ์ถ์ ํ ์ ์์ด์ผ ํ๋ค. (๋ก๊น , ์๋ฆผ) 5. ์ฑ๋ฅ: ์ง์ ํ ์๊ฐ ์์ ์ฒ๋ฆฌ๋ฅผ ์๋ฃํ๊ฑฐ๋, ๋์์ ์คํ๋๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋ฐฉํดํ์ง ์์์ผ ํ๋ค. Spring Scheduler ํน์ ํ ์๊ฐ์ ๋ฑ๋กํ ์์ ์ ์๋์ผ๋ก ์คํ์ํค๋ ๊ฒ Spring Scheduler์ 3๊ฐ์ง ํน์ง 1. Spring Framework์ ๊ธฐ..
Spring BatchSpring Batch ์ผ๊ด์ฒ๋ฆฌ๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ์ ์์ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ์์์ ๋ฐ๋ผ ์ค๋จ ์์ด ์ฒ๋ฆฌํ๋ ๊ฒ Spring Batch ์ 5๊ฐ์ง ํน์ง 1. ๋์ฉ๋ ์ฒ๋ฆฌ: ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋, ์ ๋ฌํ๊ฑฐ๋, ๊ณ์ฐํ๋ ๋ฑ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ผ ํ๋ค. 2. ๊ฒฌ๊ณ ์ฑ: ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ์ถฉ๋/์ค๋จ ์์ด ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ค. 3. ์๋ํ: ์ฌ์ฉ์ ๊ฐ์ ์์ด ์คํ๋์ด์ผ ํ๋ค. 4. ์ ๋ขฐ์ฑ: ๋ฌด์์ด ์๋ชป๋์๋์ง๋ฅผ ์ถ์ ํ ์ ์์ด์ผ ํ๋ค. (๋ก๊น , ์๋ฆผ) 5. ์ฑ๋ฅ: ์ง์ ํ ์๊ฐ ์์ ์ฒ๋ฆฌ๋ฅผ ์๋ฃํ๊ฑฐ๋, ๋์์ ์คํ๋๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋ฐฉํดํ์ง ์์์ผ ํ๋ค. Spring Scheduler ํน์ ํ ์๊ฐ์ ๋ฑ๋กํ ์์ ์ ์๋์ผ๋ก ์คํ์ํค๋ ๊ฒ Spring Scheduler์ 3๊ฐ์ง ํน์ง 1. Spring Framework์ ๊ธฐ..
2024.02.07 -
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
๋์์ฑ ์ด์๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
2024.01.24 -
Spring logback ๊ฐ์ธ์ ์ผ๋ก ์ฐ๋ค๊ฐ ํ ํ๋ก์ ํธ๊น์ง ํ์ฅํด์ ์ฌ์ฉ ์ค์ธ logback ์ค์ ๋ค์ ์์ฃผ ๋ฌผ์ด๋ด์ ๊ธฐ๋ก์ ๋จ๊ธด๋ค. ๋ฌผ๋ก ์ปค์คํฐ๋ง์ด์ง ํ ๋ถ๋ถ์ ๋ค์ด๋ด๊ณ .. ํ๋ก์ ํธ์ ๊ด๋ จ๋ ์ค์ ์ ๋ด์ application.properties ์ ์ค์ ํ, logback-spring.xml ์์ ์์๋ฐ์ ์ฌ์ฉํ๋๋ก ํ๋ค. pom.xml org.projectlombok lombok true org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 application.properties ํ์ผ #Logging logging.root.level=INFO logging.file.path=/app/services/logs/ logback-spring.xml ํ์ผ [%d{..
[logback] ๋ด๊ฐ์ฐ๋ Spring logback ์ค์ Spring logback ๊ฐ์ธ์ ์ผ๋ก ์ฐ๋ค๊ฐ ํ ํ๋ก์ ํธ๊น์ง ํ์ฅํด์ ์ฌ์ฉ ์ค์ธ logback ์ค์ ๋ค์ ์์ฃผ ๋ฌผ์ด๋ด์ ๊ธฐ๋ก์ ๋จ๊ธด๋ค. ๋ฌผ๋ก ์ปค์คํฐ๋ง์ด์ง ํ ๋ถ๋ถ์ ๋ค์ด๋ด๊ณ .. ํ๋ก์ ํธ์ ๊ด๋ จ๋ ์ค์ ์ ๋ด์ application.properties ์ ์ค์ ํ, logback-spring.xml ์์ ์์๋ฐ์ ์ฌ์ฉํ๋๋ก ํ๋ค. pom.xml org.projectlombok lombok true org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 application.properties ํ์ผ #Logging logging.root.level=INFO logging.file.path=/app/services/logs/ logback-spring.xml ํ์ผ [%d{..
2023.11.28 -
axiso Axios ๋ ๋ธ๋ผ์ฐ์ , Node.js ๋ฅผ ์ํ Promise API ๋ฅผ ํ์ฉํ๋ HTTP ๋น๋๊ธฐ ํต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(return ์ promise ๊ฐ์ฒด๋ก ํด์ฃผ๊ธฐ ๋๋ฌธ์, response ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ฌ์ด ์ฅ์ ) axios ํน์ง ์ด์ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ์ XMLHttpRequest ๊ฐ์ฒด ๋๋ Node.js์ http api ์ฌ์ฉ Promise(ES6) API ์ฌ์ฉ ์์ฒญ๊ณผ ์๋ต ๋ฐ์ดํฐ์ ๋ณํ HTTP ์์ฒญ ์ทจ์ HTTP ์์ฒญ๊ณผ ์๋ต์ JSON ํํ๋ก ์๋ ๋ณ๊ฒฝ axios ๊ธฐ์ด๋ฌธ๋ฒ /* axios ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ ์์ */ axios({ method: "get", // ํต์ ๋ฐฉ์(GET/POST) url: "www.google.com", // ์๋ฒ headers: {'X-Requested-With..
[React] axios vs fetch / axios fetch ์ฐจ์ด / axios fetch ์ฐจ์ด์ axiso Axios ๋ ๋ธ๋ผ์ฐ์ , Node.js ๋ฅผ ์ํ Promise API ๋ฅผ ํ์ฉํ๋ HTTP ๋น๋๊ธฐ ํต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(return ์ promise ๊ฐ์ฒด๋ก ํด์ฃผ๊ธฐ ๋๋ฌธ์, response ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ฌ์ด ์ฅ์ ) axios ํน์ง ์ด์ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ์ XMLHttpRequest ๊ฐ์ฒด ๋๋ Node.js์ http api ์ฌ์ฉ Promise(ES6) API ์ฌ์ฉ ์์ฒญ๊ณผ ์๋ต ๋ฐ์ดํฐ์ ๋ณํ HTTP ์์ฒญ ์ทจ์ HTTP ์์ฒญ๊ณผ ์๋ต์ JSON ํํ๋ก ์๋ ๋ณ๊ฒฝ axios ๊ธฐ์ด๋ฌธ๋ฒ /* axios ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ ์์ */ axios({ method: "get", // ํต์ ๋ฐฉ์(GET/POST) url: "www.google.com", // ์๋ฒ headers: {'X-Requested-With..
2023.07.24