노드의 강점은 그 홈페이지에서 찾아볼 수 있는데 아래와 같이 정의되어 있다.Node.js 는 이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적입니다.하지만 이 강력함으로 인해 개발자는 곤욕을 치루게 되는데 그 중 하나가 콜백지옥이다. 콜백지옥이 발생하는 근본적인 이유는 노드의 비동기를 해결하고자 할 때 중첩 콜백이 이어지기 때문인데 왜 콜백을 중첩해서 사용해야 할까? 이 문제에 대해 나는 "우리 개발자 뇌가 아직 동기적으로 코드를 이해하려고 하기 때문" 이라고 이야기한다. 노드를 더 깊게 잘 이해하려면 비동기에 대한 이해를 높이고 중첩 콜백을 풀어야겠다. 각설하고 노드는 비동기에 특화되어 있는 플랫폼이다보니 무조건 동기적으로 처리해야만 하는 코드를 풀어내야 할 때 난항을 겪게 된다. 예를들어 ..
Node.js 를 올초에 처음 접하면서 바이블이 될만한 책을 못봤다. 인터넷을 뒤적거려도 근사한 자료는 사막에서 바늘 찾는 것보다 어려웠는데 이유로는 대부분의 글이 자바스크립트에 대한 배경지식이 있는 독자 기준으로 설명되고 있으며 어려운 개념을 설명하는 글은 글쓴이 본인도 무슨말을 하는지 모르는 상태에서 어설프게 지식을 공유하는 경우가 되시겠다. 그러던 도중 재미있는 책을 만났다. 책은 제목처럼 200개의 예제를 통해 노드를 차근차근 정복해나가는데 예제의 종류가 무척 다양하고 쉽게 다뤄지고 있어서 쉽고 재밌게 훌훌 읽힌다. 물론 실습 가능한 환경에서 직접 타이핑하면서 정독하는 것이 이 책을 읽는 가장 모범적인 방법이겠다. 책은 총 다섯개의 파트로 구성되어 있으며 파트 1, 2 는 기본문법과 함수등..
firebase 는 실시간 데이터베이스와 Cloud Firestore 두 가지 타입의 저장소를 제공한다. 현재 (18.04.14) 기준으로 firestore 는 베타 기간이고 공식 문서에 따르면 아직 안정성은 실시간 데이터베이스에 비해 떨어질 수 있다고 하니 상용으로 운영할 생각이라면 여러가지 상황을 고려해야겠다. 하지만 그 강력함을 보면 사용하지 않을 이유가 있을까 싶다.일단 두 종류의 데이터베이스에 대한 비교는 아래 페이지를 통해 확실하게 알 수 있다. https://firebase.google.com/docs/firestore/rtdb-vs-firestore?hl=ko여기서 우리는 node.js 기반으로 firestore 를 사용해 보도록 한다. 우선 firebase 에서 제공되는 데이터베이스는 모..
Vue.js 로 웹 개발을 시작한지 한달 남짓. 뷰스러운 것 보다는 오히려 html, css, javascript 가 발목을 잡는다. 이래서 어느 분야던지 기초가 중요하다고 하는거다. 애초에 웹 개발쪽은 쳐다본 적도 없으니 그럴 수 밖에 없지. 아무튼 고작 한달 했다고 쓸데없이 자신감만 생겨서는 우연히 알게된 좋은 플랫폼을 개인 프로젝트로 흉내내고 싶은 욕심이 생겼다. (사내 세미나를 통해 알게 됨)플랫폼은 비교적 간단하다. 용도는 콘퍼런스장에서 Q&A 시간에 질문을 받고 Timeline 을 보여준다. 좋은 질문이라고 생각되면 누구나 해당 질문에 upvote 를 할 수 있다. 익명으로 질문을 포스팅 하거나 닉네임을 적을 수도 있다. 그리고 타임라인을 여러가지 방식으로 정렬할 수 있다. 예를들면 시간, u..
Node.js 를 시작하면서 제일 먼저, 혹은 많이 듣게 되는 이야기가 콜백지옥이다. 그런 상태로 노드를 접하고 사용하기 시작하니 혼란을 부르는 부분이 있는데 이번에 콜백(callback)을 대해 정리를 하는 시간을 갖도록 해본다. 언어든 기술이든 기초가 중요하고 기초를 탄탄히 하면 콜백지옥에서 어느순간 자연스럽게 벗어날 수 있지 않을까? 노드(정확히는 자바스크립트)에서 함수는 일급 객체로 취급된다. 위키백과를 참고하면 일급 객체가 되기 위해서는 아래 조건이 충족되어야 한다.변수나 데이터 구조안에 담을 수 있다.파라미터로 전달 할 수 있다.반환값(return value)으로 사용할 수 있다.할당에 사용된 이름과 관계없이 고유한 구별이 가능하다.동적으로 프로퍼티 할당이 가능하다.이 말을 이해하기 위해서 아..
- Total
- Today
- Yesterday