我有两种创建圆形按钮的方法:http://codepen.io/anon/pen/GiHyJ 它们看起来都是平等的,但我不确定哪种方式更稳定,跨平台,可用等等我只有一个android手机进行测试,两者看起来都不错.我应该使用一种方法而不是另一种方法,为什么?
方法一:<img>在a里面<div>,允许用户在img上获取上下文菜单.
<div class="method1">
<img src="http://i.imgur.com/TLFDrvp.jpg" />
</div>
.method1 {
width: 100px;
height: 100px;
overflow: hidden;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
box-shadow: 0 0 10px rgba(0, 0, 0, .9);
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .9);
-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .9);
}
Run Code Online (Sandbox Code Playgroud)
方法二:background: url关于<div>.减少标记.
<div class="method2"></div>
.method2 {
background: url(http://i.imgur.com/TLFDrvp.jpg);
width: 100px;
height: 100px;
overflow: hidden;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
box-shadow: …Run Code Online (Sandbox Code Playgroud) 我编写了一个bash脚本,我需要在linux和mac osx上以相同的方式工作,它依赖于sort命令.我正在对输出进行管道git tag -l排序,以便以正确的语义顺序获取所有版本标签的列表.GNU提供-V了这种自动化,但mac osx不支持这个参数,所以我需要弄清楚如何在没有它的情况下完成这种排序.
6.3.1.1
6.3.1.10
6.3.1.11
6.3.1.2
6.3.1.3
...
Run Code Online (Sandbox Code Playgroud)
需要排序为
6.3.1.1
6.3.1.2
6.3.1.3
...
6.3.1.10
6.3.1.11
Run Code Online (Sandbox Code Playgroud) 在JavaScript中,对象的字段始终是"公共的":
function Test() {
this.x_ = 15;
}
Test.prototype = {
getPublicX: function() {
return this.x_;
}
};
new Test().getPublicX(); // using the getter
new Test().x_; // bypassing the getter
Run Code Online (Sandbox Code Playgroud)
但您可以使用局部变量并使用闭包作为getter来模拟"私有"字段:
function Test() {
var x = 15;
this.getPrivateX = function() {
return x;
};
}
new Test().getPrivateX(); // using the getter
// ... no way to access x directly: it's a local variable out of scope
Run Code Online (Sandbox Code Playgroud)
一个区别是,使用"公共"方法,每个实例的getter都是相同的函数对象:
console.assert(t1.getPublicX === t2.getPublicX);
Run Code Online (Sandbox Code Playgroud)
而使用"私有"方法,每个实例的getter都是一个独特的函数对象:
console.assert(t1.getPrivateX != t2.getPrivateX);
Run Code Online (Sandbox Code Playgroud)
我很好奇这种方法的内存使用情况.由于每个实例都有一个单独的getPrivateX,如果我创建10k个实例,这会导致巨大的内存开销吗?
使用私有和公共成员创建类实例的性能测试:
我正在寻找一种方法来使用命令的输出(比如command1)作为另一个命令的参数(比如command2).
我在尝试grep输出who命令时遇到了这个问题,但是使用了另一组命令给出的模式(实际上是tty管道输出sed).
如果tty显示:
/dev/pts/5
Run Code Online (Sandbox Code Playgroud)
并who显示:
root pts/4 2012-01-15 16:01 (xxxx)
root pts/5 2012-02-25 10:02 (yyyy)
root pts/2 2012-03-09 12:03 (zzzz)
Run Code Online (Sandbox Code Playgroud)
我只想就行了(S)"PTS/5"所以我通过管道输送tty到sed如下:
$ tty | sed 's/\/dev\///'
pts/5
Run Code Online (Sandbox Code Playgroud)
尝试的以下命令不起作用:
$ who | grep $(echo $(tty) | sed 's/\/dev\///')"
Run Code Online (Sandbox Code Playgroud)
我发现以下工作正常:
$ eval "who | grep $(echo $(tty) | sed 's/\/dev\///')"
Run Code Online (Sandbox Code Playgroud)
但我确信eval可以避免使用.
作为最后的一个节点:我注意到"-m"参数给who了我我想要的东西(只获得who与当前用户链接的那一行).但我仍然很好奇如何将管道和命令嵌套组合起来......
我想知道以下哪一种是首选方法?
我们可以设置为APP_HOME=/path/to/file(export在.profile这些行中或某些行),并将其作为System.getenv("APP_HOME")
或者,或者使用属性作为-DAPP_HOME=/path/to/file和访问它System.getProperty("APP_HOME")
现在..任何一个都将使值可用于应用程序的立场,但是这两种方法是否优先?为什么?什么时候?
这个班:
public class OuterChild extends OuterChild.InnerParent {
public static class InnerParent {
}
}
Run Code Online (Sandbox Code Playgroud)
无法编译:
$ javac OuterChild.java
OuterChild.java:1: error: cyclic inheritance involving OuterChild
public class OuterChild extends OuterChild.InnerParent {
^
1 error
Run Code Online (Sandbox Code Playgroud)
因为OuterChild"依赖于"本身,因为(根据Java语言规范,Java SE 8版的§8.1.4"超类和子类")一个类直接依赖于[在] [ extends或] implements子句中提到的任何类型[... ]作为超类或超界面名称的完全限定形式的限定符."
但我真的不明白这里的动机.什么是有问题的依赖?它只是为了与InnerParent非的情况保持一致static(并因此最终得到一个词汇封闭的实例)?
我是Scheme(通过Racket)和(在较小程度上)函数式编程的新手,并且可以通过变量和递归使用一些关于积累的优缺点的建议.出于本示例的目的,我正在尝试计算移动平均线.因此,对于列表'(1 2 3 4 5),3期移动平均线将是'(1 2 2 3 4).我们的想法是,期间之前的任何数字都不是计算的一部分,一旦我们达到集合中的期间长度,我们就会根据所选择的期间开始对列表的子集进行平均.
所以,我的第一次尝试看起来像这样:
(define (avg lst)
(cond
[(null? lst) '()]
[(/ (apply + lst) (length lst))]))
(define (make-averager period)
(let ([prev '()])
(lambda (i)
(set! prev (cons i prev))
(cond
[(< (length prev) period) i]
[else (avg (take prev period))]))))
(map (make-averager 3) '(1 2 3 4 5))
> '(1 2 2 3 4)
Run Code Online (Sandbox Code Playgroud)
这有效.我喜欢使用地图.它看起来很容易构建并且可以重构.我可以在将来看到堂兄弟像:
(map (make-bollinger 5) '(1 2 3 4 5))
(map (make-std-deviation 2) '(1 2 3 …Run Code Online (Sandbox Code Playgroud) 如何在Bash中反转文本文件?
例如,如果some.txt包含这个:
book
pencil
ruler
Run Code Online (Sandbox Code Playgroud)
那怎么能得到这个呢?:
relur
licnep
koob
Run Code Online (Sandbox Code Playgroud) JDK类除了Javadoc之外还有其他任何规范吗?如果是的话,在哪里?
例如,考虑一下Collections.unmodifiableMap.它的Javadoc没有提及线程安全性; 所以,从Javadoc开始,我不能认为将结果映射暴露给其他线程是安全的,而不需要采取我自己的一些特殊步骤来获得线程安全性.但是恕我直言,任何现实的实现都会将内部地图存储在一个final字段中,因此在Java 5及更高版本中,只要内部地图是(在之前的任何访问之间具有"先发生"关系),结果地图将是线程安全的.生成的地图以及之前对内部地图的修改).例如,这就是OpenJDK实现的功能.
那么,我怎么能弄清楚我是否可以轻易地假设一个给定的行为?
问题标题的措辞可能不正确,我会很乐意根据您的建议进行修复。
我的问题可以用这个片段来说明:
#include <array>
template <typename Callable>
constexpr auto make_array_ok(Callable callable) {
return std::array<int, callable()>{};
};
// constexpr auto make_array_bad(std::size_t s)
// {
// return std::array<int,s>{};
// };
int main(int argc, char**) {
static_cast<void>(argc);
auto size = []() { return std::size_t{42}; };
// fails to compile -- as I expected
// auto size_dyn = [argc]() { return std::size_t(argc); };
// auto a = make_array_ok(size_dyn);
// also fails to compile -- but why?
// auto size_capt = [arg = size()]()constexpr{return arg;}; …Run Code Online (Sandbox Code Playgroud)