Web Dev 214

35 (1/2) :: JWT, Cookie, 비밀번호 찾기 흐름, OAuth, 구글로그인, Nginx

엘리스 SW 엔지니어 트랙 35일차 온라인 강의날 🦁 JWT Json Web Token 인증 위한 정보를 저장소 이용안하고 전자 서명 이용해서 확인하는 방법 구성 header: 토큰의 타입 payload: 전달되는 데이터 signature: 헤더와 페이로드의 전자서명 payload 단순히 정보를 base65 인코딩한것 => decode시 정보 노출 => 민감한 정보 제외하고 토큰 생성 필수 서버는 JWT 생성할 때 비공개키 이용 서명 payload 조작시 서명이 달라서 인증 실패 JWT 작동 반식 사용자 로그인 서버는 로그인된 유저 정보를 JWT로 생성 클라이언트에 전달 클라이언트는 전달받은 JWT 이용 인증이 필요한 요청에 사용 지금까지 session 사용했다 session은 웹 브라우저 통신 스펙 모..

Web Dev/ELICE 2021.12.11

34 :: 회원가입, Passport.js, Session Store, CSR 댓글 기능, MongoDB Aggregation

엘리스 SW 엔지니어 트랙 34일차 온라인 강의날 어제 알아본 Passport.js로 인증 기능과 회원가입, Session Store, 회원과 게시글 연동, CSR 댓글 기능 구현 등 이렇게 봐서는 도저히 이해할 수 없는 내용 시작! 회원가입 비밀번호 데이터베이스에 그대로 저장하면 관리자가 모든 회원 비밀번호 확인가능 => 암호화 한다, Hash 방법 Node.js hash 사용방법 기본 제공 모듈 crypto 이용 간단한 알고리즘(sha1), 강력한 알고리즘(sha224, sha256 등) 사용 마지막에 16진수로 만들어준다(digest) // hash const hash = crypto.createHash('sha1') hash.update(password) hash.digest("hex") 회원가입..

Web Dev/ELICE 2021.12.10

33 :: GraphQL, OAuth, JWT, Passport

엘리스 SW 엔지니어 트랙 33일차 박성국님 실시간 강의날 🦁 오늘의 내용은 Database와 인증 마음 편히 이런게 있구나 쳐다보자 데이터베이스를 만질 때 SQL 로우쿼리로 하는 것 보다 Sequelize를 배워서 사용하면 좋다고 하신다 Node 인증 구현 GraphQL (GQL) SQL이 아닌 객체를 보내주는 것 메타(페이스북)가 개발한 새로운 API 규격 SQL이 백엔드를 위함이라면, GQL은 보다 더 클라이언트 친화적 시스템 Query 데이터 요청에 사용 REST에서 GET같은 녀석 Mutation 데이터 수정 REST의 POST, DELETE, UPDATE 같은 녀석 SDL(Schema Definition Language) 스키마 정확히 정해줘야된다 명확한 타입을 정의해서 기술 GraphQL 공..

Web Dev/ELICE 2021.12.09

31 :: 데이터베이스, SQL, NoSQL, express, Mongoose 실습

엘리스 SW 엔지니어 트랙 31일차 박성국님 실시간 강의 🦁 Node.js에서 사용하는 Database 데이터베이스 사용 이유 데이터공유: 여러명 동시에 공유에도 안정성과 정확성 갖춤 데이터 중복 최소화: 하나의 데이터베이스에서 여러 테이블로 나눠 중복 최소화 지속성: DBMS에 의해 중앙집중적 관리되어 무결성 유지 용의 보안성: 중앙집중적으로 관리되어 한군데 보안을 유지 => 지금은 클라우드(AWS, Google)에서 삼엄하게 보안 유지해준다 SQL | NoSQL SQL 엄격한 스키마 유연성 낮다 관계를 통해 데이터 중복 피함 수직적 확장만 가능 SQL 사용이 좋은 경우 명확한 스키마 사용할 경우 NoSQL 스키마 없다 유연성 높다 관계 없다 => 중복 데이터 많다 => 효율이 떨어진다 JSON 구조 ..

Web Dev/ELICE 2021.12.07

30 :: MongoDB, No SQL, Mongoose, Express + MongoDB

엘리스 SW 엔지니어 트랙 30일차 온라인 강의날 MongoDB와 Mongoose 풀스택 개발자가 되어야지 했을 때 배워야지 하는 스킬의 마지막 녀석은 MongoDB였다 벌써 여기까지왔다 이 전까지 내용도 확실치 않지만 뭘 어떻게 숙련시킬지 감은 온다 MongoDB 대표적인 NoSQL, Document DB huMONGOus에서 만든 말 엄청나게 큰 DB라는 의미 => 대용량 데이터 처리하기 좋게 만들어짐 No SQL vs RDB RDB 관계형 데이터 데이터 구조화 Non SQL | Not Only SQL 구조화된 질이어 사용 안하는 데이터베이스 자료 간의 관계 초점 X 데이터 구조화하지 않고, 유연하게 저장 NoSQL 사용 이유 SQL 데이터 구조화 하는 것이 필수 DDL 이용이 필수 BUT 스키마에 ..

