小编joe*_*ler的帖子

安全地将Ansible剧本限制在一台机器上?

我正在使用Ansible进行一些简单的用户管理任务和一小组计算机.目前,我将我的手册设置为hosts: all,我的主机文件只是一个列出了所有机器的组:

# file: hosts
[office]
imac-1.local
imac-2.local
imac-3.local
Run Code Online (Sandbox Code Playgroud)

我发现自己经常不得不针对一台机器.该ansible-playbook命令可以限制这样的播放:

ansible-playbook --limit imac-2.local user.yml
Run Code Online (Sandbox Code Playgroud)

但这似乎有点脆弱,特别是对于潜在的破坏性剧本.离开limit旗帜意味着剧本将在任何地方运行.由于这些工具偶尔会被使用,所以似乎值得采取措施来简化播放,因此我们不会在几个月后意外地进行核实操作.

是否有将playbook运行限制为单台机器的最佳实践?理想情况下,如果省略一些重要细节,剧本应该是无害的.

ansible ansible-playbook

207
推荐指数
11
解决办法
19万
查看次数

在Vagrant中运行ad hoc Ansible命令?

在构建Vagrant项目时,运行临时Ansible任务而不是将测试命令添加到剧本中会很有帮助.我已经尝试了几种针对VM的方法,但不断收到此错误:

default | FAILED => SSH encountered an unknown error during the connection. We 
recommend you re-run the command using -vvvv, which will enable SSH debugging
output to help diagnose the issue
Run Code Online (Sandbox Code Playgroud)

我正在使用Vagrant生成的Ansible清单文件,该框有一个工作主机名.如何使用单个Ansible任务来定位我的Vagrant VM?

vagrant ansible ansible-ad-hoc

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

$ watch中的角度表达式触发两次

$watch当一个简单的比较作为watchExpression传递时,为什么会激发两次?

$scope.foo = 0;  // simple counter

$scope.$watch('foo > 4', function() {
  console.log("foo is greater than 4: ", $scope.foo);
});
Run Code Online (Sandbox Code Playgroud)

当页面加载时,当收听者的火灾foo0,则一次(且仅一次)时的值foo变得高于4.

为什么在页面加载时监听器会触发?当foo大于4 时为什么不继续发射?

我设置了一个简单的plunkr来显示正在发生的事情:http://plnkr.co/edit/ghYRl9?p = preview

javascript angularjs

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

在Sublime Text中的换行符后将缩进对齐到括号

我喜欢将我的行保持在80列以下,所以我经常想重构一个看起来像这样的行:

object.function(a_long_argument, another_long_argument, and_a_third)
Run Code Online (Sandbox Code Playgroud)

对此:

object.function(a_long_argument,
                another_long_argument,
                and_a_third)
Run Code Online (Sandbox Code Playgroud)

但是当我在Sublime中的第一个","后按Enter键时,它只是换行符并将光标缩进几个空格.我想让它与我所处的paranthesis或[]或{}对齐,就像Emacs那样漂亮.

这有选择吗?有插件吗?我必须自己写吗?

我试过寻找它,但我没有找到任何东西.

编辑:

更好的是快捷方式或插件或用于选择几行或整个缓冲区的东西,并让它尝试在好位置自动换行.重构评论.如果它必须是特定于语言的,我希望它主要用于Python和C++.

sublimetext sublimetext2 sublimetext3

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

如何将Homebrew环境迁移到另一台计算机?

导出自制环境的首选方法是什么,以便我可以在计算机之间同步我的工作区?似乎应该有类似的东西composer.lockpip freeze.有比这更好的方法brew list > brews.txt吗?

homebrew

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

首选后备网络与Vagrant接口?

我的Vagrant盒子使用公共网络,因此他们可以在zeroconf/Bonjour上做广告.在Vagrantfile明确地设置桥接网络接口:

  config.vm.network :public_network, :bridge => 'en2: USB Ethernet'
Run Code Online (Sandbox Code Playgroud)

大部分时间一切正常,但如果我通过不同的网络连接并且指定的接口不存在,vagrant up将提示我从可用的网络接口中选择:

[default] Specific bridge 'en2: USB Ethernet' not found. You may be asked to specify
which network to bridge to.
[default] Available bridged network interfaces:
1) en0: Wi-Fi (AirPort)
2) p2p0
What interface should the network bridge to?
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉Vagrant从首选网络接口列表中进行选择?如果主网络不可用,我想要的是优雅的后备.

vagrant

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

Gulp管道功能最小化?

什么是最小的功能,可以放在一个Gulp管道,仍然有效?

这不起作用:

gulp.src('**')
  .pipe(function() {
    // what's the minimum that can go here and still be a functional pipe?
    // what needs to be returned? 
  });
Run Code Online (Sandbox Code Playgroud)

理想情况下,这将是仅使用Gulp构建的基础模块的vanilla JS; 乙烯基,通过等

node.js gulp

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

webpack umd lib和外部文件

我想将我的react组件打包为umdlib.

下面是webpack我的设置:

module.exports = {
  devtool: 'eval',
  entry: [
    './lib/index'
  ],
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'lib.js',
    library: 'lib',
    libraryTarget: 'umd'
  },
  resolve: {
    extensions: ['', '.js']
  },
  module: {
    loaders: [
      {
        test: /\.js$/,
        loaders: ['babel'],
        exclude: /node_modules/
      }
    ]
  },
  externals: {
    "react": "React"
  }
}
Run Code Online (Sandbox Code Playgroud)

之后我以这种方式在我的其他组件中需要包

example.js

import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import {lib} from "../dist/lib";
Run Code Online (Sandbox Code Playgroud)

以上组件的webpack设置是:

module.exports = {
  devtool: 'eval',
  entry: [
    './examples/example'
  ],
  output: {
    path: path.join(__dirname, …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack

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

使用查询范围预先加载相关模型

假设我有一个Box拥有许多小部件的模型.窗口小部件可以是活动的或非活动的(布尔值).该Widget模型具有可以过滤结果的查询范围:

车型/ box.php:

class Box extends Eloquent
{
    public function widgets()
    {
        return $this->hasMany('Widget');
    }
}
Run Code Online (Sandbox Code Playgroud)

车型/ widget.php:

class Widget extends Eloquent {

    public function box()
    {
        return $this->belongsTo('Box');
    }

    public function scopeActive($query)
    {
        return $query->whereActive(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

查询范围可以轻松获取给定框的所有小部件:

$box_widgets = Box::find($box_id)->widgets()->active()->get(); 
// returns an Eloquent\Collection containing a filtered array of widgets
Run Code Online (Sandbox Code Playgroud)

但是我如何使用它scopeActive来消除这种渴望加载with方法的条件函数呢?

$boxes = Box::with(array('widgets', function ($q)
{
    $q->active();
}))->get();
Run Code Online (Sandbox Code Playgroud)

似乎有可能是访问关系范围的简写,类似Box::with('widgets->active')Box::with('widgets.active')但我无法找到它.

laravel eloquent

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

jQuery获取所有HTML属性

有没有办法让属性列表设置为元素?

例:

<div id="myID" title="I am Title" myAttr="I am something else">Hello World!!!</div>
Run Code Online (Sandbox Code Playgroud)

有没有办法获得上述所有属性?

我已经尝试了这个,但到目前为止没有:

$('#myID').attr();
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个:

$('#myID').attr().each(function(a,b){
    alert(a);
});
Run Code Online (Sandbox Code Playgroud)

也没有帮助...所以任何建议将不胜感激.

谢谢.

html jquery

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