小编XZe*_*Zen的帖子

Groovy,"尝试与资源"建设的替代方案

我是Groovy的新手.我曾经在使用I/O流时在我的Java代码中使用'try-with-resources'构造.

能否请您指教,Groovy中是否有类似的这种结构?

groovy

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

Docker组合端口转发无法正常工作

当我使用非常简单的命令使用docker:

docker run -p 80:80 nginx
Run Code Online (Sandbox Code Playgroud)

端口转发工作正常,当我使用浏览器/ curl转到localhost:80时,我可以获得nginx的"欢迎页面".

在我使用非常相似但docker-compose特定配置的同时:

version: '3'
services:
  nginx:
    image: nginx
    ports:
     - "80:80"
Run Code Online (Sandbox Code Playgroud)

当我这样做docker-compose up并去浏览器时 - 我看到无限加载,所以看起来端口转发没有正确配置,但我无法理解配置中的错误.我尝试使用不同的浏览器和卷曲,我得到相同的结果 - 无限加载.

这里的Nginx只是一个例子,因为它很简单,实际上我和redis/mysql/java图像有同样的问题,所以问题与nginx无关.

我还尝试了以下方法通过docker-compose启动容器:

docker-compose run -p 80:80 nginx

docker-compose run --service-ports nginx
Run Code Online (Sandbox Code Playgroud)

但没有运气,我得到了同样的结果.

在这两种情况下(docker rundocker-compose up)我都有相同的网络驱动程序类型 - bridge.

我比较docker inspect <container id>了两种情况的结果:http://i.prntscr.com/obvxi0yESEa92znLDEu_PA.png

结果docker inspect <network id>:http: //i.prntscr.com/yyTpetvJSXa-dz4o9Pcl3w.png

ifconfig docker0 结果:

docker0   Link encap:Ethernet  HWaddr 02:42:f1:9a:b6:72  
          inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

10
推荐指数
3
解决办法
5790
查看次数

Linux系统中指定的EBS卷名与实际设备名之间的链接

我有附加了EBS卷的EC2实例,因此describe-instances命令打印:

     "DeviceName": "/dev/sdf",
     "Ebs": {   "Status": "attached",
                "DeleteOnTermination": false,
                "VolumeId": "vol-04bfa2fab8e57a3dc",
                "AttachTime": "2016-09-26T09:39:08.000Z"   }
Run Code Online (Sandbox Code Playgroud)

根据文件:

根据内核的块设备驱动程序,可能使用与指定名称不同的名称附加设备

在我的情况下,这个卷的实际名称是/dev/xvdf.

是否可以从实例中知道在亚马逊控制台中为卷指定了哪个名称?

反之亦然 - 知道linux将为实例外的卷使用哪个实际名称?

amazon-ec2 amazon-ebs amazon-web-services

9
推荐指数
3
解决办法
931
查看次数

如何检查当前当地时间是否为夏令时?

例如,在Ruby中,有一个Time#dst?函数,它在夏令时的情况下返回true.是否有Go标准库API调用来做同样的事情?

go

9
推荐指数
2
解决办法
557
查看次数

使用带有 selenium-java-4.0.0 和 chromedriver v85 的开发工具时出现超时异常

我正在尝试使用 selenium 开发工具 java API,对于多种 API 方法,我得到了java.util.concurrent.TimeoutException.

例如,我正在尝试使用Network.clearBrowserCache,它应该可以根据 chromedriver 文档工作:https ://chromedevtools.github.io/devtools-protocol/tot/Network/

我正在clearBrowserCache使用以下代码调用: chromeDriver.getDevTools().send(Network.clearBrowserCache())

它失败了,但同时如果我使用其他类似这样的 devTools 命令: chromeDriver.getDevTools().send(Browser.getVersion())

它正确返回数据。

  • Chrome 版本为:85.0.4183.39
  • Chromedriver 版本为:85.0.4183.87
  • Selenium-java 版本为:4.0.0-alpha-6

java selenium google-chrome-devtools selenium-chromedriver selenium4

9
推荐指数
2
解决办法
713
查看次数

Android EditText,在numberDecimal输入类型的情况下显示逗号和点作为可能的分隔符

当输入十进制数时,我需要让用户在两种变体之间进行选择:

使用逗号(,)作为分隔符

使用点(.)作为分隔符

默认情况下,如果我inputType="numberDecimal"EditTextxml配置中使用 - EditText仅显示数字和逗号(,)作为可能的分隔符.

