본문 바로가기
반응형

서버 개발11

OAuth로 구글 로그인을 구현해보자 🔐 OAuth 우리가 개발을 하다보면 구글 계정을 통한 개인 정보를 활용하고 싶은 경우가 생긴다. 이를 위해서 우리 개발 서버에서 유저의 구글 아이디와 비밀번호를 저장하고 있다면 쉽게 계정 정보에 접근할 수 있을 것이다. 하지만 이러한 방법은 보안상으로 매우 위험하다. 그래서 이를 해결하기 위해 나온 것이 OAuth 이다. 사용자의 아이디와 비밀번호를 전달하는 대신, 구글이 제공하는 랜덤하고, 일정 기간동안만 사용될 수 있는 임시 비밀번호를 개발 서버에서 전달받는 것을 OAuth가 가능하게 해준다. 우리의 개발 서버는 구글(또는 다른 서비스들)로 부터 access token(임시 비밀번호) 을 전달받고, 이 access token 을 사용하여 구글의 서비스에 접근할 수 있다! OAuth를 이해하기 위해서.. 2021. 5. 8.
MongoDB 연결하기 MongoDB를 Node.js에 연결하는 방법은 여러가지가 있지만 그 중에서도 mongoose를 이용하여 연결하는 방법을 정리하고자 한다. mongoose는 크게 4가지 단계로 이루어진다. 1. 데이터 베이스 연결 const mongoose = require('mongoose'); const url = 'mongodb://localhost:27017/Moviest'; mongoose.connect(url); const db = mongoose.connection; db.on('error', (err)=>{ //error handling }); db.once('open', ()=>{ //db handling }); 2. 스키마 정의 - 스키마: 도큐먼트의 타입과 형태를 정의 - 타입: String, Num.. 2021. 4. 21.
Express란 무엇일까? 🎇 Express Express는 HTTP 요청, 응답을 쉽게 하도록 도와주는 웹 프레임워크이다. 1. 서버 생성, 시작 var express = require('express'); var app = express(); app.listen(3000); 2. 라우팅 요청을 요청 처리 미들웨어로 분배해준다. 1) HTTP method 별로 라우팅 app.get('/', (req, res)=>{ // get request handling }); app.post('/', (req, res)=>{ // post request handling }); 2) url 경로 별로 라우팅 app.get('/user', (req, res)=>{ // /user url에 대한 handling }); app.get('/items.. 2021. 4. 20.
JSON과 XML에 대해 알아보자 💻 웹 기반 서비스 서버 - 웹 브라우저 - 모바일 웹 브라우저 클라이언트는 서버에 html, css, js, 이미지 등을 요청하여 얻은 데이터를 바탕으로 웹 페이지를 구성함. 📱 모바일 서버 - 네이티브 앱 웹 처럼 html이 아닌 자체적인 코드를 가지고 화면을 구성함. html, css, js 등이 필요 없다. xml, json 등의 포멧의 데이터를 필요로 한다. 화면 이동을 클라이언트(앱)에서 담당해서 라우팅이 필요하지 않다. 📃 JSON 1. 특징 - 'property: value' 형식 - 문서 크기가 작아서 네트워크를 이용하여 주고 받기에 편리하다 - property의 이름은 중복될 수 없음 { 'greeting': 'hello', title: 'name', price: [4,5,6] } 2... 2021. 4. 19.
Node.js 이해하기 Node.js는 쉽게 말해 웹브라우저 바깥의 환경에서도 javascript가 동작할 수 있게 하는 프레임워크이다. ✨ 특징 - 브라우저 밖에서 js 코드를 실행할 수 있도록 해준다. - 크롬 브라우저에서 사용하는 것과 같은 V8 엔진을 사용한다. - 이벤트 기반의 비동기 I/O 프레임워크이다. - commonJS 를 구현한 모듈 시스템이다. - 싱글 스레드를 기반으로 동작한다. 👍 장점 - 비동기 I/O 프레임워크이다. 서버의 경우에는 I/O를 빈번하게 사용한다. (ex: DB로 부터 데이터 읽어오기, 수정하기...) 그래서 비동기 I/O 라는 것이 큰 장점이 된다. - 그리고 클라이언트에서 사용하는 언어인 js로 작성 가능하다. - 간단한 구조로 구성된 프레임워크이다. - 다양한 라이브러리(모듈)가 존.. 2021. 4. 19.
반응형