본문 바로가기

TIL Temp

test using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using NUnit.Framework; namespace RandomValue.Library.Tests{ [TestFixture] public class RandomValueCreatorTests { [Test] public void Creator_WhenDefault_Return0or1() { int output = RandomValueCreator.GetZeroOrOne(2); Assert.AreEqual(0, output, 1); Assert.AreEqual(1, output, 1); } [Test] ..
유튜브 클론 코딩 # 14 - ESLint, Searching Videos $#3.11 Installing ESLint 비쥬얼 스튜디오와 Resharper처럼 좋은 코드와 안좋은 코드를 알려줌.만약 내가 마음에 안드는 규칙이 있으면 따로 설정하는 것이 가능. #3.12 Searching Videos 정규식(regular expression)을 사용하여 검색.$regrex로 몽고 DB 안에 있는 비디오를 검색.
유튜브 클론 코딩 # 13 #3.8 Getting Video by ID #3.9 Editing a Video #3.10 Deleting a Video view템플릿에서 값을 받아 몽고 DB와 값을 주고 받는 과정.일반 CRUD와 동일한 과정임.다만, 굉장히 쉽고 간편하게(NodeJS와 expressJS에 익숙하다는 전제하) 웹 사이트를 만들 수 있음.아직까지 간단하다는 것 외에 어떤 강력한 점이 있는지 체감이 잘 되지 않음.(아니면 간단하다는게 가장 큰 장점인가?)
유튜브 클론 코딩 # 12 - Upload Video and Play #3.5 Home Controller Finished 저번에 공부했듯이 자바스크립트는 싱글 스레드 언어이나 멀티스레드와 같이 작동한다.그래서 async를 사용하지 않으면 비디오를 다 찾기 전에 페이지르 렌더링 해버린다.따라서, async로 비디오를 다 받아올 때 까지 기다리게 한다.const video = await Video.find({}); #3.6 Uploading and Creating a Video 비디오를 업데이트 했을 때 몽고 디비에 경로를 저장하는 것까지.역시 로컬이라도 백엔드가 들어가야 재미가 있다. #3.7 Uploading and Creating a Video part Two 유저의 정보들을 서버에 저장하는 것은 좋지 않다.따로 분리할 필요가 있음.
유튜브 클론 코딩 #11 - Connect to MongoDB and Create Schema #3.0 MongoDB and Mongoose MongoDB, Mongoose 설치.환경변수 설정을 정상적으로 했는데도 안먹힘.2시간 동안 삽질 결과. 재부팅하니 정상 작동함...윈도우 fuxx...Mongoose는 MongoDB와 Node.JS를 연결하는 역할.1분에 15000 요청. 많은 회사들이 쓰고 있음. #3.1 Connecting to MongoDB MongoDB 연결. #3.2 Configuring Dot Env DotEnv는 포트와 DB를 숨길 수 있게 해줌.반드시 git ignore에 설정할 것.안그럼 깃헙을 통해 DB주소가 공개되버리겠지?보안을 위한 필수적인 습관 #3.3 Video Model MongoDB 스키마 생성.MongoDB의 특징은 JSON형태.스키마는 테이블을 구성하는 것과..
유튜브 클론 코딩 #10 - What is MVC in Node.JS? 수정 필요 # 복습 목차1. Node.JS2. ExpressJS3. ES64. Babel5. Middleware6. Routing7. MVC8. Pug # 7. What is MVC in Node.JS? - 정의일반적인 MVC와 다르지 않음.Model, View, Controller로 구성된 패턴으로 흐름은 아래와 같다. 1. 유저가 요청을 한다2. Controller를 탄다.3. Controller -> Model(MongoDB)에게 작업을 요청4. Model -> Cotroller에게 작업이 완료되었음을 알림5. Controller -> View에 수정된 데이터를 리턴6. View -> 유저(브라우저)에게 수정된 데이터가 반영된 뷰 페이지를 리턴 - 다른 점?자바나 ASP.NET과 다른 점이 있다면 템플릿 뷰라..
유튜브 클론 코딩 #9 - What is Routing? # 복습 목차1. Node.JS2. ExpressJS3. ES64. Babel5. Middleware6. Routing7. MVC8. Pug # 6. What is Routing? - 정의 라우팅은 URI 및 특정한 HTTP 요청 메서드(GET, POST 등)인 특정 End Point에 대한 클라이언트 요청에 어플리케이션이 응답하는 방법을 결정하는 것을 말함. 각 라우트는 하나 이상의 핸들러 함수를 가질 수 있으며,이러한 함수는 라우트(경로)가 일치할 때 실행 됨. app.METHOD(PATH, HANDLER) app은 express의 인스턴스METHOD는 HTTP요청 메서드PATH는 서버에서의 경로HANDLER는 라우트가 일치할 때 실행되는 함수 app.get('/', function (req, res..
유튜브 클론 코딩 #8 - What is Babel? # 복습 목차1. Node.JS2. ExpressJS3. ES64. Babel5. Middleware6. Routing7. MVC8. Pug # 4. What is Babel? - 정의ES5는 2009년. ES6는 2015년에 표준화 됐고 현재 ES10까지 나왔지만 아직도 대세는 ES6.문제는 브라우저들이 최신 ES버전들을 인식하지 못한다는 것.따라서, ES6,7 로 작성된 코드를 구버전의 브라우저가 인식할 수 있도록 ES5로 변환시켜주는 컴파일러가 Babel. - 주의 사항Babel을 사용해도 모든 JS함수를 사용할 수 있는 것은 아님.Babel은 문법만 변환시켜주기 때문에 프로그램이 시작될 때 브라우저에서 지원하지 않는 함수를 검사해주는 작업이이루어져야 하고 이 부분은 babel-ployfill이 r..