[작성자:] 수수께끼

  • [TypeScript] 타입스크립트 시작하기

    [TypeScript] 타입스크립트 시작하기

    정의

    타입스크립트(TypeScript)는 마이크로소프트에서 개발, 유지하고 있으며 엄격한 문법을 지원한다. 자바스크립트 엔진을 사용하며, 자바스크립트의 상위 집합으로 ECMA의 최신 표준을 지원한다.

    장점

    정적 타입 언어(static type language)

    C#과 Java같은 정적 타입 언어들에서 사용하는 타입 시스템은 높은 가독성과 코드 품질 등을 제공할 수 있고, 런타임이 아닌 컴파일 환경에서 에러가 발생해 치명적인 오류들을 더욱 쉽게 잡아낼 수 있다.

    기존의 자바스크립트는 타입 시스템이 없는 동적 프로그래밍 언어로, 변수에 문자열, 숫자, 불리언 등 여러 타입의 값을 가질 수 있다. 이는 약한 타입의 언어라고 하며, 비교적 유연하게 개발할 수 있는 환경을 제공하지만, 타입 안정성이 보장되지 않아 런타임 환경에서 쉽게 에러가 발생할 수 있는 단점을 가진다.

    타입스크립트는 자바스크립트에 타입 시스템을 적용하여 대부분의 에러를 컴파일 환경에서 체크할 수 있다.

    설치하기

    타입스크립트를 설치하는 방법에는 크게 두가지가 있다.

    • npm을 이용한 설치
    • TypeScript의 Visual Studio 플러그인 설치

    여기서는 npm을 이용하여 설치하겠다. 우선 전역에 타입스크립트를 설치해 준다.

    $ npm install -g typescript
    

    기존의 자바스크립트의 확장자가 .js이였다면 타입스크립트는 .ts라는 확장자를 가진다. 타입스크립트 작성 후 컴파일러를 통해 자바스크립트 파일로 변환되어 사용하게 된다.

    파일 생성하기

    원하는 디렉토리로 이동하여 타입스크립트 파일을 하나 만들어준다. 여기서는 app.ts로 만들겠다. 만든 뒤 아래 처럼 코드를 입력한다.

    function func(msg) {
        return 'hello' + msg;
    }
    let txt = 'world';
    

    컴파일 하기

    이제 터미널로 가서 아래 명령어를 실행 한다.

    $ tsc app.ts
    

    app.ts 파일을 컴파일 하여 아래처럼 app.js 파일이 생성되었을 것이다.

    function func(msg) {
        return 'hello' + msg;
    }
    var txt = 'world';
    

    로컬에서 작업 하기

    로컬 환경에서 Parcel 번들러를 이용하면 작업을 빠르게 테스트를 할 수 있다.

    Parcel

    Parcel 전역 설치

    $ npm install -g parcel-bundler
    

    프로젝트 파일 생성 및 패키지 파일 생성 후 패키지 및 Parcel를 설치해 준다. 프로젝트 폴더명은 app으로 하겠다.

    $ mkdir app
    $ cd app
    $ npm init -y
    $ npm install -D typescript parcel-bundler
    

    tsconfig.json 파일을 생성하고 아래 옵션을 추가한다.

    {
      "compilerOptions": {
        "strict": true
      },
      "exclude": [
        "node_modules"
      ]
    }
    

    main.ts 파일을 생성하고 아래 코드를 입력한다.

    function add(a: number, b: number) {
      return a + b;
    }
    const sum: number = add(1, 2);
    console.log(sum);
    

    index.html 파일을 생성하고 main.ts 파일을 연결한다. Parcel 번들러가 빌드시에 자동으로 타입스크립트를 컴파일 할 것이다.

    <!doctype html>
    <html>
    <head>
      <meta charset="UTF-8">
      <title>typescript</title>
    </head>
    <body>
      <script src="main.ts"></script>
    </body>
    </html>
    

    Parcel 번들러로 빌드해 준다.

    $ npx parcel index.html
    

    http://localhost:1234에서 결과물을 확인할 수 있으며, 이제 코드를 수정할 때마다 타입스크립트가 자동으로 컴파일될 것이다.

    References

    한눈에 보는 타입스크립트(updated)
    TypeScript-Handbook 한글 문서
    타입스크립트, 써야할까?

  • 보험 상품 개발 프로세스 및 보험 용어

    보험 상품 개발 프로세스 및 보험 용어

    보험 개요

    보험은 질병, 재해, 사망 등 각종 사고와 같은 위험에 대비한 보장을 받기 위하여 가입하는 금융상품이다. 보험상품은 보험사가 만든다고 무조건 출시하는 것이 아니고, 보험개발원의 검증과 금융감독원의 승인이 필수적이다. 보험개발원은 보험요율의 산출과 검증, 보험상품의 개발 등을 하는 곳이다.

    보험 개발

    시장조사, 상품 안 제안

    고객의 니즈, 시장성 수익성을 고려한 상품 안 제안

    상품 안 확정 및 개발에 대한 승인

    상품개발 위원회를 통해 상품 안 논의, 확정 및 개발 착수에 대한 승인 진행

    상품 개발

    위험을 개발, 외부 기관 검증자료 준비

    상품 승인

    보험개발원 검증 및 금융감독원 승인, 선임계리사 검증

    상품 출시 준비

    상품판매에 필요한 시스템 준비, 판매자 교육 진행

    상품공시 판매 모니터링

    홈페이지 공시 (상품요약서, 약관, 사업 방법서 별지), 완전 판매 관리

    보험 판매

    보험 상품에 대한 금융감독원의 승인이 이루어지면, 대면 및 비대면 방식으로 상품 판매가 시행된다.

    • 대면: 창구에서 판매
    • 비대면: 홈페이지, 모바일, 텔레마케팅으로 판매

    텔레마케팅 채널은 전화를 이용하여 판매하는 경우로써 크게 두가지가 있다.

    • 인바운드(Inbound): 보험사 콜센터로 걸려온 고객의 전화를 받아 홍보하는 것
    • 아웃바운드(Outbound): 보험사 콜센터 직원이 고객에게 전화를 걸어 홍보하는 것

    각 채널을 통해 보험 상품을 고객에게 판매하였다면, 보험 상품에 대한 계약을 하게 되는데 이를 청약이라고 한다. 청약이 이루어지기 전에 보험사 내부에서는 언더라이팅(Underwriting) 과정을 거치게 되는데, 이는 언더라이터(보험 계약의 인수 여부를 확인하는 사람)들이 고객이 작성한 청약서의 고지내용이나 건강진단 결과 등을 토대로, 최종 심사 과정을 진행하는 것이다.

    언더라이팅 과정이 통과되고, 초회 보험료(제 1회 보험료)를 납입하면 이 때부터 효력이 발생하게 되며, 이후 입금하는 보험료를 계속 보험료라고 한다. 이후 계약자는 개인정보 변경, 조건 변경 등 다양한 이유로 계약 조건을 변경할 것이고, 중도해지 등을 하지 않으면 아래 경우로 보험금을 지급받을 수 있다.

    • 만기 > 지금
    • 사고(클레임) > 심사 > 계산 > 지급

    보험 종류

    인(人)보험과 물(物)보험

    • 인보험: 사람에 관하여 발생하는 사고에 대한 보험
    • 물보험: 물건 기타의 재산에 관하여 발생하는 사고에 대한 보험

    생명보험, 손해보험, 제3보험

    • 생명보험: 생명/신체에 대한 보장
    • 손해보험: 재산에 대한 보장
    • 제3보험: 생명보험이나 손해보험 중 어느 한 보험으로 분류하기 어려운 보험

    보장성보험, 저축성보험

    • 보장성보험: 사망 · 상해 · 입원 · 생존 등과 같은 사람의 생명이나, 재산 피해와 관련하여 보험사고가 발생했을 때 피보험자에게 약속된 급부금을 제공하는 보험
    • 저축성보험: 목돈마련이나 노후생활자금을 대비해주는 보험상품으로 납입한 보험료보다 만기시 지급되는 급부금이 더 많은 보험

    보험 용어

    보험

    보험같은 종류의 사고를 당할 위험성이 있는 많은 사람이 미리 금전을 각출하여 공통준비재산을 형성하고, 사고를 당한 사람이 이것으로부터 재산적 급여를 받는 경제제도.

    보험료

    보험계약의 당사자 한쪽인 보험계약자가 보험계약에 의거하여 보험자에게 지급하는 요금.

    보험금

    보험사고(생명보험인 경우) 또는 소정의 손해(손해보험인 경우)가 발생한 때에 보험자가 계약자에게 지급하는 금전.

    보험자

    흔히 보험사를 말하며, 보험자는 수익자에게 보험금을 지급할 의무가 있다.

    계약자

    말그대로 보험을 가입한 사람을 말하며, 보험료를 납부할 의무가 있다.

    피보험자

    보험을 통해 보호받을 보험 대상자를 말하고, 생명보험에서는 피보험자, 손해보험에서는 담보물, 목적물 이라고 한다. 피보험자는 여러명 일 수 있다. 부부보험, 가족보험처럼 피보험자를 여러 명 지정할 수 있다.

    주피보험자

    보험의 주대상(1명)

    종피보험자

    함께 가입한 대상(여러명)

    수익자

    피보험자에게 보험 사고가 발생 시 보험금을 받을 수 있는 사람을 말하며, 계약자가 따로 지정하지 않으면 법정 상속인이 수익자가 된다.

    계피 동일

    계약자와 피보험자가 같은 경우

    계피 상이

    계약자와 피보험자가 다를 경우

    시기

    보험 시작일

    종기

    보험 종료일

    만기

    정해진 보험기간이 다 경과하여 끝나는 것

    갱신

    보험 기간이 종료되어 다시 기간을 연장하는 것

    보험 개발원

    보험요율의 산출과 검증, 보험상품의 개발 등을 하는 기관으로써 개인의 보험 가입 정보 등 보험료 계산을 위한 정보를 가지고 있다.

    담보, 보장

    보험이 보장해 주는 것

    특약

    특별보험약관의 줄임말이며, 주 계약의 보장 내용 보완을 위해 주 계약에 부가해서 판매하는 것, 필요하거나 부족한 보장을 자유롭게 선택택하여 가입 가능

    플랜

    미리 짜여진 담보 조합(예: 기본플랜, 표준플랜, 고급플랜)

    고지사항

    보험 계약 전에 고객에게 알려야할 중요한 사항

    질병고지

    본인의 질병에 대해 알릴 사항

    청약

    보험 계약자가 보험 상품에 대한 가입을 위해 의사 표시를 하는 것

    References

    헷갈리는 보험 용어 알아두기 1편
    보험[insurance,保險]
    보험상품
    상품개발 프로세스

  • [UI] 탭메뉴(tab menu)

    [UI] 탭메뉴(tab menu)

    설명

    vanillaJS로 제작된 기본 탭 메뉴

    HTML

    <div id="tab">
        <div class="btn">
            <button type="button">01</button>
            <button type="button">02</button>
            <button type="button">03</button>
            <button type="button">04</button>
        </div>
        <div class="cnt">
            <div>content01 content01 content01 content01 content01 content01 content01 content01 content01 content01</div>
            <div>content02 content02 content02 content02 content02 content02 content02 content02 content02 content02</div>
            <div>content03 content03 content03 content03 content03 content03 content03 content03 content03 content03</div>
            <div>content04 content04 content04 content04 content04 content04 content04 content04 content04 content04</div>
        </div>
    </div>
    

    CSS

    #tab {
        border: 1px solid #ccc;
        width: 300px;
    }
    
    #tab .btn:after {
        content: '';
        display: block;
        clear: both;
    }
    
    #tab .btn button {
        float: left;
        border: 0;
        width: 25%;
        height: 30px;
        cursor: pointer;
        outline: none;
        background-color: #ccc;
    }
    
    #tab .btn button:hover {
        background-color: #fff;
    }
    
    #tab .btn button.on {
        background-color: #fff;
    }
    
    #tab .cnt div {
        display: none;
    }
    
    #tab .cnt div.on {
        display: block;
    }
    

    JavaScript

    window.addEventListener('load', function(){
    
        var tab = document.getElementById('tab'),
            btn = tab.getElementsByClassName('btn')[0],
            cnt = tab.getElementsByClassName('cnt')[0],
            index = 0;
    
        btn.children[0].classList.add('on');
        cnt.children[0].classList.add('on');
    
        for(var i = 0;i < btn.children.length;i++){
            (function(target){
                btn.children[target].addEventListener('click', function(){
                    tabOn(target);
                });
            })(i);
        };
    
        function tabOn(target){
            for(var i = 0;i < btn.children.length;i++){
                btn.children[i].classList.remove('on');
                cnt.children[i].classList.remove('on');
            };
            btn.children[target].classList.add('on');
            cnt.children[target].classList.add('on');
        }
    
    });
    
  • [Vue] Cli 2.x를 이용한 Github페이지 만들기

    [Vue] Cli 2.x를 이용한 Github페이지 만들기

    설명

    Vue Cli 2.x 버전을 이용하여 프로젝트를 생성하고 깃허브 페이지에 적용하는 방법을 알아보도록 한다.

    설치 시작

    프로젝트 설치할 디렉토리로 가서 웹팩 설치뒤에 해당 디렉토리로 이동, npm까지 설치해준다.

    $ vue webpack init 'projact name'
    $ cd 'projact name'
    $ npm install
    

    사용자 정보 수정

    설치가 완료되면 config 디렉토리의 index.js파일을 열어준 뒤 build 값을 아래처럼 수정해준다.

    build: {
        index: path.resolve(__dirname, '../docs/index.html'),
        assetsRoot: path.resolve(__dirname, '../docs'),
        assetsSubDirectory: 'static',
        assetsPublicPath: '',
        productionSourceMap: true,
        devtool: '#source-map',
        productionGzip: false,
        productionGzipExtensions: ['js', 'css'],
        bundleAnalyzerReport: process.env.npm_config_report
    }
    

    수정되는 항목

    • index 에서 dist > docs
    • assetsRoot 에서 dist > docs
    • assetsPublicPath 에서 '/' > ''

    빌드

    수정이 완료되면 빌드해준다.

    $ npm run build
    

    원격 저장소 설정

    빌드후에 깃허브 원격저장소에 push를 해준뒤 원격저장소 세팅페이지로 들어간다.
    GitHub Pages 항목에서 Source 옵션을 master branch /docs folder로 선택해주면 끝이다.
    페이지 url은 https://[유저이름].github.io/[저장소이름]/ 로 들어가면 된다. 위에까지의 과정은 이곳에 쉽게 잘 정리되어 있다.

    References

    vue github page 만들기
    Problems deploying to github pages with vue project

  • [Git] 깃 커밋 메시지 컨벤션(Git Commit Message Convention)

    [Git] 깃 커밋 메시지 컨벤션(Git Commit Message Convention)

    정의

    커밋 메시지는 타입, 제목, 본문(선택), 꼬리말(선택) 세 부분으로 작성한다.

    • [타입(Type)] 제목(Title)
    • 본문(Body)
    • 꼬리말(Footer)

    제목

    • 커밋 메세지 제목의 맨 앞에 타입(Type)을 붙여준다. 각 타입의 종류는 아래와 같다.
      • 기능(feat): 새로운 기능을 추가
      • 버그(fix): 버그 수정
      • 리팩토링(refactor): 코드 리팩토링
      • 형식(style): 코드 형식, 정렬, 주석 등의 변경(동작에 영향을 주는 코드 변경 없음)
      • 테스트(test): 테스트 추가, 테스트 리팩토링(제품 코드 수정 없음, 테스트 코드에 관련된 모든 변경에 해당)
      • 문서(docs): 문서 수정(제품 코드 수정 없음)
      • 기타(chore): 빌드 업무 수정, 패키지 매니저 설정 등 위에 해당되지 않는 모든 변경(제품 코드 수정 없음)
    • 총 글자 수는 50자 이내며 마지막에 마침표(.)를 붙이지 않는다.
    • 커밋 유형들이 복합적인 경우 최대한 분리하여 커밋한다.

    본문

    • 본문은 한 줄당 72자 이하로 작성한다.
    • 깃은 자동 줄바꿈을 지원하지 않으므로, 직접 줄바꿈을 해야 한다.
    • 내용은 어떻게 변경하였는지 보다 무엇을, 왜 변경하였는지 설명한다.

    꼬리말

    • 바닥 글은 선택 사항이며 이슈 트래커 ID를 참조하는데 사용된다.

    References

    Git 사용 규칙 – Git commit 메시지
    Udacity Git Commit Message Style Guide
    깃허브(GitHub)로 취업하기
    How to Write a Git Commit Message
    좋은 git 커밋 메시지를 작성하기 위한 7가지 약속

  • [Linux] CentOS7 Apache 설치

    [Linux] CentOS7 Apache 설치

    yum을 이용하여 apache를 설치한다.

    # yum -y install httpd
    

    apache 버전을 확인하여 설치가 제대로 되었는지 확인해 본다.

    # httpd -v
    
    Server version: Apache/2.4.6 (CentOS)
    Server built:   Aug  8 2019 11:41:18
    

    apache 실행, CentOS7부터 기존에 사용하단 service 명령이 실행되지 않을 수 있다. systemctl 명령어를 사용해준다.

    # systemctl start httpd
    

    부팅될 때 마다 apache를 실행

    # chkconfig httpd on
    

    자신의 공인아이피로 들어가보면 apache 서버가 실행되어 있는 확인해 볼 수있다. 자신의 공인아이피를 확인하고 싶다면 curl를 확인해 볼 수 있다.

    # curl bot.whatismyipaddress.com
    # curl http://ipecho.net/plain
    # curl icanhazip.com
    # curl ipv4.icanhazip.com
    # curl ipv4.ipogre.com

    이제 구동된 서버에 간단한 html 문서를 띄워보자. 아래 경로로 들어간다.(설치된 Apache 버전마다 경로가 다를 수 있다.)

    /var/www/html/

    해당 디렉토리로 가서 index.html 파일을 만들어준다.

    # touch index.html
    

    vi 편집기를 실행하여 “hello world!”를 입력하고 ESC를 누른뒤 아래 명령어를 입력하여 저장하고 나온다.

    # wq
    

    공인아이피로 들어가 보면 “hello world!”가 제대로 출력되는 것을 확인할 수 있다.

    apache를 재시작할일이 드물기 때문에 종종 명령어를 잃어버린다. 아래 명령어를 참고하도록 한다.

    Apache 버전 확인

    # httpd -v
    

    Apache 상태 확인

    # systemctl status httpd
    # service httpd status
    

    Apache 시작

    # systemctl start httpd
    # service httpd start
    # apachectl start
    

    Apache 중지

    # systemctl stop httpd
    # service httpd stop
    # apachectl stop
    

    Apache 재시작

    # systemctl restart httpd
    # service httpd restart
    # apachectl restart
    

    References

    CentOS 아파치 설치
    CentOS에서 apache 설치
    CentOS 아파치 상태/재시작/시작/중지 명령어
    리눅스 공인 IP 확인

  • [Yum] Yum 명령어

    [Yum] Yum 명령어

    패키지 설치

    # install [패키지명]
    

    패키지 삭제

    # yum remove [패키지명]
    

    패키지 업데이트

    # yum update [패키지명]
    

    패키지 정보 확인

    # yum info [패키지명]
    

    패키지 검색

    # yum search [검색어]
    

    패키지 목록 보기

    # yum list
    

    설치된 패키지 목록 보기

    # yum list installed
    

    패키지 설치, 변경, 삭제로 변경된 정보 보기

    # yum history list
    

    저장소 확인하기

    # yum repolist
    
  • [Linux] APM(Apache, Mysql, PHP)

    [Linux] APM(Apache, Mysql, PHP)

    웹서버 구축을 하기위해 APM(Apache, Mysql, PHP) 3개의 패키지가 설치되어야 한다.

    Apache

    아파치는 Apache Software Foundation에서 개발한 HTTP 웹서버로서 프리 소프트웨어로 누구든지 수정, 재배포 등이 가능하고 오픈소스 프로그램이다. Linux, Unix, Windows, FreeBSD, Mac OS X 등과 같은 거의 모든 운영 체제에서 설치 및 사용이 가능하다. 웹서버는 크게 아파치/톰캣 과 IIS 로 나뉘게 된다. 아파치/톰캣은 프리소프트웨어에 오픈소스이고 IIS 는 MS사에서 제공하는 웹서버로서 MS사로부터 양질의 지원을 받을 수 있다.

    Mysql

    MySQL은 DBMS의 종류중 하나로서 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스(DataBase)이다. 제작사는 MySQL AB이다.

    PHP

    PHP는 웹서버쪽에서 실행 되는 스크립트 언어로서 주로 HTML 코드를 프로그래밍적으로 생성한다. 장점으로는 빠른 생산성, 저렴한 유지비용, 거의 모든 운영 체제에 구현이 가능하다.

  • [Linux] 리눅스 서버 세팅

    [Linux] 리눅스 서버 세팅

    목적

    • 가상 호스팅을 설정하여 자신의 웹서버로 이용
    • IWINV 서비스를 이용하여 리눅스 서버를 구매

    리눅스 운영체제의 특징

    • 리누스 토발즈가 개발한 컴퓨터 운영체제의 한 종류이며 커널 자체를 의미
    • 자유 라이센스와 오픈 소스 개발의 가장 유명한 표본
    • 다중 스레드를 지원하는 네트워크 운영 체제(NOS)로, 여러 사람이 하나의 리눅스 시스템에 접속하여 다수의 프로그램을 동시에 실행할 수 있다.
    • MS에서 개발된 MSSQL을 제외한 대부분의 DB를 지원

    IWINV 서버 신청

    IWINV 서버 신청 가이드를 참조

    1. https://www.iwinv.kr로 접속해 회원가입
    2. 관리 콘솔로 들어가 서버 선택
    • 가상서버와 물리서버로 상품이 있으며 가상서버는 [Real Core 서버], [vCore 서버] 나누어 짐
    • 논리적인 머신이냐, 물리적인 머신이냐에 따른 분류 이며 vCore >> Real Core >> RealServer 순으로 사양 이 높아 진다.
    1. 스탭 별로 필요한 옵션을 선택(아래는 필자가 선택한 옵션)
    2. Step01. ZONE 선택 >> KR1-Lite-Z01
    3. Step02. 운영체제 선택 >> CentOS 7.X(64bit)
    4. Step03. 하드웨어 선택 >> SINGLE SSD >> vCore.V1-Lite
    5. Step04. 블록 스토리지 추가 >> 건너뛰기(데이터 손실을 방지하기 위해 블록 스토리지에 백업하는 서비스라 추정된다)
    6. Step05. 이름 설정 >> recordboy
    7. Step06. 수량 선택 >> 1개
    8. Step07. 확인

    서버 접속

    대부분의 리눅스 웹 서버는 SSH라는 터미널 프로그램에 접속 명령어를 직접 입력하면서 관리를 한다. 이번에 신청한 서버도 리눅스 서버 호스팅 상품이며, SSH접속정보만이 제공 된다. SSH 접속 프로그램은 PuTTY라는 프로그램을 쓸 것이다.

    SSH클라이언트: SSH 접속을 지원하는 서버에 접속하기 위한 사용자 프로그램

    1. PuTTY 사이트에 접속해 해당 프로그램 설치


    2. 프로그램 실행 후 Host Name(or IP address)란에 IWINV서버의 IP주소를 입력하고, **포트(22), 프로토콜(SSH)**를 선택하여 접속한다.


    3. 본인의 IWINV 로그인 비밀번호를 이용해, 관리자(root) ID 로 로그인 한다.


      운영체제 재설치를 했을 경우 IWINV 가입할 때 입력한 본인 이메일로 초기 비밀번호를 받을 수 있다.


    4. 비밀번호 인증이 성공하면 쉘 프롬프트가 떨어지며, #기호가 표시된다. root 가 아닌 일반 사용자일 경우에는 #기호 대신 $기호로 표시된다.


    5. SSH 접속 비밀번호는 Console 을 통한 시스템 로그인 비밀번호와 동일하다. root 계정은 Linux 시스템 내에서 최고 권한의 관리자 계정이므로, 비밀번호 보안에 각별한 주의를 기울여야 한다.


    6. 초기 비밀번호가 복잡하니 아래 명령어로 패스워드를 변경해 준다.


      $ passwd

    7. 해당 서버의 이름을 설정해 주자. 처음에는 root@서버이름: ~]# 식으로 보여진다.


    References

    한번에 끝내는 CentOS 웹서버세팅 (센토스 서버세팅)
    IWINV 서버 신청 가이드
    Yum – 위키백과
    [리눅스 서버 구축하기] 1. 기초 지식 알아보기

  • [JavaScript] 날짜 구하기(Data 함수)

    [JavaScript] 날짜 구하기(Data 함수)

    Data 객체는 날짜와 시간을 제공하는 생성자 함수이다.
    인자 없이 객체를 선언하면 현재 날짜와 시간을 반환한다.

    var value = new Date();
    console.log(value);
    // Thu Jan 09 2020 14:44:13 GMT+0900 (한국 표준시)
    

    특정 값을 구하는 메서드

    메서드
    getFullYear()
    getMonth()
    getDate()날짜
    getDay()요일

    응용

    2015년 12월 25일의 요일을 구하는 법

    function func(a, b) {
        return ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'][new Date(2015, a - 1, b).getDay()];
    }
    console.log(func(12, 25)); // FRI
    

    References

    프로그래머스 문제 풀이 Level 1