小编Roy*_*ove的帖子

什么是http主机头?

鉴于在发送HTTP请求时已建立TCP连接,因此隐式知道IP地址和端口 - TCP连接是IP +端口.那么,为什么我们需要Host标题?这是否只有在多个主机映射到TCP连接中隐含的IP地址的情况下才需要?

http http-headers

95
推荐指数
2
解决办法
10万
查看次数

如何在不需要强制推送的情况下使用git rebase?

为了实现git nirvana,我花了一天时间学习如何在我目前合并的情况下利用rebase.

当我通过我认为是git 101流程(我在下面拼写出来)时,我必须push --force将我的更改推回原点.

我不是唯一的一个-我知道这是覆盖的地面(见图1,2,3,4,5),我理解的技术原因,为什么力是必要的.我的问题是这样的---有歌声底垫的赞美很多(多)发表的博客以及它如何改变他们的生活(见1,2,3,4,列出了几个),但他们没有提到push --force是的一部分他们的流量.然而,几乎现有的stackoverflow问题的每一个答案都说"是的,如果你要改变,你必须使用push --force".

鉴于rebase倡导者的数量和宗教信仰,我不得不相信使用'push -force'并不是rebase流的固有部分,如果经常不得不强迫他们推动,他们就会做错事.

push --force是一件坏事.

所以这是我的流程. 在没有武力的情况下,我能以何种方式获得相同的结果?

简单的例子

两个分支:

  • v1.0 - 发布分支,仅包含补丁
  • 大师 - 下一个主要版本的一切.

我有一些补丁提交和一些提交下一个版本.

premerge

我想将这些补丁合并到我的主人中,以便他们在下一个版本中不会丢失.启蒙前我简单地说:

git checkout master
git merge v1.0
Run Code Online (Sandbox Code Playgroud)

但现在我正在努力

git checkout master
git rebase v1.0
Run Code Online (Sandbox Code Playgroud)

所以现在我在这里:

在此输入图像描述

的时间:

git push
Run Code Online (Sandbox Code Playgroud)

没有骰子.

git git-rebase

80
推荐指数
4
解决办法
3万
查看次数

如何ssh到docker-machine VirtualBox实例?

docker-machine version 0.2.0 docker version 1.6.2

我正在使用docker-machine来使用VirtualBox创建一台机器.一切正常,但我想ssh到机器本身,我没有找到如何做到这一点的说明.我可以连接到ssh端口:

ssh $(docker-machine ip dev)
Run Code Online (Sandbox Code Playgroud)

但我不知道要使用哪个用户名/密码/身份文件.

docker docker-machine

80
推荐指数
5
解决办法
7万
查看次数

单元测试具有依赖关系的AngularJS工厂

当单元测试Angular工厂(使用Karma + Jasmine)时,如何将存根依赖注入到被测工厂中?

这是我的工厂:

mod = angular.module('myFactoryMod', []);

mod.factory('myFactory', [
  '$log', 'oneOfMyOtherServices', function($log, svc) {
    return makeSomethingThatDoesSomethingWithTheseDependencies($log, svc);
  }
]);
Run Code Online (Sandbox Code Playgroud)

oneOfMyOtherServices 实例化我的工厂时需要.

这是我的测试:

it('can get an instance of my factory', function() {
  var oneOfMyOtherServicesStub;

  angular.mock.module('myFactoryMod');

  oneOfMyOtherServicesStub = {
    someVariable: 1
  };

  //****How do I get my stub in my target? ****

  angular.mock.inject(['myFactory', function(target) {

      expect(target).toBeDefined();

    }
  ]);
})
Run Code Online (Sandbox Code Playgroud)

NB我知道这$controller允许控制器,但我没有看到工厂的等价物.

jasmine angularjs karma-runner

76
推荐指数
2
解决办法
6万
查看次数

如何'揭开'表达

假设我有一个大阵列的ng-repeat.

当ng-repeat运行时,它会将该数组的每个元素添加到隔离范围,并将数组本身放在范围内.这意味着$ digest会检查整个数组是否有变化,最重要的是,它会检查该数组中的每个元素是否有变化.

看到这个plunker作为我正在谈论的一个例子.

在我的用例中,我从不更改数组中的单个元素,因此我不需要让它们被观看.我只会更改整个数组,在这种情况下,ng-repeat会重新整理表格.(如果我错了,请告诉我..)

