post-thumbnail

[CI/CD] PR 진행 시 코드 테스트 통과 안되면 Merge 제한하기 (Branch Protection)

최근에 테스트 코드를 조금씩 작성하기 시작했다. 자연스레 CICD 파이프라인에도 test를 추가함으로써 build-test-deploy 구조가 완성되었다. 그런데 문뜩 '테스트 통과 못하면 main branch에 merge 되면 안되지 않나?'라는 생각이 들었고 테스트

어제
·
0개의 댓글
·
post-thumbnail

[MySQL] 테이블 설계에 대하여

TalkGG 프로젝트 진행하면서 테이블 설계가 중간에 바뀌었었다. 게시물 테이블과 관련된 이슈였고 게시물과 관련된 테이블들이 비효율적으로 설계된 것 같아 테이블을 통합하는 작업이었다. 하면서 느낀 건데 데이터 중복이 많은 것도 문제인데 마냥 테이블을 잘게 분해시키는 것도 큰 문제가 될 수 있을 것 같다. 상황에 따라 분해도 하고 통합도 하고 유연하게 대처하...

2023년 5월 2일
·
0개의 댓글
·

[MySQL] SELECT SQL문 튜닝 (추가중)

진행하고 있었던 음성 채팅 프로젝트가 끝이 났다.굵직한 기능은 모두 구현했지만 아직 디테일을 다듬어야 하는데 SQL 튜닝도 그 중 하나라고 생각해서 도전해보았다.이것저것 수정하는 작업을 반복했는데, 여간 쉬운 작업이 아니었다. 이게 단순히 수행 속도만 빠르게 하면 되는

2023년 4월 27일
·
0개의 댓글
·
post-thumbnail

[OAuth] 네이버 로그인(+중복 로그인 방지)

프로젝트에는 카카오 로그인과 네이버 로그인 둘 다 구현했는데, 둘 다 흐름이 매우 비슷해서 네이버 로그인만 정리해도 될 것 같다. node.js 진영에서는 인증 구현할 때 passport 라이브러리를 굉장히 많이 쓴다고 들었는데,

2023년 4월 22일
·
0개의 댓글
·

[프로젝트] 게이머 음성 채팅 서비스

📃 프로젝트 정보 서비스명: 게이머들의 음성 채팅 커뮤니티 TalkGG 주제: 게이머간의 자유로운 목표: 게임을 함께 하고 싶은 유저 간의 커뮤니티 서비스 및 음성(+텍스트) 채팅 서비스 제공 서비스 URL 👪 팀원 팀원 : 프론트엔드(1명), 백엔드(1명)

2023년 4월 19일
·
0개의 댓글
·
post-thumbnail

[REDIS] 개쩌는 REDIS로 데이터 캐싱하기

유튜브를 둘러보다가 'Redis 야무지게 사용하기'라는 영상을 보게 되었다.NHN FORWARD 2021 Redis 야무지게 사용하기영상을 본지는 꽤 오래되었다. 영상 앞 부분에서 설명해주신 캐싱 읽기 전략을 직접 구현해보고 싶었는데, 이제서야 프로젝트에 적용하게 되었

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

[REDIS] 용도별로 docker Redis 컨테이너 만들기

레디스를 어떻게 사용해볼까 생각해보다 좋아요, 세션, 캐시 용도로 사용하면 좋을 것 같아서 레디스 클라우드에서 제공해주는 무료 서버를 파서 사용했다. 사용하다보니 몇가지 비효율적인 부분이 생겼다. 레디스 클라우드와 커넥션할 때 굉장히 자주 타임 아웃이 발생하였다.

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

[NGINX, Nest.js] CORS

로드밸런싱 작업을 마치고 한동안 문제가 없다가특정 API에 접근만 하면 CORS 에러가 발생하였다.아직도 원인을 못 찾았는데 나름 해결은 해서 뭔가 찜찜하다.credential은 쿠키, Authorization 헤더, TLS 증명서와 같은 자격 인증 정보를 말하는데,

2023년 3월 30일
·
0개의 댓글
·
post-thumbnail

[NGINX] 로드밸런싱

쉽지 않을 줄 알았는데 개쩌는 nginx로 여차저차 하다보니 됐다.nginx docs 많이 파봐야겠다.docker container 2개를 띄우기 위해 기존의 workflow를 수정한다.같은 이미지를 3000번과 3001번 포트로 열여줬다.upstream 컨텍스트에 요

2023년 3월 25일
·
0개의 댓글
·

[NGINX] 리버스 프록시 설정 시 에러 해결

로드밸런싱에 도전하기 위해 리버스 프록시 환경을 만들게 되었다.성공하는데 오랜 시간이 걸리진 않았지만 설정 자체도 낯설고 중간 중간 에러도 발생해서해결하느라 애를 좀 썼다.우선 외부 파일을 만들어서 서버 설정을 작성하고 nginx.conf에 include 하는 방식으로

