쿠키에 세션 정보를 담아 놓고 로그인 유지를 판단하는데

origin이 다르면 chrome은 이제 default 상태에서 쿠키를 저장하지 않는다.

요즘은 client와 server url이 다른 경우가 많다.

서버에서 쿠키 설정에 SameSite: 'none'으로 지정해 주어야

cross site에서 쿠키를 저장할 수 있다.

'nodeJS > http transaction' 카테고리의 다른 글

Chrome cookie Policy: SameSite  (0) 2020.02.19
Chrome CORS Policy: Access-Control-Allow-Origin  (0) 2020.02.19
nodeJs http file transfer  (0) 2019.04.25

서버와 통신할 때 credentials: 'include' 설정을 했을 경우

response header의 Access-Control-Allow-Origin: '*' 설정은 사용 할 수 없다.

url을 ,로 연결해도 소용 없다.

서버에서 request header로 들어온 origin을 그대로 반환해 주면 된다.

'*'와 같은 효과가 나는데 보안상 안좋아서 하지 말라는 것이니

whitelist목록을 만들어 놓고 origin이 포함되면 그대로 돌려주게 하면 된다.

node module중 cors에 origin 설정도 이런 식으로 이루어진다.

 

'nodeJS > http transaction' 카테고리의 다른 글

Chrome cookie Policy: SameSite  (0) 2020.02.19
Chrome CORS Policy: Access-Control-Allow-Origin  (0) 2020.02.19
nodeJs http file transfer  (0) 2019.04.25

errorMessage
Resolution method is overspecified. Specify a callback or return a Promise; not both.

it('test method', async done =>
   request(app).get('/version')
       .expect(200, done)
  )```

'done' is used for async test;
but must not be use with async

반복이 안되는 걸 반복하려는 경우가 어떤 경우가 있을 까?

a[n]을 하면 undefined가 나올 것이고 .forEach는 not a function이 나올 것이다.

destructuring이 강제로 iterate하니 발생할 수 있는 에러다.

나 같은 경우는 보통

테스트하려고 db insert sequence number를 받아 올 때

테스트하려고 stub 함수를 만드는데

리턴이 제대로 되지 않으면 undefined를 interate하려니 발생한다.

 

'nodeJS > runtime error' 카테고리의 다른 글

TypeError: (intermediate value) is not iterable  (0) 2020.01.05

현재 돌아가는 노드 프로젝트 중에 axios가 제일 많을 거라고 생각한다.

하지만 요즘은 fetch를 쓰려는 사람들이 많다.

가장 큰 이유는 axios는 401, 500 이런 status code를 promise reject처리한다.

따라서 저런 것들에 대한 error처리를 해줘야 한다.

그렇지 않으면 비동기 호출에서 exception이 계속 발생하고 어떤 사이드 이펙트가 있을 지 알 수 없다.

하지만 fetch는 timeout인 경우가 아니면 예외처리하지 않는다.

이게 중요한 이유는

내가 만든 api라면 status를 제어권 아래두고 처리할 수 있으나

그렇지 않은 경우 상황에 따른 status를 정확히 알 수가 없다.

알 수 없는 에러들로 혼란을 겪게 된다.

 

현재 프로젝트는 호출에 대한 cancel이 필요할 지도 모른다는 생각 때문에 axios를 선택했지만

그렇지 않다면 fetch로 진행할 것이다.

모질라 공식문서에도 fetch가 있고 표준이 될 거라고 생각한다.

npm show webpack@* version

 

설치 가능한 WEBPACK버전들을 보고 싶다면 

If you use next server's prepare method,

routing-controllers can't find moudle 'cors'

You must use cors in express.

'nodeJS' 카테고리의 다른 글

axios vs fetch #1  (0) 2019.11.17
npm 설치 가능한 버전 보기  (0) 2019.08.16
Conflicts in NextJs and Routing-Controllers  (0) 2019.07.30
또 다른 circular dependency 처리  (0) 2019.04.09
nodeJs 구조  (0) 2018.04.18
npm --save --save-dev  (0) 2018.04.14

I use routing-controller

We can use multer through @UseBefore decorator

create 'upload' object

const upload = multer();

and use @UseBefore above http method decorator( ex: @Pet )

@UseBefore(upload.single("thisIsFileName"))

@Put

 

"thisIsFileName" is put parameterName which U define in client-end-point

 

'nodeJS > http transaction' 카테고리의 다른 글

Chrome cookie Policy: SameSite  (0) 2020.02.19
Chrome CORS Policy: Access-Control-Allow-Origin  (0) 2020.02.19
nodeJs http file transfer  (0) 2019.04.25

대부분 언어에서는 순환 참조를 금지하고 있다.

당연히 무한 루프를 돌아서 그렇겠지만

nodeJs는 허용하고 있다.

DB모델들 같은 경우는 서로 참조하고 있는 경우가 많기 때문이다.

하지만 일반적으로는 순환 참조가 발생하지 않게 하고 클래스를 잘 나눠야 겠지만

그렇게 하고 싶지 않을 때가 있다.

lazy export로 해결하는 방법이 있다. 정말 특수한 경우에만 쓰자

https://stackoverflow.com/questions/10869276/how-to-deal-with-cyclic-dependencies-in-node-js

 

How to deal with cyclic dependencies in Node.js

I've been working with nodejs lately and still getting to grips with the module system so apologies if this is an obvious question. I want code roughly like the following below: a.js (the main fil...

stackoverflow.com

https://blog.outsider.ne.kr/1283

 

Node.js의 순환 의존성 :: Outsider's Dev Story

코드를 모듈화해서 작성하다 보면 서로 간에 의존성을 갖게 되는데 이러다 보면 순환 의존성을 가질 수 있다. A 파일이 B를 참조하는데 B 파일이 다시 A 파일을 참조할 수 있고 좀 더 복잡하게는 의도치 않게 A가...

blog.outsider.ne.kr

 

'nodeJS' 카테고리의 다른 글

axios vs fetch #1  (0) 2019.11.17
npm 설치 가능한 버전 보기  (0) 2019.08.16
Conflicts in NextJs and Routing-Controllers  (0) 2019.07.30
또 다른 circular dependency 처리  (0) 2019.04.09
nodeJs 구조  (0) 2018.04.18
npm --save --save-dev  (0) 2018.04.14

sequelize로 findAll 해서 얻은 객체는 순수한 DB 자료구조가 아니다

여러 함수화 여러 상태가 복합적으로 얽혀있다.

이걸 다 쓰냐고 말한다면 거의 그렇지 않다

1. sequelize 객체 - 옵션 없이 그냥 find로 나온 객체

2. find option에서  raw: true를 주었을 경우

3. get() 메서드로 얻는 방법

4. toJSON()으로 얻는 법

5. dataValues로 얻는 법

 

뭔가 통일을 해야 할 것 같은데 가장 범용적인 방법이 뭔지 혼란 스럽다.

 

'nodeJS > sequelize' 카테고리의 다른 글

Sequelize select객체에 대한 생각  (0) 2019.03.29
outer join 테이블 조건 where로 걸기  (0) 2019.03.24
sequelize 설정  (0) 2019.03.10

+ Recent posts