Mongoose Middleware v3.8.8の補足。 特に保存するときのpre hook。
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
// こんなスキーマがあったとして
var schema = new Schema({
foo: String,| class AngularBase | |
| @inject = (args) -> | |
| @$inject = args | |
| #アノテーションに見えなくもない | |
| class FooController extends AngularBase | |
| @inject '$scope', '$http' | |
| constructor: ($scope, $http) -> | |
| # ... |
| <radio-group name="fruit" ng-model="fruit"> | |
| <radio ng-value="1">apple</radio> | |
| <radio ng-value="2">banana</radio> | |
| </radio-group> |
| <div>{{hoge | zerofill:2}}</div> |
| # button or input[submit]で使うように | |
| angular.module('foo', []).directive 'clickAndDisable', -> | |
| link: (scope, element, attr) -> | |
| element.on 'click', -> element.attr 'disabled': true |
| // アホすぎ | |
| function promisify(fn) { | |
| return function() { | |
| var d = $.Deferred(); | |
| try { | |
| d.resolve(fn.apply(this, arguments)); | |
| } catch (e) { | |
| d.reject(e); | |
| } |
Mongoose Middleware v3.8.8の補足。 特に保存するときのpre hook。
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
// こんなスキーマがあったとして
var schema = new Schema({
foo: String,| // underscore使う。 | |
| // サロゲートペアに関しては考慮していない。 | |
| function createNgramList(text, n) { | |
| var list = []; | |
| for (var i = 0; i <= text.length - n; ++i) { | |
| list.push(text.slice(i, i + n)); | |
| } | |
| return _.uniq(list); | |
| } |
| function parseLTSVLog(text) { | |
| return JSON.parse( | |
| '[' + | |
| text | |
| .trim() | |
| .replace(/([^\t\n\r:]+):([^\t\n\r]*)/g, function(all, k, v) { | |
| return '"' + k + '":' + (v == +v ? v : '"' + v + '"'); | |
| }) | |
| .replace(/(.+)/g, '{$1}') | |
| .replace(/[\t\n]/g, ',') + |
いつも使っているOSなので。 VPSコントロールパネルのOS再インストールページからOSを選択して手順通りにインストール。