2023년 3월 24일
·
0개의 댓글
·
post-thumbnail

[CICD] .env 파일 배포에 관하여

이전에 CICD 구축했을 때 아무런 문제 없이 애플리케이션 실행이 잘 되었었다. 그런데 어떤 것이 바뀌었는지 모르겠는데 어느 순간부터 http 접속이 안되기 시작했다. 인바운드 규칙에서 포트 열었다 닫았다 반복하고 docker 호스트 포트도 80으로 했다가 3000으로

2023년 3월 16일
·
0개의 댓글
·

[Docker] permission denied while trying to connect to the Docker daemon socket

우분투 환경에서 DOCKER 컨테이너 실행 시 permission denied while trying to connect to the Docker daemon socket 에러 발생daemon socker에 접근할 권한이 없음. 명령어 앞에 sudo 명령어를 붙여 ro

2023년 3월 15일
·
0개의 댓글
·

[NEST] 환경 세팅 및 코드 작성 순서

코드 작성할 때마다 자꾸 여기 만졌다가 저기 만졌다가 하는 경우가 많아져서 아예 작성 순서를 정해놓는 게 좋을 것 같다. 물론 무조건 작성 순서에 따르는 건 아니지만 어느정도 폼을 잡아 놓고 작성하면 코드 작성 효율이 좋아지지 않을까 하는 마음이다. 기술, 인프라 세

2023년 3월 13일
·
0개의 댓글
·
post-thumbnail

[Nest] Redis를 세션 스토리지로 써보기 (+인증)

서버 scale-out 시 세션 불일치 문제가 발생하기 마련이다.sticky 세션이나 클러스터 세션 등 여러 방법으로 해결할 수 있지만세션 스토리지로 세션들을 관리하는 것이 가장 좋은 방법인 것 같다.물론 모든 것에는 트레이드 오프가 있듯이 세션 스토리지 서버가 다운되

2023년 3월 11일
·
0개의 댓글
·
post-thumbnail

[TypeScript] DTO 만들 때에는 interface보다 class를 사용하자

현재 nest.js로 프로젝트를 진행하고 있는데, 타입스크립트에 익숙하지 않아서 타입 지정해주는데에 많은 시간을 쏟고 있다. 이왕 타입스크립트 쓰는 김에 타입 먹일 수 있는 곳에는 다 먹이려고 하는데 쉽지가 않다.아무튼 며칠 전부터 메소드 리턴 타입 지정에 꽂혀서 어떻

2023년 2월 23일
·
0개의 댓글
·

[bcrypt, MySQL]bcrypt.compare() 사용 시 false 값만 반환하는 이슈

클라이언트로 받은 비밀번호가 DB에 저장된 비밀번호와 일치하는 지 확인하기 위해 bcrypt.compare() 메소드 사용했으나 비밀번호가 일치해도 false를 리턴DB의 password 컬럼의 자료형 길이보다 bcrypt로 해싱한 문자열의 길이가 길어 일정 부분 짤려

2023년 2월 18일
·
0개의 댓글
·
post-thumbnail

[CICD] CICD 환경 만들기 (Nest.JS, Docker, Github Actions, AWS EC2)

이전부터 CICD를 너무나도 해보고 싶었는데 이런 저런 일로 못하고 있다가 감사하게도 좋은 포스팅들을 발견하여 어렵지 않게 성공 할 수 있었다. 사실 어려운 개념은 아닌 것 같다. 흐름을 한 번 이해하니 자연스레 스탭 바이 스탭으로 어떤 것을 해야할 지 감이 잡혔다.

2023년 1월 30일
·
2개의 댓글
·

[프로젝트] 엘리스 3차 팀 프로젝트 회고

엘리스 부트 캠프에서의 마지막 프로젝트가 끝났다. 반년동안 별일없이 마무리 되어서 다행이다. 이번 프로젝트는 인공지능 프로젝트로 인공지능 모델을 이용한 기능이 필수였다. 처음 다뤄보는 거라 러닝커브가 어느정도 되는 지 확실하지도 않아서 백엔드와 관련된 추가 기능을

2022년 12월 25일
·
0개의 댓글
·

JWT로 인증 구현하기(Access Token, Refresh Token, Rotation)

JWT로 인증 구현, JWT, Json web token, Access token, refresh token, 인증, 인가, node.js, express, 로그인, 로그인 구현,

2022년 12월 20일
·
0개의 댓글
·
post-thumbnail

[CUDA] 좀 짜증스러운 ubuntu 환경에서 cuda 설치하기

첫번째 에러 두번째 에러 apt 초기화

2022년 11월 22일
·
0개의 댓글
·