小编Mar*_*oij的帖子

将所有外发电子邮件重定向到单个地址以进行测试

在Ruby on Rails中,我处于这样一种情况:我希望我的应用程序(在特定的测试环境中)拦截应用程序生成的所有外发电子邮件,而是将它们发送到不同的测试地址(也可能修改正文)说"最初发送到:......").

我看到ActionMailer有一些钩子可以观察或拦截邮件,但如果有更简单的方法,我不想自己动手解决.建议?

email testing environment ruby-on-rails actionmailer

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

直到成功的超时错误

我们有一个流程,我们已经实现了一个soap客户端来向服务提供商发送soap消息.

如果失败,我们需要重试服务调用3次.所以我们在内部使用HTTP Outbound Endpoint直到成功范围.

它按预期进行重试,但是在成功情况下,即使我们从服务获得响应,我们也会观察到超时错误,如下所示.

[DispatchThread:1] org.apache.cxf.endpoint.ClientImpl:等待响应操作{ http://support.cxf.module.mule.org/ }的超时调用.

观察:

我已经删除了直到成功并直接拥有HTTP Outbound端点,在这种情况下没有超时错误.

我后来尝试过,直到成功并有一个承认表达式接受响应,仍然同时响应.

failureExpression ="#[message.inboundProperties ['http.status']!= 200]"ackExpression ="#[message.correlationId]"

任何人都可以建议,如何配置直到成功接受响应,而不是浪费时间错误.

timeoutexception mule mule-studio

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

如何使vim SpellCheck*不*代码识别?

默认情况下,vim拼写检查程序可识别代码,因此它不会拼写检查文件的代码部分.实际上,在markdown中,它将(pandoc multiline)表视为代码,因此不会拼写检查其内容.

有可能覆盖这个吗?或者为包括代码在内的整个文件启用拼写检查.

vim spell-checking vim-syntax-highlighting

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

Ruby,Nokogiri:我如何在整个nokogiri解析,erb模板和编码HTML文件中确保UTF8

我终于设法解析了网站的一部分:

get '/' do
  url = '<website>'
  data = Nokogiri::HTML(open(url))
  @rows = data.css("td[valign=top] table tr") 
  erb :muster
end
Run Code Online (Sandbox Code Playgroud)

现在我想在我的视图中提取某一行.因此我输入了我的HTML代码:

<%= @rows[2] %> 
Run Code Online (Sandbox Code Playgroud)

它实际上返回代码,但它有UTF8的问题:

<td class="class_name">&nbsp;</td>
Run Code Online (Sandbox Code Playgroud)

相反它说

<td class="class_name">?</td>
Run Code Online (Sandbox Code Playgroud)

如何在nokogiri解析,erb和HTML生成期间确保UTF8?

html ruby parsing utf-8 nokogiri

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

如何在Python中打印每一行处理代码?

在测试或创建新函数时,我经常喜欢打印正在发生的每一行代码,这样我就可以看到每一行的处理方式.

有没有办法可以达到这个目的?我正在寻找更方便的东西,所以我不必在每一行后打印.

例如,而不是写这个功能

def test_func():
    l = range(10)
    print l
    l = zip(l,range(30,40))
    print l 
    l = dict(l)
    print l 
Run Code Online (Sandbox Code Playgroud)

我想写这个没有写印刷,但仍然打印每一行

def test_func():
    l = range(10)
    l = zip(l,range(30,40))
    l = dict(l)
Run Code Online (Sandbox Code Playgroud)

也许我可以使用Python装饰器或其他东西?

python

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

Python 3允许混合空格和制表符?

我知道标签与空格有很多问题,但看起来,与PEP 0008关于Python 3的说法相反,混合标签和空格并不总是非法的.具体来说,在同一块中混合制表符和空格是非法的,但在同一文件中允许带有空格的块和带有制表符的块.

例如,这会在Python 3.4上引发TabError:

for x in range(10):
    print(x)  # Spaces
    print(x)  # Tab
Run Code Online (Sandbox Code Playgroud)

但这很好:

for x in range(10):
    print(x)  # Spaces

for y in range(5):
    print(y)  # Tab
Run Code Online (Sandbox Code Playgroud)

这是设计的吗?

编辑:问题不是标签是否比空格更好.问题是Python是否允许同一文件中的制表符和空格是设计的.

python indentation python-3.x

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

如何通过Instagram API捕获直接消息?

如果有任何方法可以返回直接消息,我搜索了api instagram,却一无所获.你能说出是否有东西,或者是否有可能吗?Instagram不提供?或者我可以通过编程方式完成?我需要捕获直接消息,是否可能?

instagram

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

Ubuntu 14.04上的Vim使用了一个有趣的python路径,python无法在其他模块中导入_io

突然(可能是在更新软件包之后)vim停止使用YouCompleteMe并抛出:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: No module named _io
Run Code Online (Sandbox Code Playgroud)

(当我尝试从vim内部导入io时也会发生这种情况:python import io).

我在过去几个小时里一直在争夺这个问题,不知道问题是什么,重新安装了python和vim几次,无论是来源还是来自aptitude都没有区别.我注意到,与命令行相比,vim中的python使用了一个有趣的路径:

~$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys; print sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']
>>> 
Run Code Online (Sandbox Code Playgroud)

从vim:

:python import sys; print sys.path
['/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', …
Run Code Online (Sandbox Code Playgroud)

python linux vim

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

我怎么能告诉goimports更喜欢一个包呢?

这个文件:

package foo

func errorer() error {
    return errors.New("Whoops")
}
Run Code Online (Sandbox Code Playgroud)

将改为goimports:

package foo

import "errors"

func errorer() error {
    return errors.New("Whoops")
}
Run Code Online (Sandbox Code Playgroud)

但是,我想github.com/pkg/errors在这个项目的每个地方都使用这个包,而不是errors包.

我可以告诉goimports他们总是喜欢这个github.com/pkg/errors包吗?

go

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

ed25519.公共结果不同

使用包https://github.com/golang/crypto/tree/master/ed25519即时尝试获取给定私钥的公钥.

这些数据来自http://www.bittorrent.org/beps/bep_0044.html:test 2(可盐加盐)

问题是,ed25519.Public()在用给定的私钥输入时不会返回相同的公钥.golang实现返回PVK的最后32个字节.但在我的测试数据中,这是出乎意料的.

这里的代码https://play.golang.org/p/UJNPCyuGQB

package main

import (
    "encoding/hex"
    "golang.org/x/crypto/ed25519"
    "log"
)

func main() {
    priv := "e06d3183d14159228433ed599221b80bd0a5ce8352e4bdf0262f76786ef1c74db7e7a9fea2c0eb269d61e3b38e450a22e754941ac78479d6c54e1faf6037881d"
    pub := "77ff84905a91936367c01360803104f92432fcd904a43511876df5cdf3e7e548"
    sig := "6834284b6b24c3204eb2fea824d82f88883a3d95e8b4a21b8c0ded553d17d17ddf9a8a7104b1258f30bed3787e6cb896fca78c58f8e03b5f18f14951a87d9a08"
    // d := hex.EncodeToString([]byte(priv))
    privb, _ := hex.DecodeString(priv)
    pvk := ed25519.PrivateKey(privb)
    buffer := []byte("4:salt6:foobar3:seqi1e1:v12:Hello World!")
    sigb := ed25519.Sign(pvk, buffer)
    pubb, _ := hex.DecodeString(pub)
    sigb2, _ := hex.DecodeString(sig)
    log.Println(ed25519.Verify(pubb, buffer, sigb))
    log.Printf("%x\n", pvk.Public())
    log.Printf("%x\n", sigb)
    log.Printf("%x\n", sigb2)
}
Run Code Online (Sandbox Code Playgroud)

如何使用golang生成与bep相同的公钥?

cryptography go ed25519

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