전체 글
-
[Node.js] NULL, undefined가 나왔을때 의심해볼만한곳 정리(계속 업데이트)node.js(노드) 2020. 8. 18. 11:05
NULL 1. DB의 SELECT문에서 sum과 같은 계산이 있는데 해당 계산할 값이 없다면 NULL로 리턴함 -IFNULL을 추가하여 해결 undefined 1. 해당 변수를 선언하는곳이 없거나 빈 변수를 주었을경우 나타남 - 해당 변수가 제대로 이어져있는지 확인 - 해당 변수를 제대로 리턴하는지 확인 Cannot read property '0' of null 해당 배열의 0번째 값이 없는경우 ex)result[0] 다만 이것은 해당 변수가 null 일경우에만 해당한다 *null이 아닌경우 undefined값이 나온다
-
[Node.js] 이벤트처리 'EventEmitter' 사용방법node.js(노드) 2020. 8. 11. 16:00
EventEmitter는 Node.JS에 내장되어 있는 일종의 옵서버 패턴 구현이다. HTML,자바스크립트의 이벤트 리스너에서해당 이벤트를 등록해놓고 버튼에 따라 특정 이벤트를 사용하는 것을 사용해 본 적이 있을 거다. 이것도 비슷한 기능이다. 해당 변수에 여러 가지 이벤트를 등록해놓고 사용자가 원하는 이벤트를 골라 사용하는 방식이다. 우선 코드를 보자. event.js const EventEmitter = require('events'); this.eventPlay = null; this.eventPlay = new EventEmitter(); //연산자 생성 this.eventPlay.on('connection',(data)=>{//이벤트 등록 console.log("connection 시작"); c..
-
[node.js] 프로토 타입(prototype)node.js(노드) 2020. 8. 11. 14:05
이번 시간에는 프로토타입에 대해 알아보자. 자바 개발자로 취업했던 나에게는 JAVA에서의 class와 비슷한 기능처럼 사용하기 때문에(물론 자세히 보면 다름) 이해하는데 어렵지는 않았다 다만 변수 안에 생성자를 넣고 함수를 넣고 밖에서 선언하는 것은 정말 신세계였다. 마치 한국말처럼? 와 진짜 이거 어렵다. 진짜 와 이거 어렵다. 이거 와 진짜 어렵다. 와 이거 진짜 어렵다. 이번 글에는 프로토타입을 클래스의 상속처럼 사용하는 것과 실제 현업에서 사용한 방식을 쓰겠다. 1. 프로토 타입 상속 function Animal(name) { this.name = name; } Animal.prototype.lag = '4'; Animal.prototype.gender = "male"; var cat = new ..
-
[node.js] 동기와 비동기(2) Callback과 async의Waterfallnode.js(노드) 2020. 8. 10. 16:53
지난 글에는 동기와 비동기의 차이에 대해 알아보았다. 이번 글에는 지난 글의 마지막의 문제인 연속된 함수에서 동기 처리하는 방법에 대해 알아보려고 한다. 1. callback 처리 callback글에서 callback이 어떤 순서대로 작동하는지 알아봤다면 이번에는 실제로 어떻게 활용되는지 알아보자. *화살표 함수를 실제로도 많이 사용하니 화살표 함수에 대해 간단하게 알면 좋다. 지난 글의 마지막부분을 callback으로 해결해보자. var result = false; var playA = function() { setTimeout(function () { result=true; },1000); } var playB = function () { if(result){ console.log("성공"); } e..
-
[node.js] 동기와 비동기 (1) 기본 이해node.js(노드) 2020. 8. 7. 17:45
프로그램 언어들이 보통은 비동기 언어, 동기 언어라고 하지는 않지만 내가 느꼈던 대부분의 언어들은 동기 처리가 디폴트 값이고 비동기는 따로 선언해야 했었다. 그러나 자바스크립트는 비동기가 디폴트고 동기를 할 경우 다른 방식을 이용해야 한다. 일단 node js는 비동기 IO를 지원하며 Single-Thread 기반으로 동작한다. 우선 코드로 보자 var A = function (){ console.log("A"); } var B = function (){ console.log("B"); } var C = function (){ console.log("C"); } var st1 = setTimeout(function (){ console.log("st1"); },100 ); var st2 = setTime..
-
[node.js] 콜백(callback)함수(2)node.js(노드) 2020. 8. 1. 02:05
이제 콜백 함수의 심화과정이다. 해당 콜백은 실제 현업에서 나온 코드를 바탕으로 작성하겠다. var sum = function(v1, callback,v2){ console.log("callback 실행 전"); callback(3) console.log("callback 실행 후"); } var f1 = function () { console.log("f1 실행"); } var f2 = function () { console.log("f2 실행"); } console.log("sum 함수 실행 전"); sum(f1(),(r1)=>{console.log("sum 함수 실행 후");console.log(r1)},f2()); 자 이제 문제다 저기 콘솔 로그는 어떤 순서대로 실행될까? 이 순서를 정확하게 맞춘..
-
[node.js] 콜백(callback)함수(1)node.js(노드) 2020. 7. 31. 23:57
처음 callback함수를 공부하지도 않고 접했을 때는 이게 뭔 기능인지 이해할 수 없었다. C, 자바만 해오던 나에게 변수 안에 함수를 넣는다는 개념은 존재하지 않았으니... 기존에 개발하던 사람의 코드를 볼 때 나는 callback이라는 기능이 라이브러리처럼 기능인줄 알았으나 자바스크립트의 기초를 활용한 기술?이라고 표현하는 게 옳다고 생각한다. 일단 위에 적은데로 자바스크립트에서 가장 놀랐던 점은 함수를 변수처럼 넣을 수 있다는 것이다. 예를 들면 function call() { console.log("call 함수 실행"); } var v1 = call; var v2 = v1; call(); v1(); v2(); var라는 변수에 함수를 넣고 해당 선언한 거를 실행시키면 함수가 실행된다. 이게 자..
-
블로그를 시작하며일상 및 잡담 2020. 7. 31. 23:47
자바 스프링으로 회사에 입사하였고 수습기간에는 스프링 부트를 배우며 동기들과 이것저것 개발 겸 공부하다가 수습 끝나고 이제 진짜로 배워볼까!? 하니까 갑자기 직무와 전혀 상관없는 곳에 3개월간 파견을 보내더니 파견 다녀와서 이번에야 말로 제대로 해볼까! 하니까 회사에서 팀장님이 오늘부터 node 하셔야 합니다 해서 공부하는 겸 적어본다 이 글을 적은시점은 노드를 공부? 이슈 처리한 지 3~4주 되는 시점이다. 제대로 된 공부 없이 그냥 기존 개발하던 사람의 코드 보면서 익숙해지기만 하고 직접적으로 공부하는 건 이제 시작이다. 글을 보는 사람이 있다면 질문도 환영이고 내가 이해한게 틀린 것이 있다면 체크해주는 것도 언제나 환영이다. 아직 주니어개발자이기 때문에 틀린 곳도 많을 것이다. 다만 내가 이해한것을..