Google 태그 관리자 아이콘
반응형

java 3

.use(moment()에서 java LocalDateTime으로 변환하기)

고민 client로 react를 사용하고 server로는 springboot를 사용하는 와중에 시간 데이터를 react에서 springboot로 넘기는데 문제가 있었다. react에서는 moment()로 시간을 나타내는데 이걸 자바의 LocalDateTime으로 그대로 넘기니 시간이 이상하게 변환되었다. 분명 react에서 debugger로 확인했을때 zoneId도 잘 표현되었고 java로 넘어온 것도 역시 zoneId가 맞기때문에 zone설정문제는 아니었다. 결론 moment()객체를 그대로 보내지 않고 moment().format("YYYY-MM-DDTHH:mm:sszz")과 같이 포맷변환해서 보내면 잘된다. 접근방법 startDate = moment() 이런식으로 데이터를 넣었고 이대로 axios를..

.findout(java와 mysql에서 emoji 길이 통일시키기)

고민 서버(spring, java)와 mysql에서 emoji길이 인식의 차이가 있다. 같은 이모지인데 왜 길이 값을 다르게 인식하는지 이해가 안되었다. 또한 글자 길이 제한로직을 처리하기위해서는 이들의 일관된 기준이 필요하였다. 결론 db의 collataion을 utf8mb4임을 확인하고 서버(java)에서 String을 아래처럼 분해하여 같은 글자길이로 인식하도록 설정해서 해결하였다. 접근방법 mysql 확인 mysql에서는 emoji가 제대로 잘 보였고 어떻게 그런지 확인해보았다. 흔히 글자수를 제한한 필드를 선언할때 varchar(20)과 같이 선언하고 있는데 여기서 varchar의 20이 어떤 collataion으로 선언되어있는지가 중요하다. 다음 명령어로 확인이 가능하였다. SHOW VARIA..

.use(collection객체 로그남기기: list, set, map)

고민 collection객체에 대해 데이터가 잘 들어가있는지 종종 로그로 남기고 싶다. 그때마다 for문을 돌려서 만들기는 거창한데 간단한 방법이 있으면 좋겠다고 생각했다. 결론 list, setStringUtils.join(hashKeyCollections, ",") mapStringUtils.join(hashKeyMap.entrySet().stream().collect(Collectors.toList()), ",")Arrays.toString 대신에 더 안전 접근방법 기존에는 Arrays.toString을 이용하기도 했는데 StringUtils로 하면 좀 더 편했다. map은 사실 좀 더 편한방법이 있으면 좋겠다고 생각했으나 현재는 저렇게 표현하는게 최선이었다. Joiner.on(",").withKe..

카테고리 없음 2020.12.22
반응형