小编use*_*197的帖子

Ruby中的URI.escape和URI.encode有什么区别?

我试图弄清楚a URI.escapeURI.encodeRuby 之间的区别.

也没有做我想要的,即完全编码URL.

例如,我想http://my.web.com成为http%3A%2F%2Fmy%2Eweb%2Ecom

ruby

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

在Python中读取带超时的文件

在Linux中,有一个文件,/sys/kernel/debug/tracing/trace_pipe顾名思义,它是一个管道.所以,假设我想用Python读取它的前50个字节 - 我运行以下代码:

$sudo python -c 'f=open("/sys/kernel/debug/tracing/trace_pipe","r"); print f; print f.read(50); f.close()<br>
<open file '/sys/kernel/debug/tracing/trace_pipe', mode 'r' at 0xb7757e90>
Run Code Online (Sandbox Code Playgroud)

我们可以看到打开文件的速度很快(如果我们拥有超级用户权限) - 但是,如果该trace_pipe文件在那时是空的,它将只是阻塞(即使有内容,内容也将被转储,直到没有更多,然后再次文件将阻止).然后我必须按Ctrl- CKeyboardInterrupt... 中断Python脚本

如何让Python 2.7执行超时读取?

也就是说,我想指示Python "尝试从这个文件中读取50个字节;如果你在一秒钟后没有成功,就放弃并返回"

python linux python-2.7

14
推荐指数
2
解决办法
2万
查看次数

FIX消息分隔符

我对FIX-Protocol比较新.

FIX协议消息的分隔符有时会显示^和其他时间.维基百科的FIX协议说[SOH](< 十六进制的开头 >十六进制为0x01)是该字符.

请解释一下这个含义.

例如,FIX协议消息可以在视觉上表示为

8=FIX.4.4^9=122^35=D^34=215^49=CLIENT12^52=20100225-19:41:57.316^56=B^1=Marcel^11=13346^21=1^40=2^44=5^54=1^59=0^60=20100225-19:39:52.020^10=072^
Run Code Online (Sandbox Code Playgroud)

要么

8=FIX.4.4|9=122|35=D|34=215|49=CLIENT12|52=20100225-19:41:57.316|56=B|1=Marcel|11=13346|21=1|40=2|44=5|54=1|59=0|60=20100225-19:39:52.020|10=072|
Run Code Online (Sandbox Code Playgroud)

那么使用^ over |的确切区别是什么?

是否还使用了其他分隔符.不清楚为什么[SOH](0x01)适合^或|

它可能是数字之一.

financial fix-protocol quantitative-finance

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

如何优化docker容器的性能?

我测试了基于的redis容器. https://index.docker.io/u/dockerfile/redis/

使用相同的redis-benchmark,redis-server在容器内运行要比在托管操作系统上运行慢得多,实际统计数据如下所示.(第一个基准是Docker容器)

那么,有没有办法优化docker容器的性能?

vagrant@precise64:/tmp$ redis-benchmark -p 49153 -q -n 100000
PING (inline): 5607.27 requests per second
PING: 6721.79 requests per second
MSET (10 keys): 6085.69 requests per second
SET: 6288.91 requests per second
GET: 6627.78 requests per second
INCR: 6454.11 requests per second
LPUSH: 6449.12 requests per second
LPOP: 5355.90 requests per second
SADD: 6237.91 requests per second
SPOP: 6794.40 requests per second
LPUSH (again, in order to bench LRANGE): 6089.76 requests per second
LRANGE (first 100 elements): 6000.24 …
Run Code Online (Sandbox Code Playgroud)

performance docker linux-containers

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

Julia性能与Python + Numba LLVM/JIT编译代码相比

到目前为止我已经看过Julia的性能基准,例如http://julialang.org/,将Julia与纯Python或Python + NumPy进行比较.与NumPy不同,SciPy使用BLAS和LAPACK库,在这里我们获得了最佳的多线程SIMD实现.如果我们假设Julia和Python在调用BLAS和LAPACK函数时是相同的(在引擎盖下),当使用Numba或NumbaPro代码不调用BLAS或LAPACK函数时,Julia的性能与CPython相比如何?

我注意到的一件事是Julia使用LLVM v3.3,而Numba使用llvmlite,它建立在LLVM v3.5上.Julia的旧LLVM是否会阻止在较新的体系结构上实现最佳的SIMD实施,例如Intel Haswell(AVX2指令)?

我对意大利面条代码和小DSP循环的性能比较感兴趣,以处理非常大的向量.由于将数据移入和移出GPU设备内存的开销,后者由CPU为我更有效地处理GPU.我只对单个Intel Core-i7 CPU的性能感兴趣,因此集群性能对我来说并不重要.我特别感兴趣的是创建DSP功能的并行化实现的轻松和成功.

这个问题的第二部分是Numba与NumbaPro的比较(忽略了MKL BLAS).target="parallel"鉴于Numba装饰师的新nogil论点,NumbaPro 真的需要@jit吗?

python performance julia numba numba-pro

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

Is there any elegant way to define a dataframe with column of dtype array?

I want to process stock level-2 data in pandas. Suppose there are four kinds data in each row for simplicity:

  • millis: timestamp, int64
  • last_price: the last trade price, float64,
  • ask_queue: the volume of ask side, a fixed size (200) array of int32
  • bid_queue: the volume of bid side, a fixed size (200) array of int32

Which can be easily defined as a structured dtype in numpy:

dtype = np.dtype([
   ('millis', 'int64'), 
   ('last_price', 'float64'), 
   ('ask_queue', ('int32', 200)), 
   ('bid_queue', ('int32', 200))
]) …
Run Code Online (Sandbox Code Playgroud)

