반응형

Back End 37

[Node.js] 사용 패키지 정리 3 - Express

1. Express 란? 노드에서 가장 인기 있는 웹 프레임 워크이며, node web frameworks 의 기본 라이브러리이다. 아래와 같은 기본 매커니즘을 제공한다 - HTTP 통신 요청(Request; GET, POST, DELETE 등)에 대한 핸들러를 만든다. - 템플릿에 데이터를 넣어 응답(response)을 만들기 위해 view의 렌더링 엔진과 결합(integrate)한다. - 접속을 위한 포트나 응답 렌더링을 위한 템플릿 위치같은 공통 웹 어플리케이션 세팅을 한다. - 핸들링 파이프라인(reqest handling pipeline) 중 필요한 곳에 추가적인 미들웨어 처리 요청을 추가한다. 2. 사용법 - 설치 npm install express - 사용법 모듈을 생성한 후, get, po..

Back End/Node.js 2021.10.21

[Node.js] 사용 패키지 정리 2 - body-parser module

1. body-parser 란? 노드에서 쓰이는 모듈로 클라이언트 POST request data 의 body 로 부터 파라미터를 편리하게 추출한다. 모든 모듈을 컨트롤하는 app.js 에서만 쓰는 것이 아니라 viewer 를 연결하는 router.js 에서도 쓸 수 있다 처음에 app.js 에서만 사용하는 줄 알았지만 viewer 를 연결하는 router.js 에서도 사용해야 body-parser 가 데이터를 제대로 전달 할수 있다. 그렇지 않으면 undifined 가 뜨면서 데이터가 전달되지 않는다. 2. 사용법 - 설치 $ npm install body-parser - API 사용 var bodyParser = require('body-parser') The bodyParser object expo..

Back End/Node.js 2021.10.21

[ Node.js ] 중요 개념 - Event Loop

요즈음 node.js 를 바탕으로 프로젝트를 진행하면서 node 에 대해서 공부를 하고 있다. 하지만 node 에 대한 이해가 좀 부족한 것 같아서 node 에서 알아야 할 개념을 일부 정리하고자 한다. 이벤트 루프 모델은 여러 스레드를 사용하며, 그중 사용자가 작성한 자바스크립트 코드가 실행되는 스레드를 메인 스레드라 부른다. Node.js 에서는 메인 스레드는 하나이며, 한번에 한 줄씩만 실행된다. Event Loop 는 간단하게 표현하자면 아래 의 그림과 같이 표현할 수 있을 것 같다 여기서 각 박스는 이벤트 루프의 "단계" 를 의미한다 Event Loop 의 특징 각 단계는 실행할 콜백의 FIFO 큐를 가진다 각 단계에 진입 시, 단계의 모든 작업은 수행할때까지 단계의 큐에서 콜백을 실행한다 모든..

Back End/Node.js 2021.10.20

[ Node.js ] db 데이터를 chart.js에 적용하여 그래프 만들기

처음에는 node.js 에서 진행을 하는 것이었기에 막연한 것도 있었다. 스프링으로는 진행을 해보았었기에 내가 찾고자 하는 레퍼런스도 쉽게 찾을 수 있고 큰 문제는 없었지만 node.js 로 진행을 하는 것은 내가 참고할만한 레퍼런스도 많이 찾기가 힘들었다는 문제도 있었다. 그러기에 추후 작업에 참고하기 위해 블로그에 기록을 해놓아야 겠다. 1. 숙지 사항 DB 는 MySQL 을 사용했다. node.js 에 MVC 모델을 적용했음 데이터를 전달하는 방식은 POST 방식 Node.js 와 MySQL 은 이미 연결을 했다고 가정한다 chart.js 는 html 스크립트에서 링크를 불러와 동작하는 CDN 방식을 사용했다 2. Router 에서 데이터 가져오기 - 라우터란? 라이언트의 요청 경로(path)를 보..

Back End/Node.js 2021.09.29

[Node.js] 디버깅 방법

