我有几个像我这样的码头工人集装箱
由于Nginx需要连接Web应用程序1和2中的Web应用程序服务器,并且Web应用程序需要与postgresql交谈,所以我有这样的链接
这在开始时效果很好,但是,当我开发新版本的Web应用程序1和Web应用程序2时,我需要替换它们.我所做的是删除Web应用程序容器,设置新容器并启动它们.
对于Web应用程序容器,它们的IP地址最初会是这样的
在我更换它们之后,它们现在有了新的IP地址
此时,Nginx容器中的那些公开环境变量仍指向旧IP地址.这就出现了问题,如何在不破坏其他容器之间的连接的情况下更换容器?同样的问题也会发生在PostgreSQL上,如果我想升级PostgreSQL映像版本,我当然需要删除它并运行新的,但后来我需要重建整个容器图,这对于真正的不是一个好主意生活服务器操作.
我想std::string用c ++ 读取文本文件的全部内容到一个对象.
使用Python,我可以写:
text = open("text.txt", "rt").read()
Run Code Online (Sandbox Code Playgroud)
它非常简单而优雅.我讨厌丑陋的东西,所以我想知道 - 用C++读取文本文件最优雅的方法是什么?谢谢.
大多数有经验的程序员都知道数据对齐对于程序的性能很重要.我看到一些程序员编写的程序分配比他们需要的更大的缓冲区大小,并使用对齐的指针作为开始.我想知道我应该在我的程序中这样做,我不知道是否有任何保证C++的新操作返回的地址对齐.所以我写了一个小程序来测试
for(size_t i = 0; i < 100; ++i) {
char *p = new char[123];
if(reinterpret_cast<size_t>(p) % 4) {
cout << "*";
system("pause");
}
cout << reinterpret_cast<void *>(p) << endl;
}
for(size_t i = 0; i < 100; ++i) {
short *p = new short[123];
if(reinterpret_cast<size_t>(p) % 4) {
cout << "*";
system("pause");
}
cout << reinterpret_cast<void *>(p) << endl;
}
for(size_t i = 0; i < 100; ++i) {
float *p = new float[123];
if(reinterpret_cast<size_t>(p) % 4) {
cout …Run Code Online (Sandbox Code Playgroud) 我想知道我应该为所有东西编写单元测试.有些类很难编写单元测试.例如,我正在编写一些处理音频的程序.用于从麦克风捕获音频的类,以及用于播放音频到扬声器的类,如何为这些类编写单元测试?我无法获得这些类的输出和输入,因此几乎不可能测试它们?我唯一能做的测试就是吸气器和定位器,那些无聊的测试.所以问题是,编写单元测试的指导原则是什么?我应该如何处理这些类很难测试?
在TypeScript中,您可以组合两种类型的接口类型
interface Foo {
var1: string
}
interface Bar {
var2: string
}
type Combined = Foo & Bar
Run Code Online (Sandbox Code Playgroud)
我想要将键从一个接口排除到另一个接口,而不是组合键.无论如何你可以在TypeScript中做到吗?
原因是,我有一个HOC,它管理其他包装组件的属性值
export default function valueHOC<P> (
Comp: React.ComponentClass<P> | React.StatelessComponent<P>
): React.ComponentClass<P> {
return class WrappedComponent extends React.Component<P, State> {
render () {
return (
<Comp
{...this.props}
value={this.state.value}
/>
)
}
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我可以写
const ValuedComponent = valueHOC(MyComponent)
Run Code Online (Sandbox Code Playgroud)
然后
<ValuedComponent />
Run Code Online (Sandbox Code Playgroud)
但问题是,返回的组件类型也使用来自给定组件的props类型,因此TypeScript会抱怨并要求我提供value道具.结果,我将不得不写一些类似的东西
<ValuedComponent value="foo" />
Run Code Online (Sandbox Code Playgroud)
无论如何都不会使用哪个值.我想要的是返回没有特定键的接口,我希望有这样的东西
React.ComponentClass<P - {value: string}>
Run Code Online (Sandbox Code Playgroud)
然后value在返回的组件中将不需要.现在可以在TypeScript中使用吗?
我有一个RxJS5管道看起来像这样
Rx.Observable.from([2, 3, 4, 5, 6])
.takeWhile((v) => { v !== 4 })
Run Code Online (Sandbox Code Playgroud)
我想保留订阅,直到我看到4,但我想最后一个元素4也包含在结果中.所以上面的例子应该是
2, 3, 4
Run Code Online (Sandbox Code Playgroud)
但是,根据官方文件,takeWhile运营商不具备包容性.这意味着当遇到与我们给出的谓词不匹配的元素时,它会在没有最后一个元素的情况下立即完成流.结果,上面的代码实际上会输出
2, 3
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,我能实现的最简单方法是什么,takeWhile但也用RxJS发出最后一个元素?
我正在开发一款游戏.为了测试我的地图引擎,我需要8个方向角色行走的图片.作为编程,编写程序并不困难,但绘制图片对我来说是个大问题.所以我的问题是我在哪里可以找到一些游戏开发的免费图片?图片应该是免费的,因为我可能会在互联网或某个地方发布一些演示版本.谢谢.
我有一个用Python编写并基于Twisted的音频广播服务器.它工作正常,但当服务器上有更多用户时,其内存使用量会增加,但当这些用户下线时,内存使用量不会下降.如下图所示: alt text http://static.ez2learn.com/temp/mem_figure3.svg
你可以看到内存使用曲线在听众/收音机的曲线上升的地方上升,但是在收听者/收音机的峰值之后,内存使用量仍然很高,永远不会下降.
我试过以下方法来解决这个问题:
这是我用来运行我的扭曲服务器的环境:
孔雀鱼转储:
Partition of a set of 116280 objects. Total size = 9552004 bytes.
Index Count % Size % Cumulative % Type
0 52874 45 4505404 47 4505404 47 str
1 5927 5 2231096 23 6736500 71 dict
2 29215 25 1099676 12 7836176 82 tuple
3 7503 6 510204 5 8346380 87 types.CodeType
4 7625 7 427000 4 8773380 92 function
5 …Run Code Online (Sandbox Code Playgroud) 我注意到,如果zeromq PUB套接字正在连接,它将缓冲所有传出数据
import zmq
import time
context = zmq.Context()
# create a PUB socket
pub = context.socket (zmq.PUB)
pub.connect("tcp://127.0.0.1:5566")
# push some message before connected
# they should be dropped
for i in range(5):
pub.send('a message should not be dropped')
time.sleep(1)
# create a SUB socket
sub = context.socket (zmq.SUB)
sub.bind("tcp://127.0.0.1:5566")
sub.setsockopt(zmq.SUBSCRIBE, "")
time.sleep(1)
# this is the only message we should see in SUB
pub.send('hi')
while True:
print sub.recv()
Run Code Online (Sandbox Code Playgroud)
这些消息之后的子绑定应该被删除,因为如果没有人连接它,PUB应该丢弃消息.但它不是丢弃消息,而是缓冲所有消息.
a message should not be dropped
a message should …Run Code Online (Sandbox Code Playgroud) python ×3
c++ ×2
alignment ×1
deployment ×1
docker ×1
file-io ×1
image ×1
memory-leaks ×1
mocking ×1
new-operator ×1
path ×1
performance ×1
pyzmq ×1
rxjs ×1
rxjs5 ×1
tdd ×1
text ×1
twisted ×1
typescript ×1
unit-testing ×1
windows ×1
zeromq ×1