내일배움캠프_개발일지 (84) 썸네일형 리스트형 Node.js 심화 - 3 __________________________________________________ 1-7 쇼핑몰 실시간 구매 알림 구현(1) => 3.2 Socket.io : Socket에 대해 이해하고, socket.io 라이브러리를 이용해 express 서버를 구현한다. 1. npm i socket.io -S => socket 패키지 설치. 2. express 앱을 http 서버로 한번 감싼 뒤, socket.io 모듈에 http 서버 객체를 넘겨주면 socket.io 연결 준비 완료! 3. 해당 프로젝트에서는 sequelize 와 mysql 을 사용. npx sequelize db:create => DB 만들기. Config 참조해서. Model 과 Migration .. Node.js 심화 - 2 __________________________________________________ 1-4 소켓이란 무엇인가? => 3.2 Socket.io : Socket에 대해 이해하고, socket.io 라이브러리를 이용해 express 서버를 구현한다. 소켓 이란 ? => 1) 소켓의 역할 현실로 비유하자면 마치 벽에 있는 콘센트 구멍과 비슷. 소켓은 콘센트 구멍과 같은 “연결부” 에 해당. 마치 전기를 쓰기 위해 반드시 콘센트를 구멍에 꽂아야 하는 것 처럼. 우리가 네트워크에서 데이터를 송수신하기 위해 반드시 거쳐야 하는 연결부에 해당 2) 소켓의 종류 소켓의 역할은 언제나 같지만 종류는 여러가지가 있어. 대표적으로 TCP, UDP 프로토콜을 사용하는 2가지의 소켓... Node.js 심화-1 스파르타 Node.js 심화 종합 폴더 : kimminsoo -> sparta -> node_js -> learning -> third_step 주차 시작 ________________________________________________________________________________________________________________ 1주차 => 심화 주차 학습 목표. 1. 객체 지향 프로그래밍이 무엇인지 설명할 수 있고, 객체 지향 설계 5원칙(SOLID)를 이용하여 리팩토링할 수 있다. 2. 3 Layer Architecture에 대한 개념을 이해하고, Layer마다 어떤 책임을 가지는지 설명하거나 코드로 구현할 수 있다. 3. 테스트코드가 무엇인지 이해하고, jset 라이브러리.. Node.js 숙련 -8 숙련 1주차 과제. 2번째 시도 폴더 : kimminsoo -> sparta -> node_js -> learning -> second_step -> homework-2 ===> dotenv, passport, Docker 를 연습해보기 위한 프로젝트. 1. npm init -y 2. 설치할 npm 모듈들 express => 웹 프레임워크 mysql2 => mysql DB 연결 mybatis-mapper => mysql DB 조작을 용이하게 만들어주기 위한 ORM express-session => session 으로 로그인 유저 검증하기. session-file-store => 세션 저장소. 파일. express-mysql-session => 세션 저장소. mysql. dotenv => 환경변수 설정 w.. Node.js 숙련 - 7 __________________________________________________ 1-20 로그인/회원가입 기능을 Sequelize 로 구현하기 (1) => 폴더 : kimminsoo -> sparta -> node_js -> learning -> second_step -> shop_project_sequelize Node.js 입문주차에서는 mongoose를 이용해서 로그인 및 회원가입 기능을 구현했었지. 그러나 우리가 구현하는 기능들은 데이터베이스의 유형에 구애받지 않는다는것을 직접 체험해보기 위해 사용자 모델을 sequelize로 다시 구현하고 기능이 잘 동작하는지 확인해볼거야. => 쇼핑몰 프로젝트. _________________ — s.. Node.js 숙련 - 6 __________________________________________________ 1-18 SQL (Structured Query Language) => 이번 장에서는 SQL 문에 대해 확인을 해볼거야. SQL 문은 DB를 관리할 수 있는 표준 언어. SQL 문은 대표적으로 세 가지로 구분된다고. DDL (Data Definition Language) DML (Data Manopulation Language) DCL (Data Control Language) 1. DDL (Data Definition Language) => 데이터를 정의할 때 사용하는 언어로 테이블이나 데이터베이스를 생성, 수정, 삭제와 같은 행위를 할 때 사용 ex) creat.. Node.js 숙련 - 5 __________________________________________________ 1-15 사용자 인증 미들웨어 구현하기 => — 계속해서 프로젝트는 shop_project_middleware — 폴더 : kimminsoo -> sparta -> node_js -> learning -> second_step -> shop_project_middleware 1-15장에서 가장 핵심적인 기능. 지금 구현된 프론트엔드는 로그인이 성공했을때 받아온 토큰을 HTTP header에 아래와 같이 넣어서 보내고 있어. => Authorization: Bearer 위와 같은 양식으로 보내는 이유는 HTTP 인증 유형중, Bearer 타입을 사용하여 토큰을 전.. Node.js 숙련 - 4 __________________________________________________ 1-12 로그인 기능 구현하기 => 미들웨어 기술을 사용해서 로그인 기능을 구현해 보자. 폴더 : kimminsoo -> sparta -> node_js -> learning -> second_step ->. shop_project_middleware 파일 : shop_project_middleware -> app.js npm init -y npm i express mongoose jsonwebtoken -S 프론트 엔드 폴더 assets 코드 스니펫에서 다운로드. => https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingc.. Node.js 숙련 - 3 __________________________________________________ 1-10 Access Token, Refresh Token => Access Token 이란? => 사용자의 권한이 확인(ex: 로그인) 되었을 경우 해당 사용자를 인증하는 용도로 발급하게 되는 토큰. 특정 기능 이라기 보단 개념적인 기술. Access Token의 경우 Stateless(무상태) 즉, Node.js 서버가 죽었다 살아나더라도 동일한 동작을하는 방식. 즉, jwt를 이용해 사용자의 인증 여부는 확인할 수 있지만, 처음 발급한 사용자 본인인지 확인할 수는 없어. Access Token은 그 자체로도 사용자를 인증하는 모든 정보를 가지고 있어. 그렇기 때문에 토큰을 가지고 .. Node.js 숙련 - 2 __________________________________________________ 1-7 쿠키와 세션 => 쿠키란? => 브라우저가 서버로부터 응답으로 Set-Cookie 헤더를 받은 경우 해당 데이터를 저장한 뒤, 모든 요청에 포함하여 보냄. 데이터를 여러 사이트에 공유할 수 있기에 보안적으로 취약. 쿠키의 형태는 네임과 벨류를 가진, 객체 느낌. 문자열 형식으로 존재하며 쿠키 간에는 세미콜론으로 구분. 세션이란? => 쿠키를 기반으로 구성된 기술. 단, 세션은 데이터를 서버에만 저장하기 떼문에 보안상으로는 좋아. 그러나 사용자가 많은 경우 서버에 저장해야 할 데이터가 많아져서 서버 컴퓨터의 부하가 심해져. 폴더 : kimminsoo -> sparta -> node.. 이전 1 2 3 4 5 6 7 8 9 다음