Java 개발자가 Node.js 정복하기 #2

junsugi·2021년 3월 1일
2

NodeJs

목록 보기
2/8
post-thumbnail

서론


어제에 이어서 node.js 강좌를 인프런에서 찾아서 보았다. 처음에는 node.js를 이용한 챗봇 강좌를 보았는데 node.js 를 중점으로 다룬다는 느낌보다는 구글의 Dialogflow라는 툴을 다루는 느낌이 많이 나서 기본기를 가르쳐주는 같은 강사님의 강좌로 옮겼다.

강좌 링크

그래서 오늘은 github 디렉토리 구조도 client랑 server로 나눠보고 Branch를 따서 merge 까지 해보는 작업을 진행했다. 따라서 1일 1커밋이 아직까지는 행해지고 있었다. 딱 눈 감고 한 달은 꾸준히 1일 1커밋을 하면 몸에서 습관이 되리라고 믿는다.

본론

우선 이번 기회에 여러가지 방식을 도전해봤다. 물론 두명밖에 없고 볼륨이 큰 개발을 하는건 아니지만 구색이라도 내보기 위해서 ALM 도구인 JIRA 클라우드 버전을 하나 생성했다.

한 프로젝트에 10명까지는 무료로 사용할 수 있다. 그리고 대기업에서 많이 사용하는 툴인 만큼 사용법을 익힌다면 매우 유리할 것 같아서 시도해보았다.
자세한 내용은 JIRA Cloud 가격 정책을 참고하면 좋을 것 같다.

따라서 프로젝트를 생성하고 칸반보드를 To Do, In progress, Review, Done 4가지 상태로 만들었다. 이슈가 생성되면 To Do, 작업중이면 In progress 완성되면 Github에 푸쉬한 뒤 Review로 이동, 버그 테스트가 끝나고 merge가 종료되면 Done으로 이동하는 방식이다.

그리고 JIRAGithub Repository를 연동해놔서 JIRA의 이슈키를 Github commit 메시지에 적으면 해당 이슈에 commit 이력이 연동된다. (추후에 해당 이미지 캡쳐해서 올리겠습니다.) 그리고 각자 작업할 때 얼마만큼 소요될지 예측값을 적고 작업 로그를 통해 실제로 얼마만큼 작업하는데 소요되는지 시간도 체크해 볼 예정이다. 따라서 나의 역량이 어느정도이고 일을 예측 하는 능력을 키워나갈 예정이다.

그래서 오늘은 node.js 로 간단하게 '/register Router를 열어서 값을 파싱해보고 받아보는 부분까지 해봤는데 코드는 매우 심플하다.
(express 예제 코드는 생략)

// express module을 가져온다.
const express = require('express');
const app = express();
// body-parser module을 가져온다.
const bodyParser = require('body-parser');

// application/x-www-form-urlencoded 타입 데이터를 파싱한다.
app.use(bodyParser.urlencoded({ extended : true });
// application/json 타입 데이터를 파싱한다.
app.use(bodyParser.json());

// /register로 post 요청이 왔을 경우
app.post("/register", (req, res) => {
  // body-parser가 파싱을 해주었기 때문에 req.body로 데이터를 받아 볼 수 있다.
  console.log(req.body)
  // return 값은 우선 Json 데이터와 성공 여부, ID값을 return 해준다.
  return res.json({ success : true, id : req.body.id });
}

이렇게 코딩한 후 nodemon 을 이용해서 서버를 껐다 킬 필요 없이 자동으로 리로드 시킨뒤에 Postman을 이용해서 register로 json 데이터를 보내면 다음과 같이 데이터가 들어온다.

틈새 nodemon 사용법

  1. npm install nodemon --save-dev (dev를 붙여야 개발용으로 사용한다는 설정이 추가된다.)
  2. package.json에 script 부분에 다음을 추가한다.
script : {
  "dev" : "nodemon index.js"
}
  • 여기서 dev라는 이름은 자기가 원하는 이름을 적으면 된다.
  • nodemon으로 index.js를 실행시키겠다는 의미
  1. npm run dev로 터미널에서 실행하면 nodemon으로 로컬 서버 실행

이와같이 실행된 모습을 확인할 수 있다. 만약 무언가 수정하면 다음과 같은 화면을 볼 수 있다.
따라서 서버 코드에 변경이 일어나도 다시 서버를 껐다가 켜야되는 번거로움을 줄일 수 있게 된다. 그리고 아까 생성한 /register에 데이터를 보내면 console창에 다음과 같이 로그가 남게 된다.
다음과 같이 데이터가 keyvalue 형태로 들어올 수 있도록 해준 모듈이 바로 body-parser이다. 그리고 client는 다음과 같이 return값을 받아본다.

결론


이제 node.js 의 아주 아주 기초 단계에 접어들었다. 내가 흔히 html에서 사용할 때 쓰던 Javascript 스타일과 매우 달라서 당황했는데 해당 스타일은 찾아보니 JSX 스타일이라고 한다. 따라서 JSX가 어떻게 쓰이는지를 공부를 겸해야 할 것 같다.

그리고 새로운 언어를 학습하고 요즘 핫 한 node.js 해서 그런지 신기하면서도 재밌고 빨리 마스터해서 빠르게 앱을 만들어보고 싶은 욕망은 아직까지는 유효하다. 이 욕망이 유지될 때 얼른 인프런 강의를 다 들어야 귀차니즘에 안빠지고 할 수 있을 것 같다.

근데 회사 퇴근하고 집에 오면 온 몸이 축 쳐진다. 일이 힘들어서라기 보단 출퇴근길에 너무 이리치이고 저리치이다 보면 있던 힘마저 다 사라지는 기분이다. 하지만 이럴때 하는 공부가 진짜 실력을 키워주는 공부라 생각하고 오자마자 밥먹고 씻고 무조건 일단 책상에 앉을 예정이다. (유튜브를 보던 왓챠를 보던 넷플릭스를 보던...)

아무튼간에 꾸준히 velog 도 쓰고 Github 관리도 잘 해서 몸 값좀 많이 올려보자!

P.S. 학점 부족해서 학교 졸업 못한 나는 내일부터 인강 수업 들어야된다...😥

profile
나태지옥에서 벗어나고자 글 좀 써보는 자칭 백엔드 개발자 🤷‍♂️

0개의 댓글