我试图找到一种干净,代码高效的转换Optional<Integer>方式Optional<Long>.我正在使用Guava在Java 7中工作.
所以在代码中的一个地方我创建了一个可选的整数
Optional<Integer> optionalInt = Optional.fromNullable(someInt);
Run Code Online (Sandbox Code Playgroud)
在另一个领域,我需要它作为一个可选的长.我能想到的最好的事情是:
Optional<Long> optionalLong = optionalInt.transform(new Function<Integer, Long>() {
@Override
public Long apply(Integer inputInt) {
if (inputInt != null)
return inputInt.longValue();
else
return null;
}
});
Run Code Online (Sandbox Code Playgroud)
但这很麻烦,特别是如果你考虑在我使用原始类型时转换类型是多么容易.
有什么好主意吗?
我有一个工作的网络应用程序由nginx提供服务,后端为cherrypy,前端为ReactJS.
应用程序增长了所以我想使用react-router来快速访问带有URL的页面.例如,我希望my.domain.name/user将获取管理用户的应用程序中的部分.
我的单个index.html包含js包,如下所示:
<script src="/js/bundle.js"></script>
到目前为止,我的应用程序通过渲染AppMain开始.现在,我创建了一个NoMatch类,我将它们放入react-router中,如下所示:
ReactDOM.render((
<Router history={browserHistory}>
<Route path="/" component={AppMain}>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
), document.getElementById('main-central'));
Run Code Online (Sandbox Code Playgroud)
尝试这个时,它工作得很好.使用http://my.domain.name像以前一样给了我这个应用程序.但是thoeritcally现在尝试http://my.domain.name/whatever应该渲染任何NoMatch渲染.但相反,我得到了nginx 404页面.
所以我认为需要一个nginx端配置,但可能不仅仅是(这就是我将整个故事带到上面的原因).
Nginx配置(http部分)如下所示:
upstream app_servers {
server 127.0.0.1:9988;
}
# Configuration for Nginx
server {
location / {
root /var/www;
index index.html;
}
# Proxy connections to the application servers
# app_servers
location /api {
proxy_pass http://app_servers/api;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,cherrypy正在获得所有/ api/*路径.
我在/ …
我正在努力使AWS lambda能够将HTTPS POST请求发送到AWS Elastic beantalk服务。弹性beantalk提供Web和Web服务,并且运行良好。lambda正在使用AWS elasticache进行一些计算(效果很好),然后决定是否将HTTPS POST发送到beantalk URL。
Lambda用编写node.js。POST尝试后大约2分钟,我收到以下超时消息:
[Error: connect ETIMEDOUT X.Y.Z.W:443] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect', address: 'X.Y.Z.W', port: 443
Run Code Online (Sandbox Code Playgroud)
我在弹性bean nginx访问日志中没有看到请求的指示。
因此,我的理解是安全组设置不正确。
我排除了使用弹性beantalk阻止此类连接的选项-lambda使用的URL具有外部域名,可以从任何浏览器使用该URL,并且可以正常工作。
因此,我得出的结论是,lambda安全性阻止了这种连接。因此-我完全打开了lambda安全组,可以从任何地方进行“所有流量”操作-我仍然遇到此问题。
有任何想法吗?
aws-lambda ×1
cherrypy ×1
guava ×1
java ×1
java-7 ×1
nginx ×1
optional ×1
react-router ×1
reactjs ×1