小编Yuc*_*ong的帖子

错误:scalac:找不到类com.amazonaws.services.s3.event.S3EventNotification - 继续存根

我试图用aws lambda处理S3事件.以下是build.sbt文件,该文件是在Scala中编写AWS Lambda函数时修改的:

javacOptions ++= Seq("-source", "1.8", "-target", "1.8", "-Xlint")

lazy val root = (project in file(".")).
  settings(
    name := "lambda-demo",
    version := "1.0",
    scalaVersion := "2.11.4",
    retrieveManaged := true
  )

libraryDependencies ++= Seq(
  "com.amazonaws" % "aws-lambda-java-core" % "1.1.0",
  "com.amazonaws" % "aws-lambda-java-events" % "1.0.0"
)

assemblyMergeStrategy in assembly := {
  case PathList("META-INF", xs@_*) => MergeStrategy.discard
  case x => MergeStrategy.first
}
Run Code Online (Sandbox Code Playgroud)

简单的Main.scala:

package example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.events.S3Event

class Main {
  def myHandler(event: S3Event, context: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda

3
推荐指数
1
解决办法
506
查看次数

加入动态数量的期货

join!可以加入多个异步操作:

#![feature(future_join)]

use std::future::join;

async fn one() -> usize { 1 }
async fn two() -> usize { 2 }

let x = join!(one(), two()).await;
assert_eq!(x, (1, 2));
Run Code Online (Sandbox Code Playgroud)

有没有办法从一个向量中加入多个 future,以便异步调用的数量是动态的(在编译时未知)?

rust

3
推荐指数
1
解决办法
821
查看次数

OpenGL纹理坐标必须在0-1范围内

例如,如果我使用glTexCoord3f(GLfloat s,GLfloat t,GLfloat r),paramesters s,t,r应该是的范围内0.0f1.0f.但我很想知道我们是否可以设置一些超出此范围的值?

这样做的动机是,如果我试图可视化立方体的横截面,如下图所示.红色矩形'abcd'是我试图想象的横截面.但我注意到绿色矩形'ABCD'的坐标更容易获得(特别是当平面不垂直于任何轴时).

可视化立方体的横截面


我试试看.似乎没有任何问题.但我仍然有点担心.我不知道这样做是否是好的做法.各种图形卡是否支持此功能?

opengl

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

在启用ARC的情况下使用CMake构建Objective-C库

我正在尝试使用CMake构建一个启用了Objective-C ARC的库。使用“ Unix Makefiles”生成器时,我遇到警告:

方法可能缺少[super dealloc]调用

使用XCode生成器时,我不会遇到此警告。我是否可以将标志传递给CMake以确保命令行版本也将其识别为ARC版本并且没有生成该警告?

谢谢

objective-c cmake

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

如何等待覆盖异步函数?

我们有一个泛型Job类,它有一个HeavyTask像这样的抽象方法:

abstract class Job {
    private Task m_task; 
    protected abstract void HeavyTask(); 

    public void StartJob(){
        m_task = Task.Run(() => HeavyTask());
    }
    public async Task WaitJob(){
        await m_task; 
    }
}
Run Code Online (Sandbox Code Playgroud)

派生类重写该HeavyTask函数并使其异步:

class JobFoo : Job {
    protected override async void HeavyTask()
    {
        await Task.Delay(1000);
        Debug.WriteLine("JobFoo is done");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,当我们使用这种方法时,似乎HeavyTask()没有等待:

Job job = new JobFoo();
job.StartJob();
await job.WaitJob();
Debug.WriteLine("All Done");
Run Code Online (Sandbox Code Playgroud)

输出:

所有完成
JobFoo已完成

如果我们没有async覆盖HeavyTask,那么它按预期工作.但我不能保证那些超越的Job人不会做出的HeavyTask async.我想明白为什么不能等待它成功,有没有办法确保它等待?如果可以的话,你能否解释一下如何将非异步函数覆盖为async是一个好习惯,如上所示?

.net c# asynchronous task-parallel-library async-await

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

如何在android翻译文件中添加注释

我们发现当我们将文件交给翻译人员时,评论消息非常有帮助。对于 Android 应用程序,有没有办法在strings.xml中为翻译器添加注释消息?

// In the strings.xml
<string name="hello___">Hello %1$s</string>
Run Code Online (Sandbox Code Playgroud)

在 iOS 上,我们可以这样做:

// In the code, when we export the translation file to xliff, 
// The comments in `NSLocalizedString` will be collected and inserted into the xliff file
NSString *greetingMessage = NSLocalizedString(@"hello__", 
      @"A simple greeting messsage, %@ will be replaced by user's name");

// In the Localizable.strings file
"hello__"="hello %@";
Run Code Online (Sandbox Code Playgroud)

在 Windows 上,我们可以这样做:

// In the Resources.resw file:
<data name="hello__" xml:space="preserve">
     <value>Hello {0}</value>
     <comment>{0} will be replace …
Run Code Online (Sandbox Code Playgroud)

android

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

DVTPlugInManager:所需的插件兼容性不存在

最近推送到 git repo 时,继续从终端看到此错误日志。我认为这是因为我更新到 Xcode 9.2 或 macOS High Sierra。

2017-11-29 07:49:30.580 xcodebuild[1558:49212] [MT] DVTPlugInManager:所需的插件兼容性 UUID C3998872.. KSImageNamed.ideplugin (com.ksuther.KSImageNamed) 不存在

知道这意味着什么以及如何解决这个问题吗?

xcode

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

使用 dispose handler rxjava 创建 Observable

我们想要观察视图大小的变化,我们创建一个如下的扩展:

fun View.layoutSizeObservable(): io.reactivex.Observable<Size> {
    return io.reactivex.Observable.create<Size> { emitter ->
        viewTreeObserver.addOnGlobalLayoutListener {
            Log.d("MainFragment", "ViewTreeObserver Listener called back.")
            if (measuredWidth > 0 && measuredHeight > 0) {
                emitter.onNext(Size(measuredWidth, measuredHeight))
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我们像这样使用它,它的功能很好:

sizeChangedDisposable = titleTextView.layoutSizeObservable().subscribe { size: Size ->
    Log.d("MainFragment", "Size changed subscribe on $size")
}
Run Code Online (Sandbox Code Playgroud)

然而,有一点并不完全是我们想要的,它是Listener通过 添加的addOnGlobalLayoutListener,但从未被删除。

我们可以调用sizeChangedDisposable.dispose()它将正确停止订阅:

D/MainFragment:大小已更改订阅 $size

但这将继续被调用:

D/MainFragment:回调的ViewTreeObserver监听器。

我们如何以及在哪里删除布局侦听器回调?

android kotlin rx-java2

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

使用CUDA从GPU复制BIG数据

我是CUDA的新手,我正在尝试一个非常简单的任务 - 将内存复制到显卡然后复制回来.这是我编写的代码的简化版本.

const int arraySize = 100; 

int* data1 = NULL; 
int* data2 = NULL;
// Initialized both data1 and data2
// ... 

int* dev_data1 = NULL; 
int* dev_data2 = NULL; 
// Initialized both dev_data1 and dev_data2
// ... 

// copy data1 to device
cudaMemcpy(dev_data1, data1, arraySize*sizeof(int), cudaMemcpyHostToDevice );

// copy dev_data1 to dev_data2 with gpu
gpuCopy<<<1, arraySize>>>( dev_data1, dev_data2 ); 

// copy dev_data2 to data
cudaMemcpy(data2, dev_data2, arraySize*sizeof(int), cudaMemcpyDeviceToHost );
Run Code Online (Sandbox Code Playgroud)

并且gpuGopy是为以下几点:

__global__ void gpucopy( int* src, …
Run Code Online (Sandbox Code Playgroud)

c c++ cuda

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

类型'UILayoutPriority'没有成员'defaultHigh'

在我们的应用程序中使用此代码时,我们遇到错误:

let value = UILayoutPriority.defaultHigh // Error: Type 'UILayoutPriority' has no member 'defaultHigh'. 
Run Code Online (Sandbox Code Playgroud)

这是超级连接,因为根据文档,它显然是存在的.而且,如果我们点击UILayoutPriority并跳转到它的定义,我们也会在那里看到它.

UIKit > NSLayoutConstraint:

extension UILayoutPriority {

    @available(iOS 6.0, *)
    public static let required: UILayoutPriority
Run Code Online (Sandbox Code Playgroud)

那么为什么我们不能使用UILayoutPriority.defaultHigh

swift3.2 xcode9.2

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