프로그래밍/이것저것 일하면서 (55) 썸네일형 리스트형 엑셀 숫자 0일 때 소수점 구분자 없이 0으로 표시하기 업무용 시스템을 개발하다 보면 데이터를 엑셀로 내려받게 해달라는 요구사항이 참 많습니다. 아무래도 사무직에게 Excel은 뗄래야 뗄 수 없는 프로그램인데요, 숫자가 중요한 통계 데이터 다운로드 양식을 개발하던 중 일어난 문제와 해결책을 남깁니다. 데이터: 0, 0.01, 0.03 .... 이렇게 소수 데이터가 있었습니다. 엑셀로 내려받았더니 모두 0으로 나오네요. 무려 22 전... 중학생 때 컴활1급을 딴 엑셀 좀 아는 저는 셀 서식에 들어가 다음과 같이 써줍니다. #,##0.### 하나씩 뜯어보면 맨처음 #,##0은 천 단위마다 콤마로 구분하고 0일 때는 0을 표시하라는 말입니다. 그리고 마지막 .###은 소수점 이하는 세 자리까지 반올림하여 표시하는데, 값이 없다면 표시하지 마라는 뜻이죠. 자, .. Vue CKEditor 커서가 처음으로 이동하는 오류 CKEditor vue 버전 사용중 커서 이동 오류 오류 증상 Vue 2.x로 작성된 프론트엔드에서 CKEditor를 사용 중이다. (당연하게도) CKEditor 샘플 페이지에서 확인 시 오류가 없는데, 우리 프로젝트에서 에디터의 정렬이나 표 기능을 사용하면 커서가 내용의 맨 처음으로 이동하는 오류가 있다. 왼쪽이든 가운데든 텍스트 정렬 버튼을 눌러놓고 글자를 입력하면 입력한 글자가 내용의 맨 처음에 들어가게 된다. 해결 에디터 버전까지 바꿔보았지만 원인은 엉뚱한 데 있었다. 바로 모델 바인딩 시 .trim 수식어를 사용한 것. .trim 수식어를 이것을 지우니 거짓말처럼 해결되었다. Vue 프레임워크의 이런 기능들은 놀랍도록 편리하지만, 간혹 이렇게 컴포넌트를 사용하며 값의 변경 시점을 제어할 수 없는.. 메이븐 http 레파지토리 사용 오류 (Check that Maven settings.xml does not contain http repositories) Maven http repository 사용 오류 오류 메시지 Check that Maven settings.xml does not contain http repositories이런 오류가 발생할 때가 있다. 메이븐 버전이 높아지면서 http 레파지토리를 사용할 수 없게 되었다. https를 사용해야 한다. 하지만 불가피한 사정으로(?) https를 적용하지 못하는 경우도 있다. 원인 Maven release note에서 원인을 찾을 수 있었다. 보안상의 이유로 2021-04-04에 릴리즈 된 3.8.1 버전부터는 http 레파지토리를 사용할 수 없다. https://maven.apache.org/docs/3.8.1/release-notes.html#cve-2021-26291 해결방법 단순하게, 3.8... Postfix(SendMail) 발송 테스트 (SendMail, 리눅스 SMTP 메일 서버) 서버에서 자체 메일 발송을 처리하고 있는데 아무리 찾아봐도 sendmail이 안 돌아가고 있다. 어찌된 영문인가 봤더니 요즘에는 postfix로 바뀌었다고 한다. 갑자기 고인물이 된 기분이 들었다 ^^ postfix 메일 발송 (SendMail 동일) 다행히 Postfix로 메일 발송을 테스트하는 것도 SendMail과 같았다. 텔넷으로 접속 > telnet {메일서버} {포트번호} Trying {메일서버}... Connected to {메일서버}. Escape character is '^]'. 220 {어쩌고저쩌고 도메인} ESMTP Postfix텔넷으로 접속 완료가 되었으면 발신자, 수신자, 내용을 작성해주면 된다. 내용을 모두 입력했을 때는 마지막 줄에 마침표 .를 입력하고 엔터하면 .. QueryBox 데이터 내보내기 시 한글 인코딩 주의사항 QueryBox 데이터 내보내기 시 한글 인코딩 주의사항 QueryBox는 아주 괜찮은 프로그램이다. 발주사에서 툴을 제공해주지 않아도 라이선스에 구애받지 않고 무료로 사용할 수 있는 몇 안되는 프로그램 중 하나다. 기능적인 면에서도 DBA가 아닌 평범한 개발자의 입장에서 툴을 사용하므로 이 이상 바랄것이 없다. 다만 어느 프로그램이나 그렇듯 소소한 불편함이 가끔 있다. 데이터 내보내기/들여오기에서는 특히나 그런 점이 많았다. 데이터 내보내기 주의사항 스키마 8개 정도를 다 옮기고 애플리케이션을 구동시켜 보니 그제서야 한글이 깨진 것이 보인다. 아뿔싸... 분명히 디비에 접속할 때 문자 인코딩도 DB와 똑같이 맞춰줬는데 왜 그럴까? 몇 번을 테스트 해보아도 마찬가지다. 쉬는시간 한 번 가지고 찬찬히 살펴.. 오라클 유저(스키마) 생성 시 ORA-00988 ORA-00988 비밀번호가 틀립니다 오라클 유저 생성 중 오류가 발생했다. CREATE USER NEWUSER IDENTIFIED BY 'newpasswd!'; 발생 오류: ORA-00988 비밀번호가 틀립니다 새 유저인데 뭔 비밀번호가 틀려?? 알고 보니 패스워드에 쌍따옴표가 아닌 홑따옴표를 사용하여 발생한 오류였다. 따옴표를 바꿔주니 잘된다. 해결 CREATE USER NEWUSER IDENTIFIED BY "newpasswd!"; logback 보안 업데이트 / log4j2 JNDI Lookup 취약점 관련 조치 log4j2 JNDI Lookup 취약점 이미 2021년 한 해를 뜨겁게 장식했던 매우 심각한 취약점이다. 우리 프로젝트에서는 log4j2를 직접 사용하지 않고 spring-boot-starter-logging 모듈을 통해 logback을 사용하고 있는데, Spring 공식 블로그에는 다음과 같이 안내하고 있으므로 별다른 조치를 취하지 않았다. Apache Log4j 보안 업데이트 권고(CVE-2021-45105, 44832) (Update. 22-1-3 14:30) Log4J2 Vulnerability and Spring Boot Spring Boot users are only affected by this vulnerability if they have switched the default loggi.. 정규식 - XSS방지 EL에서 JSTL <c:out escapeXml="true"/> 변환 꿀팁 XSS 방지를 위해 필터가 사용하지만, 이런저런 사연으로 EL을 JSTL c:out으로 변경하라는 요청이 왔다. 하나씩 찾아 바꾸기에는 너무 노동집약적인 작업이라 다음과 같이 정규식을 사용하였다. 찾을 값 (정규식 사용!) (\$\{.+?\})변경할 값 ${title} 같은 값이 로 바뀐다. 이전 1 2 3 4 5 6 7 다음