2021/03(76)
-
[유튜브 클론코딩] 7.3 Adding Creator to Video / 7.4 Protecting Video Routes
7.3 Adding Creator to Video 이제 비디오를 업로드한 사람을 추가해볼 것이다. 일단 그 전에 업로드한 비디오는 슬프지만 다 지워본다. console > mongo - help - use mytube - db.videos.remove({}) Video.js에서 creator 항목을 추가해주기 import mongoose from "mongoose"; const VideoSchema = new mongoose.Schema({ fileUrl: { type: String, required: 'File URL is required' }, title : { type: String, required : "Title is required" }, description : String, views:{ ..
2021.03.15 -
[유튜브 클론코딩] 7.0 ~ 7.2
7.0 User Profile 프로필 페이지의 스타일링을 한다. 프로필 수정 버튼과 비밀번호 변경 버튼을 만든다. 7.1 Edit User Profile export const getEditProfile = (req,res) => res.render("editProfile", {pageTitle: "Edit Profile"}); export const postEditProfile = (req, res) => { }; ↑ userController.js userController에서 editProfile을 getEditProfile과 postEditProfile로 만든다. userRouter.get(routes.editProfile, onlyPrivate, getEditProfile); userRouter..
2021.03.15 -
[자료구조] 이진탐색트리 구현 - 기본 뼈대, insert 메소드
기본 뼈대 작성 class Node{ constructor(key){ this.key = key; this.left = null; this.right = null; } } class BinarySearchTree{ constuctor(){ this.root = null; } } 우선 이진탐색트리 안에 들어가는 노드는 key, left, right로 구성된다. 이진탐색트리 안에는 루트노드가 있다. insert 메소드 class Node{ constructor(key){ this.key = key; this.left = null; this.right = null; } } class BinarySearchTree{ constuctor(){ this.root = null; } insert(key){ let ne..
2021.03.15 -
[자료구조] 트리 - 이진 탐색 트리(Binary Search Tree)
이진 탐색 트리(Binary Search Tree) 이진 탐색이 동작할 수 있도록 고안된 효율적인 탐색이 가능한 자료구조 이진 탐색 트리의 특징 왼쪽 자식 노드 < 부모 노드 < 오른쪽 자식 노드 부모 노드보다 왼쪽 자식 노드가 작다 부모 노드보다 오른쪽 자식 노드가 크다 이진 탐색 트리의 데이터 조회 찾고자 하는 원소 : 37 [Step 1] 루트 노드부터 방문하여 탐색을 진행한다 현재 노드와 찾는 원소 37을 비교 찾는 원소가 더 크기 때문에 오른쪽 방문 [Step 2] 현재 노드와 값을 비교한다 현재 노드와 찾는 원소 37을 비교 찾는 원소가 더 작기 때문에 왼쪽 방문 [Step 3] 현재 노드와 값을 비교 현재 노드와 찾는 원소 37을 비교 원소를 찾았으므로 탐색을 종료 이처럼, 이진 탐색 트리를..
2021.03.15 -
[자료구조] 트리
지금까지는 주로 순차적 자료구조를 살펴봤었음(비순차적 자료 구조는 해시 테이블이 유일함) 트리는 비순차적 자료구조 트리 계층적인 구조를 표현할 때 사용할 수 있는 자료구조 트리 용어 루트 노드(root node) : 부모가 없는 최상위 노드 A 단말 노드(leaf node) : 자식이 없는 노드 K, L, F, G, M, I, J 크기(size) : 트리에 포함된 모든 노드의 개수 13 깊이(depth) : 루트 노드부터의 거리 A노드의 깊이: 0 B,C,D 노드의 깊이 : 1 E,F,G,H,I,J노드의 깊이 : 2 K,L,M 노드의 깊이 : 3 높이(height) : 깊이 중 최댓값 3 차수(degree) : 각 노드의 (자식 방향) 간선 개수 12 기본적으로 트리의 크기가 N일 때 전체 간선의 개수는..
2021.03.15 -
[유튜브 클론코딩] 6.10 ~ 6.12 카카오로 로그인하기(페이스북x)
원래 해당 강의에서는 페이스북으로 로그인하는 방법을 알려주지만 페이스북은 보안이 강화되어있어서 여러가지 인증을 하는데 매우 불편하고 어려움이 있다. 우리 사이트는 http인데 페이스북에서는 https 방식의 사이트만 허용하고 있으므로 localtunnel이라는 것을 설치하여 우리의 사이트를 임시로 https처럼 보이게 하더라도 막혀있다. 그래서 카카오로 로그인 방식을 구현했다. Kakao Developers 접속하여 로그인 해주기 developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 내 애플리케이션 > 애플리케이..
2021.03.12