목록what I Learnd (71)
HANA -J
API명세 원래는 api작성시 라우터 이름을 활용해야 된다고만 생각했었는데, 중간멘토링 이후 그것이 잘못되었다는 것을 배웠다. ex) POST /api/login (로그인 요청) POST /api/user/image (회원 이미지 업로드) GET /api/users/:userId/:postId (한 유저의 한개의 포스트 가져오기) DB설계 시 foreignKey 작업 시 관계를 양쪽에 작성했던 문제 한 쪽만 작성해서 중복이 없게 함 ex) db.Post.belongsTo(db.User, { foreignKey: 'userID', targetKey: 'userId', }); ex) db.User.hasMany(db.Post); sequelize findOne으로 가져온 데이터가 Json객체형식으로 가져와야..
1. 상태코드 2xx (Successful) : 클라이언트의 요청을 성공적으로 처리 200 (OK) : 요청성공 201(Created) : 요청성공해서 새로운 리소스가 생성됨 202(Accepted) : 요청이 접수 되었으마 처리가 완료되지 않았음 201(No Content) : 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 불문에 보낼 데이터가 없음 ex)save 4xx(Client Error) : 클라이언트 오류 - 클라이언트 요청에 잘못된 문법등으로 서버가 요청을 수행할 수 없음, 오류의 원인은 클라이언트에 있음 400 (Bad Request) : 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음, 요청파라미터가 잘못되었거나 API스펙이 안맞을때 401 (UnAuthorized) ..
공부한 블로그
1. SELECT * FROM node.users; User.findAll({}); 2. SELECT name, age FROM node.users; User.findAll({ attribute:['name', 'age'], }); 3. SELECT name, age From node.users WHERE role =1 AND age>30; const {OP} = require('sequelize'); const {User} = require('../models'); User.findAll({ attribute :['name', 'age'], where :{ role:1, age:{[Op,gt]:30}, }, }); 4. SELECT id, name FROM users WHERE role =0 OR ag..
> 첫 협업을 진행하며 느낀 아쉬운 점 - 나의 부족한 실력이 너무나 아쉬웠다. 이 기능을 추가함으로써 추가되어야할 데이터들을 넓게 생각하지 못해서 막상 코드를 짤 때 되서 또 API명세를 수정해야 했다. 여러모로 팀원분들께 혼선을 준거 같다. > 뿌듯한 점 - 그럼에도 불구하고 뒤죽박죽이던 코드들을 합쳐서 어느정도 구현을 한점 > 어려웠던 점 - 내가 조율해서 진행해도 될 문제와 내가 수정을 해도 되는 부분의 경계를 몰라서 우물쭈물 하는동안에.. 기능구현을 마무리 못했다. 어떻게 대화를 통해 조율을 하고 팀원분들께 내가 생각했던 flow를 그대로 전달하는것 그게 가장 어려웠다. > 좋았던 점 등 - 무엇보다 협업을 했다는게 가장 좋았다. 리액트 팀원분들이 짧은 시간에 너무 잘 하셔셔,,, 정말 별거 없..
오늘 아침에 변경된 파일들만 올리면 되는데 굳이..굳이 다내렸다가 올렷는데 pm2 log에 에러가 왕창 생겼다.... 정확한 원인은 찾지 못하고 node_modules 에서 에러가 나는 거 같아 package-lock.json, node_modules를 다지우고 다시 npm install했는데 같은 상황이였다. 해결 > 서버에 node_modules파일을 안올리고 서버에서 npm install했더니 해결되었다. 이유를 아직도 모른다. 올려서 다행ㅇ ㅣ 지
Cors를 들어가기 이전에 SOP? Same Origin Policy 다른 출처의 리소스를 사용하는 것에 제한하는 보안방식 출처?(origin) https://github:443/hana?tab=repositories#example 이러한 모든 것들을 출처라고 한다. SOP는 왜 도움이 되는가? 자기의 출처와 다른곳에서 요청이 오는경우(해커가 접근하는경우) SOP에 위반되니까 요청을 받지 않는다. ⇒다른 출처의 리소스가 필요한 경우에는 ?? 이때 CORS를 사용! CORS (출처 : MDN) 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 ..
> 2021/11/29- 2021/12/04 >노드 심화 3주차 - 테스트 코드 https://hana-j.tistory.com/43 TIL -TDD >2021/11/27 테스트 주도 개발을 하는 이유? 1. 디버깅 시간을 단축해준다. 테스팅 환경이 구축되어있다면 자동화 된 유닛 테스팅으로 특정 버그를 쉽게 찾아낼 수 있다. 2. 테스트 코드와 함께 작성 hana-j.tistory.com > 테스트 예시 //product.test.js 테스트 파일 하나 생성, 익스포트 했던 모듈 임포트 const productController = require('../../controller/products'); //컨트롤러 파일 const productModel = require('../../models/Produc..