Java34 [springBoot] ์ธํฐ์ ํฐ๋ฅผ ํตํด ๋ฉ๋ด ์ ๊ทผ ๊ด๋ฆฌ ์์คํ ์์๋ ๋ณด์ ๋๋ฌธ์ ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๋ฉ๋ด ์ ๊ทผ ๋ฒ์๋ฅผ ์ ํํด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด ์์คํ ๊ด๋ฆฌ์๋ ์์คํ ๊ด๋ฆฌ ๋ฉ๋ด๋ง ์ ๊ทผํ ์ ์์ด์ผ ํ๊ณ ๊ธ์ฌ๊ด๋ฆฌ์๋ ๊ธ์ฌ๋ฉ๋ด์๋ง ์ ๊ทผํ ์ ์์ด์ผ ํ๋ค. ์ธํฐ์ ํฐ๋ฅผ ํตํด ์๋์ฒ๋ผ ๊ตฌํํ๋ค. package kr.dev.common.interceptor; import kr.dev.cmmn.mapper.CmmnMapper; import kr.dev.cmmn.model.MenuVo; import kr.dev.cmmn.service.CmmnService; import kr.dev.user.model.EmpVO; import kr.dev.user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springf.. IT/development 2023. 9. 24. [Java] ๊ฐ๋ณ์ธ์ ์ฌ์ฉ(feat. String ... str) java์์ parameter๊ฐ์์ ํ์ ์ ๋ค๋ฅด๊ฒ ํด์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ๋ฉ์๋๋ฅผ ๋์ผํ ๋ฉ์๋๋ช ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.(์ค๋ฒ๋ก๋ฉ)@Slf4j public class Test { public void print(String str) { log.info("str = [{}]", str); } public void print(int num) { log.info("num = [{}]", num); } }ํ์ง๋ง parameter์ ๊ฐ์๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๋?Test test = new Test(); //์ด๋ ๊ฒ ํธ์ถํ๊ณ ์ถ์ ๋.. test.print(1); test.print(1, 2); test.print(1, 2, 3); test.print(1, 2, 3, 4); test.print(1, 2, 3, .. IT/development 2023. 8. 22. [springBoot] ์๋ก ๋ค๋ฅธ branch๋ฅผ ๋์์ ๋์ฐ๋ ค๋ฉด? ๊ฑฐ์ฐฝํ ๋ฐฉ๋ฒ์ ์๋๊ณ ๋งค์ฐ ๊ฐ๋จํ๋ค. ์ฌ์ด ์ดํด๋ฅผ ์ํด ์์ค์ ์จ ๋ณด๊ฒ ๋ค. A๋ผ๋ branch๋ springBoot, thymeleaf, javascript/jQuery๋ก ๊ฐ๋ฐ ๋์ด ์๋ ์ํ์ด๊ณ B๋ผ๋ branch๋ A branch์์ ์๋ก branch๋ฅผ ๋ด ๋ธ๋์น๋ค. B branch์์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋๋ฅผ javascript/jQuery๋ฅผ Vue.js๋ก ์ ํํ๋ ์์ ์ ํ๊ธฐ ์ํด์๋ค. A branch์์ ๊ธฐ์กด์ ๋๋ ๊ธฐ๋ฅ์ ์ ์งํ๋ฉด์ ํ๊ฒฝ๋ง ๋ณํ๋๋ ์ํฉ์ด๋ค. ์ด ๋ A branch์ ํ๋ฉด์ ๋ณด๋ฉด์ ๊ฐ๋ฐํ๋๊ฒ ๋น์ฐํ ํธํ๋ค. ์ด๋ฐ ์ํฉ์ด๋ผ๊ณ ๊ฐ์ ํ์ ๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง ๋ด ๊ฒฝ์ฐ๋ ์๋์ฒ๋ผ ํ๋ค. A branch๋ port ๋ณ๊ฒฝ ํ build ํด์ jarํ์ผ๋ก ๋ก์ปฌ์์ ๋์ฐ๊ณ B branch.. IT/development 2023. 8. 12. [IDE] IntelliJ ํญ ์ข/์ฐ ์ด๋(feat. Tab Shifter) ํ๋ฌ๊ทธ์ธ ์ค์น ํ์(Tab Shifter) ์ฐ์ธก ํญ ์ด๋: ctrl + alt + shift + ] ์ข์ธก ํญ ์ด๋: ctrl + alt + shift + [ ํญ์ ๋๋๊ณ ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ์ด ๊ฒฝ์ฐ ํค๋ณด๋๋ก๋ง ์ด๋ํ ์ ์์ผ๋ ์๋นํ ๋ง๊ฐํ๋ค. IT/development 2023. 6. 22. [java] list์ null ์ฒดํฌ(ObjectUtils.isEmpty()) ๋ชฉ์ฐจ NPE ๐ NPE(NullPointerException)๋ java ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ์ ๋ง ๋ง์ด ๋ง๋๋ ์๋ฌ ์ค ํ๋์ด๊ณ Null๊ฐ์ธ ๋์์ ๊ฐ์ง๊ณ ๋ญ๊ฐ ํ๋ ค๊ณ ํ๋ฉด ๋ฐ์ํ๋ ์๋ฌ๋ค. ๋ฐฉ์ง๋ฒ์ ๊ณตํต๋ชจ๋์ ๋ง๋ค์ด ํญ์ null ์ฒดํฌ๋ฅผ ํ๊ฒ๋ ๊ฐ๋ฐํ๋๊ฒ ์ฝ์ง์ ์ค์ด๋ ๊ธธ์ผ ๋ฏ ์ถ๋ค. ์๋์ ๊ฐ์ ์ํฉ์์ NPE๊ฐ ๋ฐ์ํ๋ค. userList์ ์๋ฌด๊ฒ๋ ํ ๋น๋์ง ์์ ์ํ์ธ๋ฐ ์ฌ์ด์ฆ๋ฅผ ์ธก์ ํ๋ ค๊ณ ํ๋ค๋?(๋ฏธ์น๊ฑด๊ฐ?) List userList = null; log.info("userList => {}", userList.size()); ์คํ๋ง์ผ๋ก ๊ฐ๋ฐ ์ ๋ณดํต ๋ฐ์ดํฐ๋ฅผ list์ ๋ด์ ํ๋ฉด์ ๋ฟ๋ฆฌ๊ฑฐ๋ API ํ์์ผ๋ก ํด๋ผ์ด์ธํธ์ ๋ด๋ฆฌ๊ฑฐ๋ ํ ํ ๋ฐ list๊ฐ null์ด๊ฑฐ๋ ๋น๊ฐ์ด ๋ด๊ธฐ๊ฑฐ๋ ์ฌ์ด์ฆ๊ฐ 0์ธ ๊ฒฝ์ฐ ๋ฑ๋ฑ .. IT/development 2023. 2. 12. [mybatis] mybatis multi update(๋ค์ค ์ ๋ฐ์ดํธ) ๋ชฉ์ฐจ ๋ค์ค ์ ๋ฐ์ดํธ๋ฅผ ํ๋ ๋ฐฉ๋ฒ ์ค mybatis์์ ์ง์ํ๋ multi update๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๋ค. application.properteis #allowMultiQueries=true mybatis multi update ์ฌ์ฉํ๊ธฐ ์ํด์ ์ด๊ฑธ ๊ผญ ๋ฃ์ด์ผ ํ๋ค. spring.datasource.url=jdbc:log4jdbc:mariadb://localhost:3307/test?characterEncoding=UTF-8&allowMultiQueries=true spring.datasource.username=test spring.datasource.password=1234 mapper xml UPDATE tb_common_code SET code_id = #{item.codeId} ,code_.. IT/development 2022. 12. 16. [Java] java casting(string), String.valueOf(), String.toString() ๋ชฉ์ฐจ java casting(string), String.valueOf(), String.toString Casting : String() ๋ณ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํ String.valufOf() object๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฐํํจ, object๊ฐ null์ด๋ฉด "null"์ ๋ฐํํจ toString() ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํด์ ๋ฐํ ๊ฐ์ฒด๊ฐ null์ด๋ฉด java.lang.NullPointerException ๋ฐ์ ์ฐธ์กฐ : https://tychejin.tistory.com/164 [Java] Casting, valueOf, toString ๋น๊ต Casting - (String)๋ณ์๊ฐ null์ด๋ฉด ๋ฌธ์์ด "null"์ ๋ฐํํฉ๋๋ค.๋ณ์๊ฐ ๋ฌธ์์ด์ด ์๋๋ฉด ClassCastException์ด ๋ฐ์ํฉ๋๋ค. String.. IT/development 2022. 11. 29. [Java] Java bit ํ์ธ ๋ชฉ์ฐจ Java bit ํ์ธํ ๊ฒฝ์ฐ cmd ์คํ ํ ์๋ ๋ช ๋ น์ด ์ ๋ ฅ ์ ์ด๋ฏธ์ง์ฒ๋ผ 64-Bit๋ผ๋ ๋ด์ฉ์ด ํ์๋๋ฉด 64bit Java๊ฐ ์ค์น๋ ๊ฒ์ ์๋์ฒ๋ผ ๋์ค๋ฉด 32bit ์ค์น๋ ๊ฒ์ Error : This Java instance does not support a 64-bit JVM. Please install the desired version. ๊ฐ๋จํ ๋ด์ฉ์ด์ง๋ง ๋์ค์ ๋ด๊ฐ ๋ณด๊ธฐ ์ํด ๊ธฐ๋ก ์ฐธ์กฐ : https://onedaystudy.tistory.com/79 [JAVA] JAVA BIT ํ์ธํ๋ ๋ฐฉ๋ฒ Role์ด ๋ฐ๋๋ฉด์ JAVA๋ฅผ ๋ด๊ฐ ์ค์นํ์ง ์๊ณ ์๋ฒ๋ด๋น์๋ค์๊ฒ ์ค์น๋ฅผ ์์ฒญํ๋ ์ผ์ด ๋น๋ฒํด์ก๋ค. ๋ถ๋ช 64bit๋ก ์ค์นํด๋ฌ๋ผ๊ณ ์์ฒญํ์์๋ ๋ถ๊ตฌํ๊ณ ,์ข ์ข 32bit๋ก ์ค์นํด๋๊ณ ๋ 64bit ์ค์น.. IT/development 2022. 11. 24. [java]์๋ ์์ผ๋ก ๋ง๋์ด ๊ณ์ฐ ์์ ๋ชฉ์ฐจ [java]์๋ ์์ผ๋ก ๋ง๋์ด ๊ณ์ฐ ์์ ์๋ ์์ผ๋ก ๋ง๋์ด ๊ตฌํ๋ ์์ ์์ค์ด๋ค. public static int getAgeByBirthday(String birthDay) { // param๊ฐ์ "2000-01-01" ํ์ ์ ๋ฐ์ดํฐ๋ผ๋ ๊ฐ์ String birth = StrUtils.replace(birthDay, "-", ""); // ๋ ,์,์ผ ์๋ฅด๊ธฐ int birth_year = StrUtils.parseInt(StrUtils.substring(birth, 0, 4)); int birth_month = StrUtils.parseInt(StrUtils.substring(birth, 4, 6)); int birth_day = StrUtils.parseInt(StrUtils.substring(bi.. IT/development 2022. 11. 24. [Java] Java ํ๋ก๊ทธ๋จ ์คํ๊ณผ์ (feat. TCPSchool) ๋ชฉ์ฐจ Java์ ์คํ๊ณผ์ (feat. TCPSchool)๐ Java ํ๋ก๊ทธ๋จ์ ์คํ๊ณผ์ ์ ๊ธฐ๋กํ๋ค. ๋ฌผ๋ก ๋ด๋ถ์ ์ผ๋ก๋ ๋ ๋ณต์กํ์ง๋ง ์ ๋ง ๊ฐ๋จํ ์ ๋ฆฌํด ๋ณธ๋ค. ์ปดํ์ผ ํ์ ํ๊ฒฝ๐ ๊ฐ๋ฐ์๊ฐ ์ฝ๋ฉํ ์๋ฐ์์ค๋ฅผ ์ปดํ์ผ ์ ์๋ฐ ์ปดํ์ผ๋ฌ๊ฐ JVM์ด ์ดํดํ ์ ์๋ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋(.class)๋ก ๋ณํํ๋ค. ์๋ฐ ํด๋์ค ํ์ผ(.java) ์๋ฐ ์ปดํ์ผ๋ฌ ์๋ฐ ์ปดํ์ผ๋ฌ๋ ์๋ฐ ์ค์น ์ javac.exe๋ผ๋ ์คํ ํ์ผ ํํ๋ก ์ค์น๋จ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋(.class) ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ JVM(์๋ฐ ๊ฐ์ ๋จธ์ )์ด ์ดํดํ ์ ์๋ ์ธ์ด๋ก ๋ณํ๋ ์๋ฐ ์์ค ์ฝ๋๋ฅผ ์๋ฏธํจ ์๋ฐ ์ปดํ์ผ๋ฌ์ ์ํด ๋ณํ๋๋ ์ฝ๋์ ๋ช ๋ น์ด ํฌ๊ธฐ๊ฐ 1๋ฐ์ดํธ๋ผ์ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ผ๊ณ ๋ถ๋ฆฐ๋ค. ํ์ฅ์๋ .class์ด๊ณ JVM์ด ์ค์น๋์ด ์๋ ๊ณณ ์ด๋์๋ .. IT/development 2022. 11. 23. ์ด์ 1 2 3 4 ๋ค์