URI(Uniform Resource Identifier, 통합 자원식별자)

  1. 인터넷에 있는 자원을 나타내는 유일한 주소.
  2. URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 연결
  3. 하위개념인 URL,URN을 포괄 포함
  • URL(Uniform Resource Locator)
  1. 많은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약
  2. 즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스 대한 참조
  • URN(Uniform Resource Name)
  1. urn:schema를 사용하는 URI를 위한 역사적인 이름이다. URN은 영속적이고, 위치에 독립적인 자원을 위한 지시자로 사용하기 위해 1997년도 RFC 2141 문서에서 정의되었다.
    실제로 데이터가 아니라 저장되어있는 (폴더에 있는) 파일을 보여주는걸 말한다
    거의 사용하지 않는다
router.get(["/country/:start/:end", "/country/:end"], (req, res) => {
let { start, end } = req.params;
start = start || 0;
const sql = "SELECT * FROM country WHERE gnp BETWEEN ? AND ?";
  mysql.execute(sql, [start, end], (err, result, field) => {
    res.json(result);
  });
});
  • Mulit RequestMapping
    : RequestMapping("/country/...")을 배열로 선언하여 두가지 Req를 일단 모두 받도록 처리한다.
    router.get(["/country/:start/:end", "/country/:end"], (req, res) =>

  • 선택적 파라미터 RequestMapping
    router.get("/gnp/:start?/:end?", (req, res) =>

  • 객체의 구조분해
    : req.params 에 있는 sub 속성들 중에서 start, end 를 추출하여 같은 이름의 변수를 생성하고 그 변수에 값을 저장해 달라
    let { start, end } = req.params;

  • start 값이 있으면 start 값을 담고 없으면 0을 담아라
    start = start || 0;

  • XOR(배타적 논리연산)을 이용한 두 변수의 값 교환하기(변수의 Swap)
    : 같은값은 0, 다른값은 1인 논리연산
    (x^y)^y = x, (x^y)^x = y

express에 포함된 미들웨어(Middleware, 중간자 도구)

  • app.use(express.urlencoded({ extended: false }));
    : form에서 POST method로 데이터를 전송할때 그 데이터를 req.body 속성으로부터 Getter 할수 있도록 도와주는 도구

  • app.use(express.static(path.join("./public")));
    Web borowser 에서 Request 를 보내면
    http -> express -> router 의 과정을 거치면서 요청을 처리하고
    router -> express -> http -> web browser 로 응답을 한다
    하지만 static file(이미지, 단순 문서, 단순 파일 등)은 router 등에서 연산을 하지 않아도 되는 대상이다 이러한 파일들을 static 저장소(../public) 에 보관하고
    만약 web browser 에서 요청을 하면 router 로 보내지 않고 express 가 바로 전달을 해 버린다

  • path.join()
    : 파일을 핸들링(저장, 열기)할때 파일의 저장위치(경로,path)를 정해주어야 문제가 발생하지 않는다. 과거에는 운영체제마다 경로를 지정하는 방식이 달라서 개발자들이 많은 어려움을 겪었다. path.join()함수는 운영체제를 확인하여 자동으로 경로를 오류가 나지 않도록 만들어 주는 도구이다.

bash 에서의 명령어

  • vi
    : window를 제외한 나머지 운영체제에 있는 기능으로 텍스트문서를 작성할 수 있는 것
    ex) vi README.md -> 여기서 README.md 파일을 만들겠다

  • 명령상태에서 작동
    :w 엔터는 저장
    :q 엔터는 나가기
    :wq 저장하고 끝내기
    :!q 저장하지 않고 끝내기

  • 편집상태에서 작동
    i -> 인서트모드로 진입하기
    o -> 그 아래줄에서 시작하기
    편집상태에서 명령상태로 가는키는 esc를 입력해주면된다

  • ls -> 파일리스트를 보여달라


그외

touch 명령어( .으로 시작되는 파일을 만드는)는 윈도우에서는 안됨

"type": "module"
이게 없으면 import 라는 키워드를 사용할 수 없다

0개의 댓글