본문 바로가기

분류 전체보기

(85)
프로젝트: Node.js 기반의 REST API 구현(1)-스스로 설계해보기 회원가입 로그인비밀번호 초기화마이페이지 장바구니 주문서 주문목록 도서조회 상세페이지 POST 회원가입 /bookStore/join req 이메일, 비밀번호, 비밀번호확인 res 회원가입이 완료되었습니다 창, 메인페이지 이동 POST 로그인 /bookStore/login req 이메일, 비밀번호 res 메인 or 보고있던 페이지로 이동       jwt토큰 생성 후 쿠키에 넣어주기 POST 비밀번호 초기화 /bookStore/pwInit req 이메일, 비밀번호 res 초기화 완료되었습니다 창,       메인 or 보고있던 페이지 이동 GET 메인페이지(신간안내) /bookStore/main?new=true&category=__ req URL new의 boolean값, category 값 res 메인에서..
백엔드 심화: 인증과 비동기처리(6)-미들웨어 이슈 해결, 로그인 인증-인가, 쿠키-세션-JWT, dotenv-.env, cookie-parser ✨미들웨어미들웨어에서 다 처리하는 response가 아닌이상,return next()를 넣어주어야 한다❗✨✨response를 받아온다❗❗❗ Usersexpress-validator 사용한 버전🔸회원 탈퇴를 하면 생성한 채널도 모두 삭제되게 구현했다. 로그인 세션 - 인증, 인가인증(Authentication) (=로그인)🔸관리자, 고객 상관없이 인증을 통해 사이트에 가입된 사용자라는 것을 증명 인가(Authorization) 🔸인증 후 페이지 접근 권한 쿠키 vs 세션 vs JWT쿠키(Cookie)란웹에서 서버와 클라이언트가 주고받는 데이터 중 하나웹 서버에서 데이터 생성 후 브라우저로 넘기면, 브라우저의 자기 메모리에 저장 후 웹 서버 방문시 가지고 있는 쿠키로 요청을 한다.장점서버에 저장하지 않..
백엔드 심화: 인증과 비동기처리(5)-express-validator, 미들웨어(middleware) ✨유효성검사 (Validation)사용자가 입력한 값의 유효성(타당성)을 확인하는 것외부모듈 express-validator 설치import 후 사용하기.Sanitizing inputsHandling validation errors Channelsexpress-validator 사용한 버전💢코드에 공통함수가 존재하는데, 함수로 빼서 사용했는데, 응답을 2번했을때 나는 오류가 났다.찾아보니 함수에도 return을 걸어주면 된다고 하는데,express다보니 미들웨어를 사용해서 모듈화를 시켜주는것이 좋겠다.✨ ✨미들웨어(Middleware) 사용하기✨express의 핵심❗간단하게는 변수에 그냥 담으면 됨❗ ❄️방법은 간단❗❗❗일반적으로 만드는 함수처럼 변수에  arrow-function으로 만든 후,✨✨유효..
백엔드 심화: 인증과 비동기처리(4)-모듈, es6로 변경-이슈해결 SQL 연결하는 부분을 모듈로 만들어주기!module.exports = connection;🔸모듈로 만들어 줘야 다른 파일에서도 일일이 연결 코드를 작성하지 않고 import로 불러와 사용할 수 있다.💢es6 모듈인 import와 commonjs의 require은 같이 사용할 수 없다.export default connection;으로 사용해서 모듈을 export 해주어야 한다❗❗❗💢하지만 오류가 났다.error 내용 구글링도 하고, 여러가지 따라해보고다시 CommonJS module로 변경도 하고1시간을 삽질했는데 결과적으로는 es6 빠른 수정을 하며import from 경로에서 require에 있지않은 .js 가 빠져 오류가 났던 것이었다. 💢그리고 vscode에서는 문제 없었지만, POSTM..
백엔드 심화: 인증과 비동기처리(4)-워크벤치 처음써보기, FK 설정, TIME_ZONE 설정 MySQL Workbench 사용해보기Hostname에서 127.0.0.1과 localhost는 같은 말이다❗ test connection을 누르고 확인이 되면 ok를 누르면아래와 같은 버튼이 생긴다. 들어가면 연결된 스키마와 테이블의 컬럼과 자료형에 대해 나온다. select문을 사용했는데 오류가 났다.database가 선택되지 않아 나는 오류로, 왼쪽상단에서 내가 사용하고 싶은 DB를 클릭하면진한폰트로 바뀌고, 다시 번개모양 아이콘을 누르면 result grid에서 select한 값들이 보여진다. 스키마 생성 후 워크벤치를 통해 table을 생성하는 방법 apply 버튼을 누르면 우리가 GUI를 통해 만든 테이블 컬럼이 cli에 사용 가능한 문구로 보여진다. ✨FK설정하는 방법!체크에는 FK가 따로 ..
백엔드 심화: 인증과 비동기처리(2)-db create table{}, LEFT JOIN __ ON __ ❄️DB테이블 생성 실습예시) 게시판'board' 스키마 생성 create사용자 테이블 생성 insert사용자 데이터 삽입 create게시글 테이블 생성 insert게시글 데이터 삽입 create 💢FK는 설정했지만 먹지않는다. 아직 강의를 좀 더 봐야겠다.create database board;사용자 테이블create table users_info ( user_id int auto_increment primary key, user_name varchar(30) not null, user_job varchar(100), user_birth date not null);게시글 테이블create table users_board ( idx int auto_increment primary key, title v..
yarn vite로 생성한 리액트 github pages에서 호스팅하기 리액트 강의를 듣고 투두앱을 만들면서 yarn vite로 생성해서 코드를 구현했다.yarn dev로 실행시켜서 확인하면서 만들었고,예전에도 npm이나 yarn으로 build해서 github에 올려 호스팅한 적이 있기 때문에문제가 될게 아무것도 없다고 생각했었다. 하지만, vite는 build를 했을때 build 디렉토리가 아닌, dist 라는 디렉토리를 생성한다.나는 처음에 몰랐다. dist로 생성된 것을...🤣 레포지토리를 생성하고 add하고 commit하고 push까지 완벽했다. 하지만 내 github pages는 애꿋는 404 오류만 콘솔에 찍어줬다. 당황스러웠다. 난 인프런강의로 cat-zzal-maker도 만들어 올린 전적이 있었다.그것도 리액트인데 ❓❗ 당연하게 구글링을 했다.그 과정에서 b..
HTTP와 HTTPS의 차이 HTTP(HyperText Transfer Protocol)과HTTPS(HyperText Transfer Protocol Secure)의 차이 ❄️HTTP란 클라이언트와 서버간의 통신 규약, 또는 프로토콜이라고 한다.사용자의 브라우저가 웹 서버로 HTTP를 요청하고, 웹 서버는 HTTP로 응답한다.이때, 클라이언트와 서버는 서로 텍스트로 교환하여 통신하는데HTTP는 제 3자가 중간에서 가로채서 읽을 수 있다. ✨HTTPS의 Secure에서 알 수 있듯이, HTTPS는 HTTP보다 안전한 버전이며,텍스트를 암호화하여 안전하게 서로 통신할 수 있게 해준다.HTTPS는 SSL 보안서버 인증서를 획득하면 된다. ✨SSL 보안서버 인증서를 획득하게 된다면 아래와 같은 창을 확인할 수 있다. ❄️또, HTTP와 H..