我正在努力理解本体论基础知识.这是一个例子:
我的问题是了解什么是"2009大众CC"(作为汽车模型).如果你将产品模型作为本体中的一个子类 - 突然间你的本体变得臃肿,有数千个"汽车"的子类.那是多余的.同时我们不能说"2009 VW CC"是一个实例,至少它不是一个类的实质实例.
区分常规实例和材料(不同的物理对象)是否有意义?
另一方面,如果两者都是实例(具有不同性质),那么实例如何继承非类的属性/关系?
我有个问题.在JS中创建这样的对象非常方便:
test = { foo : { bar : "hello world" }, bar2 : "hello world 2" }
Run Code Online (Sandbox Code Playgroud)
然后像他们一样使用它们
test.foo.bar
test.bar2
Run Code Online (Sandbox Code Playgroud)
在没有声明类的情况下,PHP中是否有类似的东西?
我试图找出一种计算排名的方法.现在它只需要获得每个单独输入的赢/输比率,因此例如一个赢得了100次中的99次,它有99%的获胜等级.但是如果一个条目在总共1个选票中赢得1个,它将获得100%的胜利排名,但绝对不能高于赢得99次的那个.什么是更好的方法来做到这一点?
将UUID用作MySQL中的主键是否有意义?
除了手工查询的麻烦之外,使用UUID而不是常规INT有什么优缺点?
我有这个问题.我有一个脚本,检查变量是否存在,因为一些脚本异步加载,如FB for Facebook或twttr for Twitter.
function whenAvailable(name, callback, interval) {
interval || (interval = 100); // ms
window.setTimeout(function() {
if ((window.hasOwnProperty && window.hasOwnProperty(name)) || window[name] || !!eval(name)) {
return callback();
} else {
window.setTimeout(arguments.callee, interval);
}
}, interval);
}
Run Code Online (Sandbox Code Playgroud)
看起来像这样
if ((window.hasOwnProperty && window.hasOwnProperty(name)) || window[name] || !!eval(name))
Run Code Online (Sandbox Code Playgroud)
不起作用.IE为eval(名称)抛出错误 - 例如,如果name ='FB',它表示它不能评估未定义的'FB'.
window.hasOwnProperty(name)
如果不起作用name == 'twttr.widgets'
.
是否存在通过var名称存在var的通用和跨浏览器检查?
我一直在Node.js开发仅2周,并开始重新创建以前用PHP编写的网站.到目前为止一直这么好,看起来我可以在Node(使用Express)中做同样的事情,这是在相同或更短的时间内在PHP中完成的.
我遇到过你必须习惯的事情,比如使用模块,不共享公共环境的模块,养成使用回调进行文件系统和数据库操作等习惯.
但是,开发人员可能会发现很多事情,这对节点中的开发非常重要吗?其他所有在Node中开发的问题都有,但直到以后它们才会出现?陷阱?专业知识和新手没有的东西吗?
我将不胜感激任何建议和意见.
如果我做到这一点,那么Controller的功能就是处理POST数据,并通过Model在技术上改变应用程序的状态(例如DB).
据我所知,View也从模型中获取数据.
这就是我理解工作流程的方式:
客户端请求 - > App Front Controller
- >(如果method = POST - > Controller
) - > View
- >返回客户端
这里Model
用于Controller
读取和写入数据以及View
读取数据.
因此,每次加载页面时都不会使用控制器,事实上,只有在添加/更新应用程序数据时才使用控制器.大多数时候控制器被绕过.
那么,为什么几乎所有关于MVC的资源都在谈论Controller向视图发送数据?
我正在尝试使用类似MVC的模式编写应用程序.因此,在我的应用视图中,始终从模型中获取页面的数据.当Model更新时,我将特定的模型更新时间添加到Memcache.在运行时,每个View查找相关模型的上次更新时间,并生成此视图的上次缓存.如果在保存缓存之前更新了模型,则视图将读取缓存,否则将根据更新的模型重新渲染.
php model-view-controller frameworks design-patterns ruby-on-rails
在MongoDB和Mongoose中存储注释树的最佳方法是什么?目前我有这个:
CommentableSchema = new Schema({
...
});
ReplySchema = new Schema({
userId: Number,
'body': String,
createdAt: Date,
updatedAt: Date
});
CommentSchema = new Schema({
commentable: CommentableSchema,
userId: Number, // users are NOT stored in MongoDB
subject: String,
'body': String,
createdAt: Date,
updatedAt: Date,
replies: [ReplySchema],
length: Number // comment + all replies
});
Run Code Online (Sandbox Code Playgroud)
但这似乎只适用于顶级评论+ 1级评论.我相当肯定我不能ReplySchema
在里面使用ReplySchema
.
我无法想出这个:
我有一个功能,例如
function test () { this.rating = 0; $j('#star_rating a').click(function() { alert(this.rating); }); } var foo = new test();
点击它会提醒"未定义".怎么了?请帮忙.
问题是,它是否有意义,以及如何,释放内存和破坏/取消设置对象?是否exit()
终止该应用并没有别的有许多工作要做?
我正在编写一个身份验证中间件,它应该在成功登录我们的注销后重定向到以前访问过的页面.这是完整的配置块:
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.static(__dirname + '/public'));
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: '__YouDontKnow__', store: new RedisStore }));
app.use(authCheck.run);
app.use(express.methodOverride());
app.use(app.router);
});
Run Code Online (Sandbox Code Playgroud)
现在,当app.use(authCheck.run)
是下app.use(express.session)
,快速抛出错误:错误:发送之后无法设置头.
如果我在上面移动此调用app.use(express.session)
,则会抛出500错误,说明会话未定义.我的auth函数取决于会话对象.
我能做什么?
编辑:这是authCheck功能:
exports.run = function (req, res, next) {
var urlparser = GLOBAL.urlparser,
url = req.urlp = urlparser.parse(req.url, true),
goToLastPage = function() {
var redirectUrl = (req.session.lastVisitedPage) ? req.session.lastVisitedPage : '/';
console.log("goToLastPage(%s)", redirectUrl);
res.redirect(redirectUrl);
return;
}
// Log out
if (url.pathname == '/user/logout') …
Run Code Online (Sandbox Code Playgroud) 我无法弄清楚为什么function()
不执行之后.animate
.示例jQuery代码如下:
$('#spotlight_img_' + thisSpotId).css('z-index', zIndex).animate({ bottom: 0 }, { duration: 500, queue: true }, function() { alert('animation complete'); }); $('#spotlight_img_' + lastSpotId).animate({ bottom: "-400px" }, { duration: 0, queue: true });
它是第1行中的函数,它在技术上应该包含第2行中的内容.
我需要它如何工作是:
1 -动画$('#spotlight_img_' + thisSpotId)
了
2 - 动画$('#spotlight_img_' + lastSpotId)
下来.
现在因为第二个动画是0秒长,所以它会在第一个动画完成之前发生.
你可以在这里看到它:http://design.vitalmtb.com/index2.html
我将衷心感谢您的帮助!