목록항해99 (66)
개발자의 logs
클라이언트를 위한 응답코드 정리 ! 지금까지 이렇게 세부적으로 나눠있는 줄은 몰랐다 앞으로는 세세히 나눠서 응답코드를 보내야겠다 응답코드 메시지 200 JSON 데이터입니다. 401 유효하지 않은 토큰입니다. 410 새로운 버전이 나왔습니다. 새로운 버전을 사용하세요. 419 토큰이 만료되었습니다. 429 1분에 한 번만 요청할 수 있습니다. 500~ 기타 서버 에러
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/oCLEE/btrHTwCidIG/DJxlbknznHShJMjEerZSnK/img.png)
오늘은 멀터에 대해 알아보겠다! 우리 프로젝트는 현재 Multer 를 활용한 S3에 이미지 업로드 기능을 개발한 상황이다. 이 상황에서 우리 팀이 왜 multer라는 기술을 사용했는지 적어보려고 한다. What is Multer? multer란? Node.js에서 파일을 업로드하기 위해 사용되는 multipart/form-data를 다루기 위한 미들웨어이다. Why Multer-S3? Front-end에서 유저가 로컬에서 업로드한 이미지를 저장하는 방법은 여러가지가 있다. 서버에 이미지를 저장하는 폴더를 만들고, 클라이언트로부터 요청받은 파일을 저장하는 것이 있고, 이미지를 따로 저장하는 서버를 만들어 저장할 수 있다. 또한, DB에 Blob 타입으로 저장할 수도 있다. 위의 경우들은 사용하는 서버와 D..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/ctgQ9p/btrHOtAd1MA/v9d9YQHKCvMp8Ptpvc0aN1/img.jpg)
우리 조는 일반(회원가입을 통해 가입한 유저) 유저와 소셜로그인( 카카오톡, 네이버) 유저 두 분류로 나누어져 있었다. 두 유저는 받아오는 정보도 조금씩 다르고, 두 유저를 구분하는 것이 필요했기 때문에 스키마를 두개로 따로 나누어 관리하고 있었다. 하지만 어느날 , 이메일 중복가입 문제가 발생했다. 스키마가 다르다보니, 일반가입에서 이메일로 가입한 유저가 소셜로그인으로도 중복체크가 안되기 때문에, 새로 가입 할 수 있는 문제가 생겼다. 이 둘은 같은 이메일을 가진 동일한 유저이기 때문에(물론 이메일만 같고 실제 사용자는 다를 수 있다. 이 부분은 이름까지 동일하면 동일인으로 처리하기로 했다.) 두 번 씩이나 가입을 유도하고 DB에 새로 저장하면 안된다. 그렇지만 두 개의 스키마로 나누어져 있기 때문에 ..
1. 밸리데이션 탄탄히하기 2. 예외처리 단단히 하기 3. 멀터 다중이미지, 다중이미지 삭제하기, 단일 이미지 삭제하기 기능 개발 4. 주석 열심히 달기 5. 부하테스트 하기, 로드밸런싱하기 6. TDD (유닛,통합) 작성하기 겉으로 번드러지는 것 보다 탄탄하게, 단단하게 ! 오늘도 열심히 살았다.
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/S24XZ/btrHpPcg0ZX/7J0e3SVbvkdK6f8nvSA0fk/img.jpg)
두번째 멤버가 하차했다 사유는 역시 진로문제. 현재 우리조는 인력부족 문제를 실감하고 있다. 좋은 아이디어가 아무리 많고, 좋은 기획이 나온다해도 실현할 사람과, 노동력이 없는 상황이다. 매일매일 하나씩 덜어내고, 지우고, 비지니스와 작품과 타협하고 있다. 아무래도 완성이 제일 첫 1순위니까. 마음은 어렵지만 난 지금 내가 어떤 상황인지 어디까지 할 수 있는지와 우리팀의 상황을 매 순간 확인하고 체크해야한다. 가끔 7명, 8명이 모여있는 조를 보면 솔직히 부럽다. 하지만 늘 그랫듯이 난 불리한 경쟁에서 살아남아왔다. 역시 최선을 다해서 후회를 남기지말자 .. ! 끝까지 포기하지않고 완성해내겠다. 일당백 1조 !!! 모두가 임시정부체제로 간다!! 아자! 언제나 그렇듯 변명은 없다 이번주는 MVP 발표가 있..
실전 팀작업을 하던 중 multer를 이용해서 s3에 사진을 업로드해야했다. 프론트에게 물어보니, 파이어베이스로 프론트 쪽에서 하던 것을 백엔드가 이미지를 알아서 처리해주니 한결 편하다고 한다. 각설하고 소스코드를 우선 공개한다. 블로그나 구글링을 하다보면 코드를 중간중간 . . . 처리를 한다거나 삭제 및 숨김을 해서 붙여넣기하면 온전히 코드가 돌아가기 힘든데, 난 그런 부분들이 오히려 다른사람들의 개발에 어려움을 주는 것 같아 때문에 파일 전체를 올린다. 아래는 게시물 관련 api routes 파일이다. 즉, posts.js const dotenv = require('dotenv').config(); const express = require('express'); const router = expre..