분류 전체보기(277)
-
[유튜브 클론코딩] 2.10 MVC Pattern - Part. 2
2.10 MVC Pattern - Part. 2 그냥 별거아닌데 app.js에서 경로만 /users, /videos로 바꾸고 시작! URL 만들기(routes.js) routes.js 파일을 만든다. → 쪼개서 처리하는 것이 좋기 때문, 나중에 다른 곳에서 같은 URL을 사용해야할 수도 있다. 어딘가 다른데서 사용하려면 이 구조를 내가 외워야 한다는 것이다. 좀 더 편하기 위해 URL을 변수로 선언해서 모아놓은 routes.js 파일을 작성한다. routes.js파일을 만들어서, 어디에서든 이 URL을 불러다 쓸것이다. (왜 그런지는 나중에 보게 될 것이다.) // GLobal(전역적인 것들) const HOME = "/"; const JOIN = "/join"; const LOGIN = "/login"..
2021.02.16 -
[유튜브 클론코딩] 2.9 MVC Pattern - Part. 1
2.9 MVC Pattern - Part. 1 MVC 패턴 지금까지 미들웨어,라우팅에 대해서 알아봤고 이제 MVC를 알아볼 것이다. - MVC: Model, View, Control을 의미한다. Model: 데이터 View: 데이터가 어떻게 생겼는지 Controller: 데이터를 보여주는 함수(데이터를 찾는 함수) MVC는 패턴이다. 패턴은 일종의 끝내주는 구조 같은 것 userRouter.js , videoRouter.js 만들기(URL과 함수를 분리하기 위해) 1. app.js에서 이 주석 처리한 부분들을 삭제한다.↑(왜냐하면 라우터로 만들어줄 거기 때문에) 2. router.js -> userRouter.js로 이름을 변경하고(뭐 무슨 import창뜨는데 ok함) 3. videoRouter.js도 ..
2021.02.16 -
[유튜브 클론코딩] 2.8 Express Core : Routing
2.8 Express Core : Routing 새로운 파일을 만든다.(init.js) index.js → app.js로 파일 이름을 바꾼다. app.js에서 일부분 삭제한다. (왜냐면 저 부분을 init.js에서 작성할거기 때문에) (↑주석처리된 부분을 지우는 것이다) init.js에서 application을 시작하도록 한다 자바스크립트 ES6에는 흥미로운 부분이 있는데, 모듈이라는게 있어서 우리 코드를 공유할 수 있다.다른 파일에서의 코드를 가져다가 사용할 수 있다. 예를 들어, app.js에서 express, morgan, helmet 등등을 불러 썼었는데 이것들도 어딘가에서 불러온 것이다.(import) express,morgan,helmet 같은 것들은 node_modules 안에서 찾아온 것 ..
2021.02.16 -
[구현 - 시뮬레이션과 완전 탐색] 개요
2-2. [구현 - 시뮬레이션과 완전 탐색] 개요 구현: 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 모든 알고리즘이 구현을 해야하는 문제이지만 보통 알고리즘 문제에서 구현 문제라고 한다면 어렵거나 구현에 초점을 맞춰진 유형이 있다고 보면 된다. 흔히 알고리즘 대회에서 구현 유형의 문제란 무엇을 의미할까? 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 구현 유형의 예시 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 -> 이것은 자신이 사용하는 언어에 따라 달라질 수 있음 실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제 적절한 라이브러리를 찾아서 사용해야 하는 문제 이 강의에서는 구현 문제를 시뮬레이션과 완전탐색에..
2021.02.16 -
[유튜브 클론코딩] 2.7 Express Core: Middlewares part. 2
2.7 Express Core: Middlewares part. 2 Morgan logging에 도움을 주는 미들웨어 로깅(logging): 무슨 일이 어디서 일어났는지를 기록하는 것 설치방법 : 콘솔창에 npm install morgan import 하기: index.js 상단에 import 해준다. import morgan from "morgan"; 아까 만들었던 middleware는 지워준다. app.use(morgan("tiny")); 이렇게 실행했을 때 profile로 접속하면 로깅 기능을 갖게 된 것을 볼 수가 있다. 이제 어떤 접속(GET)인지 정보를 알 수 있고 어디에 접속하는지 알 수 있다. morgan의 인자로 쓸 수 있는 것들 "tiny" "combined" "common" "dev"..
2021.02.15 -
[유튜브 클론코딩] 2.6 Express Core: Middlewares
2.6 Express Core: Middlewares 코드를 수정하고 저장하면 서버가 두 번 재시작하는 오류를 고쳐야함 우리가 코드를 수정하고 저장하면 서버가 재시작되는데, 이때 restarting 문구를 보면 restarting이 2번이나 나오고 있다. 즉, 저장하면 두 번 재시작한다. nodemon이 이러는 이유는, 내가 저장하면 일단 재시작하고 그 다음 Babel이 코드의 변화를 감지하고 서버를 다시 한 번 재시작하기 때문이다. "scripts": { "start": "nodemon --exec babel-node index.js --delay 2" }, package.json 파일에서 다음과 같은 부분을 수정한다. 서버에 delay를 추가하는 건데 저장할 때마다 2초를 기다렸다가 서버를 시작하는데..
2021.02.15