반응형

자바스크립트 JS 28

Spring 공부 일지 01. REST API 생성하기 (TestController 생성)

MVC ( Model, View, Controller ) Model :DB. 프로그램이 작업하는 요소들을 정의한 것으로 물리적인 개체, 규칙, 작업 등의 요소를 구분하는 역할을 합니다. View : 사용자가 보는 화면에 입출력 과정과 결과를 보여주기 위한 역할을 합니다. (UI) 입출력의 순서와 데이터양식은 Controller 에 종속되어 결정되며, 뷰는 도메인 모델의 상태를 변환하거나 받아서 렌더링하는 역할을 합니다. Controller : model 과 view 를 연결시켜주는 다리 역할을 하며, 도메인 객체들의 조합을 통해 프로그램의 작동 순서나 방식을 제어합니다. REST API 페이지를 주는 것이 아닌 리소스만 응답으로 줍니다. (사진을 준다거나, 링크를 준다거나.) API (Applicatio..

노드 js 입문 공부 일지 8. 웹소켓 (실시간 데이터 교환)

우리가 주소창에서 볼 수 있는 HTTP(Hypertext Transfer Protocol) 는 인터넷으로 데이터를 주고 받는 규약(protocol) 입니다. 즉, HTML을 전송하는 통신 프로토콜을 의미하는 것입니다. HTTP 는 요청이 있을 때만 반응하는 타입으로 요청이 있을 때만 응답을 주는 방식입니다. 요청과 응답 이후에는 연결이 해제됩니다. (Stateless 정적인 속성) 이것과 다른 방식으로 서로 연결된 상태를 유지하는 프로토콜이 있습니다. 바로 웹 소켓이에요. 웹소켓 웹소켓은 서로가 연결된 상태를 유지합니다. 서로간의 연결을 기반으로 하며, 일정량을 균일하게 주고 받는 것이 아니라 불규칙적인 정보교환이 가능합니다. 즉, 데이터 송수신을 동시에 처리할 수 있고, 클라이언트와 서버가 서로에게 원..

노드 js 입문 공부 일지 7. express 뷰 엔진, PUG 설치하기

뷰 엔진은 express 어플리케이션이 사용자에게 페이지를 줄 수 있도록 도와주는 도구입니다. 뷰 엔진은 정적인 HTML 인 문서와 달리 자바스크립트 데이터를 문서 안에 포함하는 형태로 동작합니다. 즉, 뷰 엔진은 지금까지 페이지 하나로 확인하던 정적 엔진과 다르게 동적 템플릿 엔진입니다. 우선 정적 메소드부터 확인해볼게요. express 의 sendFile(x) 메소드를 사용하면 정적 문서를 클라이언트에게 제공할 수 있습니다. 더불어 정적 문서의 경로를 지정할 수도 있습니다. 정적static 문서라는 것은 지금까지 우리가 만들었던 것중에 html과 css로 만들었던 단편적인 페이지를 생각할 수 있습니다. 요청이 있고, 응답을 할 때마다 새로운 정적 페이지를 링크해서 옮겨가는 형식이었어요. // 정적 경..

노드 js 입문 공부 일지 6. 라우팅(routing)

라우팅(routing)은 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정입니다. 즉, 경로에 따라 적절한 데이터를 전송할 수 있도록 하는 것이 라우팅이에요. 아래는 웹에서 라우팅을 사용한 예입니다. 네이버 금융 국내증시 : https://finance.naver.com/sise/ 네이버 금융 해외증시 : https://finance.naver.com/world/ 같은 서버(https://finance.naver.com) 에 위치하고 있으나 / 뒤에 있는 키워드에 따라서 주어지는 최종적인 정보가 달라집니다. 라우팅은 이렇게 경로에 따라서 주어지는 주소를 다르게 하는 것을 말합니다. / 뒤에 붙는 키워드를 루트rout 라고 합니다. express 를 사용하면 라우팅을 관리할 수 있습..

노드 js 입문 공부 일지 5. post 요청하기 (nodemon 실행하기)

지금까지 express 가 가지고 있는 기능 중 get 메소드로 요청을 받았을 때를 정의해보았으니, 이번에는 응답에 대한 동작을 알아보겠습니다. pakage.json 생성 우선 동일한 방법으로 pakage.json 을 만들기 위해 app01 폴더를 만듭니다. npm init 으로 노드 프로젝트 폴더 안에 pakage.json 을 생성해주세요. pakage.json 을 생성하는 방법에 대해서는 이전 포스팅을 참고해주세요. https://blue-dot.tistory.com/166 노드 js 입문 공부 일지 3. 첫 서버 만들기 http , NPM & express 노드 기반의 서버 노드를 이용하면 다양한 자바스크립트 어플리케이션을 개발할 수 있습니다. 그 중에서도 노드는 서버를 개발하는 데 가장 많이 사용..

노드 js 입문 공부 일지 4. get 메소드로 요청 받기 (nodemon 사용하기)

이전에 처음으로 서버를 만드는 것을 실행해보았습니다. https://blue-dot.tistory.com/166 노드 js 입문 공부 일지 3. 첫 서버 만들기 http , NPM & express 노드 기반의 서버 노드를 이용하면 다양한 자바스크립트 어플리케이션을 개발할 수 있습니다. 그 중에서도 노드는 서버를 개발하는 데 가장 많이 사용됩니다. 서버는 네트워크를 통해 클라이언 blue-dot.tistory.com 이제 두 번째 서버를 만들어 볼 거예요. 첫 번째 서버를 만들었던 과정 그대로 진행하여 아래의 네 개의 파일들이 생성이 되었습니다. 저는 두 번째 서버라고 이름 지었어요. 처음 서버를 만들었을 때와 같이 app.js 에 다음과 같이 태그를 입력합니다. const express = requir..

노드 js 입문 공부 일지 3. 첫 서버 만들기 http , NPM & express

노드 기반의 서버 노드를 이용하면 다양한 자바스크립트 어플리케이션을 개발할 수 있습니다. 그 중에서도 노드는 서버를 개발하는 데 가장 많이 사용됩니다. 서버는 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램을 말합니다. 클라이언트란 서버가 제공하는 정보나 서비스를 제공받는 주체로, 정보나 서비스가 필요한 클라이언트는 서버에게 요청을 보냅니다. 클라이언트 클라이언트가 요청을 하면 서버는 그에 대한 응답으로 정보를 제공합니다. 클라이언트가 어떤 요청을 보내는가에 따라 응답은 달라집니다. 로컬호스트와 포트번호 IP는 전 세계 모든 컴퓨터에 주어지는 네트워크 상에서의 식별자입니다. 로컬호스트(localhost)란, 컴퓨터 네트워크에서 ‘자신의 컴퓨터’를 의미하는 호스트명입니다. 로컬호..

노드 js 입문 공부 일지 2. 노드 실행하는 방법

REPL REPL은 Read(읽기) , Eval(평가하기) , Print(출력하기) , Loop(반복하기) 라는 의미로, 대화형 테스트 콘솔을 제공합니다. 터미널에서 node 명령어를 실행하여 REPL을 실행시킬 수 있습니다. 노드가 제공하는 대화형 셸이라고 생각하시면 됩니다. cmd -> 명령 프롬프트 -> node 입력 자바스크립트 파일 실행하기 자바스크립트 파일을 만들고 해당 디렉토리에서 node 명령어를 실행합니다. 모듈화하기 모듈화란, 코드를 기능 또는 규모에 따라 분할하는 것을 의미합니다. 모듈이란 하나의 자바스크립트 파일을 의미합니다. 노드에서는 모듈 내보내기/불러오기를 위해 다음 두 가지를 사용할 수 있습니다. ● require(모듈) : 모듈에서 내보낸(exports) 대상을 반환한다. ..

노드 js 입문 공부 일지 1. Node.js 노드 설치하고 예제 실행하기

Node.js Node.js(이하 노드)는 V8 자바스크립트 엔진으로 빌드된 이벤트 기반 자바스크립트 런타임(runtime)입니다. 런타임은 쉽게 말하면 실행환경이라는 뜻이에요. 즉, V8 엔진으로 만든 자바스크립트 실행 환경입니다. V8 자바스크립트 엔진은 크롬에서 사용하는 엔진과 같습니다. 노드는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용할 수 있는 소프트웨어 플랫폼입니다. 지금까지 자바스크립트를 위해 필요한 환경은 웹 브라우저였습니다. 하지만 노드.js 는 웹 브라우저가 아닌 환경에서도 실행할 수 있는 것입니다. 대표적인 차이점은 웹 브라우저에 있는 표준 API (document 등) 입니다. 서버 사이드 - 데이터를 제공하기 위한 처리입니다. 네트워크의 한 방식인 클라이언트..

자바 스크립트(js) 입문 공부 20. 클래스 class

클래스 class 자바스크립트에서 객체를 만들면 프로토타입이 자동으로 상속이 됩니다. (객체가 가져야할 기본적인 사항에 대한 프로토타입) 클래스란 오브젝트를 생성하기 위한 설계도 입니다. 기존 자바스크립트의 프로토 타입을 대체할 수 있으며, 클래스를 통해 정의한 오브젝트는 Array, Date 등 내장 객체와 동일하게 취급할 수 있습니다. 클래스 내부에 정의된 함수는, 객체의 멤버함수와 마찬가지로 메소드라 부릅니다. new 연산자에 의해 실제 사용 가능한 객체를 생성하며, 생성된 객체를 통해 메소드를 호출할 수 있습니다. 생성된 객체를 통해 메소드를 호출할 수 있는 메소드 = 인스턴스 메소드 class Member{ getName(){ return "이름"; } } let memberObj = new M..

반응형