NodeJS - MVT(MVC) 패턴으로 분리하기

이제까지 내가 작성했던 코드들은 index.js에 모든게 모여있다. 그러므로 무언가 수정하기도 힘들고 점차 알아보기가 힘들어 졌다. 점차 자바스크립트와 노드의 문법이 익숙해지는 것 같아서 Django와 같이 MVT 패턴으로 (MVC 패턴과 똑같지만 용어만 좀 다르다고 생각해도 된다.) 분리하려고 한다. 1 2 3 - Model => Model - View => Template - Controller =>...

NodeJS 카카오톡스러운 채팅 만들기(3) - 디자인 개선

데이터 베이스와 웹소켓을 활용하여 기본적인 채팅이 가능한 웹서버가 되었다. 이번에는 디자인을 개선하여 본격적으로 카카오톡과 비슷하게 구성하도록 할 것이다. 다만 이 글은 오로지 채팅창의 디자인만 구현한다. 결과물 먼저 결과물을 살펴보도록 하자. 구현 먼저 채팅이 전달되면 p 태그를 생성하여 #chatLog라는 div에 삽입하도록 하였다. 다만 카카오톡의 경우 상대의 메시지와 내 메시지를 다른 색상으로...

NodeJS 카카오톡스러운 채팅 만들기(2) - 데이터 베이스 연동

지난번에 웹소켓을 사용하여 구현된 채팅 프로그램에 데이터 베이스를 활용하여 이전 채팅을 보관하고 사용자에게 출력해서 보여줄 것이다. 먼저 mysql을 사용할 수 있도록 패키지를 설치해 주어야 한다. 1 > npm install mysql 이후 테스트를 위해서 데이터 베이스에 다음과 같은 테이블을 생성했다. 이 글에서는 데이터 베이스의 기초적인 설치와 설정 방법에 대해서는 다루지 않는다....

NodeJS 카카오톡스러운 채팅 만들기(1) - 소켓 통신 이해

오늘 Node.js 공부하면서 드디어 웹 소켓과 관련된 내용이 나왔다. 웹 소켓으로 구현된 채팅 코드를 본 적이 있는데 코드는 상당히 짧았으나 자바스크립트 코드가 굉장히 읽기 어려웠고 내용도 모르니 어렵기만 했었다. 공부할때도 좀 긴가민가 했는데 어느순간 득음하였다. 웹에서는 소켓을 이용한 통신이 없었다. 최근에서야 실시간 통신을 흉내내기 위한 ws와 wss가 추가되었다. wss는 https와...

NodeJS, super()를 호출해야 this를 쓸 수 있다

튜토리얼을 통해서 NodeJS를 공부하고 있는데 만들어진 코드를 그대로 사용했으나 실행할때 에러가 발생했다. 오류의 내용을 다음과 같았다. ReferenceError: Must call super constructor in derived class before accessing ‘this’ or returning from derived constructor 코드를 살펴볼 때는 전혀 오류가 발생할 부분이 없었는데 위와같은 오류가 발생하니 뭔가 싶었다. 문제는 예제에서 만들어진 최상위 클래스가...

express 프레임워크 기본 코드 이해하기

저는 NodeJS가 죽도록 어려웠습니다. 저는 서버 사이드 언어를 처음 접해본게 PHP였고 NodeJS는 PHP와는 전혀 다른 방식으로 되는듯 보였습니다. 시작하는데 어려움을 많이 겪었고 중급 난이도의 책을 먼저 본것도 큰 낭패였습니다. 하지만 NodeJS의 개념을 어느정도 알고나니 조금은 이해가 됐습니다. 이 글은 NodeJS를 처음 접하는 사람이 대상이며 조금이나마 도움이 되길 바라는 마음으로 작성되었습니다....

우분투에서 NodeJS 설치 및 테스트

PHP를 쳐보면 부정적인 글이 주로 보여서 지속적으로 다뤄도 되는지 걱정된다. 그래서 이번에 다른 언어를 공부하면서 차이점과 미래에 대한 대비를 하고자 하였다. ‘Node.js 6.x 블루프린트’라는 책을 예전에 받았었기에 생각나서 펴봤는데 초보자를 위한 책이 아니었다. 책에도 그렇게 나와있었다. 설치부터 골치였다. NodeJS는 자체로 웹서버를 열 수도 있다. 알아두면 좋은 언어인 느낌은 확실하다. 우분투에서...