nforge / devnote Goto Github PK
View Code? Open in Web Editor NEWdeveloper's note for distributed env
developer's note for distributed env
관리 메뉴의 '메일 보내기' 이용시
devnote 내부적으로 에러가 발생하나 화면에는 별다른 반응이나 Noti가 없음.
{ [Error: connect EHOSTUNREACH]
code: 'EHOSTUNREACH',
errno: 'EHOSTUNREACH',
syscall: 'connect' }
메일 주소에 대한 valid 체크 또는 에러 발생에 대한 Noti가 있었으면 좋겠습니다.
현재는 항상 저자가 Guest로 기록되고 있는데, 로그인한 사용자로 기록되도록 고칩니다.
증상 발생한 순서는 아래와 같습니다.
Express
500 TypeError: /Users/ultrakain/Documents/workspace_node/devnote/views/admin/adduser.jade:24 22| label(for="email").control-label= __('Email') 23| div.controls > 24| input(type="text", name="email", id="email", required) 25| 26| div.control-group 27| label(for="timezone").control-label= __('Timezone') Cannot read property 'timezone' of undefined
22| label(for="email").control-label= __('Email')
23| div.controls
24| input(type="text", name="email", id="email", required)
25|
26| div.control-group
27| label(for="timezone").control-label= __('Timezone')
Cannot read property 'timezone' of undefined
at eval (eval at (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/jade/lib/jade.js:176:8))
at exports.compile (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/jade/lib/jade.js:181:12)
at Object.exports.render (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/jade/lib/jade.js:216:14)
at View.exports.renderFile as engine
at View.render (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/view.js:75:8)
at Function.app.render (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/application.js:504:10)
at render (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/response.js:623:9)
at res.render (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/response.js:643:22)
at Array.exports.locals.locals.use as 0
at ServerResponse.res.render (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/response.js:634:19)
개별 노트의 히스토리에서 "차이점 보기" 버튼을 누르면 아래와 같이 오류가 발생합니다.
GET /wikis/note/pages/[Android/iOS]%20%EC%95%8C%EB%A6%BC%EC%9D%8C%20%EC%8A%A4%ED%86%A0%EC%96%B4?diffA=%255BAndroid%252FiOS%255D%2520%25EC%2595%258C%25EB%25A6%25BC%25EC%259D%258C%2520%25EC%258A%25A4%25ED%2586%25A0%25EC%2596%25B4%2Cc9c1772d7dc2a40ce5e7987ac4bb5d881fc75fdd&diffB=%255BAndroid%252FiOS%255D%2520%25EC%2595%258C%25EB%25A6%25BC%25EC%259D%258C%2520%25EC%258A%25A4%25ED%2586%25A0%25EC%2596%25B4%2Cc9c1772d7dc2a40ce5e7987ac4bb5d881fc75fdd&action=diff 404 0ms
page.jade의 if lastVisit 와 history.jade의 diff 기능을 수정해야 함
페이지의 내용이 많은 경우, 편집시 편집창의 반응속도가 현저히 떨어집니다. (705줄 24kb짜리 파일에서 느려지는 현상 발견)
사소한 것으로 이슈트래커를 채우는 것 같아 부담스럽지만^^ 설치를 마치고 http://localhost:3000/wikis/note/users 를 열어보니 racoon이라는 유저가 기본적으로 등록되어 있었습니다. 확인해보니 npm install
이 postinstall에서 Jakefile을 실행하는데, build task가 test task도 같이 실행하게 되어있었습니다. 이것이 개발팀이 의도하신 동작인지 궁금합니다.
저는 node.js에는 문외한에 가깝습니다만^^ npm install
은 packages.json에 적힌 모듈들을 설치하는 명령으로 알고 있습니다. 그런데 이 명령을 실행할 때마다 자동으로 테스트가 수행되면 매번 데이터가 초기화되는데, 의도하지 않게 데이터를 날리는 경우가 생기지 않을까요? 왜냐하면 packages.json에 모듈을 한두개 추가한 다음에도 실행할 수 있는 명령이니까요.
그리고 테스트 실행 후에 유저가 한 명 등록되게 되는데, 저는 제가 등록하지 않은 유저가 있어서 깜짝 놀랐었습니다^^ 그리고 공개된 서버에 설치하는 경우에는 위험할 수도 있다는 생각도 듭니다.
혹시 제가 잘못 생각한 부분이 있다면 가차없이 알려주세요.
현재 노트 작성 중 '삭제' 버튼을 누르면 바로 삭제되는 부분을
다시 한번 물어봐서 실수로 삭제되는 것을 방지했으면 좋겠습니다.
누가 제 글을 삭제햇네요. ㅋㅋ
현재 새 글을 쓸 때, 불의의 사고에 대비해 브라우저 로컬저장소에 내용을 임시 저장하고 있습니다.
하지만 저장 여부 및 상태가 표시되지 않아,
알지 못하거나 불안해 하는 경우가 있습니다.
아이콘이나 메시지로 현재 저장상태를 알려주는 기능이 필요합니다.
GET /font/NanumGothic.woff 404 0ms GET /wikis/note/pages/%5BAndroid/iOS%5D%20%EC%95%8C%EB%A6%BC%EC%9D%8C%20%EC%8A%A4%ED%86%A0%EC%96%B4?action=edit 404 1ms GET /font/NanumGothic.woff 404 0ms debug - served static content /socket.io.js debug - client authorized info - handshake authorized P08UkzOJ5IqdOFu9QSuK GET /font/NanumGothic.woff 404 1ms debug - setting request GET /socket.io/1/websocket/P08UkzOJ5IqdOFu9QSuK debug - set heartbeat interval for client P08UkzOJ5IqdOFu9QSuK debug - client authorized for debug - websocket writing 1:: debug - websocket writing 5:::{"name":"connected","args":["P08UkzOJ5IqdOFu9QSuK"]} info - transport end (undefined) debug - set close timeout for client P08UkzOJ5IqdOFu9QSuK debug - cleared close timeout for client P08UkzOJ5IqdOFu9QSuK debug - cleared heartbeat interval for client P08UkzOJ5IqdOFu9QSuK debug - discarding transport wiki.writePage: Cancel commit because of no changes. GET /font/NanumGothic.woff 404 1ms GET /wikis/note/pages/%5BAndroid/iOS%5D%20%EC%95%8C%EB%A6%BC%EC%9D%8C%20%EC%8A%A4%ED%86%A0%EC%96%B4?action=edit 404 0ms
사용자 관리 및 메일 설정 메뉴가 현재는 보안없이 숨겨져 있는 상황입니다.
보안 처리가 안 되어 있는 상태에서 숨겨있는 것은 큰 의미 없다고 생각되어
"관리" 메뉴를 추가하였습니다.
jake build
를 실행하여야 locale 파일(ko.js)이 public 폴더로 이동되고 한글도 정상 표시됩니다.
아니면 영문으로만 메뉴가 나옵니다.
실행시 해당 모듈이 없다고 나옵니다.
일단 파일이름만 highlight-c.js로 만들고(내용없이) 저위치에 두면 정상적으로 서버가 기동됩니다.
GET /favicon.ico 404 1ms
계정 정보를 수정하는 화면 (사용자 설정 변경)에서 "현재 비밀번호", "새 비밀번호"를 넣지않고 "저장하기"를 누르면 500 에러 발생하는 증상입니다.
500 Error: Too short password!
at _encodePassword (/Users/ultrakain/Documents/workspace_node/devnote/lib/users.js:68:13)
at Object.changePassword (/Users/ultrakain/Documents/workspace_node/devnote/lib/users.js:79:31)
at exports.postId (/Users/ultrakain/Documents/workspace_node/devnote/userApp.coffee:101:20)
at callbacks (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/router/index.js:171:11)
at param (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/router/index.js:145:11)
at param (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/router/index.js:142:11)
at pass (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/router/index.js:152:5)
at Router._dispatch (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/router/index.js:179:5)
at Object.router (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/lib/router/index.js:39:10)
at next (/Users/ultrakain/Documents/workspace_node/devnote/node_modules/express/node_modules/connect/lib/proto.js:190:15)
node version : v0.8.19
npm version : 1.1.71
CoffeeScript version 1.4.0
위 버전에서는 정상 동작
node version : v0.8.22
npm version : 1.2.14
CoffeeScript version 1.6.1
해당 버전에서는 아래와 같은 에러 발생
Error: In /tmp/devnote/wikiApp.coffee, Parse error on line 71: Unexpected 'INDENT'
at Object.parseError (/tmp/devnote/node_modules/coffee-script/lib/coffee-script/parser.js:483:11)
at Object.parse (/tmp/devnote/node_modules/coffee-script/lib/coffee-script/parser.js:535:22)
at exports.compile.compile (/tmp/devnote/node_modules/coffee-script/lib/coffee-script/coffee-script.js:54:27)
at Object.loadFile (/tmp/devnote/node_modules/coffee-script/lib/coffee-script/coffee-script.js:24:28)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object. (/tmp/devnote/app.coffee:22:13)
at Object. (/tmp/devnote/app.coffee:221:4)
at Module._compile (module.js:449:26)
at Object.exports.run (/tmp/devnote/node_modules/coffee-script/lib/coffee-script/coffee-script.js:124:25)
at compileScript (/tmp/devnote/node_modules/coffee-script/lib/coffee-script/command.js:166:29)
at fs.stat.notSources.(anonymous function) (/tmp/devnote/node_modules/coffee-script/lib/coffee-script/command.js:141:18)
at fs.readFile (fs.js:176:14)
at Object.oncomplete (fs.js:297:15)
파일명에 한글이 들어갈 경우 파일 업로드 기능이 동작하지 않음
서버측 에러
debug - set heartbeat interval for client aMa64SsmXcl337yXQSuJ uncaughtException occurred! ------> ENOENT, mkdir '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어' { [Error: ENOENT, mkdir '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어'] errno: 34, code: 'ENOENT', path: '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어' } uncaughtException occurred! ------> ENOENT, mkdir '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어' { [Error: ENOENT, mkdir '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어'] errno: 34, code: 'ENOENT', path: '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어' } uncaughtException occurred! ------> ENOENT, mkdir '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어' { [Error: ENOENT, mkdir '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어'] errno: 34, code: 'ENOENT', path: '/Users/ultrakain/Documents/workspace_node/devnote/public/attachment/[Android/iOS] 알림음 스토어' } debug - emitting heartbeat for client aMa64SsmXcl337yXQSuJ debug - websocket writing 2:: debug - set heartbeat timeout for client aMa64SsmXcl337yXQSuJ debug - got heartbeat packet debug - cleared heartbeat timeout for client aMa64SsmXcl337yXQSuJ debug - set heartbeat interval for client aMa64SsmXcl337yXQSuJ info - transport end (undefined) debug - set close timeout for client aMa64SsmXcl337yXQSuJ debug - cleared close timeout for client aMa64SsmXcl337yXQSuJ debug - cleared heartbeat interval for client aMa64SsmXcl337yXQSuJ debug - discarding transport wiki.writePage: Cancel commit because of no changes.
우분투에서 git clone하고 설치 후 실행 시, 아래와 같이 나옵니다.
Error: Cannot find module '../public/scripts/highlight-c.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object. (/usr/local/devnote/lib/renderer.js:2:1)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
파일을 뒤져보니 저 파일은 public/scripts가 아니라 lib 폴더에 있네요.
nvm으로 node.js v0.8.7을 설치했습니다. 소스코드 clone한 후에 npm install을 했는데 잘 진행되다 마지막이 이런 오류가 나옵니다.
> [email protected] postinstall /Users/bs0048/Projects/devnote
> node node_modules/jake/bin/cli.js build
module.js:340
throw err;
^
Error: Cannot find module 'utilities'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/Users/bs0048/Projects/devnote/node_modules/jake/lib/jake.js:23:13)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
npm ERR! [email protected] postinstall: `node node_modules/jake/bin/cli.js build`
npm ERR! `sh "-c" "node node_modules/jake/bin/cli.js build"` failed with 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is most likely a problem with the n4wiki package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node node_modules/jake/bin/cli.js build
npm ERR! You can get their info via:
npm ERR! npm owner ls n4wiki
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 12.0.0
npm ERR! command "/Users/bs0048/.nvm/v0.8.7/bin/node" "/Users/bs0048/.nvm/v0.8.7/bin/npm" "install"
npm ERR! cwd /Users/bs0048/Projects/devnote
npm ERR! node -v v0.8.7
npm ERR! npm -v 1.1.49
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/bs0048/Projects/devnote/npm-debug.log
npm ERR! not ok code 0
node를 잘 몰라 어디부터 손대야 할지 모르겠네요. 여기에 도움을 구해도 되는지 모르겠지만 조언 부탁드립니다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.