티스토리 뷰

Develop/Node.js

[node.js] 'url' module

Nebori 2018. 3. 13. 23:21

요새는 node.js를 새로 배우고 있습니다.


모바일 개발만 하다보니 백앤드부분이 많이 약했었는데, 강의를 들으면서 중간에 코딩했던 부분을 조금씩 올려보려고 합니다.


url 모듈을 이용한 쿼리를 가져오는 연습입니다.


Input url을 받아오는데, path가 add라면 쿼리의 숫자를 모두 더하고, minus라면 쿼리의 숫자를 모두 빼는 코드를 작성해 보았습니다.


더하는 경우에는 check를 굳이 사용하지 않아도 되는데, 강의 시간에 작성하다보니 minus처럼 동일하게 넣은것이 보입니다.


minus의 경우에는 첫 인자가 양수지만 기본값을 0으로 놓고 계산을 한다면 0 - (양수) 가 되어버려서 음수가 되어버리는 문제를 해결하기 위해서 check를 이용하였습니다.


아직 자바스크립트 문법을 많이 사용해보지 않아서 미숙하지만 node.js를 열심히 익혀서 풀스택 개발자의 꿈을 이뤄보고싶네요.


누군가에겐 참고가 되었으면 좋겠습니다.


function queryCalculate(inputURL) {
    const url = require('url');
    var parse = url.parse(inputURL, true);

    var pathName = parse.pathname;
    var query = parse.query;
    if( pathName == '/add' ) {
        var check = false;
        var sum = 0;
        for( var key in query ) {
            if( check == false ) {
                sum = parseInt(query[key]);
                check = true;
            } else {
                sum += parseInt(query[key]);
            }
        }
        console.log('add = ', sum);
    } else if( pathName == '/minus' ) {
        var check = false;
        var min = 0;
        for( var key in query ) {
            if( check == false ) {
                min = parseInt(query[key]);
                check = true;
            } else {
                min -= parseInt(query[key]);
            }
        }
        console.log('min = ', min);
    } else {
        console.log('Invalid path name : ', pathName);
    }
}

var inputURLAdd = 'http://calculator.com/minus?num1=3&num2=2&num3=3';
var inputURLMinus = 'http://calculator.com/add?num1=3&num2=2&num3=3';

queryCalculate(inputURLAdd);
queryCalculate(inputURLMinus);


'Develop > Node.js' 카테고리의 다른 글

[node.js] session 관련 모듈  (1) 2018.06.24
[node.js] 'socket.io' module  (0) 2018.06.17
[node.js] transmission  (0) 2018.05.13
[node.js] Callback 지옥에서 벗어나보기  (0) 2018.03.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31