OAuth 란? 인증을 위한 개방형 표준 프로토콜 기존 클라이언트 - 서버 인증 모델에서 client는 resource owner의 자격 증명을 사용하여 서버로 인증하여 서버에 액세스 제한 리소스(보호된 리소스)를 요청합니다. 제한된 리소스에 대한 third-party applications 액세스를 제공하기 위해 resource owner는 해당 자격 증명을 third-party와 공유합니다. 간단한 예를 들자면, 간편로그인으로 Naver, Google, Kakao 등을 이용하는 것도 OAuth2 프로토콜 기반으로 사용자 인증 기능을 각 회사에서 제공하는 것입니다. OAuth 역할 : 4가지 역할의 정의 resource owner 보호된 리소스에 대한 엑세스 권한을 부여할 수 있는 엔터티, 최종 사용자..
REST APIREST는 Representational State Transfer의 약자이며, 하이퍼미디어 기반 분산 시스템을 구축하기 위한 아키텍처 스타일을 뜻한다. API는 Application Programming Interface의 약자로 애플리케이션 소프트웨어를 구축하고 통합하는 정의 및 프로토콜 세트입니다.RESTful API를 통해 요청이 수행될 때 RESTful API는 리소스 상태에 대한 표현을 요청자에게 전송하며 정보 또는 표현은 HTTP: JSON, HTML, XLT 또는 일반 텍스트를 통해 몇 가지 형식으로 전송되고 그 중에서도 JSON을 널리 사용됩니다.RESTful API의 디자인 원칙리소스를 중심으로 디자인되며, 클라이언트에서 액세스할 수 있는 모든 종류의 개체, 데이터 또는 ..
General rules ▼ 더보기 General rules 플래그 -Wall -Wextra -Werror -std=c++98 클래스 이름을 UpperCamelCase 형식으로 작성 (ClassName.tpp 와 같은...) 사용 금지 : *printf(), *free 및 free() 메모리 누수 방지 STL in Module 08 을 사용 (no Containers (vector/list/map/and so forth) and no Algorithms (anything that requires to include the header)) ex00 하면서 사용된 것이지만, 미리 숙지 하면 좋을 것 Naming Convention in C++ Exercise 00 : Megaphone C 같이 만들었다가 j..
이 프로젝트의 초점은 무엇인가?최소한의 제스쳐로 원하는 정보를 보여주려고 했다.기본 디자인과 구성은 내가 했지만 현재 백엔드 역할을 많이 하는 중이고 프론트엔드는 팀원이 하다보니 문제점에 대해서 모르고 있었고, 어떤 자료가 필요한 지 모르고 백엔드, 프론트엔드로서 각자의 역할을 하다보니 막히는 부분이 생겨서 회의를 하게 되었다.회의에서 크게 달라진 것은메인 컬러 ( 60 30 10 법칙?으로 색을 구성할 예정)목록이라는 항목을 없애고 즐겨찾기 추가정렬하는 우선순위에 대해 논의즐겨찾기현재 로그인 상태 (유/무)2번에서 로그인 시간 기준으로 최신순시멘틱 라이브러리에 있는 기능과 비슷하게 알람 구현친구 삭제 시 모달창으로 한 번 더 삭제가 맞는 건지 확인친구 검색 (모달창)검색할 때, 실시간으로 필터링 되어 ..
Movie.updateOne({title: 'Amadeus'}, {year: 1984}).then(res => console.log(res)) mongoose 설치 및 mongo에 연결 npm init -y npm i mongoose touch index.js // index.js const mongoose = require('mongoose'); main().catch(err => console.log(err)); async function main() { await mongoose.connect('mongodb://localhost:27017/movieApp'); } const movieSchema = new mongoose.Schema({ title: String, year: Number, scor..
SQL Structured Query Language, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어 SQL에서는 모든 일은 스키마와 테이블을 세팅한 후, 데이터베이스에 추가 테이블을 만들고 개별 요소를 정의, 다른 테이블에 있는 그 요소들을 연결하여 서로를 참조 NoSQL SQL의 구조화된 쿼리 언어를 쓰지 않고 많은 요소를 포괄하는 방식 (마치 모든 카테고리를 때려 넣은 상자) 강의에서는 MongoDB를 배우고 사용하는 것보다 설치가 제일 어려울 것이다라는 얘기와 함께 해당 링크를 주었으니, 참고하여 설치하면 될 거 같다. window 설치 macOS 설치 shell에서 mongo 명령어를 통해 mongo Shell을 실행 해당 쉘에서는 javascript 문법..
차경묵 멘토 @Hannal 파이썬이 메인 - 웹, 모바일, 게임 등 - 백엔드가 주축 사용자 스토리를 작성하고 이를 기반으로 테스트 코드를 작성하며, 웹 서비스를 만드는 과정 고객, 가치 그리고 우리가 작업할 수 있는 단위를 고민해야 한다. - 고객에게 어떤 가치를 전달할 것인지 - 그 가치를 전달하려면 무엇이 필요한지 - 우리가 그 무엇을 만드는 효율을 높이려면 어떻게 하면 좋은지 사용자를 정의하자면 로그인 유/무로 이야기 할 수 있는데, 비회원인 사람을 어떻게 회원가입을 하게 만드는 지 고민을 행 ㅑ한다. 저는 누구로서 하고 싶은 일을 하여 목적을 이루고 싶습니다 누구 고객에 대한 구체적인 Persona 정의 하고 싶은 일 고객이 목적을 이루고자 하는 의도 Needs, 기능과 같은 구현 관련된 내용은..
express (공식) (참고) : 웹 프레임워크 // express 설치 npm install express --save nodemon: 서버 자동 재시작을 위한 라이브러리 더보기 npm i -D nodemon // package.json ... "scripts": { "start": "nodemon index.js" } ... // 실행 시키기 npm start 폴더 및 package.json 생성 // 폴더 생성 mkdir firstApp // 폴더 이동 cd firstApp // package.json 생성 npm init -y // express 설치 npm install express app.use (참고) res.send (참고) app.get("*", (req, res) ... : 상단에 ..