小编rua*_*akh的帖子

这是创建圆形按钮的更好方法:<img>还是背景图像?

我有两种创建圆形按钮的方法: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)

css

13
推荐指数
1
解决办法
2142
查看次数

如何在Mac OSX上模拟"sort -V"

我编写了一个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)

git sorting macos bash gnu

13
推荐指数
2
解决办法
4120
查看次数

类中的javascript私有成员会导致巨大的内存开销吗?

在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个实例,这会导致巨大的内存开销吗?

使用私有和公共成员创建类实例的性能测试:

Jsperf

javascript

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

使用bash命令的输出(带管道)作为另一个命令的参数

我正在寻找一种方法来使用命令的输出(比如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"所以我通过管道输送ttysed如下:

$ 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与当前用户链接的那一行).但我仍然很好奇如何将管道和命令嵌套组合起来......

bash shell nested pipe command-line-arguments

10
推荐指数
3
解决办法
3万
查看次数

何时使用环境变量与系统属性?

我想知道以下哪一种是首选方法?

我们可以设置为APP_HOME=/path/to/file(export.profile这些行中或某些行),并将其作为System.getenv("APP_HOME")

或者,或者使用属性作为-DAPP_HOME=/path/to/file和访问它System.getProperty("APP_HOME")

现在..任何一个都将使值可用于应用程序的立场,但是这两种方法是否优先?为什么?什么时候?

java environment-variables system-properties

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

为什么类不能扩展其中出现的静态嵌套类?

这个班:

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(并因此最终得到一个词汇封闭的实例)?

java inner-classes language-lawyer

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

Scheme/Racket最佳实践 - 递归与可变累积

我是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)

recursion scheme accumulator racket

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

在Bash中反转文本文件

如何在Bash中反转文本文件?

例如,如果some.txt包含这个:

book
pencil
ruler
Run Code Online (Sandbox Code Playgroud)

那怎么能得到这个呢?:

relur
licnep
koob
Run Code Online (Sandbox Code Playgroud)

bash shell

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

JDK类除了Javadoc之外还有其他任何规范吗?

JDK类除了Javadoc之外还有其他任何规范吗?如果是的话,在哪里?

例如,考虑一下Collections.unmodifiableMap.它的Javadoc没有提及线程安全性; 所以,从Javadoc开始,我不能认为将结果映射暴露给其他线程是安全的,而不需要采取我自己的一些特殊步骤来获得线程安全性.但是恕我直言,任何现实的实现都会将内部地图存储在一个final字段中,因此在Java 5及更高版本中,只要内部地图是(在之前的任何访问之间具有"先发生"关系),结果地图将是线程安全的.生成的地图以及之前对内部地图的修改).例如,这就是OpenJDK实现的功能.

那么,我怎么能弄清楚我是否可以轻易地假设一个给定的行为?

java javadoc language-lawyer java-8

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

为什么可以在函数内的常量表达式中使用作为 constexpr 函数参数的参数传递的 lambda 的返回值?

问题标题的措辞可能不正确,我会很乐意根据您的建议进行修复。

我的问题可以用这个片段来说明:

#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)

c++ constant-expression callable-object constexpr-function

9
推荐指数
2
解决办法
678
查看次数