
내용 구성 상황과 문제점 전략 패턴(Strategy Pattern)이란? 소셜 로그인 인터페이스 정의 Controller 코드 수정 Service 코드 수정 마무리 1. 상황과 문제점 요약: 확장성이 고려되지 않은 기존 소셜 로그인 코드에, 카카오 로그인 기능을 추가해야 하는 문제! 현재 프로젝트는 애플 로그인만 지원한다. 기획할 때부터 그러기로 했고, 그렇게 개발과 1차 배포를 끝냈다. 프로젝트를 재정비하면서 카카오 로그인을 추가 지원하기로 결정했다. 내가 카카오 로그인 기능을 맡았으므로, 일단 기존 소셜 로그인 코드를 확인했다. @Controller('auth') export class AuthController { @Post('login') login(@Req() request, @Body() cr..

내용 순서 상황 설명 도메인 구매 DNS 설정에서 레코드 추가 도메인 연결 확인 마무리 1. 상황 설명 IP 주소가 1234인 Public 서버가 있습니다. 이때 사용자가 직접 IP 주소를 입력해서 서버에 접속하는 것이 아니라, traveline.store라는 도메인을 을 입력해서 접속할 수 있도록 할 계획입니다. 2. 도메인 구매 가비아 같은 도메인 등록 업체에서 도메인을 구매해야 합니다. 필자는 가비아에서 traveline.store라는 도메인을 1년 동안 사용하기로 했습니다. 가비아에서 해당 도메인을 검색하면 필자가 사용 중인 도메인이기 때문에 이미 등록된 도메인이라는 안내가 뜨네요. 네임서버 설정은 특별한 경우가 아니라면, 그냥 구매한 업체의 네임 서버를 사용하는 게 편합니다. 이미 도메인을 구매..

내용 순서 상황 기존 DB에서 백업 파일 생성 새 DB가 있는 서버로 파일 전송 새 DB로 백업 파일 복원 1. 상황 기존에 A라는 서버에서 데이터베이스를 실행했지만, 이제는 B라는 서버를 새로 생성하여 이곳에서 데이터베이스를 실행하려고 합니다. 이미 저장된 데이터들을 날려버릴 순 없으므로, A 서버에서 B 서버로 옮겨 보겠습니다. 2. 기존 DB에서 백업 파일 생성 mysqldump -u [사용자명] -p [데이터베이스명] > [백업파일명].sql 기존 서버에 접속한 후, 위 명령어를 사용해 데이터를 dump 떠줍니다. 저는 travline 데이터베이스와 traveline_dev 데이터베이스, 2개를 백업했습니다. 3. 새 DB가 있는 서버로 백업 파일 전송 scp [옵션] [파일명] [유저명]@[목적..

내용 순서 상황 설명 MySQL 설정 Private Server의 ACG 수정 워크벤치에서 커넥션 생성 워크벤치에서 마주쳤던 문제들 마무리 1. 상황 설명 VPC 환경에 Public Subnet과 Private Subnet을 생성했고, NAT 게이트웨이를 사용하여 Private 서버에 데이터베이스를 설치한 후 현재는 NAT 게이트웨이를 삭제한 상태입니다. MySQL GUI 프로그램인 워크벤치를 사용해서 Private 서버에 있는 데이터베이스에 접속하기 위해선 SSH 터널링이 필요합니다. 이 글은 SSH 터널링에 대해 기술합니다. 2. MySQL 설정 현재 Private 서버에서 MySQL의 로컬 어드레스가 127.0.0.1으로 바인딩되어 있습니다. 즉, 로컬에서만 MySQL에 접속할 수 있다는 의미입니다..

내용 순서 상황 설명 NAT 게이트웨이용 서브넷 생성 NAT 게이트웨이 생성 Private 서버의 ACG 수정 Private Route Table 수정 Private Server에 ping 날리기 데이터베이스 (MySQL) 설치 마무리 1. 상황 설명 Ncloud VPC 환경에서 Public Subnet과 Private Subnet이 존재합니다. Public Subnet의 WAS에서 SSH를 통해 Private 서버에 접속할 수 있습니다. 같은 VPC 안에서는 아무 설정을 하지 않아도 Public Subnet과 Private Subnet이 통신할 수 있기 때문입니다. 그러나 VPC 외부 인터넷과의 통신은 Public Subnet만 가능합니다. Public Subnet엔 IGW (인터넷 게이트웨이)가 있지..

내용 순서 안내 Private Subnet 생성 서버 생성 ACG 설정 관리자 비밀번호 확인 서버 접속 마무리 1. 안내 VPC 생성 Public Subnet 생성 및 Public Server 생성 이 글은 위 작업이 완료된 상태에서 Private Subnet와 데이터베이스용 Private Server를 생성하고, Public Server에서 Private Server에 접속하는 과정을 서술합니다. 2. Private Subnet 생성 VPC가 생성된 상태여야 합니다. Internet Gateway를 적용하지 않아야 Private Subnet으로 생성됩니다. 인터넷 게이트웨이를 통해 직접적으로 인터넷과 연결되면 Public Subnet이고, 다른 수단을 통해 인터넷과 선택적으로 통신할 수 있으면 Priv..

내용 구성 맥락 문제점 해결 방법 진행 과정 ① 통합 레포지터리 생성 및 clone ② 옮기려는 레포지터리를 remote로 등록 ③ 레포지터리 옮기기 --allow-unrelated-histories 참고 [Git] 저장소를 다른 저장소로 통합하는 2가지 방법(git history 유지) :: Mong dev blog (tistory.com) 1. 맥락 문제점 템플릿 엔진으로 혼자 진행했던 풀 스택 레포지터리 A가 있고, 나중에 프론트엔드 팀원이 합류하여 템플릿 엔진에서 React로 프론트 구현 방식을 변경한 레포지터리(fork) B가 있었습니다. 즉, 똑같은 나아라 프로젝트인데 서로 버전이 다른 레포지터리가 따로따로 존재하고 있었습니다. 해결 방법 레포지터리 2개가 따로 있는 것보단 하나의 레포지터리에..

내용 구성 기술 개념 사용 현황 문제점 해결 방안 본인 생각 (솔루션 및 비전) 기술 개념 클라우드 컴퓨팅은 하드웨어나 소프트웨어 같은 컴퓨터 자산을 직접 구매하는 대신 인터넷 상에서 빌려 사용하는 개념이다. 클라우드 컴퓨팅 서비스 사용자는 필요할 때마다 유연하게 자원을 확장하고 축소할 수 있으며 사용한 만큼만 비용을 지불하므로 경제적이다. 이때 사용자가 빌리는 자원의 종류에 따라 SaaS, PaaS, IaaS 등의 형태로 구분되는데, 각 대여 자원은 애플리케이션, 개발 및 운영 환경, 가상화된 인프라이다. 사용 현황 빅데이터 분석 점포 데이터를 예로 들어보자. 고객 행동 데이터는 매일 대량으로 생성되고, 고객 수 역시 계속 변화한다. 따라서 빅데이터 분석에는 필요에 따라 자원 할당을 탄력적으로 조절할 ..

✅ 2024-03-23 내용 추가 내용 구성 원인 파악 해결 방법 참고 원인 파악 문제 상황 Node.js에서 MySQL을 사용하려던 차, 연결 코드를 작성하고 실행하니 1251 오류가 발생하였다. 검색 결과, 클라이언트 프로그램이 MySQL 패스워드 플러그인인 'caching_sha2_password'를 소화하지 못하기 때문에 발생한다고 한다. caching_sha2_password MySQL 8.0에서부터 사용되는 기본 인증 플러그인이다. 데이터베이스 유저의 비밀번호를 SHA-256 알고리즘 기반으로 암호화하여 저장한다. 보안성이 높고, 무단으로 비밀번호를 해독하기 어렵다는 장점이 있다. 그러나 이 방식은 종종 호환성 문제가 발생하는데, 바로 위 같은 경우이다. Node.js에서 설치한 MySQL용 ..

팀원과 함께 작성한 중간 보고서 내용입니다 :) 목차 1. 옵션 개요 2. 설계 내용 a. prompt 관련 b. 삭제 관련 c. 기타 3. 개발자 가이드 a. 개발환경 설정 b. 테스트 환경 설정 c. 빌드/테스트 방법 1. 옵션 개요 어떤 디렉터리에서 일부 파일은 남기고 나머지만 삭제하고자 할 때가 있다. 기존 rm의 interactive 옵션을 사용하면 모든 파일에 대해 삭제 여부를 입력하는 무의미한 작업을 반복하므로 다소 소모적이다. 따라서 본 프로젝트에서는 옵션명은 한번만 입력하고 파일명과 확장자만 반복적으로 입력하여 디렉터리 내부 다수의 파일 삭제를 돕는 고급 삭제 옵션을 추가함으로써 rm 명령어를 사용하는 사용자의 편의성을 높이려 한다. 옵션 타입 사용법 Short option rm -rb ..