전체 글 58

[Nodejs / PM2] PM2(Process Manager) 사용법

PM2를 사용해서 노드 서버를 실행시켜보자 !  *PM2 공식홈페이지  https://pm2.keymetrics.io/*PM2란? -> Node.js 프로세스 관리자  node는 싱글 스레드 기반이지만, 멀티 코어 멀티 스레딩을 사용할 수 있게 해준다 !  클라이언트로 부터 요청이 오면 알아서 여러 노드 프로세스에 고르게 분배하는 로드밸런싱 역할을 한다. 1. pm2 모듈을 global로 설치한다. npm install pm2 -g2. ecosystem.config.js 파일을 생성한다pm2 ecosystem=> 해당 파일을 생성하는 이유는 일반적으로 사용하는 env.dev 이런 파일을 pm2가 읽지 못한다고 한다  그래서 pm2가 읽을 수 있는 환경설정 파일을 생성하는 것. pm2 ecosystem을..

framwork/nodejs 2024.03.15

[Nodejs / PM2] window에서 pm2로 node서버 실행 시 cmd창 깜빡거림 현상

window에서 pm2를 이용해서 node 서버를 클러스터 모드로 실행했을때  cmd 팝업창이 자꾸만 뜬다. 내가 실행하는 인스턴스의 갯수만큼 cmd창이 번쩍번쩍 거림..^^..  구글링해보니,,  원인은 아마도 nodejs가 새 프로세스 마다 셸을 생성하기때문에 창이 계속 뜨는거라고 한다..pm2에서 발생하는것이 아니라  노드 자체의 하위 프로세스를 생성하는 과정에서 발생하기 때문에  {detached: true}라는 구성을 추가하면 팝업이 생성되지 않는다고 한다.  문제는 클러스터 모드에서는 프로세스가 생성되는 방식을 제어하지 못하기 때문에 이 옵션을 추가하는 것이 불가능함..그래서 누군가가 추천한 방법.. npm i -g pm2@4.4pm2 update를 실행해보라고 했고 해결이 되었다.  (이걸로..

기타/문제해결 2024.03.14

aws-saa 필기 ①

aws-saa를 취득하기위해 유데미에서 스테판 선생님의 강의를 듣고 있다. https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/(강의 강추함!!!!!!!!!!!!!)  AWS에 대해 많이 무지했었는데, 강의내용이 정말 알차다. 그래서 시험은 둘째치고 ㅋㅋ 제대로 알고 사용하고 싶어 강의를 꼼꼼하게 듣고있다.  이 글은 강의들으면서 필기한 내용을 정리할 겸 쓰는 글이다..ㅎㅎ (내가 보려고....)  IAM : Users & Groups  => Identity and Access Management AWS resource에 대한 access를 안전하게 제어할 수 있는 웹서비스로, IAM을 사용하면 사용자가 액세스할 수 ..

cs/필기..ㅎㅎ 2024.02.05

비전공자 정보처리기사 독학 후기

비전공자 정보처리기사 독학 후기   기억을 더듬어 쓰는 글.. 2022년 1회차 필기 합격 2022년 1회차 실기 불합격 (51점 광탈ㅋ) 2022년 2회차 실기 합격  정처기 공부 당시 나의 상황은..  병원에 근무하고 있을때였고,, 교대근무긴 하지만 나름 시간적 여유가 있었다. 우연히 생활코딩을 알게되었고,, 유튜브 몇번 따라하면서 '오 재밌는데 ?'를 느꼈다.그리하여 정처기 합격하면 병원 때려친다 ! 라는 탈병원의 꿈을 안고있는 개발자 호소인이었음.  왜 하필 정처기였냐하면.. 서른을 넘긴 나이에 잘 다니던 직장을 때려치고 직업을 바꾸기에 살짝 겁이났다..  주위에 it 관련 직종에 일하는 사람이 단 한명도 없었기 때문에 물어볼 곳도 없었고....구글링을 열심히 한 결과 정처기가 나름? 인정받는 자..

cs/자격증 2024.01.23

Spring Security 설정 (표준 프레임워크 3.9v, Spring Security 4.2.11 v)

맡고있던 프로젝트를 OWASP ZAP을 사용하여 웹 취약점 분석을 진행 하였다 https://ko.wikipedia.org/wiki/OWASP_ZAP OWASP ZAP은 가장 유명한 무료 보안 툴 중 하나라고 한다. 이 툴을 사용해 보안 테스트를 실시하여 웹 어플리케이션의 보안 취약점을 파악할 수 있다. (이번에 처음 써봤음..ㅎㅎ) 툴을 사용하여 스캐너를 돌려본 결과 X-Content-Type-Options Header Missing Missing Anti-clickjacking Header X-Frame-options Http header Absence of Anti-CSRF Tokens Buffer overflow 등의 취약점을 알게 되었다. Spring Security 설정을 하여 response..

framwork/Spring 2023.10.25

도커에 mysql 컨테이너 구동 , vscode에서 데이터베이스 연동하기

mysql을 직접 설치하지 않고 Docker 이미지를 받아와서 컨테이너를 구동해볼것임. 도커에서 mysql image를 pull한다 $ docker pull mysql이렇게 이미지를 받고나면 docker desktop에 이미지가 들어와있다.  이렇게 unused 상태로 이미지가 있고, 실행시켜보자 !  나는 이미 로컬에서 3306포트를 사용중이기 때문에3307포트와 mysql컨테이너의 3306포트를 포트포워딩 해준다 $ docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=비번 –name 컨테이너이름 mysql컨테이너를 구동하고 나면 Running이라고 뜬다.  $ docker exec -i -t mysql bash mysql -u root -p 비밀번호 입력 mysq..

기타/Docker 2023.10.18

Jenkins 설치 - windows환경

CI/CD란? *CI (Continuous Integration) 지속적인 통합을 말함. *CD (Continuous Delivery / Continuous Deployment) 서비스를 지속적으로 제공, 사용자 환경에 지속적으로 배포하는 것을 말함. 한마디로,, 개발자가 개발을 하면 사용자가 사용 가능한 서비스로 지속적으로 전달하는 과정을 자동화하여 개발자와 사용자 사이의 격차를 없애는 것이다. 이러한 과정은 코드를 빌드, 테스트, 배포하는 활동을 포함한다. 그리고 Jenkins를 통해 이러한 일련의 과정들을 자동화 시키는 것! ! 먼저 jenkins를 설치해야하는데 jenkins 서버를 Docker로 실행해보려고 한다. 1. Docker desktop을 실행. 터미널 창을 열어서(gitBash) je..

기타/Jenkins 2023.10.17