주특기 심화과정이 시작되었다
기본 과정때 배웠던 기본 CRUD 기능를 배웠다면 심화 과정부터는
로그인, 회원가입같은 페이지에 필요한 데이터 validation과 사용자를 구분할 수 있는 검증 방법 그리고 실시간으로 알림을 전달할 수 있는 socket 통신 방법 등을 배우게된다.
본격적으로 서버와 통신하는 기능들을 배우게되어 설레는 마음이 매우 크다. 특히 노드 js는 다른 언어들에 비해 강의 시간이 짧아 일요일까지는 다 듣고 과제를 시작하기 전에 간단한 wrap up 시간을 가질 수 있을거같다.
문제는, 기본 과정을 하는 동안 진행한 과제에 너무 신경을 썼는지 다시 공부 모드로 돌아가려하니 쉽게 집중이 안되었다. 나름 pace를 조절해가며 개발을 했다고 생각했는데 아니었나보다..아니..다른 분들 밤샐 때 꼬박꼬박 5,6시간은 잤는데 말이지...ㅠㅠㅠ
그래서, 3일 정도 쓰지 못했던 TIL를 작성하며 다시 한번 더 마음을 꽉 잡아보려 한다. 넓게, 오래 보자. 장기적으로 pace를 조절하며 조금 조금씩 나아가자.
이번 심화 과정도, 새로 만난 팀원들과 함께 뿌셔버리자! 할 수 있다!!
서버가 클라이언트의 요청을 받을 때, 클라이언트가 인증 정보(authentication information)을 제공할 때 사용된다.
아래와 같은 흐름으로 진행이 된다.
이미지와 같이 basic 인증의 경우 보안을 위하여 반드시 HTTPS(TLS) 내에서 이뤄져야한다.
출처: https://developer.mozilla.org/ko/docs/Web/HTTP/Authentication
Mongoose 란,
npm 에서 제공하는 패키지로 pymongo와 연동되어 DB에서 사용되는 기능들을 간편한 방법으로 제공해준다.
이번 심화과정에서는 기본 과정과 다른 방식으로 db 데이터를 처리하는 방법을 배웠다.
기존에는 UpdateOne,findOne을 이용하여 데이터에 접근하였지만
.exec() 와 .save()를 이용하면 일반 변수처럼 값을 변경하고 할당할 수 있게된다.
Todo라는 collection에서 찾아온 데이터를 todo 라는 변수에 넣어준 후 exec()로 실행을 하게되면
const todo = await Todo.findById(todoId).exec()
저장된 속성 값을 .<컬럼명> 을 이용하여 호출할 수 있으며 다른 값으로 변경이 가능하다.
todo.order = order
마지막으로 .save()를 이용하여 변경된 값을 DB에 적용시킨다.
await todo.save()
.exec()와 .save()는 프로미스 객체를 반환하므로 await를 이용하여 비동기 프로그래밍 처리를 해줘야 한다!
항해99를 시작한지 한달이 되어간다. 비대면으로 누군가를 새로 만난다는게 초반에는 정말 어색했는데 이제는 어느정도 익숙해져서 전보단 편안한 마음으로 사람들을 만나고 있다.
이번에 심화과정으로 넘어가며 팀도 바뀌었는데 반가운 얼굴과 익숙한 이름들을 가진 분들과 팀이되었다. 항해를 시작하기 전 100명이 넘는 사람들을, 그것도 virtual 공간에서 다 만날 수 있기나 할까라고 생각했던 나는 점점 시간이 지나갈 수록 아..가능하겠구나 라는 생각을 갖게된다.
최종 프로젝트가 시작하기 전 최대한 많은 사람들을 만날 수 있도록 항해에서 팀을 주기적으로 바꿔주는 것도 있고 꼭 같이 팀을 하지 않았더라도 건너 건너 보다보면 다 알게 되더라구..
이렇게 새로운 사람들과 만나 대화를 나누는 건 점점 익숙해지지만 여전히 정든 팀원들과 헤어지는 건 정말 아쉽다.. 마음도 맞고 서로 어느정도 편해졌을 때 안녕이라니..힝...그래도 같이 Node.js라는 배를 탔으니 간간히 연락하며 서로 도움을 줄 수 있는 관계가 되면 좋겠다.