小编bay*_*ezy的帖子

ColdFusion单例对象池

在我们的ColdFusion应用程序中,我们有无状态模型对象.我想要的所有数据都可以通过一个方法调用获得(它在内部调用其他方法而不保存状态).

方法通常会向数据库询问数据.所有方法都是只读的,所以我不必担心线程安全(如果我错了请纠正我).

因此根本不需要实例化对象.我可以静态地调用它们,但是ColdFusion没有静态方法 - 调用该方法意味着首先实例化对象.

为了提高性能,我为每个Model对象创建了单例.到目前为止它工作得很好 - 每个对象都创建一次,然后根据需要进行访问.

现在我担心的是,所有数据请求只会通过1个模型对象.我是不是该?我的意思是如果在我的对象上我有一个方法getOfferData(),这是耗时的.如果有几个客户想要访问它会怎么样?第二个请求等待第一个请求完成还是在单独的线程中执行?毕竟这是同一个对象.

我应该为此实现某种对象池吗?

coldfusion singleton multithreading thread-safety

3
推荐指数
1
解决办法
353
查看次数

CORS Origin设置错误?

  1. 我有一个JavaScript应用程序让我们说它部署在上面portal.example.com.
  2. 这包括一个<script>加载来自的服务器的标签assets.example.com.
  3. 该JavaScript文件向API发出HTTP请求 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)

javascript browser-security cors

3
推荐指数
1
解决办法
697
查看次数

ReferenceError:找不到变量:$ controller

好的,所以我试图首次在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)

javascript testing jasmine angularjs visual-studio-2012

2
推荐指数
1
解决办法
3439
查看次数

如何绝对删除ElasticSearch中的内容?

我们使用ELK堆栈进行日志记录.我被要求设计一个过程,以便我们如何删除意外记录的敏感信息.

现在根据我对ElasticSearch(Lucene)如何处理删除和更新数据的阅读仍然在索引中不可用.它将最终在索引合并等时得到清理.

是否有一个进程来运行更新(编辑某些内容)或删除(删除某些内容)并保证删除它?

lucene elasticsearch elastic-stack

2
推荐指数
1
解决办法
693
查看次数

指示哪些分支跟踪哪些远程分支

这是我对Git的理解: -

如果我克隆存储库,那么我最初只获得主分支的副本.然后我可以表明我想跟踪使用远程分支git checkout-b标志.这按预期工作.

所以我的问题是你如何让Git告诉你这些信息.如果我键入,git branch -a那么它会显示所有分支的混合列表,例如

* master
  mybranch
  remotes/origin/master
  remotes/origin/mybranch
Run Code Online (Sandbox Code Playgroud)

我想知道的是除了保持相同的名称,我怎么能告诉当地分支机构跟踪什么是远程分支?

谢谢.

git

1
推荐指数
1
解决办法
79
查看次数

在setTimeout中修改ng-show

我有一个像这样的控制器: -

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)

javascript angularjs

1
推荐指数
1
解决办法
1676
查看次数

&lt;脚本延迟&gt;不能按预期工作

我正在尝试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

1
推荐指数
1
解决办法
2013
查看次数