æ°ãã¤ãã°ããã¯ãã¼ã¯ã使ããªããªã£ã¦ã
ãã®1å¹´ã»ã©ãã©ã¦ã¶ã®ããã¯ãã¼ã¯ãã»ã¨ãã©ä½¿ããªããªã£ãã
ãã¼ã«ã«ã ãã§ã¯ãªããã¯ã¦ã¶ã®ãããªãµã¼ãã¹ã使ããªããªã£ãã
使ãã¨ãããããã³ãã©ãªã§ããã¯ãã¼ã¯ãã¼ã«è¡¨ç¤ºåºæ¥ãç¨åº¦ã¨ããã¤ãã®ããã¯ãã¼ã¯ã¬ããã ãã«ãªã£ã¦ãã¾ã£ãã
ãããã以ä¸ã®çç±ããã ãã
ã»ã¯ã¦ã¶ãããã¯ãã¼ã¯ã«ç»é²ãã¦ãå¾ããè¦ããã¨ã¯ã»ã¨ãã©ãªã
ã»ã¾ããæ°ã«ãªãè¨äºããã£ã¦ããããã¦ãRSSãããã®ã§Google ãªã¼ãã¼ã«éã
ã»ä»äºæãæè¡çãã¿ã¯ããã¯ãã¼ã¯ã«éãã®ã§ã¯ãªããå¿
è¦ãªé¨åãEvernoteã«éã
(Extensionå
¥ãã¦ãã°æ¤ç´¢çµæã«ãåæ ããããï¼)
ã»ããã¯ãã¼ã¯ãã¦ã¦ãã次ã«åããããªãã¨ã調ã¹ãæã¯ã°ã°ã£ã¦ãã¾ã
æã¯ãã使ã£ã¦ãæ©è½ããµã¼ãã¹ã¯ããã£ã±ãæã¨ã¨ãã«å¤åãããã ãªãã¨æãã¾ããã
redmineã®ãã±ãããiCalã§åºåããpluginãä½ã£ã¦ã¿ã
iPhoneã¨ãã§èªåã®ãã±ãããã«ã¬ã³ãã¼ã§è¦ããã¨è²ã
æãã¨æã£ã¦ä½ã£ã¦ã¿ãã
ãã£ã¤ãã§ä½ã£ãã®ã§ä¸å
·åãããããããªãã®ã§ããã®å ´åã¯ãç¥ãããã ããã
https://github.com/ryu00026/redmine_ical
ä»ã®ã¨ããã®ä»æ§
ã»æ
å½è
ãOrganizer(主å¬è
)
ã»ã¦ãªããã£ã¼ãAttendee(åå è
)
ã»èªåãæ
å½ã§å®äºãã©ã°ãä»ãã¦ãªãã¹ãã¼ã¿ã¹ã®ãã±ãããåå¾
TODO
ã»å½éå
ã»watcherã«å
¥ã£ã¦ããã±ãããã«ã¬ã³ãã¼ã§åºåãã¹ãï¼
ã»ãªããGoogleã«ã¬ã³ãã¼ã§åãè¾¼ããªãã誰ãå©ãã¦
ã¨ããä¼ç¤¾ã®ãªã¹ã¯ããã¸ã¡ã³ã
大å°éã®å°ãåã«ãªãã¾ãããåéãåãã¦ããã¨ããä¼ç¤¾ã«éã³ã«è¡ã£ãäºãããã¾ããã
ãã®ä¼ç¤¾ã®ãããã¯ããã¦ãã¼ã¯ã§ãããä¼ç¤¾ã¨ãã¦ã®èãæ¹ã大å¤èå³æ·±ãã£ãã
ã¬ãã¸ããªãªã©ããµã¼ããããã¥ã¡ã³ãã®ä¿åå ãªã©ããããããªã½ã¼ã¹ã¯å ¨ã¦ã¯ã©ã¦ãã«ç½®ãã¦ããã¨ãããã¨ã§ãããã¾ããå¾æ¥å¡ã«ã¯å ¨å¡Macbookã貸ä¸ãã¦ãã¦ãã©ãã§ãä»äºãã§ããç°å¢ãæ§ç¯ãã¦ãã¾ããã
COOã®äººæ°ããããã®ãã«ã«éç³ãè½ã¡ã¦ãã¦ãã失ããã®ã¯ä½ãç¡ããã¨ä»°ã£ã¦ãã¾ããã
ãã®æã¯ããããªäºããã£ããä»äºã©ãããããªãã ããã¨ã¯æã£ã¦ãã¾ããããæè¿ã®å
è¡ãã®è¦ããªãåçºäºæ
ã®ç¶æ³ãè¦ãã«ãä»®ã«æ±äº¬ããé¿é£ããªãã¨ãããªãç¶æ³ã«ãªã£ã¦ãããããããããã°ä»äºãåºæ¥ãç¶æ³ãããã¨ããã®ã¯ãä¼ç¤¾ã¨ãã¦ããã¾ãéç¨ããã¦ããå¾æ¥å¡ã¨ãã¦ã大å¤å¿å¼·ãããããã¾ããã
Pãã¼ã¯ãªã©ã¨ããå人çã«ã¯ãã¾ãæå³ã®ç¡ãã¨æã£ã¦ãå¶åº¦ã«ç¸ããã¦ãä¼ç¤¾ã«ã¯åºæ¥ãªãç°å¢ã ã¨æã£ãããªãã£ã¹ã«ä½ããã£ãå ´åãä¼ç¤¾ã¨ãã¦ã®æ©è½ãåªå¤±ãã¦ãã¾ãæ¹ãæããããªãã¨æãã
ããããå°±è·ã転è·ãèãã¦ã人ã¯äºæ¥å 容ãç¦å©åçãªã©ä»¥å¤ã«ãããããã£ãæã注ç®ãã¦ããã®ãããããªãã§ããã
spark2ã®ã¤ã³ã¹ãã¼ã«
node.jsã«ã¯è¤æ°ã®åããã»ã¹ãèµ·åãã¦ãããã«å¦çãåæ£ãããã©ã¤ãã©ãªãããã¾ãããã®ä¸ã«ããspark2ã¨ããã®ãã¨ãµã²ãªãã§ãããã¤ã³ã¹ãã¼ã«ã«èºããã®ã§ã¡ã¢ã
$ npm install spark2
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info fetch http://registry.npmjs.org/spark2/-/spark2-2.0.11.tgz
npm info calculating sha1 /var/folders/ha/hahuiaCIG94DCkXqGm1vYE+++TI/-Tmp-/npm-1298819796102/1298819796102-0.6748477106448263/tmp.tgz
npm info shasum 3e55f7a488e9498d310b4e07e0b93441891b777b
npm info calculating sha1 /Users/ryu/.nvm/v0.4.1/lib/node/.npm/.cache/spark2/2.0.11/package.tgz
npm info shasum 826b4e1fcd1a587724e9c0a5413bab9b9bffc549
npm info range lsof@>=0.0.1
npm info fetch http://registry.npmjs.org/lsof/-/lsof-0.0.1.tgz
npm info calculating sha1 /var/folders/ha/hahuiaCIG94DCkXqGm1vYE+++TI/-Tmp-/npm-1298819796102/1298819798003-0.06807073205709457/tmp.tgz
npm info shasum 16fa5fbab03599f1c78df731b4bc61df87fbde21
npm ERR! couldn't read package.json in /var/folders/ha/hahuiaCIG94DCkXqGm1vYE+++TI/-Tmp-/npm-1298819796102/1298819798003-0.06807073205709457/contents/package
npm ERR! Error installing [email protected]
npm ERR! Error: Failed to parse json
npm ERR! Unexpected token ]
npm ERR! at jsonParseFail (/Users/ryu/.nvm/v0.4.1/lib/node/.npm/npm/0.3.4/package/lib/utils/read-json.js:89:11)
npm ERR! at /Users/ryu/.nvm/v0.4.1/lib/node/.npm/npm/0.3.4/package/lib/utils/read-json.js:82:14
npm ERR! at P (/Users/ryu/.nvm/v0.4.1/lib/node/.npm/npm/0.3.4/package/lib/utils/read-json.js:62:40)
npm ERR! at cb (/Users/ryu/.nvm/v0.4.1/lib/node/.npm/npm/0.3.4/package/lib/utils/graceful-fs.js:31:9)
npm ERR! at [object Object].(fs.js:86:5)
npm ERR! at [object Object].emit (events.js:39:17)
npm ERR! at afterRead (fs.js:843:12)
npm ERR! JSON.parse
npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse Note that package.json must be actual JSON, not
npm ERR! JSON.parse just a JavaScript object.
npm ERR! JSON.parse
npm ERR! JSON.parse This changed in npm 0.3.0, and is not a bug in npm.
npm ERR! JSON.parse Tell the package author to fix their package.json file.
npm ERR! JSON.parse
npm not ok
ã©ããããã±ã¼ã¸lsofãã¤ã³ã¹ãã¼ã«ããæã«jsonã®ãã¼ã¹ã«å¤±æãã¦ããããã§ãã
cd /var/folders/ha/hahuiaCIG94DCkXqGm1vYE+++TI/-Tmp-/npm-1298819796102/1298819798003-0.06807073205709457/contents/package
vi package.json
以ä¸ã®jsonã§ã«ã³ããä¸è¦ãªã®ã§æ¶ãã¾ãã
"contributors": [
{ "name": "Dav Glass", "email": "[email protected]" },âã³ã¬
],
â
"contributors": [
{ "name": "Dav Glass", "email": "[email protected]" }
],
ä¿®æ£ãããã®ã§ããä¸åº¦lsofãã¤ã³ã¹ãã¼ã«ãã¦ã¿ã
npm install /var/folders/ha/hahuiaCIG94DCkXqGm1vYE+++TI/-Tmp-/npm-1298819796102/1298819798003-0.06807073205709457/contents/package
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info calculating sha1 /Users/ryu/.nvm/v0.4.1/lib/node/.npm/.cache/lsof/0.0.1/package.tgz
npm info shasum 873f0797c07c5e932b0c716eb8dc033a57702076
npm info preinstall [email protected]
npm info install [email protected]
npm info postinstall [email protected]
npm info preactivate [email protected]
npm info activate [email protected]
npm info postactivate [email protected]
npm info build Success: [email protected]
npm ok
ãã¾ãããã¾ããã®ã§ãããä¸åº¦spark2ãã¤ã³ã¹ãã¼ã«
npm install spark2
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info preinstall [email protected]
npm info install [email protected]
npm info postinstall [email protected]
npm info preactivate [email protected]
npm info activate [email protected]
npm info postactivate [email protected]
npm info build Success: [email protected]
npm ok
ä¸æãã¤ã³ã¹ãã¼ã«ã§ãã¾ããã
spark2ã®ç´°ãã使ãæ¹ã¯
https://github.com/davglass/spark2
ã®READMEã«ããã¾ãã
10åã§ä½ããã£ããã¢ã㪠by node.js
ã²ã¨æåãRailsãæµè¡ãã¯ãããé ãRailsã®çç£æ§ã®é«ãã証æããããã«ããè¦ããã10åã§ä½ãã¢ããªã®åç»ãããã¾ããããåãããã«ãªã¢ã«ã¿ã¤ã ãã£ããã10åã§å®è£ ãã¦ãnode.jsãweb socketã®é¢ç½ããæ軽ããä¼ãã¦ã¿ããã¨æãã¾ãã
以ä¸ã®moduleã使ã£ã¦å®è£ ãã¾ããã
- express
- socket.io
- ejs
web socket使ãã¨æ°ããã¦ã§ããµã¼ãã¹ãä½ãããã§ãã
ã½ã¼ã¹ã¯ä»¥ä¸ã«ããã¦ããã¾ãã
https://github.com/ryu00026/simple-chat-application-by-node.js
node.jsã¨ORMã§æ®éã®æ²ç¤ºæ¿ãä½ã£ã¦ã¿ã
前回の記事ã§node.jsã®ç°å¢ãä½ã£ãã®ã§ãç°¡åãªã¢ããªã±ã¼ã·ã§ã³ãä½ã£ã¦åããã¦ã¿ã¾ãã
expressã使ã£ã¦å²ã¨ç°¡åã«ä½ãã¾ããã
ORMã¯githubãé©å½ã«æ¤ç´¢ãã¦ã¦ãè¯ãããªæããããsequelizeã¨ããã®ãæ¡ç¨ã
ãµã³ãã«ã³ã¼ãã¯
https://github.com/ryu00026/simple_post_by_node
ã«ããã¾ãã(viewãsqlã)
SinatraãRailsã使ã£ã¦ã人ã«ã¯è¦ãã ãã§è§£ãããããªãã§ããããï¼
ORMã®equelizeã®è©³ããæ
å ±ã¯ä¸è¨ãåç
§ãã¦ãã ããã
http://sequelizejs.com/
var express = require('express'), ejs = require('ejs'); var Sequelize = require("sequelize").Sequelize; var sequelize = new Sequelize('post_development', 'root', '', { host: "localhost", port: 3306 }); // models var Post = sequelize.define('Post', { title: Sequelize.STRING, content: Sequelize.TEXT }); var app = express.createServer(); app.use(express.bodyDecoder()); app.register('.ejs', ejs); // GET // è¨äºä¸è¦§è¡¨ç¤º app.get('/', function(req, res) { Post.findAll(function(posts) { var locals = { posts: null }; locals.posts = posts; res.render('index.ejs', { locals: locals }); }); } ); // è¨äºä½æ app.get('/new', function(req,res){ res.render('new.ejs'); var post = new Post({ }) }); // POST // è¨äºä½æ app.post('/', function(req, res) { var post = new Post({ title: req.body.title, content: req.body.content }); post.save(function(){}); res.redirect("/"); }); app.get('/posts/:id',function(req,res){ console.log(req.params.id); var id = parseInt(req.params.id); Post.find(id, function(post) { res.render('show.ejs', { locals: { title: post.title, content: post.content } }); }); }); app.listen(3000);
node.jsãé¢ç½ãããªã®ã§ç°å¢æ§ç¯ãã¦ã¿ã
åã®ä¸ã§ãã¤ãæ¬æ ¼çã«ãããã¨æã£ã¦ããè¨èªã®ä¸ã¤ãJavaScriptãªãã§ããã©ãã¾ããä»äºã趣å³ã§ã¯JQueryã§ãè¶ãæ¿ãã¦ãã¦ãããã§ãããnode.jsãç¥ã£ã¦ããã¯ä¿ç¶èå³ãåºã¦ãã¾ããã
ç¹ã«Express on Railwayã¨ããååã©ãããä¸èº«ã¾ã§Railsãã£ãããªãã¬ã¼ã ã¯ã¼ã¯ãåºã¦ãããããã®ã§ããããããã£ã¦ã¿ããããªã¨ãæ°ã«ãªãã¾ããã
ã¨ããããã§ç°å¢æ§ç¯ãã
ã½ã¼ã¹ãããã«ããã¦ããããã©ããã¼ã¸ã§ã³ã¢ãããæ©ãã®ã§rvmã®ãããªãã¼ã¸ã§ã³ç®¡çã·ã¹ãã ã®nvmã使ããã¨ã«ãã¾ãã
git clone git://github.com/creationix/nvm.git ~/.nvm
ããã§å°ãããã£ããã§ãããããShellãzshã®å ´åãç°å¢å¤æ°ã®ã»ããããã¾ãããã¾ããã
ãããªã /srcã¨ããã£ã¬ã¯ããªãä½ããã¦ã³ã£ããããw
~/.nvm/nvm.shãéãã¨bashã§ããåããªãããã§ãã
#export NVM_DIR=$(dirname ${BASH_ARGV[0]})
export NVM_DIR=/Users/hoge/.nvm
export NVM_DIR=$(cd $(dirname ${BASH_SOURCE[0]:-$0}); pwd)
ã¨ããããå¼æ°ã§ã¯ãªããã«ãã¹ã§æ¸ãã¦ããã¾ãã
bashã§ã¯åããªããã§zshã§åãããã«ãã¾ãã
. ~/.nvm/nvm.sh nvm install v0.3.7
ããã§nvmã¨node,ããã±ã¼ã¸ç®¡çã§ããnpmãå
¥ãã¾ããã
å¾ã¯å¿
è¦ã«å¿ãã¦ã©ã¤ãã©ãªãnpmã§å
¥ãã¦ããã ãã§ãã
ãã¨ã¯.zshrcã®ã©ããã«ä¸è¨ãæ¸ãã¦ããã¾ãã
. ~/.nvm/nvm.sh
nvm use v0.3.7
ã¨ãããã使ããããªãã®ãããã¦ããã¾ãã
npm install node-dev npm install node-inspector npm install express npm install express-on-railway npm install mysql npm install mongodb
MySQLã¯ã¨ãããMongoDBã®ã¢ããã¿ãããã¨ã¯ããã
ã¨ãããç°å¢ã¯å®æããã®ã§æ¬¡ããã¯ã¢ããªãä½ã£ã¦ããã¾ãï¼ï¼