본문 바로가기

node.js

(6)
[Sequelize] findAll한 데이터에서 dataValues 이외의 정보 버리기 ⛔ dataValues 이외의 정보가 있을 때 문제점 sequelize findAll한 데이터를 보면 필요한 dataValues이외에 여러 데이터들이 있습니다. 보통 그런 데이터들을 그냥 두고 클라이언트로 전송해도 원하는 데이터만 전달됩니다. 그러나 graphql에서 sequelize.fn을 통해 추가한 새로운 attributes나 findAll한 데이터에 임의로 추가한 새로운 변수는 null로 읽어질 수 있습니다.(아래와 같은 경우) let result = await Payment_item.findAll({ attributes: ['id', [sequelize.fn('COUNT', sequelize.col('id')), 'count']], }); result[0].dataValues.name = 'ab..
[Node.js] 애플로그인 구현하기 🔑 Apple Developer에서 key 발급받기 Apple Developer 사이트에서 로그인하고, Account에 들어가서 Identifier과 App ID를 생성해야 합니다. 모든 Authkey-.p8파일과 id값들이 준비 된 후, 구현 부분을 다루겠습니다! 🌱 Apple-auth 기본 세팅 Apple-auth를 이용해서 간단하게 애플 로그인을 구현할 수 있습니다. npm install apple-auth로 설치 먼저 해줍니다. 이후 config파일을 준비해야 하는데 config.json 파일의 예시는 다음과 같습니다. Apple Developer 사이트에서 생성한 값들로 아래를 채워야 합니다. 최대한 비슷하게 예시를 적어두었으니 꼭 잘맞춰서 적어주세요~! (저는 -.p8 키 파일의 이름도 pri..
[node.js] multer와 S3를 이용한 이미지 업로드 (multer 설치 부터 S3이미지 업로드 까지) - 2. S3 S3는 Amazon Simple Storage Service로, 인터넷용 스토리지 서비스입니다. 쉽게 AWS에서 제공하는 파일 저장 공간이라고 생각하시면 됩니다. multer-s3를 사용하여 이미지 업로드 시 로컬 서버가 아닌 S3에 이미지를 업로드하게 됩니다. 기본적인 multer에 대한 설명은 이전 포스팅 [node.js] multer와 S3를 이용한 이미지 업로드 (multer 설치 부터 S3이미지 업로드 까지) - 1. multer 를 참고해 주세요. 🍟 S3 버킷 생성 AWS에서 로그인한 후, S3 버킷을 생성해줍니다. 버킷생성 과정은 링크를 참고하시면 됩니다. 🍖 IAM 설정하기 IAM이란 AWS 리소스에 대한 엑세스를 안전하기 제어할 수 있는 웹 서비스 입니다. 이를 통해 리소스를 사용하도록..
[node.js] multer와 S3를 이용한 이미지 업로드 (multer 설치 부터 S3이미지 업로드 까지) - 1. multer 서버에 이미지를 저장할 때 사용되는 모듈 multer에 대해서 알아 보겠습니다. multer의 설치와 주요 메소드 single, array, fields에 대한 예시와 s3를 사용하는 방법까지 설명할 예정입니다. 🌝 multer 설치 npm install --save multer multer의 사용법과 상세한 설명은 공식 문서(multer - npm)를 참고하세요. 🌜 multer를 이용할 파일에 multer 가져오기 const multer = require('multer’); const upload = multer({ dest: 'uploads/' }); dest는 클라이언트에서 넘어온 사진을 저장할 디렉토리입니다. 저장하고 싶은 디렉토리를 적어주면 됩니다. ⭐ 메소드 1. single(fieldnam..
[Node.js] socket.io로 실시간 채팅 구현하기(2) + 실시간 이미지 전송 socket.io 아래 코드에서 사용될 메소드와 이벤트 등에 대한 설명은 이전 포스팅_"[Node.js] socket.io로 실시간 채팅 구현하기(1)" 을 참고하면 된다. 🧁 프로젝트 목표 채팅방을 생성할 수 있고, 해당 채팅방에 들어온 클라이언트 끼리 메세지 전송이 가능하다. (다른 채팅방의 메세지는 볼 수 없다.) 실시간으로 메세지를 주고 받을 수 있다. 실시간으로 이미지를 주고 받을 수 있다. 🍹 프로젝트 결과 🍰 프로젝트 경로 구성 HTMPpage.html은 프론트를 위한 파일이다. express를 따로 파지 않고 app.js내에서 웹서버를 직접 생성했다. config폴더는 s3와 multer사용을 위한 폴더이다. 실행은 node app.js명령어를 통해서 했다. 🍩 SERVER(node.js)..
[Node.js] socket.io로 실시간 채팅 구현하기 (1) 🔨 socket.io Install socket.io를 사용하면 실시간으로 클라이언트와 클라이언트 사이에서 반응을 전달할 수 있다. 즉, 실시간 상호작용을 가능하게 하는 웹소켓을 위한 모듈이다. npm install --save socket.io ✨ 이벤트의 의미 이벤트는 웹소켓을 사용하는 '단위'라고 생각하면 되는데, 클라이언트와 서버에서 이벤트 단위로 각 작업을 매칭하게 된다. connection : 클라이언트가 연결할때 발생하며, socket객체를 생성한다. disconnect : 클라이언트가 연결을 해제할 때 발생 이외의 이벤트는 변수 선언을 하듯이 필요에 따라 직접 생성하여 사용한다. 이벤트에 대한 선언을 서버와 클라이언트의 코드를 비교했을때, // 서버 socket.on('이벤트1', (dat..

반응형