我正在使用Spring Security在Grails应用程序中托管REST Web服务,即:
@Secured(['IS_AUTHENTICATED_REMEMBERED'])
def save = {
println "Save Ride REST WebMethod called"
}
Run Code Online (Sandbox Code Playgroud)
我是从Android应用程序调用它.(调用不安全的服务工作正常.)
要调用该服务,我手动构建一个request(HttpUriRequest)并使用一个执行它HttpClient.
我想知道最佳实践是什么,以及如何实现它们......具体来说,我应该:
我想我可以选择1工作,但我不确定Spring Security是否允许(2),如果这是要走的路......谢谢!
- 而且,没有任何我想念的图书馆会为我做这一切吗?:)
我有一组对象,我想分成一组集合,其中每个连续的3个元素组在一个集合中.例如,如果我有
def l = [1,4,2,4,5,9]
Run Code Online (Sandbox Code Playgroud)
我想把它变成:
def r = [[1,4,2], [4,5,9]]
Run Code Online (Sandbox Code Playgroud)
我现在通过遍历集合并将其分解来实现它.但是我需要将这些"组"传递给处理它们的并行化函数.消除这种O(n)预处理会很好工作,只是说些什么
l.slice(3).collectParallel { subC -> process(subC) }
Run Code Online (Sandbox Code Playgroud)
我在Range类上找到了step方法,但看起来它只对索引起作用.任何聪明的想法?
更新:我不认为这是引用链接的重复,虽然它非常接近.如下所示,它更像是我正在寻找的迭代器类型的东西..子集合将被传递到GPars collectParallel.理想情况下,我不需要分配整个新集合.
我正在尝试调整我的应用程序主要是为了减少响应时间的"传播".平均值很好,但范围太宽.
Dynatrace显示较高的响应时间与较长的悬浮时间相关.这指向GC.
我尝试过根据在线阅读更改一些JVM GC值,但收效甚微.
基于GC日志,我认为分配率约为324 MB/s,促销率仅为0.85 MB/s.对我而言,它似乎具有非常高的分配率,所以我试图增加年轻一代的规模.
第一个屏幕截图是默认的Java 8设置,1024MB Xmx.
第二个屏幕截图是设置NewRatio = 1.
关于下一步尝试的任何建议都会非常感激.
我已经尝试过的事情:更改为G1GC,设置NewRatio = 1,设置NewRatio = 1并将Xmx增加到2048,设置NewSize = 1600m和Xmx = 2048,设置MetaspaceSize = 100
编辑:添加GC日志:http://pastebin.com/VhJwSuxv
注意:这些日志来自10分钟的测试,其中包含更改:NewRatio = 1
var ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'})
AWS.config.update({region: 'eu-west-1'})
var docClient = new AWS.DynamoDB.DocumentClient()
const params = {
TableName: 'TC_QUESTIONS',
Item: {
'questionId' : {S: '001'},
'questionText' : {S: 'Richard Roe'}
}
}
var putItemPromise = docClient.put(params).promise()
putItemPromise.then(function(data) {
console.log("Added item:", JSON.stringify(data, null, 2));
}).catch(function(err) {
console.error("Unable to add item. Error JSON:", JSON.stringify(err, null, 2));
});
await putItemPromise
Run Code Online (Sandbox Code Playgroud)
不返回错误。没有成功回调。当我使用错误的列名时,我会从 Dynamo 收到错误消息。我试过在本地和 lambda 上运行它。它执行并退出。没有行被添加到表中。我究竟做错了什么?
编辑: 这是我的 DynamoDB 表的 CF:
QuestionsTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: 'TC_QUESTIONS'
AttributeDefinitions:
- AttributeName: questionId
AttributeType: S
- …Run Code Online (Sandbox Code Playgroud) 好的,我已经在SO和网络上经历过许多类似的问题,但无济于事.我只是试图在SurfaceView顶部覆盖透明视图..并最终在其上绘制一个矩形,使其看起来覆盖相机预览.
我不能让自定义视图透明,它会阻挡底层相机预览.有什么建议?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<FrameLayout
android:layout_alignParentTop="true"
android:layout_width="fill_parent"
android:layout_height="400dip">
<SurfaceView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/drawSurface" />
<com.bobby.facecapture.FaceOverlayView
android:id="@+id/drawOverlay"
android:background="@android:color/transparent"
android:layout_width="200dip"
android:layout_height="200dip"
/>
</FrameLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
200x200只是暂时的,以证明它确实覆盖了另一个视图.
FaceOverlayView只是一个自定义视图 - 直接从View派生,不会覆盖任何东西(现在).
我在相机预览的顶部有一个黑色矩形
java ×2
android ×1
aws-lambda ×1
dynatrace ×1
groovy ×1
jvm ×1
node.js ×1
performance ×1
rest ×1
spring ×1
web-services ×1