상세 컨텐츠

본문 제목

프로그래머 도전기 91일차

프로그래머가 될거야!

by Choyee 2023. 12. 28. 21:56

본문

오늘은

 

저번 주말을 포함하여 크리스마스까지 꽤 긴 휴일이었는데요

저는.. 독감에 걸려

4일 밤낮을 고생했습니다

주말이고 공휴일이라 집에서 아무것도 하지 못하고

고열에 시달리며 누워만 있었는데요..

아직 회복중에 있고 약을 먹고있답니다... 

이렇게까지 아플줄 몰랐는데ㅠㅠ

누굴 탓할수도 없고.... 날아간 시간이 아까운 만큼

아픈 와중에도 힘을 내봐야겠습니다

 

 

 

 

 

 

 

Node.js 공부

 

자바스크립트 코드 = 브라우저 내장 자바스크립트 엔진을 이용하여 실행
=> 브라우저마다 각각 다른 엔진을 사용한다(ex_chrome = v8)

node.js = 자바스크립트 코드를 브라우저뿐만이 아니라 다른 곳에서도 사용 가능하도록 하는 프로젝트로 탄생
          = 자바스크립트의 실행 환경 (Javascript's Runtime)

url = 웹 서버의 주소

리액트 = 자바스크립트 파일들을 쉽게 만들어내는 기술
         => 웹 어플리케이션 / 리액트 어플리케이션 이라고 부른다
         = Node.js 를 기반으로 사용

node.js 설치 시 npm도 같이 설치됨
npm = Node Package Manager

cmd -> node -v 입력, npm -v 입력 => 버전이 뜨면 설치가 잘된 것

프로젝트 = 만들고 싶은 무언가
프로젝트 개발 = 프로젝트를 위해 무언가를 코딩하는 것


<Node.js 기초>
js 파일을 node js로 실행시키기 위해 필요한 것 = 터미널 (ctrl+J)

* GUI = Graphic User Interface
  GUI 방식 = 아이콘 등을 클릭만으로 명령해서 실행하도록 하는 것

* CLI = Command Line Interface
  CLI 방식 = 수행할 명령을 직접 텍스트로 타이핑해서 운영체제에게 명령을 내림
             => 이 때 명령을 내리는 공간 = 터미널
* Node.js 를 통해 운영체제에게 js파일을 실행하도록 명령할 수 있다    

* 모듈 = 어떤 기능을 담당하는 분리된 파일 각각 => 내보내기 가져오기

* node.js 에서 모듈단위로 데이터를 내보내고 받아와서 사용할 수 있다

// 계산 기능을 하는 파일 = 계산 모듈

const add = (a, b) => a + b;
const sub = (a, b) => a - b;

module.exports = {
    moduleName: "calc module",
    add: add,
    sub: sub,
};  // 계산 모듈 객체 내보내기

 

const calc = require("./calc");

console.log(calc.add(1,2));
console.log(calc.add(4,5));
console.log(calc.sub(10,2));

 

 

 


<npm 활용>
Node Package Manager = Node.js의 패키지 관리 도구

* 패키지 = 누군가 따로 만들어놓은 node js 모듈을 의미

* JSON = JavaScript Object Notation
          = Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷


* 패키지 생성

PS C:\Choyee\Programming\Node_js\package_ex> npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (package_ex) package_example1
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository: 
keywords:
author: choyee
license: (ISC)
About to write to C:\Choyee\Programming\Node_js\package_ex\package.json:

{
  "name": "package_example1",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "choyee",
  "license": "ISC"
}

Is this OK? (yes) yes



* "main": "index.js" = 진입파일 
                        = 기능들을 파일로 나누다보면 굉장히 많은 파일들이 생길텐데
                           그 여러개의 파일 중에 뭘 실행시켜야할 지 알 수 없는 경우가 생기는데
                           그럴 때 어떤 파일을 실행시켜야 하는지 명시해 주는 파일이 진입파일이다

* "scripts": { } = 스크립트
                  = 패키지를 개발하면서 자주 실행하는 명령어 같은것을 사전에 정의해둘 수 있는 영역
                  => 긴 명령어를 쉬운 키워드로 바꿔놓을 수 있다 

* 외부 패키지 설치시
package.json 내부에

  "dependencies": {
    "randomcolor": "^0.6.2"
  }


  코드가 생김

 

 

* package.json

{
  "name": "package_example1",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
  },
  "author": "choyee",
  "license": "ISC",
  "dependencies": {
    "randomcolor": "^0.6.2"
  }
}

 

 

* index.js

//console.log("Hello nodejs package");

// 외부 패키지 모듈은 경로를 명시하지 않아도 된다
const randomColor = require('randomcolor');

let color1 = randomColor();
let color2 = randomColor();
let color3 = randomColor();

console.log(color1, color2, color3);

 

 

* console

PS C:\Choyee\Programming\Node_js\package_ex> npm start

> package_example1@1.0.0 start
> node index.js

#b0a8ed #db7a46 #8aed76

 

 

 

 

 

 

 

2023. 12. 28 (목)

관련글 더보기