在一个(比方说)1000行的数组中,这是我不需要评估的1000多个表达式.

如何在观看主阵列时从观察者中取消注册每个元素?

也许不是取消注册我可以更好地控制我的$ digest并以某种方式跳过每一行?

这个具体案例实际上是一个更普遍的问题的例子.我知道$ watch会返回一个'deregisteration'函数,但是当指令正在注册监视时这没有用,这在大多数情况下都是如此.

angularjs

70
推荐指数
3
解决办法
4万
查看次数

在单元测试AngularJS服务时注入相关服务

我正在测试服务A,但服务A依赖于服务B(即服务B注入服务A).

我已经看到了这个问题,但我的情况有点不同,因为在我看来,模拟服务B而不是注入服务B的实际实例更有意义.我用茉莉花间谍嘲笑它.

这是一个示例测试:

describe("Sample Test Suite", function() {

  beforeEach(function() {

    module('moduleThatContainsServiceA');

    inject([
      'serviceA', function(service) {
        this.service = service;
      }
    ]);

  });

  it('can create an instance of the service', function() {
    expect(this.service).toBeDefined();
  });
});
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

错误:未知提供者:serviceBProvider

我怎么能这样做?

javascript unit-testing jasmine angularjs karma-runner

51
推荐指数
4
解决办法
5万
查看次数

嘲笑集成测试

如何模拟集成测试所需的许多依赖项?

我使用Mockito进行"纯粹的"单元测试.在这种情况下,'Pure'意味着测试单个类,模拟它的所有依赖项.美丽.

现在进行集成测试.让我们说在这种情况下,集成测试将测试这样的事情:

  1. 消息被放入队列中
  2. 消息被"处理"
  3. 响应消息放在响应队列中

我们还要说步骤2中发生的处理是严肃的事情.它依赖于大量的数据库交互,多个外部服务,文件系统,各种各样的东西.流会触发很多副作用,所以我不能简单地确保响应是正确的 - 我需要验证副作用.

这些依赖项中的每一个都由一个无状态服务类包装,这使得它们很好并且可以模拟.

人们如何处理这个?

我很想使用Mockito,这样我就可以验证上述流程会产生的副作用.然而,Mocktio的文档(在很大程度上它的实现)似乎强烈反对在"纯"单元测试之外的上下文中使用它.我试过这条路,但是

  • 填充存根数据很困难(因为它有很多)
  • 让Spring将那些存根实例注入我的bean很困难
  • 很难"重置"模拟,这样我就可以在不清除存根的情况下验证不同的交互集.

编辑

我知道我可以像HSQLDB实例那样处理数据库问题,但仍然存在外部服务的问题.为了重复性,我不能依赖那些服务,处于我需要的状态,等等.我看到的唯一选择是嘲笑它们.

Whatdaya呢?

integration-testing mocking mockito

37
推荐指数
2
解决办法
2万
查看次数

在$ rootScope上运行$ apply与任何其他范围

$apply函数可以在任何范围内运行,包括$rootScope.

如果我在本地范围内运行它或者我在我的运行中运行它会有什么不同$rootScope吗?

我问,因为我想创建一个包含给定函数的辅助函数$apply.要做到这一点,我总是需要传入一个范围,这是A)烦人和B)不容易,因为我不一定有本地范围.

我想总是有帮助我的函数调用$apply$rootScope,但如果有在做一些风险.

angularjs angularjs-scope

37
推荐指数
3
解决办法
3万
查看次数

Maven - 替代.m2目录

如何全局更改maven .m2目录的位置?

Maven ${user.home}/.m2用于它的设置,存储库缓存等.

我知道我可以:

  • 指向存储库缓存的不同目录(通过更改localRepository我的全局配置文件中的属性),但不指向其他任何目录(settings.xml例如).
  • 使用-sCLI选项,但每次使用maven时我都必须这样做.

但理想情况下,我想要一个全球解决方案.直觉上应该是可能的..

我想这样做是因为我的公司将我的$ {user.home}设置为容易出现网络问题的共享驱动器.

maven

23
推荐指数
2
解决办法
2万
查看次数

gruntjs - 命令行参数

我在哪里可以获得命令行参数的句柄?

例如grunt dist --env=UAT.我如何获得价值env

当我在它的时候,如果没有在命令行上设置,我将如何为此分配默认值?

gruntjs

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