Web Dev/ELICE 2021.12.04

29 :: 미들웨어, MVC, REST API, Postman

엘리스 SW 엔지니어 트랙 29일차 온라인 강의날 웹과 Express.js 좀 더 깊이 들어가는날 Middleware(미들웨어) Express.js 동작의 핵심 HTTP 요청 ----------- 미들웨어 여기서 일어나는 함수 ----------- HTTP 응답 next가 없으면 다음으로 안넘어간다 Application Middleware 예시 app.use((req, res, next) => { console.log(`Request ${req.path}`); next() }) app.use(auth) // '/' 슬래시가 HTTP 요청 // 그럼 맨 위부터 미들웨어 실행 app.get('/', (req, res, next) =>{ res.send('Hello Express') }) Router Midd..

Web Dev/ELICE 2021.12.03

28 :: Router, 미들웨어, API

엘리스 SW 엔지니어 트랙 28일차 박성국님 실시간 강의 npm 강의로 시작 npm 명령어 yarn 설치 / 명령어 알아봤다 API 각종 장치를 API를 통해서 관리한다 여러 회사, 판매자, 어플 관리자 등 API를 주고 퉁칠 수 있다 정보교환의 표준화가 된다 SOAP(프로토콜) | REST(가이드, 스타일) 기본 프로토콜 둘 다 HTTP 프로토콜 기본 데이터 포맷 SOAP: XML, Lson 사용 데이터 교환 REST: Json 사용 데이터 교환 상태비저장 SOAP: 기본적 stateless 하지만 Session 이용하면 stateful(여러번 통신) 쉽게 지원 REST: stateless(일회성 통신) HTTP Method SOAP: POST만 이용 REST: HTTP, GET, POST, PUT, ..

Web Dev/ELICE 2021.12.02

27 (3/3) :: Node.js 웹 프레임워크, 라우팅, Express.js

엘리스 SW 엔지니어 트랙 27일차 최규범 강사님 온라인 강의날 어제 배운 내용 복습 웹 작동방식 프론트엔드 | 백엔드 CSR | SSR 등 웹 프레임워크 웹 구성에 많은 기능 필요 정형화된 부분을 프레임워크로 간단히 구현 필요한 곳에 집중가능 웹 프레임워크 기능 HTTP 요청, 라우팅, HTML Templating 등 기능 제공 라우터 요청 A 요청 B 요청 C 가 있으면 응답 A 응답 B 응답 C 로 알맞게 보내주는 일을 해준다 Node.js의 다양한 웹 프레임워크 Express.js - 가장 유명 Koa.js - 현대적인 JavaScript 적극 사용 Nest.js - TypeScript 사용, 고정된 구조 제공, Java의 Spring과 비슷 Hapi, Sails.js, Memeor.js 등 Ex..

Web Dev/ELICE 2021.12.01

27 (2/3) :: npm, npx, node 모듈, ES Module

엘리스 SW 엔지니어 트랙 27일차 최규범 강사님 온라인 강의날 NPM(Node Package Manager) NPM 온라인 저장소 오픈소스 라이브러리 도구 필요한 라이브러리, 도구 검색 가능 Node.js 인기로 거대한 생태계 보유 npm 사용 / 명령어 npm init 프로젝트 디렉터리에서 사용하면 몇 번의 질문으로 package.json 파일이 생성됨 그럼 이 디렉터리는 Node.js 프로젝트가 된다! package.json 프로젝트 관련 정보 저장되는 파일 직접 or npm 명령어로 수정가능 dependency(의존성) 프로젝트가 실행되려면 라이브러리가 필요 라이브러리는 package.json의 dependency에서 관리 이 라이브러리를 dependency 라고 부른다 Libaray(라이브러리)..

Web Dev/ELICE 2021.12.01

27 (1/3) :: Node.js, ES6, 비동기 삼형제, Event Loop

엘리스 SW 엔지니어 트랙 27일차 최규범 강사님 온라인 강의날 Node.js 기초를 복습하고, 좀 더 알아보는 날 Node.js로 할 수 있는 것들 웹 서비스 구성 Front-end: React.js, Vue.js, Angular.js Back-end: Express.js 한가지 코드로 IOS, Android 개발 Mobile: React Native Discord, Slack 등 개발 Desktop App: Electron JavaScript로 딥러닝 Machine-Learning: Brain.js Node.js 간단 요약 싱글 쓰레드 & 비동기 & 이벤트 기반 싱글 쓰레드이기 때문에 여러 작업을 하려면 비동기가 필요하고, 비동기를 처리하기위해 이벤트 루프가 이벤트 기반 처리에 도움을 준다 ES6 현..

Web Dev/ELICE 2021.12.01
728x90