개발에서의 디버깅 작업은 중요하다. 그러기에 다른 IDE 나 언어를 사용하면 항상 디버깅 하는 법을 숙지하는 편이다. 하지만 이번 노드에서는 이상하게도 디버깅을 하는게 좀 어렵다고 느껴졌다. 디버깅하는 법은 원리가 비슷하기에 되게 쉽겠지~ 라고 생각하고 찾았지만 생각보다 자료가 좀 찾기가 힘들었기에 나중을 위해서 기록을 해 둔다 1. 디버깅 모드 실행 하기 이번에는 vscode 를 사용했다. vscode 에서 우선 F5 를 누르거나 실행 > 디버깅 시작 메뉴를 선택하면 진행을 할 수 있다. 다만 vscode 는 특정 언어에 국한된 IDE 가 아니기 때문에 언어를 선택하는 과정이 필요하다 디버깅 시작 또는 F5 를 누른다음에 사용하고자 하는 언어를 선택하면 되는데 나는 Node.js 를 선택했다. 2. l..

Back End/Node.js 2021.09.15

[Node.js] Node.js 사용 패키지 정리 1 - dotenv module

1. dotenv 정의 Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology. 위 패키지는 process.env 를 통해( .env ) 파일로부터 환경변수를 로드하는 제로 디팬던시이다. 코드로부터 환경 분리를 통한 설정 저장은 the twelve-factor app 방법론에 근거하고 있다. ==> 쉽게 정리하자면, 환경변수를 사용하기위해 적용하는 모듈이라고 생각하면 될 것 같다 2. Ins..

Back End/Node.js 2021.09.09

[Java 웹개발 마스터] 스터디 4. DI (Dependency Injection) 의존성 주입

의존성 주입에 대해 알려면 우선 Java 에서 말하는 의존성에 대해서 알아야 될 것 같다. 1. 의존성이란? A타입의 변수를 생성하고, 이에 A를 상속하는 B 객체를 초기화하면 이는 B 객체에 의존성을 가진다는 것이다. 즉, 객체들이 의존 관계가 있다는 것은 객체B 에 있는 클래스가 바뀔 때, 객체 A에 있는 클래스가 변경될 수 있다는 것이다. 상속을 알고 있다면 보다 이해하기가 편할 것 같다. 상속 하는 A의 클래스가 변경될 경우 A를 상속 받는 B의 클래스도 이에 영향을 받는 것에서 알 수 있다. 이 때, "B 클래스는 A클래스에 의존성이 있다." 라고 말한다. 자세한 내용은 아래 링크를 참고하면 될 것 같다. 스프링에서 말하는 의존성은 모듈에 필요한 참조 변수나 객체에 의존하는 것이다. 스프링은 의..

Back End/Spring 2021.01.23

[Java 웹개발 마스터] 스터디3. 왜 Getter, Setter 를 사용할까

보통 지금까지 짧은 경험을 한 바로는 웹 페이지를 만들 때 getter, setter 를 많이 사용하는 것 같았다. 보통 프로젝트(?)의 보안을 위해서 외부에서 객체 데이터들을 외부에서 직접 접근이 불가능게 만들어 놓는다. 즉 막아 놓는다고 생각하면 편할 것 같다. 이럴 때 보통 사용하는 방식이 private 를 통해 외부에서 접근을 막아두고 Getter, Setter 을 통해서 접근하는 것이라고 배운 것 같다. 이렇게 하는 이유는 객체의 무결성 을 보장하기 위함인데, 무결성에 대한 설명은 아래 okky 링크를 참고하면 될것 같다. 설명이 잘 되어 있다. okky.kr/article/716403?note=1979724 OKKY | 객체의 무결성이 무엇인가요? Getter와 Setter를 사용하는 이유가 ..

Back End/Spring 2021.01.22

[Java 웹개발 마스터] 스터디2. Lombok 이란

Lombok 이란? lombok 은 웹 프로젝트를 사용하기 편리하게 만들어주는 플러그인이다. getter, setter 와 다른 클래스를 적을 필요 없이 @ (어노테이션) 하나로 심플하고 깔끔하게 처리가 가능하다. 간단하게 설명하여 메서드 작성을 줄여 코드를 보다 간단하게 만들어주는 라이브러리라고 생각하면 된다. Lombok 의 경우에는 getter, setter, toString( ) 의 생성을 안해도 되 코드가 훨씬 깔끔해진다는 장점이 있는 것 같다. 아래는 이번 프로젝트에서 사용한 dao 메서드이다. getter, setter 를 사용할 경우에는 코드가 길어지고 엔티티들이 많아질 경우에 getter, setter 를 더 사용해야되기 때문에, 헷갈릴 것 같다.. public class Example(..

Back End/Spring 2021.01.13
반응형