본문 바로가기

프로그래밍

(91)
Javascript 정규표현식 - n번째 글자만 '*'로 치환할 때 보통 이름이나 전화번호 같은 개인정보를 이렇게 처리한다. '홍길동'이 실제 데이터이면 '홍*동' 같은 식으로 보여주는 것이다. 서버에서 처리해야 하는 것이 당연하지만, 경우에 따라 프론트에서 처리해도 무방한 데이터도 있다. 그럴때는 이렇게 변환해주면 된다. n번째 문자만 치환하는 콛 아래 코드는 3자리 이상 문자열일 때, 2번째 문자만 '*'로 변환하는 예제이다. 코드를 잘 살펴보면 응용해서 사용할 수 있을 것이다. const replaceSecondChar = (str) => { return str.length >= 3 ? str.replace(/(? { return str.length >= 4 ? str.replace(/(?
엑셀 숫자 0일 때 소수점 구분자 없이 0으로 표시하기 업무용 시스템을 개발하다 보면 데이터를 엑셀로 내려받게 해달라는 요구사항이 참 많습니다. 아무래도 사무직에게 Excel은 뗄래야 뗄 수 없는 프로그램인데요, 숫자가 중요한 통계 데이터 다운로드 양식을 개발하던 중 일어난 문제와 해결책을 남깁니다. 데이터: 0, 0.01, 0.03 .... 이렇게 소수 데이터가 있었습니다. 엑셀로 내려받았더니 모두 0으로 나오네요. 무려 22 전... 중학생 때 컴활1급을 딴 엑셀 좀 아는 저는 셀 서식에 들어가 다음과 같이 써줍니다. #,##0.### 하나씩 뜯어보면 맨처음 #,##0은 천 단위마다 콤마로 구분하고 0일 때는 0을 표시하라는 말입니다. 그리고 마지막 .###은 소수점 이하는 세 자리까지 반올림하여 표시하는데, 값이 없다면 표시하지 마라는 뜻이죠. 자, ..
jQuery UI sortable을 사용한 드래그하여 목록 순서 변경, handle 옵션으로 특정 버튼만 적용할 때 유의사항 jQuery-ui sortable() https://api.jqueryui.com/sortable/ jQuery-ui의 sortable 함수는 특정 element 하위 목록을 드래그하여 정렬할 수 있게 한다. 적용 가능한 태그는 li, div 등 크게 상관없는 것 같다. 그림은 카카오지도 길찾기 영역이다. 클라이언트는 실내지도의 길찾기 기능을 구현해 달라고 했다. 퍼블에서 UI를 만들어 줬는데, 그림의 초록색 부분이 클릭하여 드래그하는 버튼 영역이다. 그런데 특정 element만 sortable 핸들러로 사용할 수 있는 handle 옵션을 아무리 넣어봐도 적용되지 않는다. 알고보니 기본적으로 클릭 시 이벤트가 있는 button, input(클릭 시 커서) 등은 sortable의 클릭 이벤트가 preven..
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!";