FCM 알림
·
nest
학교 동아리 선배님이 말씀하셧다... 푸시알람을 쓸꺼면 fcm이 제일 쉽다고 그래서 한번 해보려고 한다.찾아보니 파이어베이스에서 제공하는 클라우드 메시징 서비스로 무려 무료다... 좋은 거다... 일단 토큰부터 생성을 해야하는데 작업을 해보려 한다. 01. 토큰 생성https://console.firebase.google.com/ 이곳에 들어가서 새프로젝트를 생성한다.웹 앱 등록을 한다.npm i firebase 설치다시 사이트에 가서 프로젝트 설정 -> 서비스 계정탭 이동새 비공개 키 생성 및 json 파일 다운로드이 json 파일은 env로 잘 만들어 두면 좋다잉02. 파이어 베이스 초기화 초기화를 왜 해야하지 라는 생각이 드는데 초기화 함으로써 인증 권한 api 클라이언트가 생성된다고 하니 꼭 해주..
DOMPurify
·
nest
DOMPurify 백아저씨들이 데이터를 줄때 태그도 같이 주는 경우가 있다예를들어 에디터 내용을 그대로 주는 경우(안그러면 css적용이 안된다잉 ㅠㅠ) 참고로 이거는 클라이언트 전용 라이브러리 이기때문에 서버사이드컴포넌트에서는 사용이 불가능 하다.왜냐면 window객체와 document객체를 사용해서 DOM을 조작하는데 서버사이드에서는 이게 없기때문에..서버 사이드에서도 가능하게 다른 라이브러리를 쓰면 된다는데 성능이 살짝 않좋다 라는게 잇어서 어차피 클라이언트 페이지에서도 써야하는데 한번에 쓰자는 마인드로 사용해볼까 한다. 그 전에 알아 볼게 있는데 dynamic이라는 nextjs 내장 라이브러리이다. 우리는 클라이언트컴포넌트에서만 쓸껀데 먼상관? 이라고 하면 일단 해봐라 안된다. 우리는 클라이언트 컴..
레디스
·
nest
😤 세션 로그인... 핫로딩 때문에 로그인 풀림 ㅂㅂ씨부레... 진짜 거지같다.NestJS + 세션 로그인으로 작업 중인데,개발 중 핫로딩 걸릴 때마다 로그인 풀리는 거, 너무 스트레스였다.원인은 당연히 이거다:세션이 서버 메모리에 저장돼 있음서버 재시작 시 세션 날아감그래서 로그인도 날아감 ㅠㅠ🤔 방법을 찾아봤다찾아보니 이런 해결책이 있었다:파일 기반 세션 저장DB (MySQL, Redis 등)에 저장외부 세션 관리 도입나는 어차피 채팅 구현도 예정이라,이번 기회에 그냥 Redis 써보기로 함(취준생이라 AWS는 패스… 비싸다… 진짜로) ☁️ RedisLabs – 클라우드 Redis 무료버전 개꿀👉 https://redislabs.comRedislabs는 30MB짜리 Redis 클라우드 DB를 무..
type orm
·
nest
01. typeorm transactiontypeorm에서 제공하는 기능으로 여러번의 테이블 작업이 필요할때 일관성의 안전을 위해서 사용하는 것이라고 보면 좋을꺼같다.즉 한번이라도 잘못되면 멈수고 롤백되야 하는경우 데이터의 불일치가 절대로 있으면 안되는 경우 라고 생각하면 되는데 내경우에는 아직은 시작단계이기 때문에 회원가입으로 예시를 보여주려고 한다.참고로 위의 경우가 아니면 기존에 사용햇던 방법이 더 낫다. 여기서 중요한것은 try catch finally까지 묶어야 되는것이고성공시에는 트랜잭션 확정 실패시에는 db가 망가지면안되니까 그전으로 롤백 마지막은 트랜지션을 꺼준다 왜냐 쿼리가 계속 진행되면 db가 다운된다잉 ㅠㅠconstructor( @InjectRepository(Users) ..
로그인 하기
·
nest
01. passport기존의 node처럼 passport로 로그인을 구현 해보겠당 ㅎㅎ NestJS에서 가드(guard)란 애플리케이션의 최전선에서 말그대로 애플리케이션을 보호하는 역할을 담당한다. NestJS로 들어오는 요청은 컨트롤러(controller) 단에 도달하기 전에 반드시 가드를 거쳐가도록 되어 있다.가드를 이용하면 컨트롤러가 요청을 처리하기 전에 안전하지 않은 요청을 효과적으로 차단할 수 있다. 결론은 node에서 썻던 유저인증용 미들웨어랑 같다 라고 볼수 있다. 1. LocalAuthGuardcanActivate: 로그인 시도시 실행되는 메서드로그인 성공하면 세션에 사용자 정보를 저장(logIn)주로 @UseGuards(LocalAuthGuard)로 로그인 라우트를 보호할 때 사용// a..
service
·
nest
01. 회원가입 서비스회원가입 로직을 짜보려고 하는데 기존의 노드 방식은 route에서 작업을 한다 라고 하면 nest에서는 레포지토리 서비스 컨트롤러 3개로 나뉘는 느낌이다. 레포지토리 : 테이블(db)와 엔티티를 이어주는 중간 다리역할서비스 : 비즈니스 로직 즉 기존에 node에서 쓰던 route컨트롤리 : 이모든걸 조종하는 흑막 이라고 이해는 했는데 ㅎㅎ 더 찾아 보겠다. 아래 처럼 1차적으로 짜봣는데 이렇게 Dependency Injection 즉 의존성 주입을 하게 되면 유닛테스트 및 유지보수를 하는데 좋다고 하고 위에 쓴데로 서비스쪽은 비즈니스로직을 db는 레포지토리쪽이 수행을 한다. Repository  그리고 중요한거 이 의존성주입은 모듈에서 하기때문에 아래처럼 모듈에 작성을 해줘야 한다...
PGI
'nest' 카테고리의 글 목록 (2 Page)