nodeでjqtpl

nodeのデフォルトテンプレートエンジンのjadeは文法が特殊な気がするので、
jqtplが使いたくなった。

まずexpressでプロジェクト作成

$ express -t jqtpl プロジェクト名
$ cd プロジェクト名
$ npm install

で、以下のようにファイルを編集していった。

app.js

app.configure(function(){
  app.set('views', __dirname + '/views');
  
  //以下、3行編集
  //app.set('view engine', 'jqtpl');
  app.set('view engine', 'html');
  app.register('.html', require('jqtpl').express);

  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

views/index.html

<pre>
{{layout "layout"}}
<h1>${title}</h1>
<p>Welcome to ${title}</p>
</pre>


views/layout.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>${title}</title>
    <link rel="stylesheet" href="/stylesheets/style.css">
  </head>
  <body>
    {{html body}}
  </body>
</html>


※参考

PushNotificationの参考リンク

●簡易的なphpの実装が載っている

http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

 

●サーバー実装以外の概要がわかりやすい

http://redwing.moo.jp/cocoa/archives/936

 

●概要がわかりやすい

http://iphone.longearth.net/2009/09/01/%E3%80%90iphone%E3%80%91push-notification%E3%81%AE%E5%AE%9F%E8%A3%85%E6%96%B9%E6%B3%95/

 

●概要がわかりやすい

https://sites.google.com/site/cocos2dtiledmapd/home/push-notificationwo-shittemiru

 

●apns-php

http://code.google.com/p/apns-php/

 

●ライブラリ(※DB設計付き)

http://www.easyapns.com/

 

mongoからnode.jsでデータ取得するときにはまったこと

web+dbさんの記事を読みながら勉強していたんだけど。

 

node-mongo-nativeドライバを使って、コレクションからデータ取得する部分がうまく動かなかった。

 

こんなやつなのだが、コールバックの仲間で処理が落ちて来なかった。

client.collection('webdbtest',functoin(err,collection){.....});

 

色々迷った挙句、node-mongo-nativeの公式ドキュメントにのってたやり方でやったら動いた。

https://github.com/mongodb/node-mongodb-native/

http://mongodb.github.com/node-mongodb-native/markdown-docs/collections.html

 

こんな感じで、コールバックせずに、コレクションオブジェクトを取得していました。

var collection = new mongo.Collection(db, 'users');

 

ちなみに、node.jsで使えるmongoドライバに、mongooseというのもあるらしく今度つかてみたいと思った。

 

あと、RockMongoていうmongo版phpmyadminみたいなツールが便利げ。

mongoのインストールで一瞬はまったこと

環境が同じだったので、以下の記事を参考にmongoDBをcentにインストールした

 

Centosへのmongodb 2.0.1のインストール

http://memo.yomukaku.net/entries/tiSGwUw

 

その後、コマンドラインで、mongoDBと戯れるべく、「mongo」と入力したら以下のエラーでおった。

 

MongoDB shell version: 2.0.6

connecting to: test

Sat Jun 30 21:53:54 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84

exception: connect failed

 

どうやらmongoが起動してなかった模様。

service mongod start

でなおった。

subversionをcent osにinstall

以下2点ではまったので、以後気をつけたい。
  • ドキュメントルート配下にsvnadmin createしちゃうと、turtoise svnでエラーがでる。
  • web davをインストールする前にsubversion.confをconf.d配下に新規作成してて、yum後にデフォルトで入るはずが、入らなかった。