我有一个docker-compose.yml这样的:
version: '2'\nservices:\n backend:\n build:\n context: .\n volumes:\n - .:/home/ll/stuff\n ports:\n - '8000:80'\nRun Code Online (Sandbox Code Playgroud)\n\n这总是会增加数量,这对开发有利,但对生产不利。有没有办法让 \xc2\xbbtell\xc2\xabdocker-compose仅在开发中挂载该卷,或者换句话说,如果APP_ENV为空或==development?
我需要为此创建另一个撰写文件吗?如果是这样,我可以使用生产文件中的配置,而不重复不改变的内容吗?
\n我有一个像这样的 xpath 表达式:
\n\nelement[@attr="a"] | element[@attr="b"] | element[@attr="c"] | \xe2\x80\xa6这是一个 \xc2\xbbor\xc2\xab 语句。那么,我是否可以创建一个表达式来保证结果按照查询中的顺序出现,即使元素在文档中以不同的顺序出现?
fe 按以下顺序创建文档片段:
\n\n<doc>\n <element attr="c" />\n <element attr="b" />\n <element attr="a" />\n .\n .\n .\n</doc>\nRun Code Online (Sandbox Code Playgroud)\n\n结果列表排序如下:
\n\n[0] <element attr="a" />\n[1] <element attr="b" />\n[2] <element attr="c" />\n.\n.\n.\nRun Code Online (Sandbox Code Playgroud)\n 我有一个支持每个用户特权的应用程序。因此,如果用户必须获得适当的许可,他就可以管理用户,组等。如果用户没有这样的许可,他可能不会这样做。
我有一个rest api,带有一个端点,返回当前用户的所有允许的链接,并且我想为此设置路由react-router。如果权限被编辑,例如,用户放开了编辑用户的权限,则相应的菜单项应从菜单中消失,而路由将从路由器中删除。否则,应添加菜单项和路线。
现在我有这个设置:
ReactDOM.render(
<Provider store={store}>
<Router history={history}>
<Route path="/" component={Window}>
<IndexRoute component={Users} />
<Route path="users" component={Users} />
<Route path="groups" component={Groups} />
<Route path="permissions" component={Permissions} />
<Route path="*" component={Error} />
</Route>
</Router>
</Provider>, mount);
Run Code Online (Sandbox Code Playgroud)
但我真正希望拥有的是:一个动态执行此设置并可以在每次更改权限时运行的函数。
我找不到关于此的任何文档,如果能做到这一点,我将感到高兴。
更新
根据给出的答案和评论,我意识到我想解决这个问题的方法并不符合react-router的声明性。
secret.txt.gpg我有要解密的文件,以便内容存储在如下变量中:
TXT=$(gpg --decrypt secret.txt.gpg)\nRun Code Online (Sandbox Code Playgroud)\n但这样会添加很多额外的gpg: \xe2\x80\xa6行,其中包含有关密钥等的信息,如下所示:
gpg: encrypted with 4096-bit RSA key, ID xxxx, created xxxx\n "xx xx (xx) <xx@xx.xx>"\ngpg: Signature made xxx\ngpg: using RSA key xxx\n\xe2\x80\xa6\nSecret Message\nRun Code Online (Sandbox Code Playgroud)\n顺便一提:
\ngpg -d secret.txt.gpg > out.txt\nRun Code Online (Sandbox Code Playgroud)\n只是将内容写入文件。
\n如何仅捕获内容而不将其写入文件?
\n尽管@Roger的答案更好并解释了原因,但我可以使用以下方法来实现:
\nTXT=$(gpg --decrypt secret.txt.gpg > /dev/stdout)\nRun Code Online (Sandbox Code Playgroud)\n 我希望不要提出一个已经回答的问题,但我在任何地方都找不到有用的东西。我正在评估 2d 矢量图形和动画的 javascript 库。在我的路上,我发现了 paper.js,但无法将它与 type="text/javascript" 一起使用,没有画布等。在 paper.js 关于这一点的常见问题解答中,我发现它可能有效,但目前我无法让它工作。
如果有人有这方面的经验,很高兴让我知道这一点。
我有一个树枝模板,用于batch()制作类似这样的列:
{% set rows = collection|batch(3) %}
Run Code Online (Sandbox Code Playgroud)
如此处所述:http : //twig.sensiolabs.org/doc/filters/batch.html此函数采用第二个参数来定义用于“缺少”元素的字符串。
我正在寻找类似的东西:
{% set html = include 'path/to/file.html.twig' %} <-- parse error
{% set rows = collection|batch(3, html) %}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,或者我可以/应该做些其他事情?
我对Java有点新意,所以我只是不确定我是否在做他们应该做的事情.我正在开发一个程序,更多的是用于学习Java的目的,并且被认为是用于命令行的.其中一个功能应该是一种搜索替代.
从命令行启动程序,如下所示:
java -jar pro.jar -s ${ftp://www.stuff.com} -r foo
Run Code Online (Sandbox Code Playgroud)
意思是:搜索确切的字符串${ftp://www.stuff.com}并将其替换为foo.我想用Regexp进行搜索,所以我必须在搜索字符串中转义转义字符($,(,{,},\,...).
${ftp://www.stuff.com} --> \$\{ftp:\/\/www\.stuff\.com\}
Run Code Online (Sandbox Code Playgroud)
因此我写了这个函数:
private static Pattern getSearchPattern()
{
String searchArg = cli.getOptionValue( "s" ).trim();
StringBuffer escapedSearch = new StringBuffer();
Pattern metas = Pattern.compile( "([\\.\\?\\*\\{\\}\\[\\]\\(\\)\\^\\$\\+\\|\\\\])" );
Matcher metaMatcher = metas.matcher( searchArg );
while( metaMatcher.find() )
{
metaMatcher.appendReplacement(escapedSearch, "\\\\\\\\$0" );
}
metaMatcher.appendTail( escapedSearch );
return Pattern.compile( escapedSearch.toString() );
}
Run Code Online (Sandbox Code Playgroud)
总而言之,这是有效的,但有很多反斜杠.这是否逃脱了所有的metachrackters?这是一个"强大"的解决方案吗?
我有一个目录,其中包含以下文件:
-001.jpg
-002.jpg
...
-100.jpg
Run Code Online (Sandbox Code Playgroud)
我想删除每一个的主要短划线.
我试过了:
rename -vn 's/^-//g' *
Run Code Online (Sandbox Code Playgroud)
但我得到:
Unknown option: 0
Unknown option: 0
Unknown option: 0
Unknown option: .
Unknown option: j
Unknown option: p
Unknown option: g
Unknown option: 0
Unknown option: 0
Run Code Online (Sandbox Code Playgroud)
等等......
一个人怎么玩这个伎俩?
我有一个Redux表单,它可以正常工作,除了一件事:我需要创建一个复选框数组,以便用户可以在多个选项之间进行选择。
在HTML / PHP中,可以这样写:
<form>
…
<input type="checkbox" name="item[]" value="120" />
<input type="checkbox" name="item[]" value="231" />
…
</form>
Run Code Online (Sandbox Code Playgroud)
因此,在服务器端,将收到一个这样的数组(假设选中了每个复选框):,其中数组$item = [120, 231]中的每个项目都对应于复选框的值。
用redux形式做同样的事情:
let items = [{name:…, value:…}, …];
<form>
{items.map(item => {
<Field component="input"
type="checkbox"
name={item.name + '[]'}
value={item.value}
})}
</form>
Run Code Online (Sandbox Code Playgroud)
结果是输入:<input type="checkbox" name="item[]" value="true" />,这不是我期望的。另外,选中复选框,检查每个阵列。
所以我将的名称属性更改<Field />为
name={`item[${item.value}]`}
Run Code Online (Sandbox Code Playgroud)
是什么使复选框能够按预期工作,但又导致提交时产生该数据:
{
//index: 0, 1, ,…, 120, 121, … ,231, …
item: [undefinded,undefined,…,true,undefined,…,true,undefined,…]
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:创建复选框(特别是其名称)是否错了,还是必须在初始化时一次提交一次数据时转换数据?
如果我必须转换数据,那最好的地方在哪里?
我已经得到了:
<span class="opener">Open</span>
<input type="color" class="btn-invisible" />
Run Code Online (Sandbox Code Playgroud)
我想使用 JS 打开该字段的颜色选择器。我努力了:
document.querySelector('span.opener')
.addEventListener('click',
e => document.querySelector('.btn-invisible').focus()
);
Run Code Online (Sandbox Code Playgroud)
但这不会打开颜色选择器。如果用JS可以实现的话,怎么实现呢?
bash ×2
javascript ×2
reactjs ×2
2d ×1
gnupg ×1
input ×1
java ×1
react-redux ×1
react-router ×1
redux ×1
redux-form ×1
regex ×1
rename ×1
twig ×1
xpath ×1