在我们的ColdFusion应用程序中,我们有无状态模型对象.我想要的所有数据都可以通过一个方法调用获得(它在内部调用其他方法而不保存状态).
方法通常会向数据库询问数据.所有方法都是只读的,所以我不必担心线程安全(如果我错了请纠正我).
因此根本不需要实例化对象.我可以静态地调用它们,但是ColdFusion没有静态方法 - 调用该方法意味着首先实例化对象.
为了提高性能,我为每个Model对象创建了单例.到目前为止它工作得很好 - 每个对象都创建一次,然后根据需要进行访问.
现在我担心的是,所有数据请求只会通过1个模型对象.我是不是该?我的意思是如果在我的对象上我有一个方法getOfferData(),这是耗时的.如果有几个客户想要访问它会怎么样?第二个请求等待第一个请求完成还是在单独的线程中执行?毕竟这是同一个对象.
我应该为此实现某种对象池吗?
portal.example.com.<script>加载来自的服务器的标签assets.example.com.admin.example.com由于CORS飞行前失败,此API请求出错.
Failed to load http://admin.example.com/v0/user/navigation: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://portal.example.com' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)
实际OPTIONS要求如下
OPTIONS /v0/user/navigation HTTP/1.1
Host: admin.example.com
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://portal.example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
Access-Control-Request-Headers: authorization,x-correlation-id,x-user-domain
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,en-GB;q=0.8
Run Code Online (Sandbox Code Playgroud)
实际OPTIONS回复如下
HTTP/1.1 200
Allow: GET
Access-Control-Allow-Headers: authorization,x-correlation-id,x-user-domain
Access-Control-Allow-Methods: GET
Access-Control-Allow-Origin: http://portal.example.com
Vary: …Run Code Online (Sandbox Code Playgroud) 好的,所以我试图首次在Angular JS项目上开始使用Jasmine进行单元测试,我正在尝试几个路障.
我正在关注如何在Visual Studio中设置这一点的博客文章中非常好的参考
我的测试是在类库项目中,看起来像这样: -
/// <reference path="../../../../src/tasks.web/scripts/angular-1.2.10.js" />
/// <reference path="../../../../src/tasks.web/scripts/angular-route-1.2.10.js" />
/// <reference path="../../../../src/tasks.web/scripts/app.js" />
/// <reference path="../../../../src/tasks.web/scripts/controllers.js" />
/// <reference path="../lib/angular/angular-mocks.js" />
describe("TaskListController", function () {
beforeEach(module('taskApp.controllers'));
it("has tasks defined", function() {
var $scope = {};
$controller("TaskListController", { $scope: $scope });
expect($scope.tasks).toBeDefined();
});
});
Run Code Online (Sandbox Code Playgroud)
我的应用程序的其余部分如下所示: -
app.js
var app = angular.module("taskApp", [
"ngRoute",
"appControllers"
]);
app.config(["$routeProvider",
function($routeProvider) {
$routeProvider.
when("/tasks", {
templateUrl: "partials/task-list.html",
controller: "TaskListController"
}).
otherwise({
redirectTo: "/tasks"
});
}
]);
Run Code Online (Sandbox Code Playgroud)
controller.js
var …Run Code Online (Sandbox Code Playgroud) 我们使用ELK堆栈进行日志记录.我被要求设计一个过程,以便我们如何删除意外记录的敏感信息.
现在根据我对ElasticSearch(Lucene)如何处理删除和更新数据的阅读仍然在索引中不可用.它将最终在索引合并等时得到清理.
是否有一个进程来运行更新(编辑某些内容)或删除(删除某些内容)并保证删除它?
这是我对Git的理解: -
如果我克隆存储库,那么我最初只获得主分支的副本.然后我可以表明我想跟踪使用远程分支git checkout与-b标志.这按预期工作.
所以我的问题是你如何让Git告诉你这些信息.如果我键入,git branch -a那么它会显示所有分支的混合列表,例如
* master
mybranch
remotes/origin/master
remotes/origin/mybranch
Run Code Online (Sandbox Code Playgroud)
我想知道的是除了保持相同的名称,我怎么能告诉当地分支机构跟踪什么是远程分支?
谢谢.
我有一个像这样的控制器: -
appControllers.controller("TaskAddController", function ($scope, $http) {
$scope.task = {};
$scope.messages = {};
$scope.actions = {
save : function() {
$http.post("/ajax/tasks/save", $scope.task)
.then(function() {
$scope.messages.success = true;
$scope.task = {};
setTimeout(function () {
$scope.messages.success = false;
}, 3000);
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
视图如下: -
<div data-ng-controller="TaskAddController">
<div data-ng-show="messages.success">Task Added</div>
<div>
<input data-ng-model="task.title" type="text" placeholder="Title...."/>
</div>
<div>
<textarea data-ng-model="task.description" placeholder="Description..."></textarea>
</div>
<div>
<input data-ng-click="actions.save()" type="submit" value="add"/>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要做的是完成AJAX请求我要显示div包含任务添加,然后3秒后它消失了第一部分工作,例如当AJAX请求完成时div出现,但即使我的setTimeout肯定正在发生,div并没有消失.
从我的研究开始,我认为这是因为我需要获得Angular摘要.所以我尝试了以下方法: -
setTimeout(function () {
$scope.messages.success = false; …Run Code Online (Sandbox Code Playgroud) 我正在尝试defer执行脚本,因为在呈现页面之前执行脚本并不重要。但是,据我了解,它不起作用。
根据本文(和其他类似文章)的介绍,如果我使用defer该命令,则将保留执行顺序。但是,当使用Highlight.js时,我看到了不同的行为。我的脚本文件如下所示:-
<script defer type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/highlight.min.js"></script>
<script defer type="text/javascript">hljs.initHighlightingOnLoad();</script>
Run Code Online (Sandbox Code Playgroud)
现在,据我了解,它们应该按顺序执行,这与的行为不同async。但是,我在Chrome(版本44.0.2403.157)中收到以下错误。

如果删除defer属性,它将按预期工作。我没有正确理解什么?
javascript ×4
angularjs ×2
coldfusion ×1
cors ×1
git ×1
jasmine ×1
lucene ×1
singleton ×1
testing ×1