전체 글
-
Node.js 메모리 옵션NodeJS 2023. 5. 29. 13:54
Node.js 메모리 옵션 테스트 케이스를 로컬에서 돌릴때는 문제 없었는데, 운영에서 실행하니 메모리 부족 오류가 발생했습니다. 오류 로그 [1516:0x56a6a70] 93701 ms: Scavenge 1952.6 (2079.2) -> 1939.9 (2079.2) MB, 5.0 / 0.3 ms (average mu = 0.309, current mu = 0.242) task [1516:0x56a6a70] 93740 ms: Scavenge 1953.1 (2079.2) -> 1940.6 (2079.2) MB, 5.0 / 0.2 ms (average mu = 0.309, current mu = 0.242) task [1516:0x56a6a70] 93799 ms: Scavenge 1956.1 (2079.2) ..
-
AWS의 CodePipeline 에서 SonarQube 사용하기설치&설정 관련 2023. 5. 28. 13:52
AWS의 Code pipline 에서 SonarQube 사용하기 SonarQube는 20개 이상의 프로그래밍 언어에서 버그, 코드 스멜, 보안 취약점을 발견할 목적으로 정적 코드 분석으로 자동 리뷰를 수행하기 위한 지속적인 코드 품질 검사용 오픈 소스 플랫폼입니다. 또한 중복 코드, 코딩 표준, 유닛 테스트, 코드 커버리지, 코드 복잡도, 주석, 버그 및 보안 취약점의 보고서를 제공합니다. wiki 설치 준비 설치하는 방식은 쉽게 Docker Image를 이용하는 방식과 Ec2에 설치하는 방식이 있습니다. 이번 글에서는 간단하게 Ec2에 설치하는 방식으로 진행합니다. 필요 소프트웨어 JDK 11 또는 JRE 11 이상 DBMS(Options) PostgreSQL 11 이상 Oracle 12C 이상 Web..
-
Nodejs 동작 훑어보기NodeJS 2023. 5. 27. 12:17
Single Thread??! nodejs는 Single Thread로 동작하지만, Asynchronous I/O(libuv) 를 지원합니다. What APIs use which async mechanism? Kernel Async TCP/UDP server and clients, pipes, dns.sresolveXXX Thread Pool fs.*, dns.lookup, pipes NIX Only UNIX domain sockets, TTY input, NIX signals Windows Only Child Process, TTY input, TCP servers How to work on libuv? libuv는 운영체제의 커널을 추상화해서 비동기 API를 지원 libuv의 비동기 API를 처리 방..
-
SLACK 봇 알림 처리NodeJS 2023. 5. 26. 11:17
SLACK 봇 알림 처리 생각보다 간단하게 curl을 통해서 app에 알림을 발송할 수 있는 API가 제공 되네요. 전체 코드 바로 가기 준비사항 Slack app (Incoming WebHooks) 설치 python3 설치 실행 환경 설정 _env 의 이름을 .env로 변경 후 API 주소와 채널정보를 입력합니다. # .env 파일 예시 SLACK_URL=https://hooks.slack.com/services/test/test/test SLACK_CHANNEL="#알림테스트" 모듈 설치 python3에서 사용하는 모듈을 설치 합니다. $ pip install -r requirements.txt 실행 $ python3 index.py weekday 실행하면, 안내된 메시지를 확인 할 수 있습니다. 아..
-
mysql에서 emoji를 저장하기 위한 케릭터셋 설정설치&설정 관련/MariaDB & Mysql 2022. 12. 23. 17:49
mysql에서 emoji를 저장하기 위한 케릭터셋 설정 utf8 to utf8mb4 utf8 인코딩은 한 문자를 나타내기 위해서 1바이트에서 4바이트까지를 사용합니다. 그런데 말입니다. mysql의 utf8은 3바이트로 이루어져 있습니다. emoji를 제대로 표현하기 위해서는 4바이트의 문자열이 필요합니다. 아래는 utf8 에서 utf8mb4로 변환 하는 내용을 정리 하였습니다. MYSQL에서 설정 변경 mysql 5.5.3 이상에서만 utf8mb4를 사용할 수 있습니다. 참고 설정 변경 # linux - my.cnf # windows - my.ini [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-charact..
-
npm 모듈 tgz 형식으로 다운로드 받기NodeJS 2022. 12. 20. 17:48
npm 모듈 tgz 형식으로 다운로드 받기 특정 npm 모듈을 로컬에 받으려고 npmjs를 아무리 찾아보아도 못찾고, stackoverflow를 검색하니 명령어를 찾았습니다. 명령어 # 다운로드 url 확인 $ npm view [모듈명@버젼] dist.tarball # 직접 다운로드 $ npm pack [모듈명@버전] 예제 # 다운로드 url 확인 $ npm view react-mui-validation dist.tarball https://registry.npmjs.org/react-mui-validation/-/react-mui-validation-0.2.0.tgz # 직접 다운로드 $ npm pack react-mui-validation npm 명령어를 이용하면 url을 얻거나, 직접 다운 받을 수..
-
AWS PRESIGNED-URL 생성시 태그 추가설치&설정 관련 2022. 12. 19. 17:48
AWS PRESIGNED-URL 생성시 태그 추가 AWS S3에 파일 업로드 url 생성시 Tag를 설정하는 방법 입니다. 필요 모듈 정보 @aws-sdk/client-s3 코드 예제 function getAwsConfig() { const awsInfo = { region: 'ap-northeast-2' }; awsInfo['credentials'] = { accessKeyId: 'AWS_ACCESSKEY', secretAccessKey: 'AWS_SECRETKEY', }; return awsInfo; } const s3Client = new S3Client({ ...this.getAwsConfig() }); async function createSignedUrlWithTagExample() { con..