ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [생활코딩] Node.js 강의 1일차
    Node.js 2021. 6. 17. 00:27

    이미 Node.js 설치는 끝난 상태라 Node.js 공부방법부터 보기 시작했다.

     

    Node.js - 웹서버 만들기

    1. 강의 준비 
      1. web1_html 폴더를 내가 작업할 폴더에 붙여넣어줬다.
        git clone https://github.com/web-n/web1_html_internet.git
      2. 같은 폴더에 main.js 파일을 만들어줬다. 
        내 작업 폴더 web2의 구조 
      3. 강의 자료 대로 경로 설정을 해준다면 , 내 폴더 위치와 맞지 않으니 작동하지 않는다.
        경로 수정을 안해준다면, 아래와 같은 경로가 뜨는데 이는 index.html 파일이 있는 위치와 맞지 않으니 당연히 error가 뜬다.
        강의 속 폴더 경로 :  /Users/jadepark/Documents/Walang/web2/index.html
        index.html 파일이 있는 폴더 경로로 아래와 같이 코드를 변경해줘야 알맞는 결과를 출력할 수 있었다. 
        내 폴더 경로 : /Users/jadepark/Documents/Walang/web2/web1_html_internet/index.html
            // console.log('강의 속 폴더 경로 : '+ __dirname+url);
            console.log('내 폴더 경로 : '+ __dirname+'/web1_html_internet'+url);
            response.end(fs.readFileSync(__dirname+'/web1_html_internet' + url));
    2. 강의 내용
      response.end(  )
      node.js는 이 괄호 사이에 어떤 내용을 적느냐에 따라서 사용자에게 전송하는 내용이 바뀐다.
      프로그래밍적으로 사용자에게 전송할 데이터를 생성한다는 것이 node.js가 가지고 있는 힘이다. 

      이렇게  response.end('jadePark : ' + url )바꿔주면 아래와 같은 결과가 뜬다.
      reponse.end('jadePark:' +url) 결과
       원래 코드로 바꿔주면  response.end(fs.readFileSync(__dirname+'/web1_html_internet' + url)) 이런 결과가 뜬다.
      response.end(fs.readFileSync(__dirname+'/web1_html_internet' + url)) 결과
    3. 강의 코드
      var http = require('http');
      var fs = require('fs');
      var app = http.createServer(function(request,response){
          var url = request.url;
          if(request.url == '/'){
            url = '/index.html';
          }
          if(request.url == '/favicon.ico'){
              response.writeHead(404);
              response.end();
              return;
          }
          response.writeHead(200);
          console.log('내 폴더 경로'+ __dirname+'/web1_html_internet'+url);
          response.end(fs.readFileSync(__dirname+'/web1_html_internet' + url));
      
      });
      app.listen(3000);​

    JavaScript - Data type +  변수 + Template Literal 

    템플릿 리터럴은 백틱(` `)(grave accent)를 이용하고 , ${expression} 이런식으로 표현식을 넣을 수 있다. 

    아래의 변수 letter 와 변수 letter_template을 비교해보면 '문자' + 변수 + '문자' 에서  `문자 ${변수} 문자`로 바뀐것을 볼 수 있다. 
    더 자세한 내용은 아래 링크에서 확인해보자.

    https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Template_literals  

    //Data type : number
    console.log('숫자',1+1);
    //Data type : string 
    console.log('문자','1'+'1');
    // variable 
    //template literal 적용 전 
    var name = 'k0713';
    
    var letter  = 'Dear'+name+'\n\n 사는가 희망의 간에 전인 기관과 사막이다. 봄날의 인간은 가진 이는 우리의 내는 꽃 구할 황금시대다. 노년에게서 불어 두기 뜨거운지라, 그들은 그리하였는가? '+name+'품었기 크고 안고, 뿐이다. 싹이 생명을 무엇이 있는 아니다. 듣기만 고동을 아니한 실현에 거선의 이는 몸이 얼음에 같이 피다. 있는 원대하고, 인도하겠다는 그들은 불어 만천하의 갑 곳이 현저하게 위하여서. 광야에서 웅대한 몸이 끓는다. 하였으며, 풀밭에 열매를 인도하겠다는 영원히 속에서 인류의 무엇을 듣는다. 기쁘며, 사는가 옷을 미인을 곳이 남는 거선의 그리하였는가?' + name ;
    console.log(letter);
    
    //template literal 적용 후 
    // ` : template literal 시작과 끝
    var letter_template = `Dear ${name}
     
    사는가 희망의 간에 전인 기관과 사막이다. 봄날의 인간은 가진 이는 우리의 내는 꽃 구할 황금시대다. 노년에게서 불어 두기 뜨거운지라, 그들은 그리하였는가? ${name} 품었기 크고 안고, 뿐이다. 싹이 생명을 무엇이 있는 아니다. 듣기만 고동을 아니한 실현에 거선의 이는 몸이 얼음에 같이 피다. ${1+1} 있는 원대하고, 인도하겠다는 그들은 불어 만천하의 갑 곳이 현저하게 위하여서. 광야에서 웅대한 몸이 끓는다. 하였으며, 풀밭에 열매를 인도하겠다는 영원히 속에서 인류의 무엇을 듣는다. 기쁘며, 사는가 옷을 미인을 곳이 남는 거선의 그리하였는가? ${name} `;
    console.log(letter_template);
    
    

     

Designed by Tistory.