Nodejs

  • Published on
    썸머노트에서 이미지 업로드하기 썸머노트에서 이미지를 서버에 올리려면 일단 아래와 같이 별도의 onImageUpload 핸들러를 구현해야한다. var $editor = $('#editor'); var editor = $editor.summernote({ ... 옵션 생략 ... onImageUpload: function(files) { sendFile(files[0]); } }); 위에서 사용한 sendFile 함수는 아래와 같이 구현한다. 이때 ajax 옵션에 주의하자. 별거아닌 옵션을 실수로 잘못주면 하루종일 이유도 모르고 헤맬수있다. 특히 contentType은 없어야한다. 파일 업로드라고 종종 contentType을 "multipart/form-data"로 설정하는 경우가 있는데, 본래 XMLHttpRequest 객체는 파일 업로드를 지원하지 않기 때문에 파일 업로드를 위해서는 XHR2와 FormData 객체를 이용해야한다. 참고로 XHR2는 거의 모든 최신 브라우저에서 사용할
  • Published on
    노드에서 많이 쓰이는 Logger 모듈 3가지 winston bunyan morgan > Express 4에서 정식 로거 모듈로 사용됨. 일단 morgan 같은 경우엔 Express4에서 정식 로거 모듈로 사용되고 있고, winston과 bunyan 모듈은 둘다 나름의 특징이 있어서 뭐가 더 좋다라고 할수는 없다. 그냥 취향에 맞는 녀석을 선택해서 쓰면 될것 같다. 둘을 비교한 내용은 이미 검색하면 많이 나오니까 요 포스트로 대신한다. winston 모듈을 이용해 자동으로 타임로그 찍기 사실 해당 문서를 잘 읽어보면 아래와 같은 단락이 나오는데 예제가 없다보니 어떻게하라는거지? 라고 생각할수도 있다. timestamp: Boolean flag indicating if we should prepend output with timestamps (default false). If function is specified, its return value will be used instead
  • Published on
    지난달부터 재미삼에 패치팡이란 애니팡 아류작을 하나 맹글어보고 있는데, 부득이(?)하게 랭킹서버까지 만들어야했다. 그리고 지난주였나? 페북과 연동해서 친구들과 경쟁구도를 만들기 위해 랭킹서버를 약간 수정했다. 물론 데이터 모델도 달라졌고, API도 약간의 수정이 있었다. 귀차니즘에 수정을 최소화하다보니 많은 기능을 넣지는 않았음에도 불구하고 삽질의 연속이었다. 그때 정리했어야하는데 일단 잊어먹기 전에 생각나는대로 정리해보자. 1. 청크(Chank)데이터 이어붙이기 일단 페이스북 Graph API를 이용해 친구목록을 가져와야했다. 페이스북의 모든 API는 https로 호출한다. (혹시 http로 호출하는 API가 있을찌도 모르겠으나,.. 일단 문서에는 없는듯..) 뭐 https도 암호화와 패킷 검증을 제외하면 프로토콜은 http와 거의 대동소이하다. 여튼 nodejs를 이용해 API 호출후 응답을 받으려면 다음과 같이 'data' 이벤트를 통해 데이터를 수신받는다. var ht
  • Published on
    몇일전에 애니팡과 비슷한 팡류 게임을 하나 만들었다. 이름하야 패치팡! ㅋㅋ 패치팡은 자바스크립트만으로 만들었고, 게임을 만드는데 꼬박 3일이 걸렸다. 3일중 이틀은 구조잡고 기본 알고리즘 만드는데 썻고, 나머지 하루는 대충 콜리로 UI만들고 포샵질 하느라 시간을 보냈다. 여튼 만들고 보니 뭔가 허전하다 제대로 쓸려면 내가 얻은 점수를 서버에 저장하고 친구들끼리 경쟁을 붙여야한다. 그래서 또 대충 랭킹 서버를 만들기로 했다. 랭킹 서버는 랭킹 정보를 저장할 DB가 있어야한다. DB는 SQL로 쓰려다가 쿼리 짜기 귀찮아서 그냥 몽고DB로 결정!! 1. 몽고DB 설치하기 일단 서버에 몽고DB 서버를 설치하고 설정해야한다. 설치와 설정은 다음 링크를 참고~!! 참고로 내 서버는 페도라다! 그리고 테스트 개발은 윈도우 환경에서 진행했다! http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat-centos-or-fedor
  • Published on
    몇 시간을 삽질햇다. -_-;;분명 API 문서를 보면서 가이드 따라 잘 했는데..도대체 왜 세션이 안되는거야~!! 라고 버럭질햇는데..API 문서를 꼼꼼히 보지 않으면,.. 다들 고생할듯싶다.1. 세션 설명http://expressjs.com/guide.html#session-support 2. 에러 핸들링http://expressjs.com/guide.html#error-handling 자바스크립트가 스크립팅 언어라는 사실을 다시금 일깨워준다. 무엇을 먼저 실행하느냐에 따라,.. 결과가 달라진다. 명심하자!1) 제대로 된 설정 /** * Express 서버 설정 */app.configure(function() { app.use(express.cookieParser()); app.use(express.session({store: sessionStore, secret: 'secret', key: 'express.sid'})); app.use(express.errorHandler({d