小编Pau*_*per的帖子

sys.stdin不会在ctrl-d上关闭

我在program.py中有以下代码:

from sys import stdin
for line in stdin:
    print line
Run Code Online (Sandbox Code Playgroud)

我跑,输入行,然后按Ctrl+ D,但程序不退出.

这确实有效:

$ printf "echo" | python program.py 
Run Code Online (Sandbox Code Playgroud)

当我按Ctrl+ 时,为什么程序不退出d?我正在使用Fedora 18终端.

python linux command-line eof

5
推荐指数
1
解决办法
3897
查看次数

运行sqlite语句时JRE崩溃

我从来没有见过这样的东西.我已经花了一个多小时来削减这个到最简单的我能得到它.

import java.io.File;
import java.sql.*;

public class Test {
    private static final String DB_PATH = "test.db";

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("org.sqlite.JDBC");
        new File(DB_PATH).delete();

        Connection conn = null;
        Statement s = null;
        try {
            conn = DriverManager.getConnection("jdbc:sqlite:" + DB_PATH);

            s = conn.createStatement();
            s.execute("CREATE TABLE person (id integer primary key, name text)");
            s.execute("CREATE VIEW person_view AS SELECT p.id, p.name FROM person p");
            s.execute(""
                + "CREATE TRIGGER person_view_delete INSTEAD OF DELETE ON person_view "
                + "BEGIN delete from …
Run Code Online (Sandbox Code Playgroud)

java sqlite jdbc

5
推荐指数
1
解决办法
1714
查看次数

如何使库与调用者脚本 PropertiesService 一起使用?

在 Google将 import/export API 扩展到容器绑定的 Apps Script 项目之前,我已经将我的大部分项目移到了一个可以使用该 API 的库中,然后将 Google Docs 项目变成了一个只调用库的 shell。

我的问题是让库访问与PropertiesServiceGoogle Doc 项目相同的属性 ( )。由于我有我的 Docs Add-on 的现有用户,我需要继续使用这些属性。

在我的 Google Doc 项目中,我尝试过

$.PropertiesService = PropertiesService;
Run Code Online (Sandbox Code Playgroud)

$我的图书馆在哪里)。

它没有用。该库继续使用自己的属性。

然后我尝试了:

function _mock(obj) {
  var ret = {};
  for(var key in obj) {
    if(typeof obj[key] == 'function') {
      ret[key] = obj[key].bind(obj);
    } else {
      ret[key] = obj[key];
    }
  }
  return ret;
}

$.PropertiesService = _mock(PropertiesService);
Run Code Online (Sandbox Code Playgroud)

还是行不通。再试一次:

function _mock(obj) {
  var ret = {}; …
Run Code Online (Sandbox Code Playgroud)

add-on libraries google-apps-script

5
推荐指数
1
解决办法
388
查看次数

为什么在进行Javascript继承时创建临时构造函数?

为什么goog.inheritsGoogle Closure Library看起来像这样:

goog.inherits = function(childCtor, parentCtor) {
  function tempCtor() {};
  tempCtor.prototype = parentCtor.prototype;
  childCtor.superClass_ = parentCtor.prototype;
  childCtor.prototype = new tempCtor();
  childCtor.prototype.constructor = childCtor;
};
Run Code Online (Sandbox Code Playgroud)

而不是

goog.inherits = function(childCtor, parentCtor) {
  childCtor.superClass_ = parentCtor.prototype;
  childCtor.prototype = new parentCtor();
  childCtor.prototype.constructor = childCtor;
};
Run Code Online (Sandbox Code Playgroud)

有什么好处tempCtor呢?

javascript prototype google-closure-library

5
推荐指数
1
解决办法
336
查看次数

如何用Java编码百分比?

RFC 3986中所述,如何对字符串进行百分比编码?即我不想(IMO,怪异)www-url-form-encoded,因为 不同的.

如果重要,我编码的数据不一定是整个URL.

java percent-encoding

5
推荐指数
2
解决办法
2949
查看次数

如何让 sbt 插件排除它的依赖?

在https://github.com/google/guice/issues/846上敲了一个多小时后,我意识到我有两个不同的 jar 提供的 Guice 库:guice-4.0-beta5.jar 和 sisu-guice -3.1.3-no_aop.jar。

嘎啊……

第二个与Guava 18不兼容,如果加载,会在使用Guava时导致访问错误。

我正在创建一个没有依赖项的 SBT 插件,由sbtPlugin := true.

依赖树(我的插件是com.github.pauldraper.playclosure:sbt-plugin):

> what-depends-on org.sonatype.sisu sisu-guice 3.1.3
[info] org.sonatype.sisu:sisu-guice:3.1.3
[info]   +-org.eclipse.sisu:org.eclipse.sisu.plexus:0.0.0.M5
[info]     +-org.apache.maven:maven-core:3.2.2
[info]     | +-org.vafer:jdeb:1.3
[info]     |   +-com.typesafe.sbt:sbt-native-packager:0.7.4
[info]     |     +-com.typesafe.play:sbt-plugin:2.3.7
[info]     |       +-com.github.pauldraper.playclosure:sbt-plugin:0.0-SNAPSHOT
[info]     |       | +-default:project_2.10:0.1-SNAPSHOT [S]
[info]     |       | 
[info]     |       +-default:project_2.10:0.1-SNAPSHOT [S]
[info]     |       
[info]     +-org.apache.maven:maven-plugin-api:3.2.2
[info]       +-org.apache.maven:maven-core:3.2.2
[info]       | +-org.vafer:jdeb:1.3
[info]       |   +-com.typesafe.sbt:sbt-native-packager:0.7.4
[info]       |     +-com.typesafe.play:sbt-plugin:2.3.7
[info]       |       +-com.github.pauldraper.playclosure:sbt-plugin:0.0-SNAPSHOT
[info]       |       | +-default:project_2.10:0.1-SNAPSHOT [S] …
Run Code Online (Sandbox Code Playgroud)

dependencies sbt sbt-plugin

5
推荐指数
0
解决办法
592
查看次数

粘贴的HTML是否可以保证消毒?

我有一个内容可编辑的div:

<div contenteditable="true"></div>
Run Code Online (Sandbox Code Playgroud)

HTML可以粘贴到该div中.HTML保证不具有脚本标记或事件处理程序属性等吗?

我还没有找到源代码,但我猜所有浏览器都会删除脚本.否则,似乎对网络钓鱼式用户XSS非常开放:"通过将其粘贴到Gmail中,可以看到跳舞的小马......"


编辑:例如,<script>如果您复制并粘贴以下内容,Chrome会删除该元素:

div {
  border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
Copy this:
<div>
  <b>Stack</b> <i>Overflow</i>
  <br>
  <script>
    if(document.querySelectorAll('div[contenteditable=true]').length) {
      alert('Hacked!');
    }
  </script>
  <img src="http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png">
</div>
<br>
<br>
Into this: (if you see a `Hacked!` alert, the script was not stripped)
<div contenteditable="true"></div>
Run Code Online (Sandbox Code Playgroud)

这是一种保证行为吗?或者我是否必须做一些特殊的事情来阻止XSS?

html security contenteditable

5
推荐指数
1
解决办法
162
查看次数

案例类扩展特征不适用于副本

我试试

trait Foo[A] {
  def copy(int: Int): A
}

case class Bar(int: Int) extends Foo[Bar]
Run Code Online (Sandbox Code Playgroud)

但我明白了

错误:类Bar需要是抽象的,因为类型为(int:Int)的trait Foo中的方法复制this.Bar未定义

由于Bar是一个案例类,它会自动定义一个copy具有该签名的方法.

为什么Foo类不满足特征定义的接口Bar

inheritance scala traits

5
推荐指数
1
解决办法
603
查看次数

Make使线程安全

我有一个多线程程序,可以在数百个地方打印到控制台.不幸的是,而不是

Line 2
Line 1
Line 3
Run Code Online (Sandbox Code Playgroud)

我明白了

Line2Line1

Line3
Run Code Online (Sandbox Code Playgroud)

我想让puts线程安全.


在Python中(我认为没有这个问题,但假设它有),我会这样做

old_print = print

print_mutex = threading.Lock()

def print(*args, **kwargs):
    print_mutex.acquire()
    try:
        old_print(*args, **kwargs)
    finally:
        print_mutex.release()
Run Code Online (Sandbox Code Playgroud)

我在Ruby中尝试这个,

old_puts = puts

puts_mutex = Mutex.new

def puts(*args)
    puts_mutex.synchronize {
        old_puts(*args)
    }
Run Code Online (Sandbox Code Playgroud)

但这不起作用:"未定义的方法old_puts"


如何使线程安全(即不打印部分线)?

ruby multithreading

5
推荐指数
1
解决办法
495
查看次数

如何在 JavaScript 中序列化 64 位整数?

Datadog Tracing API需要序列化为 JSON 数字的 64 位整数。

{
  "span_id": 16956440953342013954,
  "trace_id": 13756071592735822010
}
Run Code Online (Sandbox Code Playgroud)

如何使用 JavaScript 创建带有 64 位整数的 JSON?

javascript json integer

5
推荐指数
1
解决办法
534
查看次数