목록분류 전체보기 (179)
A Developing Developer
문제발생 최종 프로젝트 중간 결과물 관련 튜터님 예상 기술 면접 질문 타임 시도 - 해결방안 - 알게 된 것 Q1. refresh token을 레디스에 저장함으로서 얻을수 있는 장점은 무엇인가? rt 을 저장하는 장소가 FE 냐 BE 냐로 구분 할 수 있는데, 우선 BE 에 저장할 경우 mySQL과 NoSQL 을 나눠서 저장 할 수 있다. mySQL 에 비해서 NoSQL 인 Redis 에 저장하는 것이 비교적 빠른 엑세스 속도를 제공한다. Q1-1 그렇다면 refresh token 을 왜 레디스 (BE) 에 저장하는가? rt 을 백엔드에 저장하는 이유는 특정인물을 강제로그아웃 시키기 위해서 필요하다. 강제로그아웃 기능이 필요 없을 경우 굳이 rt 을 백엔드에 저장할 필요는 없다. [※ 강제로그아웃 시키기..
문제발생 로그인 시 Local Storage 에 JWT 를 저장하는 방식으로 로그인을 인증했는데, 이때 JWT 에 들어있는 로그인 정보를 가져오는 방법을 모름. 시도 JWT 를 Javascript 에 불러오는 방법 구글링 해결방안 1. LocalStorage 에 저장되어있는 key 값 at 을 가져온다. const token = localStorage.getItem('at'); 2. 가져온 값을 payload 해준다 (실질적인 데이터는 [1] 에 있음) const tokenPayload = token.split('.')[1]; 3. jwt 토큰의 [1] 값을 decode 해준다. const decodedPayload = atob(tokenPayload); 4. decode 한 값을 JSON 문자열을 Ja..
문제발생 - 시도 - 해결방안 - 알게 된 것 - [결론] 오늘 한 것! 1. 개인회원 회원정보 RUD 코드를 참고해서 사업자 회원정보 RUD 작성 2. 업체별 사용자 데이터 불러오기 BE 작성 (진행 중) 오늘은 시간만 많이 들었지 특별한 에러 발생은 없었다.
문제발생 - 파일 업로드 어떻게 하지? 시도 - AWS S3 + Multer 활용 해결방안 - multerOptionsFactory 를 설정하고, .env 에 AWS 접속 정보 주입하고, aws S3 를 사용하기 위한 패키지를 npm 으로 다운받는다. - AWS S3용 스트리밍 멀티 스토리지 엔진 : S3를 호출하는 Multer 스토리지 엔진 문서의 기존 코드 샘플에 대한 통합 부분 npm i @aws-sdk/client-s3 multer-s3 - multer s3 패키지 npm i -D @types/multer-s3 알게 된 것 - AWS 공부하자... [결론] AWS S3 파일 업로드도 팀원의 도움으로 구현은했다. 만... 내걸로 만들 수 있을까? 내배캠에서 지급된 AWS 강의를 참고해서 더 공부해야..
문제발생 nest.js 에서 entity 설정하고 컬럼 추가하는 방법을 모름 시도 팀원들에게 물어봄 해결방안 1. entity 에서 추가 수정할 코드 작성 2. global/config 의 ormConfig.ts 에서 TypeOrmModuleOptions 속성 중 synchronize: false => true 로 변경 3. 서버 실행 테이블 컬럼 변경 완료 알게 된 것 nest.js 에서 entity 를 활용해서 테이블을 생성했다면, entity 를 수정해서 테이블 컬럼을 추가 할 수 있다. [결론] 뭔가 진행은 되는데 아직 백엔드만 어느정도 완료되어서 눈에 보이는게 없다. 내일은 파일 업로드 + 프런트 조금 해보자
문제발생 - 시도 - 해결방안 - 알게 된 것 - Transaction 트랜잭션(Transaction)은 데이터베이스(Database)에서 수행하는 작업의 논리적 단위를 말한다. 트랜잭션은 데이터베이스에서 안전하게 데이터를 관리하기 위한 기능 중 하나이다. 예를 들어, 한 번에 여러 개의 계좌에서 돈을 이체하는 작업을 수행할 때, 이체하는 과정에서 일어나는 문제로 인해 중간에 작업이 멈추게 되면, 일부 계좌에서만 이체가 이루어졌을 가능성이 있다. 이러한 문제를 방지하기 위해 트랜잭션을 사용하여 작업이 완료되거나 모두 취소되도록 하여 데이터 일관성을 유지한다. https://icepri3535.tistory.com/183 Transaction 트랜잭션(Transaction)은 데이터베이스(Database)..
트랜잭션(Transaction)은 데이터베이스(Database)에서 수행하는 작업의 논리적 단위를 말한다. 여러 개의 쿼리문으로 이루어진 하나의 논리적인 작업 단위를 말하며, 일련의 작업을 모두 수행하거나 모두 취소하는 것이 가능하다. 트랜잭션은 데이터베이스에서 안전하게 데이터를 관리하기 위한 기능 중 하나이다. 예를 들어, 한 번에 여러 개의 계좌에서 돈을 이체하는 작업을 수행할 때, 이체하는 과정에서 일어나는 문제로 인해 중간에 작업이 멈추게 되면, 일부 계좌에서만 이체가 이루어졌을 가능성이 있다. 이러한 문제를 방지하기 위해 트랜잭션을 사용하여 작업이 완료되거나 모두 취소되도록 하여 데이터 일관성을 유지한다. 트랜잭션은 보통 ACID라는 속성을 가지고 있습니다. ACID는 다음과 같이 정의된다. 원..
Redis는 인메모리 데이터 저장소로서, 키-값 구조로 데이터를 저장하고 검색하는 데 사용되는 데이터 구조 서버이다. Redis는 Remote Dictionary Server 의 약자로, 특정 데이터 구조를 캐시로 사용하거나, 세션 관리, 메시지 브로커 등으로 사용되는데 적합한 솔루션이다. Redis는 메모리에서 데이터를 읽고 쓰기 때문에 매우 빠른 응답 속도를 제공한다. 또한 다양한 데이터 구조를 지원하므로, 문자열, 해시, 목록, 집합, 정렬된 집합 등 다양한 데이터 타입을 지원한다. Redis는 또한 클러스터링, 레플리케이션, 트랜잭션, Pub/Sub 등의 기능도 제공한다. Redis는 주로 웹 애플리케이션에서 세션 관리, 캐싱, 랭킹, 실시간 알림 등에 사용된다. Redis는 다양한 언어와 프레임..