小编Mah*_*oni的帖子

建议在EventBus/Otto中使用Handler?

有了像Otto和EventBus这样的库,我想知道使用Handler是否仍然有意义:

Handler允许您发送和处理与线程的MessageQueue关联的Message和Runnable对象.每个Handler实例都与一个线程和该线程的消息队列相关联.

除事件总线库外,如何使用处理程序?我认为使用vanilla线程直接通过事件总线发送消息就足够了,或者我在这里遗漏了什么?

java multithreading android message-passing otto

2
推荐指数
1
解决办法
1251
查看次数

为ptrace_scope禁用Docker的AppArmor

是否可以为特定的Docker容器禁用AppArmor?我想使ptrace可访问,因此我可以将gdb附加到正在运行的进程,但是当我想更改设置时遇到以下问题:

root@fbf728150308:/gopath# echo 0 > /proc/sys/kernel/yama/ptrace_scope
bash: /proc/sys/kernel/yama/ptrace_scope: Read-only file system
Run Code Online (Sandbox Code Playgroud)

linux ptrace gdb apparmor docker

2
推荐指数
1
解决办法
3207
查看次数

Java Servlet中的SendRedirect与转发用例

我有一个简单的html页面,目的是对写入数据库的实体进行更改.该页面有两种形式:

  • GET:选择要更改的实体
  • POST:处理对实体的更改并将其写入数据库

当执行POST操作时,我想再次显示相同的页面,此外我想保持由GET操作设置的实体参数.目前我在doPost方法结束时执行以下操作:

response.sendRedirect(path + "?entity=" + entityValue);
Run Code Online (Sandbox Code Playgroud)

哪个工作得很好,但在阅读了forward和sendRedirect之间的差异之后,我认为我必须使用forward,但这不起作用,因为doGet方法不会像sendRedirect一样执行.那么我的方法是正确的还是应该以另一种方式解决?

html java servlets

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

从标识符创建URI的良好做法

我有几个资源,我想用RDF建模,每个资源都有一个唯一的标识符(DMS格式的GPS坐标).

  • 36.54.01E.25.28.44N
  • 150.18.38.9E.2.40.47.5S
  • ...

现在我想为每个人创建URI.在这种情况下,什么是最佳做法?可以意味着将它附加到我的命名空间URI或者我不应该这样做因为点?

rdf uri semantic-web namespaces

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

Web应用程序最多应该有多少状态?

我听说网络应用程序应尽可能无状态.但在我看来,经常很难意识到这一点.例如,如果我:

  1. 处理请求
  2. 将用户重定向到起始页面
  3. 想要显示请求的结果?

如果结果有点复杂,那么只是一个可以作为参数传递的字符串(或者我不希望通过URL包含该信息),那么我就无法将2和3结合起来.

我能想到的唯一解决方案是将信息保存为Java程序中的状态.

但这会破坏状态网络应用程序的规则,不是吗?

java servlets web-applications stateless

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

构建RESTful Tornado Web App

Tornado使用派生自tornado.web.RequestHandler定义postget方法的类.我已经为路径创建了一个请求处理程序r/action/*

由于存在不同的更具体的路径,action/doThis因此action/requestThatget使用if-then-else结构检查具体请求URI.

这看起来非常笨拙,有没有更复杂的方法来构建,例如使用方法?或者Tornado方式是否只是定义更多的RequestHandlers?我喜欢使用函数装饰器处理瓶子的方式,但由于它们是Python 3,因此目前不是一个选项.

python design-patterns tornado

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

检查 Bottle 中每个请求的身份验证

对于 Bottle 中的每个请求,我想通过 HTTP 身份验证检查该请求是否符合条件。我的想法是使用一个函数,它在每个@route函数开始时都会被调用。

def check_authentificaiton(requests):
    auth = request.headers.get('Authorization')
    credentials = parse_auth(auth)
    if credentials[0] is not 'user' or credentials[1] is not 'password':
        raise Exception('Request is not authorized')
Run Code Online (Sandbox Code Playgroud)

这似乎有点多余,因为我想保护每个请求,如果我忘记调用它可能会失败。有没有更好的办法?

python authorization bottle

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

JSON Schema:表示在字符串类型中编码对象类型的约束

在我的JSON序列化数据中,我有嵌套对象:

{
  "A" : { "A1": 1,
          "A2": 2 },
  "B" : { "B1": 3,
          "B2": 4 }
}
Run Code Online (Sandbox Code Playgroud)

由于给定的约束我无法影响,我需要压扁结构.这意味着,深度大于1的每个对象都必须编码为字符串.应用于上面的例子,这是这样的:

{
  "A" : "\{\"A1\": 1, \"A2\": 2\}"
  "B" : "\{\"B1\": 3, \"B2\": 4\}"  
}
Run Code Online (Sandbox Code Playgroud)

因为我需要在JSON Schema中表达这个约束,所以我几乎要遵循它的语法规则.我猜这些对象的类型将是string或者object.

{
  "title": "My Schema",
  "type": "object",
  "properties": {

    "A": {
      "type": "string vs. object" 
    "B": {
      "type": "string vs. object"
}
Run Code Online (Sandbox Code Playgroud)

javascript schema json schema-design jsonschema

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

模拟 bufio.NewScanner 的标准输出流

我想为我使用bufio.NewScanner和的实用程序编写一个测试Scan()。我通常使用它stdout,现在我想模拟一小段流,我可以在其中返回一些静态字符串以进行测试。

bufio.NewScanner(r io.Reader)需要一个Reader但只需要一个read方法。通过阅读源代码,我无法弄清楚它从哪个缓冲区读取或如何传入。

我怎样才能以简短而简洁的方式嘲笑它?

testing io stdout mocking go

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