계획의 재검토 지난번 작성한 Passport.js 글에서도 잠깐 언급했지만, 그 다음 강의는 DATABASE2 - lowdb 강의였다. 하지만, 강의 영상이 제작된 이후 lowdb가 2.0 버전으로 업데이트 되었는데, 문법이 많이 바뀌어 학습에 어려움이 있을 것 같았다. 이와 더불어 전역 후에는 알고리즘 공부를 하려고 계획하고 있었기 때문에, 공부 계획을 재검토하게 되었다. 웹 프로그래밍 공부 중단 및 알고리즘 공부 시작, lowdb가 아닌 다른 데이터베이스를 사용한 웹 프로그래밍 공부 지속 등의 방안이 있었다. 우선, 학습하고 있던 WEBn 시리즈 완강이 얼마 남지 않아 여기서 중단하기엔 너무 아쉽다는 판단이 섰다. 이후 웹 공부를 지속하기 위해 정보를 조사하던 중, 다행히 npm으로 패키지의 특정 버..
이번에는 Node.js의 인증 미들웨어인 Passport.js를 학습했다. 이전 강의들에서 쿠키와 세션을 이용해 웹사이트에서 로그인 기능을 구현했는데, Passport.js는 이러한 기초적인 방법보다 훨씬 강력했다. Passport에서 로그인 방식은 'Strategy'로 표현하는데, 자체적으로 로그인을 구현하는 local과, 구글, 페이스북, 네이버, 카카오 등의 대형 기업들이 가지고 있는 사용자 정보를 사용하는 여러 방법들이 존재했다. 자체적으로 사용자 정보를 관리할 경우 서버와 보안 소요가 커지기 마련인데, Passport.js를 이용하면 사용자 정보를 자체적으로 따로 저장하지 않으면서 인증 기능만 제공하는 '소셜 로그인' 기능을 구현할 수 있다는 점이 흥미로웠다. 이번 강의에서는 가장 기초적인 lo..
이번에 학습한 두 개의 강의는 모두 '인증'에 관한 것이었다. 첫 번째 강의는 Node.js 환경에서 쿠키(Cookie)를 활용해 로그인 기능을 구현하는 내용이었고, 두 번째 강의는 Node.js의 Express 프레임워크 환경에서 세션(Session)을 활용해 로그인 기능을 구현하는 내용이었다. 두 강의 모두 이전 강의와 마찬가지로 구름IDE 환경에서 학습했다. 쿠키(Cookie)란 클라이언트의 로컬에 저장되는 작은 데이터 파일이다. 대표적으로 Name-Value 값으로 구성되며, 이 외에도 웹브라우저 상에서의 쿠키 조작을 방지하기 위한 'HttpOnly', 각각 활성화 될 디렉토리와 도메인을 지정하는 'Path', 'Domain', Https 환경에서만 전송하는 'Secure', 만료 시기를 지정하는..
이번에는 Node.js의 대표적인 웹 프레임워크 중 하나인 Express에 대해 학습했다. 이번에도 이전 강의들 처럼 Visual Studio Code를 사용해 코딩을 지속하려고 했지만, 부대 내 사이버지식정보방 프로그램 업데이트로 터미널 사용이 제한되었다. 따라서 강의 초반에 부득이하게 다시 VSCode에서 구름IDE로 작업 환경을 변경했다. 환경을 다시 변경해야 해 번거롭기도 했고, 아무래도 로컬PC에서 Node.js를 구동하는 것보다 불편한 점이 많았지만, 다행히 학습에 문제가 생길 정도로 큰 어려움은 없었다. 강의 초반부는 기존의 Node.js 기반 코드를 Express 프레임워크에 맞게 변경하는 내용으로 구성되었다. 어려운 내용은 아니었지만, 부대 사정으로 인해 학습이 자꾸 끊겼던 탓에 내용들이..