728x90
반응형
SMALL
DB를 만들거다
파일로 데이터를 관리 할거다
이거 겁나 신박하고 신기하다
방법을 알면 언제든 사용할것 같다
파일로 저장을 한다고? 어떻게?
![]() |
요 부분 뜯어내서 |
![]() |
databases 폴더 안에 users.json을 만들어 붙여 넣고 json 형식에 맞게 수정좀 해주자 |
![]() |
이렇게 해당 필드에 대한 데이터들을 만들어 놨고 |
![]() |
다시 UserStorage에서 users.json 파일에 접근을 하려면 파일에 접근할수있는 모듈인 fs를 불러와야 한다 |
![]() |
이걸로 해당 파일에 접근 한번 해보자 로그인 쪽에 이렇게 fs모듈을 사용해 readFile()로 ./ 현재경로의 package.json 을 한번 불러와 보자 어떻게 나오나 |
![]() |
buffer 에 대한 결과가 나온 16진수로 이대로는 읽을수가 없다 |
![]() |
이렇게 하면 |
![]() |
JSON 파이를 불러올수 있구나르 확인 |
![]() |
경로 수정 해서 |
![]() |
데이터 확인 |
![]() |
그럼 이제 저 블록씌워진거를 괄호 안으로 집어 넣고 다시 해보면... 안된다.. 왜? |
User 클래스를 보자
![]() |
저게 반환하는 값이 뭔지 한번 보자 |
![]() |
로그인 버튼을 다시 눌러서 보면. . 아무것도 반환하는 값이 없다 |
![]() |
UserStorage에서 userInfo 를 반환은 하는데 왜..? userInfo 는 저 콜백 함수가 리턴 하는거지 fs.readFile 메서드가 리턴하는게 아니기 때문이다 |
Promise, async, await으로 비동기 최적화 시키
![]() |
그거 쓰려면 저렇게 추가 해줘야 되고 |
![]() |
이제 fs는 Promise를 반환 하게 된다 |
![]() |
그렇다면 저기에 .then() 이라는걸 쓸수가 있다는거네? |
![]() |
해당 로직이 성공 했을때 .then() 이 움직이고 실패 했을때 catch()가 작동해서 에러를 잡을거 |
![]() |
err은 catch()에서 잡는댔고 data는 그럼 then에서 로직이 돌겠 |
![]() |
코드 정리 끝. . |
이렇게 readFile()메서드는 Promise를 부여 해줬으니
반환 해 줄수 있어졌음
![]() |
userInfo를 출력해보면 |
![]() |
아이디를 입력하고 출력하면 그에 해당하는 값들이 나오는걸 확인 |
![]() |
따로 은닉화 해서 해당 코드만 분리해 만들어주고 반환해주는 값이 userInfo 기 때문에 |
![]() |
여기서 return 값으로 바로 은닉화된 #getUserInfo() 메서드를 반환 해 준다. 받아온 data를 불러와야 하니까 data를 써주고 그에 맞는 id값도 같이 갖고와 준 |
코딩 할때 암묵적인 룰 같은게 있다
은닉화 된건 클래스의 최상위로 올려두는것
728x90
'Back-End Frameworks > Node.js' 카테고리의 다른 글
13) Nodejs - 백앤드 넓고 얕게 맛보기_정리_Postman 사용하기(출처 유튭 강의)★★★ (0) | 2023.11.03 |
---|---|
12) Nodejs - 백앤드 넓고 얕게 맛보기_정리_데이터를 파일에 저장하기(출처 유튭 강의)★★ (0) | 2023.11.01 |
10) Nodejs - 백앤드 넓고 얕게 맛보기_정리_회원가입 요청 기능 구(출처 유튭 강의) (0) | 2023.10.31 |
9) Nodejs - 백앤드 넓고 얕게 맛보기_정리_User 모델 만들기(출처 유튭 강의) (0) | 2023.10.30 |
8) Nodejs - 백앤드 넓고 얕게 맛보기_정리_서버 응답받은 값 처리(출처 유튭 강의) (0) | 2023.10.30 |