본문 바로가기

개발

[AMP] pinpoint-node 적용하는 방법 pinpoint는 네이버에서 개발한 오픈소스 amp 툴입니다. java로 개발됐고, 여러 회사들이 사용합니다. 오늘은 agent-node 버전을 구현해보겠습니다. 구성 EC2: 데이터 수집및 모니터링 웹 페이지를 보여줍니다. Target Server: 모니터링할 서버입니다. 0) java 설치및 셋팅 ec2에는 java가 설치되어 있지 않습니다. pinpoint를 사용하기 위해선, 1.8이상이어야 합니다 #설치 명령어 sudo yum install -y java-1.8.0-openjdk-devel.x86_64 #설치 확인 java -version ec2 방화벽은 port 8000~9999을 열어줘야 합니다 1) hbase 설치 *경로는 통일만 되면 상관없지만, 복잡하시면 /home/ec2-user으로 하.. 더보기
[EC2] 서버 시간 확인및 변경 서버 시간은 아래 명령어로 확인할 수 있습니다. date 변경은 아래 명령어로 가능합니다 sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 이상입니다 더보기
[Apache] 메모리 확인 명령어 1) 메모리 상태를 %로 알수있는 명령어 sar -r 1 2) 메모리 상태를 수치로 알수있는 명령어 watch -n 1 "echo -n 'Apache Processes: ' && ps -C apache2 --no-headers | wc -l && free -m" 더보기
[Chrome] initial connetcion or stalled too delay 부동산 전자계약 플랫폼을 개발하던중 이상한 현상이 발견됐습니다. QA용으로 띄운 서비스 응답이 chrome을 제외한 브라우저에서만 빠르다는 겁니다. chrome도 한번 응답을 받은 뒤 응답이 빠르다, 새 브라우저에 다시 띄우면 응답이 느렸었습니다. pc chrome에서만 느리니 미치고 팔짝 뛸 노릇이었습니다. ip로 접근하면 문제가 없어, 처음에는 도메인 서비스(cafe24, 가비아)문제라 생각했습니다. 그런데 이전 배포 서비스들과 동일한 방식으로 도메인 서버를 셋팅했고, 그나마 차이는 'default vpc vs custom vpc'뿐이었습니다. *default는 기본 vpc/subnet, custom은 vpc/subnet/route table등등 자체 설계및 셋팅한 경우입니다. 처음부터 다시 본다는 .. 더보기
[Js] error 객체 로그 남기기 에러 객체는 new Error('error!')로 생성할수 있습니다. 그런데 에러 로그를 남길시 JSON.stringfy()로 스트링화하지 못합니다. 혹은 된다 해도, 내용이 너무 길어 불필요한 내용이 있습니다 이에 아래 방식을 제안드립니다. ${JSON.stringify(error instanceof Error ? error.message : error)}`) erorr insatanceof Error로 error가 문자열인지 에러 객체인지 확인한 다음, 에러 객체면 에러 메세지만 로깅하는 방식입니다. 이상입니다 더보기
[TS] Catch clause variable type annotation must be 'any' or 'unknown' if specified. try/catch사용시 발생하는 에러입니다. catch로 에러를 잡을때, catch(e)의 e로 에러 문구를 확인할수 있는데요. 위 내용은 말 그대로 e에 대해 타입을 지정해줄거면 any or unkown을 사용하라는 말입니다. # any일 경우 try{ ... }catch(e: any){ ... } # unkown일 경우 try{ ... }catch(e: unkown){ ... } 이상입니다 더보기
[CORS] multi origin express개발시 origin 허용을 해줘야합니다. 그런데 한개의 api 서버만 있을 경우, QA/개발용 모두 사용 가능해야한데요. 어떻게 할까요? # solution server.use(cors({ origin: ["url", "url2"], ... })) #.env화 server.use(cors({ origin: ORIGIN.split(','), ... })) ORIGIN = url,url2 *url2는 ,바로 뒤에 넣어야 공백이 안들어갑니다 .env 사용시, 공백을 주의하시면 됩니다 더보기
[React] prettier converter 개발시 prettier을 갑자기 도입하게 되면, 이전에 작성된 코드에 대해 엄청난 에러가 발생합니다. 이럴때 명령어 하나로 전코드 양식을 바꿔주는 방식이 있으면 좋을텐데요. prettier --write . 위 명령어를 바꾸고자 하는 디렉토리 맨 상단에서 실행하시면 됩니다. 그럼 대부분 약속된 방식으로 코드들이 전부 수정됩니다. *바뀌지 않은 일부에 대해선, 직접 수정하시면 됩니다 더보기