학습난점 제4부분: 표현도론

5492 단어 expressnodebeginners
2020년 가을 말에 나는 노드를 더 잘 이해하기 위해 임무를 수행했다.나는 내가 그것을 사용하는 방식을 개선하고, 어떻게 그것의 더 많은 기능을 사용할 수 있는지, 그리고 나의 전단 지식을 완전한 창고로 확장하고 싶다.이 시리즈는 내가 The Odin Project에서 배운 지식에 근거하여 쓴 필기를 포함한다.수업에는 Node를 더욱 잘 사용하기 위해 필요한 일반적인 웹 개념도 포함된다.
이 섹션의 목적은 Express가 무엇인지, 제공된 기능을 통해 Node를 어떻게 강화하는지, 그리고 Express 응용 프로그램의 주요 구축 블록을 이해하는 것이다.

이해 급행


왜 웹 프레임워크를 사용합니까?


노드 자체가 흔히 볼 수 있는 웹 개발 작업을 직접 지원하지 않습니다.다른 HTTP 동사(예를 들어 GET, POST, DELETE 등)에 특정한 처리를 추가하고 다른 URL 경로("라우트")에서 요청을 처리하거나 정적 파일을 제공하거나 템플릿을 사용하여 동적 응답을 만들려면 노드 자체가 쓸모가 없습니다.코드를 직접 작성해야 하거나, 바퀴의 재발명을 피하고 웹 프레임워크를 사용할 수 있습니다.

동적 웹 응용이 어떻게 실행되는지 일반적인 과정을 설명하다.Express가 어디에 있습니까?


전통적인 데이터 구동 사이트에서 웹 응용 프로그램은 웹 브라우저(또는 다른 클라이언트)로부터의 HTTP 요청을 기다린다.요청을 받으면 응용 프로그램은 URL 모드와 POST/GET 데이터에 포함된 관련 정보를 기준으로 어떤 작업을 수행해야 하는지 계산합니다.필요에 따라 데이터베이스에서 정보를 읽거나 쓰거나 요청을 충족시키는 데 필요한 다른 작업을 수행할 수 있다.그런 다음 응용 프로그램은 HTML 템플릿의 자리 표시자에 읽어들인 데이터를 삽입하여 브라우저에 표시할 HTML 페이지를 동적으로 만들어 웹 브라우저에 응답을 반환합니다.
요청을 받으면 Express를 사용할 수 있습니다.Node의 관점에서 볼 때 Express는 다른 패키지일 뿐이며 NPM으로 설치한 후 자신의 코드에 require을 설치해야 한다.

Express 는 종종 "편견 없음" 으로 묘사되는데, 이것은 무슨 뜻입니까?


구성 요소를 한데 붙여서 목표를 실현하는 가장 좋은 방법, 심지어는 어떤 구성 요소를 사용해야 하는지에 대한 비협동 프레임워크의 제한이 훨씬 적다.그들이 제안한 가장 좋은 설정은 네가 용례에 가장 적합하다고 생각하는 설정이다.

"Hello World"라고 Express로 적으세요.


const express = require('express'); // import express module
const app = express(); // create an Express application
const port = 3000;

// route definition, callback function that will be invoked whenever
// there is an HTTP GET request with a path relative to the site root
// callback function takes a request and a response object as arguments
// and calls send() on the response to return the string "Hello World!"
app.get('/', (req, res) => {
  res.send('Hello World!')
});

// starts up the server on a specified port ('3000')
// prints a log comment to the console
app.listen(port, () => {
  console.log('Example app listening on port ${port}!')
});

데이터베이스 및 Express


CRUD 작업은 Express의 HTTP 메서드와 어떻게 연관됩니까?


CRUD 작업은 대체로 express 응용 프로그램에서 사용할 수 있는 HTTP 방법과 관련이 있습니다.이 정의는 다소 유연할 수 있지만 보통 createPOST(또는express 응용 프로그램에서 app.post())과 관련이 있고, readGET(app.get())과 관련이 있으며, updatePUT(app.put())과 관련이 있으며, deleteDELETE(app.delete())과 관련이 있다.

데이터베이스와 상호작용하는 두 가지 흔히 볼 수 있는 방식은 무엇입니까? 그들 각자의 장점은 무엇입니까?

  • 데이터베이스의 네이티브 쿼리 언어(예: SQL)를 사용하여 최적의 성능
  • 은 객체 데이터 모델(ODM) 또는 객체 관계 모델(ORM)을 사용합니다.ODM/ORM은 웹 사이트의 데이터를 자바스크립트 '대상' 또는 '모델' 으로 표시하고 ORM을 통해 끝부분 데이터베이스를 매핑합니다.일부 orm는 특정한 데이터베이스에 연결되고, 다른 일부는 데이터베이스와 무관한 백엔드를 제공한다.여기의 장점은 프로그래머가 데이터베이스의 의미가 아닌 자바스크립트 대상에서 계속 생각할 수 있다는 것이다.
  • 모델을 설계할 때 각 개체마다 별도의 모델이 있다는 것은 의미가 있습니다.무엇이 물체입니까?라이브러리의 기능을 나타내는 프로그램을 만들고 싶다면 어떤 예시 대상이 있을까요?


    객체는 관련 정보 세트입니다.도서관 프로젝트 모델의 일부 뚜렷한 후보 대상은 서적, 서적 실례와 저자이다.
    웹 사이트 자체에 옵션을 억지로 인코딩하는 것이 아니라, 모든 옵션이 사전에 알 수 없거나 변할 수 있을 때, 목록 옵션을 선택하는 것을 표시하기 위해 모델을 사용하길 원할 수도 있습니다.

    일단 우리가 모델과 영역을 결정한다면, 우리는 그것들 간의 관계를 고려해야 한다.이것은 어떻게 계획한 것입니까?


    UML 연관 맵을 사용합니다.

    다중성은 도표의 숫자로 관계에 존재할 수 있는 모든 모델의 수량(최대와 최소)을 나타낸다.예를 들어 네모난 상자 사이의 연결선은 책과 장르가 관련이 있다는 것을 나타낸다.도서 모델에 가까운 숫자는 한 유형의 도서는 반드시 0권 또는 여러 권(취향에 따라 정함)이 있어야 하며, 이 유형의 옆줄 반대편의 숫자는 한 권에 0권 또는 여러 권의 관련 유형이 있을 수 있음을 나타낸다.
    Express를 사용하여 작업 개발 환경을 계속 설정하겠습니다.

    좋은 웹페이지 즐겨찾기