본문 바로가기

NodeJS

(33)
Node.js 철학 모든 플랫폼은 자신만의 철학을 가지고 있습니다. 철학의 원칙 중 일부는 기술 자체에서 발생하기도 하고 일부는 생태계에서 발생하고, 일부는 커뮤니티에서의 트렌드이며, 다른 일부는 다른 이데올로기로부터 진화해 온 것입니다. Node.js에서 이러한 철학 중 일부는 제작자 Ryan Dahl과 코어 모듈에 기여한 사람들 그리고 커뮤니티 내 카리스마 있는 이들이 직접 만든 것이고, 일부는 Javascript문화나 Unix 철학으로부터 영향을 받은 것입니다. 이 규칙들 중 어느 것도 법칙은 아니며, 상황에 맞게 적용해야 할 것입니다. 1. 경량 코어 Node.js 코어 자체는 몇 가지 원칙에 근거한 기반을 가지고 있습니다. 이들 중 한가지는 코어를 최소의 기능 세트로 하고, 나머지를 소위 사용자의 몫(사용자 영역)..
node.js에서 json 데이터가 안읽힐 때, dataJson.forEach is not a function 에러 문제 : index.js에서 fs 모듈을 이용해서 json파일을 읽어서 그 데이터를 가지고 index.pug로 렌더링 했습니다. router.get('/', function(req, res, next) { fs.readFile('./public/js/coffee.json', 'utf8', (err, dataJson) => { res.render('index', { title: 'Coffee Guide', dataJson } ); }); }); index.pug에서는 index.js에서 넘겨준 dataJson을 forEach로 꺼내어서 li 태그를 생성하려고 했습니다. 그러나 에러발생... // pug dataJson.forEach((item) => { li.nav-item button(value=`${i..
pug 문법 input #{value} 문제점 button(value='#{name}' onclick='whatcoffee(value)') #{name} value값에 넣은 변수가 인식이 안되는 것.... 작은따옴표로 감싸줬던 부분을 백틱기호( ` ), 일명 템플릿 문자열(template string) 사용하면 되겠다는 것은 알았지만 순간 헷갈렸다. value=`#{name}` 이렇게 샵(#)을 써버렸음.... 바보다ㅋㅋㅋㅋ 그런줄도 모르고 검색을 이것저것하며 시간을 낭비했다. 백틱 기호를 사용하면 달러($)기호로 바꿔줘야함!!! 바보인것을 잊지 않기 위해 블로그에 적어둡니다.^.^ 해결 button(value=`${name}` onclick='whatcoffee(value)') #{name} button(value=`${name}` oncl..
[ do it NodeJS - 4-1] 웹서버 만들기 웹 서버 만들기 4-1. 간단한 웹 서버 만들기 4-2. 익스프레스로 웹 서버 만들기 4-3. 미들웨어 사용하기 4-4. 요청 라우팅 하기 4-5. 쿠키와 세션 관리하기 4-6. 파일 업로드 기능 만들기 4-1. 간단한 웹 서버 만들기 노드에 기본으로 들어있는 http 모듈을 사용하면 웹 서버 기능을 담당하는 서버 객체를 만들 수 있습니다. http 모듈을 로딩했을 때 반환되는 객체에는 createServer()메소드가 정의되어 있습니다. 따라서 이 메소드를 호출하면 서버 객체를 만들 수 있습니다. const http = require('http'); const server = http.createServer(); const port = 3000; server.listen(port, () => { con..
[ do it NodeJS - 3 ] Node.js의 기본 기능 [ ch04 ] - 노드의 기본 기능 4-1. 주소 문자열과 요청 파라미터 다루기 4-2. 이벤트 이해하기 4-3. 파일 다루기 4-4. 로그 파일 남기기 4-1. 주소 문자열과 요청 파라미터 다루기 url 모듈을 이용해 주소 문자열을 객체로 만들면 문자열 안에 있던 정보를 나누어 객체 속성으로 보관합니다. 따라서 요청 프로토콜이 http인지 https인지를 구별하거나 요청 파라미터를 확인하고 싶다면 url 객체가 갖고 있는 속성 값을 확인하면 됩니다. const url = require('url'); //주소 문자열을 URL 객체로 만들기 const curURL = url.parse('https://search.naver.com/search.naver?ie=utf8&where=nexearch&query..
[ do it NodeJS - 2 ] Node.js의 자바스크립트와 친해지기 [ ch 03 ] - 노드의 자바스크립트와 친해지기 3-1. 자바스크립트의 객체와 함수 이해하기 3-2. 배열 3-3. 콜백 함수 3-4. 프로토타입 객체 만들기 3-1. 자바스크립트의 객체와 함수 이해하기 자바나 C언어 같은 타입기반의 언어(Type based Language)는 메모리를 절약하기 위해 정수와 문자열을 만 들 때 다른 크기의 변수 상자를 만들고 변수 앞에 int, string같은 타입(type, 자료형)을 지정합니다. 그러나 자바스크립트는 자료형을 명시하지 않습니다. Boolean : [ 기본 자료형 ] true와 false 두가지 값을 가지는 자료형. Number : [ 기본 자료형 ] 64비트 형식의 IEEE 754값이며 정수나 부동소수 값을 가지는 자료형. 몇가지 상징적인 값을 가..
ObjectSetPrototypeOf(ctor.prototype, superCtor.prototype); 에러가 뜸. Do it Node.js 예제 ch04_test4.js와 calc3.js util.js:168 ObjectSetPrototypeOf(ctor.prototype, superCtor.prototype); ^ TypeError: Object.setPrototypeOf called on null or undefined at setPrototypeOf ()  at Object.inherits (util.js:168:3) at Object. (E:\nodejs_doit\calc3.js:10:6)  at Module._compile (internal/modules/cjs/loader.js:1157:30)  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1177:10)..
pug images url #{url} 이미지 경로를 변수로 넣었을 때, 에러남. 해결 방법 문제 : db에서 가져오는 이미지 경로를 넣어주고 싶은데.. 이렇게 쓰니까 계속 에러가 남... img.image(src='#{photo}') 해결방법 : 이렇게 해결... ㄷㄷㄷ img.image(src='/'+ photo) https://pugjs.org/language/attributes.html#attribute-interpolation Attributes – Pug Attributes Tag attributes look similar to HTML (with optional commas), but their values are just regular JavaScript. (NOTE: Examples on this page use the pipe character (|) for whitespace..