2022.11.24

천소진·2022년 11월 24일
0

프로젝트

목록 보기
4/14

Node.js 사용하기

: Javascript로 작성된 프로그램을 운영체제상에서 일반 애플리케이션 프로그램처럼 실행시켜주는 런타임(환경)
: JavaScript를 서버에서도 사용할 수 있도록 만든 프로그램
: 서버사이트 스크립트 언어가 아닌 환경
: 웹서버처럼 확장성 있는 네트워크 프로그램을 제작하기위해 만들어짐.
: 내장 HTTP서버 라이브러리를 포함하고 있어 별도의 소프트웨어 없이 동작이 가능.
: 독립적이기 때문에 웹 서버의 동작에 있어 통제받지 않음.
==> 스크립트 언어는 특정 프로그램안에서 동작하는 언어이기 때문에 웹브라우저가 없으면 사용할수 없다. Node.js를 설치하게 되면 JavaScript를 웹브라우저에서 독립시키고 cmd창과 같은 터미널에서 브라우저 없이 실행이 가능하게 됨

Node.js 설치

: nodejs.org에서 다운로드18.12.2LTS(Long Term Support)버전

설치후 CMD에서 버전 확인
: node -v

node.js를 전체 프로젝트에서 사용하도록 설정 후 버전 확인
설정 : npm install express-generator -g
버전 확인 : express --version
npm : Node.js의 패키지를 관리할 수 있는 도구

프로젝트 설정 및 생성후 이동

Root 생성 (git-github-programming)
생성 : mkdir git-github-programming
이동 : CD git-github-programming

프로젝트 형태 만들어주기
=> express 프로젝트이름 --no-view
: 자동으로 프로젝트 형태의 구조를 만들어줌

필요한 라이브러리 패키지 import & start
설치 : npm install
구동 : npm start

구동 확인
: 브라우저 창에 "localhost:3000"입력


버전관리 복습

깃 지역 저장소 및 초기파일 설정

Root에서 gitbash 열기

원격 저장소와 연결할 지역 저장소로 초기화 & 사용자 정보등록 & 확인

원격저장소 생성

지역저장소를 원격 저장소에 저장 후 확인

변경사항 staging 하기
git add . ==> 변경된 모든 사항을 stage에 올리기

commit

push

수정사항 적용

파일 수정 → 지역저장소 상태 확인 → 수정사항 commit → 원격저장소에 push


브랜치 병합

개인 브랜치에서 작업 후 변경사항 저장

수정사항을 병합시킬 브랜치로 이동후 변경사항이 저장된 브랜치를 병합
git merge 변경사항이 저장된 브랜치이름
==> 병합이 되었지만 최종 커밋 메세지는 병합된 두개의 브랜치가 다름.


<예제> JPA를 이용하여 엔티티와 DB관리

환경설정

: resources 아래 application.properties에 DB정보와 JPA사용 정보를 입력

: build.gradle에 추가 설정 입력

1. Entity class 구성

: main → java 밑에 domain 패키지 생성후 Entity 클래스 생성.

2. @MappedSuperClass를 이용한 공통 속성 처리

: DB의 모든 테이블에 데이터의 추가시간, 수정시간이 컬럼으로 작성되는 기능과 같이 모든 테이블에서 공통적으로 사용되는 기능을 정의하는 클래스
: @Aspect와 같은 개념.
: domain 패키지에 BaseEntity 클래스 생성.
: Entity 클래스에 변화가 생기는것을 감지하는 listener를 등록해줌.

: Entitylistener 활성화

3. Application 의 config 환경구성

: main → java 밑에 config 패키지 생성후 RootConfig클래스 생성.
: DTO와 Entitiy간의 변환 처리를 위한 ModelMapper를 빈으로 등록.

4. 쿼리 작성 (CRUD), 페이징 처리

: main → java 밑에 repository 패키지 생성후 BoardRepository 인터페이스 생성.
: JpaRepository 인터페이스 상속 (MyBatis의 Mapper와 같은 역할)

5. 서비스 계층과 DTO 구현

: DTO와 Entitiy간의 변환 처리를 간단하게 하기 위해 ModelMapper 사용.
: main → java 밑에 service 패키지 생성 후 BoardService 인터페이스와 그를 구현하는 BoardServiceImpl클래스 생성

0개의 댓글