순수 바닐라 자바스크립트 사용하여 TMDB 오픈 API를 이용하여 인기영화 데이터 정보를 리스트하고 원하는 영화 정보를 검색할 수 있는 페이지 제작UI를 만들자API 데이터 확인인기영화 표현 확인검색 기능 구현영화 별 이벤트 생성 및 화면 이동영화 상세 페이지 구현빨
영화 리스트를 검색을 하니 꽤 많은 글이 있었다.그러다 공통적인게 보여서 확인해봤더니 HEROPY이 분이 강의한 내용중에 있는 것 같아서 Github에서 보고 css를 가져다 사용했습니다.TMDB API에서 테스트를 진행을 할 수 있었다. 데이터를 조회하는 방식을 알았
Class @Module() : 모듈 클래스 정의@Controller() : 컨트롤러 클래스@Injectable() : 서비스 클래스클래스 상단에 붙는 데코레이터Methods@Get()@Post() HTTP 요청 데코레이터Parameter@Reg()@Res()@Body
베이스 코드 베이스코드를 내껄로 하기로 했는데 뭔가 노출된 기분이라 창피하다...^^ 내가 작성한 코드를 자세히 설명하였다. 기존 TMDB api에서 영화진흥위원회 api로 변경을 하기로 했다. 상세페이지에 리뷰 기능은 만는 것이 필수 조건이라 만들어야한다. 팀원들과
발제에서 나온
const 생성된 변수는 해당 값을 상수화시켜주지만 형태른 let과 동일하다.해당 스코프가 종료되면 모두 반환된다. 메인 화면 표시 데이터 최신 영화 리스트 개봉 예정 리스트주말 인기 영화(영화진흥위원회 api)장르별 인기 차트 상세페이지 리뷰 작성 기능리뷰 작성 시
try...catch... finally try ... catch 구문은 try 블록과 catch 구문으로 구성되고 finally block은 항상 실행 될 것이다 둘다로 구성됩니다. try 블록 먼저 실행이 되고 만약에 예외가 있다면 catch블록이 실행 될
데이터베이스에서 상태를 변화 시키기 위한 최소 실행 단위를 말한다. 어떤 작업을하기 위해 최소한의 연산을 의미한다예를 들어보자면, 우리가 컴퓨터에서 문서 새로 만들 때를 생각해보자. 문서프로그램에서 새문서를 클릭해서 생성을하고 원하느 내용을 작성하고 저장을 한다. 이
Promise.all() Promise.all() 메서드는 순회 가능한 객체에 주어진 모든 프로미스가 이행한 후, 혹은 프로미스가 주어지지 않았을 때 이행하는 Promise를 반환합니다. 주어진 프로미스 중 하나가 거부하는 경우, 첫 번째로 거절한 프로미스의 이유를
자원(RESOURCE) - URI행위(Verb) - HTTP METHOD표현(Representations)Uniform (유니폼 인터페이스)Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일을
JWT(JSON Web Token)는 당사자간에 JSON 개체를 안전하게 전송하기 위한컴팩트하고 독립적인 방식을 정의하는 개방형 표준(RFC 7519) 입니다.이 정보는 디지털 서명이 되어 있으므로 확인하고 신뢰할 수 있다.정보를 안전하게 전달하거나 또는 유저의 권한
Express is a routing and middleware web framework that has minimal functionality of its own: An Express application is essentially a series of middlew
클라이언트가 서버의 요청했을 때 Set-Cookie 헤더를 받은 경우 해당 데이터를 저장하는데 이 부분을 쿠키라고 합니다. 쿠키가 있는 저장된 이후 모든 요청에 쿠키를 포함하여 보내게 됩니다.쿠키는 Key-Value 형식의 문자열 입니다.사용자의 상태를 저장하기 위해
회원가입 API / 로그인 API / Middleware / jwt 인증
새로 만든 커밋에 어떤 작업을 했는지 내용을 작성이 필요합니다.한 줄에 다 표현하기 힘든 경우에는 상세 내용을 추가할 수 있습니다.(상세 내용을 작성할 때에는 반드시 중간에 한 줄이 비어 있어야 의도한 대로 커밋 메세지가 출력됩니다.)Conventional Commit
설치사용법기존에 입력 값을 확인해서 바디나 쿼리에 있는 값을 존재하는지 확인을 해야되는데 먼저 검사를 통해 체크를 할 수 있다. 검증 시 문제가 있다면 validationResult(req) 해당 부분이 저장된다.
dependenciesdotenvexpresscookie-parserjsonwebtokenmysql2 sequelizebcryptcross-envconnect-flashexpress-validatordevDependencies \- nodemon \- sequel
순서순서accessToken 유무 확인accessToken 없는 경우→ 로그인 요청accessToken 있는 경우→ 다음으로 진행accessToken 검증 진행accessToken 검증 성공한 경우→ 데이터 전달 및 next() 진행accessToken 검증 실패
isAuthenticated 미들웨어 함수 생성하였다.생각하는건 간단해서 금방 할 줄 알았는데 마음과 같이 않구나...
CJS(CommonJS)는 Node.js 환경에서 기본적으로 사용되는 모듈 시스템require 함수를 사용하여 다른 모듈을 불러올 수 있습니다.require 함수는 경로 혹은 문자열을 가지고 내부 알고리즘을 통해 모듈을 가져오고 종속성을 처리됩니다.ESM(ECMA Sc
정렬된 리스트에서 정렬된 배열에서 특정한 값을 찾는 알고리즘입니다. 배열의 중간 값과 값의 크리를 비교하여 범위를 줄여가는 방식입니다. 업로드중..
ORM(Object Relational Mapping)의 하나의 일종으로 Javascript 객체(Object)를 데이터베이스의 관계(Relation)을 연결(Mapping) 해주는 역할을 합니다.실행시 생성되는 폴더 구조내 프로젝트 폴더 이름├── prisma│
if) 60 48최대 공약수 : 2 \* 2 \* 3최소 공배수 : 2 \* 2 \* 3 \* 5 \* 4최초 풀이호제법 적용
처음 코드 검증이 되면 next()를 이용해 다음으로 이동을 하려고 생각해서 사용했다.문제 상황검증이 정상적으로 끝나고 다음 미들웨어나 라우터로 이동이 될 것으로 생각했지만 밑에 부분을 실행을 한다.해결방법 => 확실하게 처리 하자...
Prisma Client는 데이터에 맞게 자동 생성되는 안전한 쿼리 빌더입니다.javascript 를 통해 DB 를 접속하게 해주는 역할을 한다.하위 폴더에 utils/prisma/index.js 파일을 생성PrismaClient 객체를 선언하여 가져다 사용 할 수 있
npm install passport passport-local
npm install passport passport-google-oauth20구글 클라우드 접속하여서 가입을 하여 API GOOGLE_CLIENT_ID / GOOGLE_CLIENT_KEY 를 발급을 받는다.passport 를 통해 로그인 인증은 위임할 수 있다.
,
DBMS는 전통적인 OS 가 지원하는 파일 처리 시스템의 아래와 같은 문제점을 처리하기 위해 개발 되었다.데이터의 중복과 불일치데이터 액세스상의 어려운 점데이터의 고립성 - 여러 파일과 포맷무결성 문제갱신의 원자성여러 사용자에 의한 동시 액세스보안 문제물리 단계 : 레
적절한 데이터 모델로 구축된 데이터를 액세스하고 조작하기 위한 언어DML은 질의어(query language)와 같은 의미로 사용DML의 두 가지 유형 \- 절차식 (procedural) : 사용자는 어떤 데이터를 어떻게 구현하는지를 명식한다. \- 비절차식 (de
K ⊆ R 이라고 가정.K 값이 각각의 가능한 릴레이션 r(R)의 고유한 튜플을 구분하는데 충분하다면 K는 R의 수퍼 키이다.“가능한 r”이란 모델링하고 있는 조직에 존재할 수 있는 릴레이션 r을 의미한다.Example: {ID} and {ID,name} are bot
릴레이션의 집합뿐만 아니라 각 릴레이션에 관한 정보의 지정을 허용한다.각 릴레이션의 스키마 각 애트리뷰트에 관련된 값들의 도메인무결성 제약조건각 릴레이션에 유지되어야 할 인덱스 집합각 릴레이션에 대한 정보 보안과 인증디스크 상으ㅢ 각 릴레이션의 물리적 저장 구조 cha