본문 바로가기

전체 글

[mariadb] mariadb에서 utf8mb4 처리 현재 mariadb를 사용중인데, 기본 character-set을 utf8_general_ci 으로 설정해서 사용중이다. 그런데 가끔씩 database에 insert 처리를 할 경우 에러가 발생하는 경우가 발생하는데, utf-8인데도 왜 에러가 나나 싶었는데, 알고 보니 mariadb의 utf8 은 3byte로 처리되는데, 유니코드 U+1000 이상문자의 경우 4 byte가 필요하면서 (이 경우는 이모지(emoji) 가 대부분 문제임) 에러가 발생하고 있었고, 현재는 무시하고 있지만, 추후에는 기본 문자셋을 utf8mb4_unicode_ci 으로 변경해야 할듯 싶다. (아무래도 3byte에서 4byte로 늘어나기 때문에 기존의 컬럼길이에 대해서 고민이 필요하다) 우선 기존의 문자셋을 변경하는 방안을 정리.. 더보기
Eclipse 실행시 Java 버전으로 수행안될때 Eclipse 새로운 버전은 jdk 11 이상을 요구하는 경우가 생겼다. 아직까지 프로젝트에서 jdk8 정도만 사용하고 있는데, Eclipse 때문에 jdk11을 사용해야 하는 경우가 생기다니.. 이방법을 해결하기위해서 이러저리 찾다보니 비교적 많이나오는 방법은 1. 제어판\시스템 및 보안\시스템 에서 고급시스템 설정 메뉴에서 path 설정을 추가 그런데 이방법은 사이트 이용하다보면 jre 설치를 요구하는 곳이 있어서 설치하다보면 path의 우선순위가 변경된다..ㅠㅠ 2. eclipse.ini 에 아래의 옵션 추가 -vm C:\java\jdk-11\bin 이 방법이 제일 맘에 든다. 더보기
javascript 날짜형식 정규식 체크하기 현재 운영하는 사이트에서는 조회할때 기본 날짜를 입력해놓기 때문에 당연히 거기서 바꿔서 입력할 거라고 생각했는데.. scouter로 모니터링하면서 보니 강제로 지우거나 아니면 멋대로 입력해서 사용하는 경우가 종종 발견된다. 물론 database에서 에러 처리되기 때문에 큰 문제가 없다고 여겼는데, 가끔은 예상과 다르게 동작하면서 database server에 부하를 주거나 속도가 느려지는 경우가 발견되어서 결국은 일차적으로 javascript에서 먼저 체크하는 기능을 추가했다. (사실 html이나 javascript 부분을 손대는건 싫어하다보니.ㅠ.ㅠ) 간단하게 값이 있는지 여부만 체크하려고 하다가 하는김에 정규식을 이용해서 정확한 포맷을 입력한 경우만 체크하기 위해서 이것 저것 알아보다가 제법 제일 간.. 더보기
[Scouter] Eclipse 의 servers 에서 Scouter Agent 사용하기 천천히 Scouter 셋팅하는거 먼저 정리하려고 했는데.ㅠ.ㅠ 이클립스의 개발환경에서 설정했다 지웠다 해야하는 부분이 있다보니, 이클립스에서 tomcat 서버에 설정하는 부분을 계속 깜박하는 경우가 있어서 먼저 정리해본다. 이클립스의 버전마다 조금씩 다른듯 하다. 검색해서 찾아보는데, 내가 사용하는 이클립스 버전에서 없는 부분이 있다. 현재 내가 사용하는 이클립스 버전 Version: 2020-03 (4.15.0) Build id: 20200313-1211 여기서는 아래 메뉴에서 tomcat 서버 실행시 scouter agent 설정을 할 수 있다. Package Explorer or Project Explorer > Servers 에서 마우스 오른쪽 버튼 click > Run As.. > Run Con.. 더보기
[Scouter] Scouter 드뎌 설치하다(3) - Scouter Host 서버의 CPU/Memory/Disk 등의 정보를 수집 처리함. 다운로드 받아서 압축을 푼 것중에 agent.host 부분을 서버에 옮겨주면 됨. 1. 설치위치 : /home/scouter/agent.host (이부분은 원하는 위치에 설치하면 됨.) 2. 환경설정 : /home/scouter/agent.host/conf/scounter.conf 주요 설정 항목 (환경설정파일에 중요한 부분이 샘플로 있으니 참조) ### scouter host configruation sample #net_collector_ip=127.0.0.1 ( server가 설치되어 있는 ip , 혹은 domain) #net_collector_udp_port=6100 #net_collector_tcp_port=6100 #cpu_warn.. 더보기
[Scouter] Scouter 드뎌 설치하다(2) - Scouter 서버 Scouter 서버 설치전에 커뮤니티나 여기 저기 알아보니 Disk 용량을 많이 사용한다는 얘기들이 있어서 우선은 가장 여유있는 서버를 잡아서 설치했다. Scouter 가 예전에 대충 해봐서 그랬는지 몰라도 agent 까지 연결해서 데모를 보는데 잘 작동안했던 기억때문에 설정은 비교적 단순한 편인데도 이것 저것 설치 문서를 계속보게 되었다. 1. 설치 디렉토리 : /home/scouter/server (이것은 임의로 변경해도 상관없음) 2. 다운로드 받은것을 위에 압축을 풀어서 위의 디렉토리로 이전 3. 환경설정 파일 : /home/scouter/server/conf/scouter.conf 압축을 풀고 환경설정 파일을 보면 아무것도 없어서 당황스러웠지만, 그래도 동작하는데 큰무리는 없다. 그래도 나중에 .. 더보기
[Scouter] Scouter 드뎌 설치하다(1) - Download 현재 운영중인 사이트가 아주 뜸하지만(2달정도에 1번) 시스템이 멈추는 에러가 발생한다. 불행하게도 Database 나 H/W 상의 특별한 문제가 없는데 이런 현상이 발생하는 경우가 대부분이다 보니 원인 파악도 제대로 안되고, 로그에도 특별한 에러가 남지 않아서 결국은 그냥 WAS를 restart 해버린다. 찜찜함이 계속 남아 있어서 작년부터 오픈소스 APM 설치해서 모니터링 해봐야겠다는 생각을 갖고만 있다가 오픈소스 중에 검토해보다가 Scouter로 설치를 결정했다. 이게 책으로도 나오기도 했고, 세미나 들으면서 느끼지만, 커뮤니티도 활성화가 많이 되어 있고, 버전업도 꾸준히 잘되고 있다는 장점도 있었다. 도서 : www.yes24.com/Product/Goods/84937877?OzSrank=5 자바.. 더보기
[slash21] 테스트 커버리지 100% 테스트 코드를 제대로 작성하지 않는 나에게 충격으로 다가왔다. 100%로라... 그냥 적용이라도 해봤으면 하는데..쩝.. 나도 기운을 내보자. https://youtu.be/jdlBu2vFv58 더보기