我正在使用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运行限制为单台机器的最佳实践?理想情况下,如果省略一些重要细节,剧本应该是无害的.
在构建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?
$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)
当页面加载时,当收听者的火灾foo
是0
,则一次(且仅一次)时的值foo
变得高于4.
为什么在页面加载时监听器会触发?当foo
大于4 时为什么不继续发射?
我设置了一个简单的plunkr来显示正在发生的事情:http://plnkr.co/edit/ghYRl9?p = preview
我喜欢将我的行保持在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++.
导出自制环境的首选方法是什么,以便我可以在计算机之间同步我的工作区?似乎应该有类似的东西composer.lock
或 pip freeze
.有比这更好的方法brew list > brews.txt
吗?
我的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从首选网络接口列表中进行选择?如果主网络不可用,我想要的是优雅的后备.
什么是最小的功能,可以放在一个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; 乙烯基,通过等
我想将我的react组件打包为umd
lib.
下面是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) 假设我有一个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')
但我无法找到它.
有没有办法让属性列表设置为元素?
例:
<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)
也没有帮助...所以任何建议将不胜感激.
谢谢.
ansible ×2
vagrant ×2
angularjs ×1
eloquent ×1
gulp ×1
homebrew ×1
html ×1
javascript ×1
jquery ×1
laravel ×1
node.js ×1
reactjs ×1
sublimetext ×1
sublimetext2 ×1
sublimetext3 ×1
webpack ×1