전체 글(105)
-
Nest cli 프로젝트 생성 중 Failed to execute command: npm install --silent 오류 발생(해결)
nest 프로젝트를 생성하던 중 위와 같은 오류가 발생했다. 구글링해보니 통신사 관련 문제라는 이슈가 보이긴 했는데 나는 다른 방법으로 해결했다. 필자가 해결한 방법은 다음과 같았다. 1. 우선 생성된 대로 프로젝트 경로로 이동 2. npm install -> 에러 발생 3. 아래 명령어 중 하나로 해결(필자는 npm cahe clean으로 해결) 4. 다시 nest new로 프로젝트 생성 # npm cache 삭제 sudo npm cache clean --force # .npm 폴더 권한 변경 sudo chown -R your-username:your-username ~/.npm
2024.03.05 -
로컬 서버에 CI/CD 적용하기 (Feat : ssh: handshake failed 해결)
일반적으로 CI/CD는 도커 환경에서 도커 이미지를 빌드하고 클러스터에서 해당 이미지를 서비스로 실행한다. 물론 일반적인 경우의 얘기이고 당연히 다른 방법으로도 CI/CD를 구축할 수 있다. 가령 클라우드 환경이 아닌 실제 로컬 환경에서 서버를 쓰는 경우도 있다. 이 경우 SSH로 접속해 배포를 자동화할 수 있다. Git Hub Actions에서는 배포를 위해 여러가지 도구들을 제공하는데 yml파일에 uses에 작성하는 부분이 바로 그 부분이다. 여기서는 SSH를 통해 배포를 시도하기 위해 널리 사용되는 appleboy의 툴을 사용할 것이다. https://github.com/appleboy/ssh-action?tab=readme-ov-file GitHub - appleboy/ssh-action: Git..
2024.02.27 -
[RDBMS] DB의 쿼리 실행 과정에 대해서
일반적으로 DB를 사용할 때 초보 입장에서는 문법에 맞게 sql문만 사용하면 된다고 생각한다. 그러나 DB에 대한 기초이론도 탄탄해야한다. 따라서 이번 글에서는 DB에 SQL문을 실행할 때 어떤 과정으로 진행되는지, db 내부적으로 시스템이 어떻게 가동되는지에 대해 정리해보고자 한다. * 해당 글에는 정확하지 않은 정보가 있을 수 있으므로 더 자세한 정보는 공식문서나 해외 포럼을 참고하시고 잘못된 부분을 댓글로 지적해주시면 수정하겠습니다. 목차는 다음과 같다. 1. SQL 파서의 구문 분석 2. 옵티마이저의 쿼리 최적화 3. 로그 관리(redo 로그와 undo 로그) 4. 트랜잭션에 관해 4-1. 정합성과 무결성 4-2. 동시성 제어 (동시성 제어, 고립성 레벨, 데드락) 4-3. 성능 최적화 1. SQ..
2024.02.02 -
Google GIS(Google Identity Services) 방식이란?
사내에서 소셜 로그인을 구현하게 됐다. 그 중에서도 구글을 맡게 됐다(페이스 북 로그인은 비즈니스 계정이 인증된 후에 추가적으로 email을 api로 요청해야 하는데 비즈니스 계정 인증이 안되는 관계로 우선은 보류됐다). 1. google cloud 콘솔에서 계정 생성 https://console.cloud.google.com/ 새 프로젝트 생성 2. people api 등록(이거 아니라도 Google Login API를 사용할 수 있는 다른 API라도 추가하면 됨) 3. oauth 동의화면에서 클라이언트 등록(ID, PW 발급) ->이때 발급받은 Client ID로 Google에 API를 호출한다. Redirect URI 등 추가 4. docs 참고하면서 Javascript 코드 추가 google에서 ..
2024.01.30 -
nginx에 관하여
사내 네트워크망을 구축하는 과정에서 Nginx를 통한 분기처리가 필요했다. 따라서 nginx가 무엇인지, 어떤 역할을 해주는지에 대해 이론적으로만 알던 개념을 알게 됐다. nginx는 네트워크와 관련해 여러가지 기능을 제공해준다. ip필터링, 포트포워딩, 특정 도메인의 접속만 허용, 특정 ip나 도메인으로 접속시 리디렉션, 443포트 허용 등.. nginx를 통한 네트워크 분기 처리는 생각외로 상세하게 설정할 수 있다. nginx를 설치해서 SSL인증서를 발급받은 후 https를 적용시키는 방법도 있다. 현재 사내에서 사용하고 있는 네트워크는 건물 자체에서 사용하고 있는 네트워크 망에서 호스트만 변경된 것으로 거기서 한 번 더 iptime으로 호스트를 분기시킨 후에 사용하고 있는 실정이다. 따라서 pub..
2024.01.15 -
[AWS] 타겟그룹과 인스턴스간 통신 프로토콜(HTTP, HTTPS) 관계에 대한 정리
이전에 AWS 실습으로 진행했던 가비아 도메인 네임 서버 연결 및 https 적용한 사이트에서 1가지 문제점을 발견해 이에 관한 수정 사항 및 이유에 대해 정리하려고 한다. 현재 서버에서 사용하고 있는 포트 포워딩은 80 -> 3000, 443 ->3000 으로 총 2개의 규칙이었다. 설정한 규칙을 확인하는 방법은 아래와 같이 iptables 명령어를 사용하는 것이다. # iptable 관련 설정 규칙 확인 sudo iptables -t nat -L -n -v pkts bytes target prot opt in out source destination 26 1560 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 3000 관련 유용한 명령..
2024.01.01