我需要向全局注册的进程发送一条消息,当它被替换为备份进程(即故障转移)时,可能在短时间内不可用.
以下片段是好的Erlang代码:
% send message to globally registered process, with possibility to retry once
send_message(To, Message, Retry) ->
try global:send(To, Message)
catch
% registered process To is unavailable
exit: {badarg, {To, Message}} ->
io:format("catch: exit: {badarg,{~w, ~w}}~n", [To, Message]), % dbg only
case Retry of
true ->
% retry sending message, after 1 second
sleep(1000),
send_message(To, Message, false);
false ->
% re-throw caught exit, including stack trace
erlang:raise(exit, {badarg, {To, Message}},
erlang:get_stacktrace())
end
end.
Run Code Online (Sandbox Code Playgroud)
Retry参数为true或false,表示如果出现问题,应重试一次消息.如果仍然无法发送消息,我希望引发相同的异常,就像在try-catch块之外调用global:send(To,Message)一样.
我知道上面的工作,但我担心我的case块的错误部分是否是好的erlang(例如使用erlang:raise()和rlang:get_stacktrace()).
有什么想法或建议使代码"更好"?
我希望能够在同一个域下托管多个NodeJS应用,而无需使用子域(例如google.com/reader而不是images.google.com).问题是我总是在Express/NodeJS中输入网址的第一部分,例如"/ reader".
如何设置Express应用程序以使基本URL成为something.com/myapp?
所以代替:
app.get("/myapp", function (req, res) {
// can be accessed from something.com/myapp
});
Run Code Online (Sandbox Code Playgroud)
我可以:
// Some set-up
app.base = "/myapp"
app.get("/", function (req, res) {
// can still be accessed from something.com/myapp
});
Run Code Online (Sandbox Code Playgroud)
我还想将Connect的staticProvider配置为以相同的方式运行(现在它默认为提供静态文件something.com/js或something.com/css代替something.com/myapp/js)
我在我的UITableview中使用了搜索栏.当我输入搜索文本时,背景颜色将自动更改为白色.
而且我用过:
tableView.bounces=FALSE;
Run Code Online (Sandbox Code Playgroud)
当我使用搜索栏时,那个时间反弹,也行不通.
输出如下:

当我搜索内容时,我需要更改背景颜色.
我需要:
tableView.bounces = FALSE;
当我搜索内容时会工作.
我的JSF应用程序中的i18n枚举有问题.当我开始时,我有内部定义文本的枚举.但现在,我在枚举中将密钥绑定到消息包.
我的枚举示例之一:
public enum OrderStatus implements CustomEnum {
PENDING("enum.orderstatus.pending"),
CANCELED("enum.orderstatus.canceled");
/**
* key in message bundle
*/
private String name;
OrderStatus(String name) {
this.name = name;
}
@Override
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
在视图层中,我使用如下内容:
<!-- input -->
<h:selectOneMenu value="#{order.status}">
<f:selectItems value="#{flowUtils.orderStatuses}"/>
</h:selectOneMenu>
<!-- output -->
<h:outputText value="#{order.status}"/>
Run Code Online (Sandbox Code Playgroud)
在Java中:
public class FlowUtils {
public List<SelectItem> getOrderStatuses() {
ArrayList<SelectItem> l = new ArrayList<SelectItem>();
for(OrderStatus c: OrderStatus.values()) {
// before i18n
// l.add(new SelectItem(c, c.getName()));
// after i18n
l.add(new SelectItem(c, …Run Code Online (Sandbox Code Playgroud) 我有一个测试,它将大量预期的XML与实际收到的XML进行比较.如果XML明显不同,则将实际的XML写入磁盘进行分析,测试失败.
我更喜欢使用assertEquals,以便我可以在Eclipse中更轻松地比较XML - 但这可能会导致非常大的JUnit和CruiseControl日志.
有没有办法可以改变JUnit测试行为,具体取决于它是通过Eclipse运行还是通过Ant运行.
我遇到了一个问题,即在OCR识别的文本中匹配字符串并找到它的位置,考虑到可以对错误,缺失或额外字符进行任意容忍.结果应该是最佳匹配位置,可能(不一定)匹配子串的长度.
例如:
String: 9912, 1.What is your name?
Substring: 1. What is your name?
Tolerance: 1
Result: match on character 7
String: Where is our caat if any?
Substring: your cat
Tolerance: 2
Result: match on character 10
String: Tolerance is t0o h1gh.
Substring: Tolerance is too high;
Tolerance: 1
Result: no match
Run Code Online (Sandbox Code Playgroud)
我试图改编Levenstein算法,但它不适用于子串并且不返回位置.
Delphi中的算法是首选,但任何实现或伪逻辑都可以.
我们都知道SQLException是一个经过检查的Exception,我们大多数人都同意,检查过的Exception是冗长的,会导致throw/catch污染.
我应该选择哪种方法来避免抛出SQLException?建议使用哪个包装/技术/库?(例如Spring人员的DataAccessException,但我不想使用Spring)
我想知道是否有关于网页文件大小的网络标准,考虑到用户具有平均互联网连接,页面上的总资产重量应该多少.
谢谢
在numpy,什么是最有效的计算方法x.T * x,哪里x是一个大的(200,000 x 1000)密集float32矩阵,并且.T是转置运算符?
为避免疑义,结果为1000 x 1000.
编辑:在我原来的问题中,我说这np.dot(x.T, x)需要几个小时.事实证明,我有一些NaNs潜入矩阵,并且由于某种原因完全扼杀了np.dot(任何见解为什么?)现在已经解决了,但最初的问题仍然存在.
我通过价值获得最大价值.它可以是任何数字(整数).我希望它使用PHP获取下一个第十个值
例:
如果值是66,那么我需要值70
如果值是6,那么我需要值10
如果值是98,那么我需要值100