python numpy trading quantitative-finance pandas

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

物联网请求响应协议

我们需要构建一个可以与运行Android变体的某些嵌入式设备通信的服务器.我们需要能够向设备发送命令,并接收响应.一个简单的命令可能是询问设备的状态.我们不会有HTTP,所以我们需要让客户端/设备与服务器建立连接.

我们正在考虑使用MQTT,因为它具有许多不错的属性(QoS,轻量级,为物联网构建),但它本身不支持请求响应工作流.

我们已经考虑过在MQTT之上构建RPC,但在我们开始之前,我只是想让人们对此问题有所了解.Websockets,WAMP,ZeroMQ会更好吗?


编辑:

Q1: 我们甚至需要RPC吗?

Q2: 有没有一种方法来构建系统,我总是发送异步类型的消息,仍然提供良好的用户体验?

Q3: 任何例子?

寻找实施示例并亲身体验使用单个设备构建物联网通信系统的经验.

parallel-processing android low-latency mqtt iot

12
推荐指数
2
解决办法
1559
查看次数

Keras - 如何使用KerasRegressor执行预测?

我是机器学习的新手,我正在尝试处理Keras来执行回归任务.基于示例,我已实现此代码.

X = df[['full_sq','floor','build_year','num_room','sub_area_2','sub_area_3','state_2.0','state_3.0','state_4.0']]
y = df['price_doc']

X = np.asarray(X)
y = np.asarray(y)

X_train, X_test, Y_train, Y_test = train_test_split(X, y, test_size=.2)
def baseline_model():
    model = Sequential()
    model.add(Dense(13, input_dim=9, kernel_initializer='normal', 
        activation='relu'))
    model.add(Dense(1, kernel_initializer='normal'))
    model.compile(loss='mean_squared_error', optimizer='adam')
    return model

estimator = KerasRegressor(build_fn=baseline_model, nb_epoch=100, batch_size=100, verbose=False)
kfold = KFold(n_splits=10, random_state=seed)
results = cross_val_score(estimator, X_train, Y_train, cv=kfold)
print("Results: %.2f (%.2f) MSE" % (results.mean(), results.std()))

prediction = estimator.predict(X_test)
accuracy_score(Y_test, prediction)
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我收到此错误:

AttributeError: 'KerasRegressor' object has no attribute 'model'

我怎样才能在KerasRegressor中正确"插入"模型?

regression machine-learning neural-network scikit-learn keras

12
推荐指数
2
解决办法
2万
查看次数

ZeroMQ vs socket.io

我想要ZeroMQ和socket.io之间的主要区别

  1. 表现.(它更快吗?可扩展?)
  2. 应用.(它用于实时服务吗?)
  3. 浏览器支持.(支持哪些浏览器?)

zeromq node.js socket.io

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

Brokered与非代理消息系统的优缺点

我正在尝试设计一个模块化的实时监控系统,因此可以为不同的硬件和网络进行分布,扩展/重新配置.

我很快得出结论,我需要某种分布式企业消息系统.但是有很多选择,每个选项都有优点和缺点,其中一些选项决定了不同的架构.我正在努力弄清楚我是否需​​要经纪人或无代理系统,我是否需要某些系统的消息可靠性(例如RabbitMQ)或者像ZeroMQ这样的系统的轻量级高吞吐量,或者"按顺序到达"卡夫卡的高吞吐量.

首先,这些架构是否有意义?


ZeroMQ类型"Brokerless"系统:

在此输入图像描述

笔记:

每个"B部分"可以有许多"A部分",许多"B部分"进入"C部分"

好处:

  • 高吞吐量,低出租率
  • 轻松集成到组件中,轻量级部署(无需部署代理).

缺点

  • 邮件无法保证送达.有些可能会掉线.这可能是橙色突出显示区域中的问题.它对GUI来说并不重要,但如果本地控制模块正在做决定,它可能需要所有信息.(考虑到这一点,只是最新的可能就足够了 - 没有必要用过时的数据做出决定).同样,如果A和B之间的网络出现故障,则历史记录将具有不完整的历史记录.这有多重要啊?
  • 没有"发现".需要更多地管理组件之间的关系.

RabbitMQ类型Broker系统:

在此输入图像描述

好处:

  • 邮件保证交付.
  • 发现通过经纪人管理.

缺点

  • 慢得多,高延迟
  • 更多部署和维护(经纪人/ RabbitMQ需要在机器上安装,它不仅仅是内置于模块中)

中间选项:

我看过卡夫卡.这是经纪人,因此发现得到了解决.然而,它似乎比RabbitMQ更轻量级,虽然它不保证交付(因此更快/更低的延迟)它确实维持秩序,RabbitMQ没有.它还可以缓冲消息 - 因此,如果出现网络问题,可以检索它们.

写下来之后,我不确定保证交付的重要性.如果控制模块收到消息,如果它是"旧"则无关紧要.如果历史学家有完整的历史,那将是伟大的 - 但它是否必不可少?

在ZeroMQ中实现我自己的"消息缓冲区"可能是一种选择,用于在发生故障时存储消息的网络通信.我有比RabbitMQ更多的控制权,并且可以在我需要它时通过更不可靠(通过网络)进行消息传递时实现它.

显然,权衡这些优点或缺点是我的工作.我的问题是:还有什么需要考虑的吗?并且确实为这两个选项的结构是否合理?

我计划将大多数实现都放在C#中,而且我目前在消息传递系统方面没有经验.

architecture message-queue

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