我尝试使用android:digits="0123456789,在我的EditText配置中,但没有结果 - EditText小部件只显示数字和逗号.

我想在屏幕键盘上尝试输入十进制数时,可以为用户提供两种变体(.,).

您能否提一些建议?

android

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

在groovy脚本的情况下,黄瓜步骤定义中的弹簧注入

使用Groovy Script方法实现步骤定义非常方便,但在这种情况下,不清楚是否可以使用Spring注入.

在Groovy脚本的情况下,没有类,只有一组闭包,像这样:

this.metaClass.mixin(Hooks)
this.metaClass.mixin(EN)

Given(~/^we do something$/) { ->    
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用Spring与Groovy脚本?

groovy spring cucumber cucumber-jvm

7
推荐指数
0
解决办法
406
查看次数

项目和自定义项目特定用户角色的 OAuth2 授权

我是 OAuth2 的新手,并试图找出以下场景的最佳实践:

  • 我正在实施“ToDo”网络服务(“任务”的 CRUD)
  • 我使用 OAuth2 和 Google 作为身份验证提供商来获取用户详细信息(电子邮件、姓名)
  • 现在我需要为用户实现特定于项目的角色(“管理员”,“用户”)

就 OAuth2 而言 - Google 并不“拥有”我的服务,因此它无法帮助我存储/提供“ToDo”特定角色,这是正确的吗?

实现它的常见/最佳方法是什么,我是否需要创建自己的授权服务,在其中需要存储诸如用户信息 - >项目特定角色之类的关系?

oauth-2.0 google-oauth

7
推荐指数
1
解决办法
675
查看次数

使用PixelBuffer或FBO进行离屏渲染,使用OpenGL ES 2.0将所有图形保存到所需大小(> 4096)的位图(然后是bmp/jpg)

我需要能够将我的所有图形(我使用GLSurfaceView类中的基本代码渲染)保存到图片文件(JPG/BMP).

我选择的方法包含以下步骤:

  • 将渲染从Window Surface切换到具有所需宽度/高度的Pixel Buffer表面 - 在我的情况下,这个w/h应该等于photo(我的应用程序就像照片编辑器)
  • 使用当前曲面的glReadPixels读取像素
  • 将这些像素保存到位图,然后保存到JPG/BMP

但是我对这种方法有一个问题,因为创建PixelBuffer有一个限制,即这个缓冲区的大小不能大于EGL常量:EGL_MAX_PBUFFER_HEIGHT和EGL_MAX_PBUFFER_WIDTH.

我发现有很多设备,这些常数等于4096,同时这些设备中的照相机允许拍摄宽度或高度大于4096的照片.不幸的是,这使我的方法无法使用.

你可以建议 - 如何将所有OpenGL图形(在我的情况下通过某些照片完成)保存到具有所需宽度/高度的JPG/BMP(在我的情况下,它是原始照片的宽度/高度),它可以大于EGL_MAX_PBUFFER_HEIGHT/EGL_MAX_PBUFFER_WIDTH?

编辑:

  • 在调查期间,我发现PBuffer方法肯定是坏的,因为它不适用于所有设备,它有nvidia tegra的问题,而且它的速度很慢
  • 似乎即使是FBO方法(我不确定,我现在正在调查它)也有类似的限制 - 据我所知,在FBO方法的情况下我需要创建renderbuffer,但它的大小也不能大于GL_MAX_RENDERBUFFER_SIZE,在经测试的Android设备上为4096.
  • 好吧,似乎我需要使用几个缓冲区,也许我可以尝试使用MappedByteBuffer合并它们并压缩到jpg避免OOM

android opengl-es-2.0

6
推荐指数
0
解决办法
696
查看次数

Sitebricks控制器中的方法拦截或请求参数验证

我正在将Sitebricks与Guice一起使用以实现REST服务,并且我有一组这样的方法:

@Get
@At("/:version/har/mostRecentEntry/assertResponseTimeWithin")
public Reply<?> doSomething(@Named("version") int version, Request<String> request) {
// Validation logic for request parameters ...

// Extracting parameters (converting url params to domain area objects)

// Actual business logic
}
Run Code Online (Sandbox Code Playgroud)

这导致大量复制/粘贴代码。

我正在寻找从请求参数中分离常见的验证和提取数据逻辑的方法。也许我可以使用AOP来做到这一点,但是Sitebricks提供的方法也许更简单?

java guice sitebricks

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