계속 서버도 해봐야지 하면서 생각은 했지만, 동기부여가 되지 않아서 시작을 못하고 있었다.
그런데, 언제까지 서버때문에 발목을 붙잡힐 수는 없어서 스타트를 하게 되었다. (혹시 틀린부분이 있으면 지적해주세요 ! )
파이썬하고 노드하고 고민하다가, 노드로 결정 !
1. node.js 시작하기
시작하기 위해서 공식사이트에서 node를 설치 해야한다. 공식사이트는 -> https://nodejs.org
나는 이미 맥북에 깔려있었기 때문에 버전만 확인하고 바로 시작하였다.
버전확인은 터미널 열고 node -v 하면 알수 있다. (노드 버전 v12.12.0)
2. node 기초문법
node.js를 이해하기 위해서는 javascript 문법을 먼저 알아야한다.
기본적인 문법? 규칙에는
[변수의 선언과 사용]
- 변수의 타입은 var로 선언한다.
- 문장의 끝은 항상 세미콜론으로 끝낸다. (계속해서 사용해온 swift는 세미콜론이 없기 때문에..주의해서 작업을 해야겠다고 느꼈다.)
- 등호 = 를 이용해서 변수에 값을 넣으려면 문자열 입력시에는 앞뒤로 ' ', " " 외따옴표나 쌍따옴표를 붙여준다.
- 문자와 숫자를 더할 경우 결과값은 문자가 된다. (오 자바스크립트를 자세히는 몰랐어서 이번에 공부하면서 알게되었다.)
[조건문] : if, switch
[반복문] : for, while, do ~ while
[클래스] : 자바스크립트는 함수형 언어 이기 때문에, 객체지향을 위한 class는 없다고 한다. 함수자체를 하나의 객체로 취급하고 단일함수 또는 파일 자체를 하나의 class처럼 사용 할 수 있다.
(클래스 내용은 이론으로는 와닿지 않아서 코드로 테스트를 해봤다.)
function Class_test(msg) {
this.name = 'I am aezzing';
this.message = msg;
message2 = 'find Me';
this.print = function(){
console.log(message2)
};
}
var myClass_test = new Class_test('test is good'); //객체생성
console.log(myClass_test.message);
console.log(myClass_test.message2);
myClass_test.print()
undefined는 this를 사용하지 않아서 외부에서 참조할 수 없다.
[node.js에서 객체를 사용하는 방법]
require를 사용해서 파일 전체를 객체로 불러올 수 있다. 파일 내부의 멤버들은 exports로 정의할 수도 있고, 자바스크립트에서 처럼 this나 prototype으로 선언하고 module.exports 명령어로 한번에 처리 할 수도 있습니다. (이 부분도 이해가 가지 않아..직접 해봤다...)
먼저, NodeClass.js파일을 하나 만든다.
function Class_use() {
this.name = 'Hello aezzing!!!!!!!!!!';
this.message;
}
Class_use.prototype.setMessage = function(msg) {
this.message = msg;
}
Class_use.prototype.getMessage = function() {
return this.message;
}
module.exports = Class_use;
//exports 명령어를 사용함으로써 다른파일에서 require 예약어를 이용해서 Class_test객체를 사용할수 있게된다.
//exports 명령어의 위치는 어떤곳에 위치해도 동일하게 작동한다.
다음엔 NodeClass.js 파일을 호출해서 사용할 use_class.js 파일을 만든다.
var NodeClass = require('./NodeClass'); // require를 통해 클래스 객체를 사용
var nodeClass = new NodeClass();
nodeClass.setMessage('I am Good!!!!!!!!!!!!!');
console.log(nodeClass.getMessage());
이렇게 node.js를 입문해 봤다.
일단 시작했으니.. 결과물은 만들고 끝낼 것인데 앞으로 이런 과정들이 개발자로 성장하는데 도움이 되길 바란다.
맨날 레퍼런스만 읽고 아~하고 그 순간만 이해했다고 생각하고 넘어 갔었는데, 이렇게 글을 쓰면서 직접 해보니 도움이 많이 되는 것 같다.
node.js로 서버구축을 하고 마무리 하길 노력해야 겠다.
*참고 사이트
https://javafa.gitbooks.io/nodejs_server_basic/content/chapter2.html