728x90

node 3

[Node] firebase 연동해서 fcm 사용하기

fcm 을 처음에는 코프링으로 구현하다가, App Check 가 스프링에서는 구현이 안된다는 이슈로 node 로 다시 구현하기 시작했다. 내가 구현한 기능은 조금 많고 복잡하다. 내가 실력이 부족한건지, 아님 공통으로 줄일 수 있는데, 내가 못줄인것인지,, 이렇게 작성해놓으면 , 미래의 내가 보고 깨달음을 주겠지! 참고로 이게시글에는 백엔드 관련해서만 작성하겠다! 왜냐, node 를 하면서 오랜만에 백엔드 비즈니스 로직을 작성을 했고, 그 흐름을 잊어버리지 않기 위함이다. 1. 데이터베이스는 fcm 예약 DB, fcm 히스토리 DB 2개 존재한다. 토큰, 주제 의 전송방식으로 즉시 전송과 예약 전송 두가지 메소드가 존재한다. 즉시전송! 즉시전송은 바로 fcm 이 전송되기때문에, 전송 성공시 히스토리 DB..

⭐️ 개발/Node 2023.09.12

함수 작동 시간 체크

면접을 볼때 어떤 사람이 자랑스럽게 A 로직이 1초가 걸리던 로직을 0.5초까지 로직 시간을 줄인 경험이 있다라고 대답하는 면접자를 본 경험이 있다. 개발을 진행하다보니 함수가 얼마나 빨리 로직을 돌고 결과물을 리턴하는 것이 매우 중요해졌다. 왜냐하면 이 로직의 시간이 길어질수록, 사용하는 클라이언트는 그만큼 기다려야하고, 앱, 웹을 탈출하는 요소를 더욱 더 높이기 떄문이다. 우리의 앱과 웹을 많은 사람들이 애용하게 하려면, 체류시간을 늘리기는 목표로 잡아야한다. 체류시간을 높이기 위한 방법 중 하나가 유저의 불편요소를 없애는 것이다. 아니면 다른 방법으로 불편하지 않게 대체 해주면 된다. 부드럽게 유저 편의성을 높이면, 자연스럽게 앱을 사용하는데 편안함을 느낄 것이다. 그리고 그 후에는 컨텐츠의 양과 ..

⭐️ 개발 2023.07.06

Node 구성 설계 로직 설명

폴더 구조 src ㄴ- app.js - 앱 시작점 ㄴ- api - Express 라우트 컨트롤(app 의 모든 endpoint) ㄴ- config - 환경변수 및 구성 관련 설정 ㄴ- jobs - agenda.js 를 위한 Jobs 정의 ㄴ- loaders - 시작 프로세스 모델 분리 ㄴ- models - 데이터베이스 모델 ㄴ- services - 비즈니스 로직 ㄴ- subscrivers - 이벤트 핸들러(비동기) ㄴ- types - 타입 정의 파일 3계층 설계 관심사 분리 원칙(principle of separation of concerns) 적용을 위한 비즈니스로직을 node.js 의 api routes 와 분리해준다. Controller 에는 비즈니스 로직을 넣지 않는다! 바로 express.js ..

⭐️ 개발/Node 2023.07.03
728x90