考虑使用CSS类aa,bb和cc的 HTML :
<div class='aa'>
<div class='bb'>
<div class='cc'>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我可以这样选择class=cc标签:.aa > .bb > .cc.但是,在我的情况下,有时.bb标签不存在,也就是说,HTML看起来像这样:
<div class='aa'>
<div class='cc'>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
因此,要选择所有.cc接近a .aa,我需要指定两个CSS路径:
.aa > .bb > .cc,
.aa > .cc { .... }
Run Code Online (Sandbox Code Playgroud)
这有效,但是,有没有更短的方法?与此类似的东西:
.aa > (.bb >)? .cc { ... } /* ? means "optional" */
Run Code Online (Sandbox Code Playgroud)
使用CSS或类似Stylus或LESS的东西?
动机:在现实世界中,"aa","bb"和"cc"的名称有点长,而且"aa"和"cc"之前和之后都有更多的东西,不需要复制就更好了那东西.
请注意:在我的情况下,这不起作用:.aa .cc因为.cc在页面的其他位置匹配太多s.该.cc的需要是可以立即低于.aa或低于.aa > .bb.
是否可以从ScalaTest测试中访问当前正在执行的测试的名称?(我该怎么做?)
背景:
我正在测试我的数据访问对象最终会抛出OverQuotaException一个用户,例如创建太多页面.这些测试需要很长时间才能运行.为了感觉更快乐,我想将进度打印到stdout - 由于有很多测试,我想在输出中包含测试名称,所以我知道当前正在运行什么测试.
(我在这里找不到任何看似相关的功能:http: //www.artima.com/docs-scalatest-2.0.M5/#org.scalatest.FreeSpec)
例:
"QuotaCharger can" - {
"charge and decline quota consumers" - {
"charge a per site IP number (guest user)" in {
// ... Here, a guest user post very many comments until it's over quota.
// This takes a little while, and there are many similar tests.
// ---> Here <--- I'd like to access the string:
// "charge a per site IP number (guest user)",
// …Run Code Online (Sandbox Code Playgroud) 我可以使用CoreOS rkt或一些相关工具来运行我的Docker-Compose项目吗?
和/或有没有办法将Docker-Compose项目转换为类似的东西,对于CoreOS和rkt?
我的Docker-Compose项目在localhost和生产服务器上运行良好.但我认为我更喜欢CoreOS和rkt的安全模型 - 那么我就不必在我的开发机器上运行具有root权限的容器(对吧?).
这里似乎是关于如何运行单个Docker容器的文档rkt:https://coreos.com/rkt/docs/latest/running-docker-images.html - 但我想要Docker-Compose之类的功能,而不仅仅是单个容器.
(我目前使用基于Ubuntu的Linux发行版.)
是否没有普遍存在的/标准的Javascript或Coffeescript函数来转换对象/ map/hash的值?
jQuery$.map 但只生成了Arrays.
Underscore有,_.map但它也Array只生产s.
要清楚,我正在寻找像这样的功能.(这个例子是用Coffeescript而不是Javascript编写的.)
# Transforms the values in a map. (Doesn't modify `obj` — returns a new map.)
# Example usage:
# mapObjVals({ a: 'aa', b: 'bb'}, (key, value) -> value + '_!')
# --> { a: 'aa_!', b: 'bb_!' }
mapObjVals = (obj, f) ->
obj2 = {}
for k, v of obj
obj2[k] = f k, v
obj2
Run Code Online (Sandbox Code Playgroud) 如果我有这个值类:
class ActionId(val value: Int) extends AnyVal
Run Code Online (Sandbox Code Playgroud)
那么,在下面的所有例子中,将为值类分配一个对象?(它将被"装箱" - 它不会简单地打开到一个普通的32位整数,对吧?)
一个返回值类的函数 - 值类会转义范围,因此会被"装箱"?
def someFunction(): ActionId = {
...
return ActionId(123)
}
Run Code Online (Sandbox Code Playgroud)返回具有值类成员的对象的函数- 值类会转义范围,因此将"装箱"?
case class Post(id: ActionId, ...) { ... }
def someFunction(): Post = {
...
val somePost = Post(ActionId(123), ...) // ActionId will be "boxed", right?
return somePost
}
Run Code Online (Sandbox Code Playgroud)即使一个值类成员的对象是未在返回(并没有真正逃脱的范围),该值类仍然会"盒装",当它被用作另一个类的成员(作为一个字段Post级,在这个例子中)?
def anotherFunction() {
...
val somePost = Post(ActionId(123), ...) // "Boxed" here too, right?
// ... do …Run Code Online (Sandbox Code Playgroud)如何安装PHP的MongoDB客户端驱动程序?
我已经这样做了:
$ sudo aptitude install php5-dev php5-cli php-pear make
Run Code Online (Sandbox Code Playgroud)
但下一步失败了:
$ sudo pecl install mongo
No releases available for package "pecl.php.net/mongo"
install failed
Run Code Online (Sandbox Code Playgroud)
当我查看http://pecl.php.net/mongo时,我发现列出了许多版本的Mongo驱动程序.我应该包含版本号还是什么?但是,我发现的所有安装说明都只是说明了一个使用sudo pecl install mongo而没有别的. - 如何安装Mongo驱动程序?
一些细节:
操作系统:Linux Mint 16,基于Ubuntu.
pecl list-channels 说:
Registered Channels:
Channel Alias Summary
doc.php.net phpdocs PHP Documentation Team
pear.php.net pear PHP Extension and Application
Repository
pecl.php.net pecl PHP Extension Community Library
__uri __uri Pseudo-channel for static packages
Run Code Online (Sandbox Code Playgroud)有Docker Swarm(现在内置在Docker中)和Docker-Compose.人们似乎只在单个节点上运行容器时使用Docker-Compose.但是,Docker-Compose不支持任何deploy配置值,请参阅https://docs.docker.com/compose/compose-file/#deploy,其中包含mem_limit和cpus,这似乎很好/很重要,可以设置.
所以也许我应该使用Docker Swarm?虽然我只在单个节点上部署.此外,安装说明将更容易让其他人遵循(他们不需要安装Docker-Compose).
但也许有理由不在单个节点上使用Swarm?
我在下面发布了一个答案,但我不确定它是否正确.
编辑:请注意,这不是基于意见的问题.如果你看看下面的答案,你会发现有关于此的"必须"和"不能做"的事实.
ScalaTest 2.0不会自动运行扩展Suite但已注释的类DoNotDiscover.但是,它"将运行带有DoNotDiscover注释的类,如果被明确要求,它就不会发现它们."
但是,我如何明确要求ScalaTest运行这样一个DoNotDiscover注释类?
尽管我通过显式指定它们,ScalaTest会忽略所有这些类test-only.示例:我有这个测试套件:
@DoNotDiscover
class AnonLoginSpecRunner
extends org.scalatest.Suites(new AnonLoginSpec)
with StartServerAndChromeDriverFactory
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
[my-project] $ test-only test.e2e.specs.AnonLoginSpecRunner
Run Code Online (Sandbox Code Playgroud)
ScalaTest说:
[info] No tests to run for securesocial/test:test-only
[info] Passed: : Total 0, Failed 0, Errors 0, Passed 0, Skipped 0
Run Code Online (Sandbox Code Playgroud)
我能做些什么来让ScalaTest运行我的AnonLoginSpecRunner?
作为一种解决方法,我目前这样做:
[debiki-server] $ test:console
scala> (new test.e2e.specs.AnonLoginSpecRunner).execute()
Run Code Online (Sandbox Code Playgroud)
这是有效的,但它有点麻烦,我想避免它.
(我使用的原因@DoNotDiscover是我有一个主要套件,一劳永逸地设置chrome驱动程序,然后运行所有E2E测试规范的列表.)
对我来说,Nginx关于如何ssl_session_cache工作的文档有点不清楚.我想知道这是否:
ssl_session_cache shared:SSL:10m;
Run Code Online (Sandbox Code Playgroud)
在http块中或在每个 server(即虚拟主机)块中声明,导致1)一个名为SSL的单个全局高速缓存,大10 MB.或者2)每个服务器一个10 MB缓存,所有缓存的总大小= num servers x 10 MB.
文档:
共享
所有工作进程之间共享的缓存.高速缓存大小以字节为单位指定; 一兆字节可以存储大约4000个会话.每个共享缓存都应具有任意名称.可以在多个虚拟服务器中使用具有相同名称的缓存.
如果只有一个缓存,那么我想将其大小乘以服务器数量.所以,如果我有5个服务器(即5虚拟主机),那么我将ssl_session_cache在http块:
ssl_session_cache shared:SSL:50m; # 10 * 5 = 50
Run Code Online (Sandbox Code Playgroud)
所以,问题是:ssl_session_cache shared:SSL:10m;每个服务器创建一个10 MB缓存,还是为所有服务器创建一个10 MB缓存?
如果是每台服务器,那么对于所有服务器,是否无法为一个单一的全局缓存配置?(如果不可能,为什么不,如果有人知道?)对我来说好像这会导致更有效的内存使用.(因为一台拥有许多客户端的服务器可以使用本来专用于其他可能暂时没有客户端的服务器的内存.)
我最近开始将React和Flux用于我的项目,我也在使用jQuery,用于GUI的某些部分.通过jQuery,我有时会将CSS类和样式甚至DOM节点添加到由React创建和更新的元素中.这似乎工作得很好.React没有抱怨,并且,当render()重新运行时,React不会修改类和样式以及已添加到反应根内部某处的DOM节点.
我可以依赖React忽略我在React树中与React DOM节点并排添加的DOM节点吗? - 我知道如果React决定删除我插入的节点,将删除非React节点.这对我很好.但我确实想知道React某一天是否会对这些不是由React管理的额外节点感到不安,并拒绝工作?
如果React不管理DOM节点的任何样式(我没有style为生成的节点添加任何属性render()),那么我可以通过jQuery安全地将自己的样式添加到这个DOM节点吗?例如,#id在jQuery中查找节点,然后设置其宽度.
如果classNameReact生成的DOM节点上没有,那么我可以安全地通过jQuery添加和删除该节点的类吗?(例如,在鼠标悬停时添加一个类.)
我目前正在做这些可能奇怪的事情的一个原因是,我有一些jQuery汤遗留代码,我现在不想移植到React.另一个是我正在使用一些有时在React树中添加DOM节点的jQuery插件.
scala ×3
docker ×2
javascript ×2
scalatest ×2
coffeescript ×1
coreos ×1
css ×1
docker-swarm ×1
https ×1
jquery ×1
less ×1
mongodb ×1
nginx ×1
php ×1
reactjs ×1
rkt ×1
ssl ×1
stylus ×1
ubuntu ×1
virtualhost ×1