小编Mat*_*att的帖子

使用线程使用Swift更新UI

我正在使用Swift开发一个使用Xcode 6的软件.当我按下一个按钮时,我的代码从网上获取一些信息并将它们写在我的NSWindow上.

想象一下这样的事情:

@IBAction func buttonPressed(sender: AnyObject)
{
    for page in listOfPages                     //Number of pages is 40.
    {
        var label: NSTextField = NSTextField();

        label.stringValue = getInformetionsFromPage(page)

        /*
             some code to add label in the window here 
        */ 
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,一旦我点击按钮,我看到结果列表需要一段时间,在应用程序冻结的主要时间.那是因为我没有使用任何线程来处理这个问题.我怎样才能实现线程以查看循环的每一步都更新的每个标签?我是线程和Swift的新手,所以我需要一些帮助!

感谢你们.

xcode multithreading swift xcode6

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

如何计时 Spark 程序的执行速度

我想为我的 Spark 程序执行速度计时,但由于懒惰,这非常困难。让我们在这里考虑一下这个(无意义的)代码:

var graph = GraphLoader.edgeListFile(context, args(0))
val graph_degs = graph.outerJoinVertices(graph.degrees).triplets.cache

/* I'd need to start the timer here */
val t1 = System.currentTimeMillis  
val edges = graph_degs.flatMap(trip =>  { /* do something*/ })
                      .union(graph_degs)

val count = edges.count
val t2 = System.currentTimeMillis 
/* I'd need to stop the timer here */

println("It took " + t2-t1 + " to count " + count)
Run Code Online (Sandbox Code Playgroud)

问题是,转换是懒惰的,所以val count = edges.count在行之前没有任何评估。但是根据我的观点,t1尽管上面的代码没有值,但还是得到了一个值……t1尽管在代码中的位置,但在计时器启动后对上面的代码进行了评估。那是个问题...

在 Spark Web UI 中,我找不到任何有趣的东西,因为我需要在该特定代码行之后花费时间。您认为是否有一个简单的解决方案可以查看何时对一组转换进行真实评估?

scala distributed-computing lazy-evaluation apache-spark rdd

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

如何使用 TensorFlow 连接具有不同形状的两个张量?

您好,我是 TensorFlow 的新手,我想将 2D 张量连接到 3D 张量。我不知道如何通过利用 TensorFlow 函数来做到这一点。

tensor_3d = [[[1,2], [3,4]], [[5,6], [7,8]]]  # shape (2, 2, 2)
tensor_2d = [[10,11], [12,13]]                # shape (2, 2)

out: [[[1,2,10,11], [3,4,10,11]], [[5,6,12,13], [7,8,12,13]]]  # shape (2, 2, 4)
Run Code Online (Sandbox Code Playgroud)

我会通过使用循环和新的 numpy 数组来让它工作,但那样我就不会使用 TensorFlow 转换。关于如何使这成为可能的任何建议?我不明白转换是怎样的:tf.expand_dims或者tf.reshape可能在这里有帮助......

感谢您分享您的知识。

python numpy neural-network tensorflow

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

JavaFX 中的 TextFlow 不显示任何内容

我使用“JavaFX Scene Builder”为我的应用程序创建了一个 UI。

我需要在 TextFlow 对象中显示文本,所以在我的类中(实现 javafx.fxml.Initializable )我写了这个

public void initialize(URL location, ResourceBundle resources)
{    
     Text t1 = new Text("My name is Josh!");
     tofl = new TextFlow(t1);
}
Run Code Online (Sandbox Code Playgroud)

这样我的 TextFlow 对象根本不显示文本。我要呼吁的方法tofl一样tofl.apply(),让文字显示?

TextFlow 被初始化为方法上方的一个字段,它也都与 fxlm 文件相关联。使用 TextArea 一切正常。

java user-interface javafx textflow

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

如何使用面向对象的设计实现图搜索(DFS)

我不太确定在面向对象的世界中建模这个问题的最佳方法是什么.

假设我必须用Java表示图形及其节点,并假设我想使用深度优先搜索(DFS)遍历图形.

这两者中软件工程的最佳方法是什么:

  • 创建一个类Node,一个类Graph和一个类GraphsFunctions,其中GraphsFunctions类包含DFS采用Grapha和a Node作为参数的方法.像这样:public void DFS(Graph g, Node n)和电话new GraphsFunctions().DFS(new Graph(), new Node())

  • 创建一个类Node和一个类Graph,其中类Graph包含DFS仅将a Node作为参数的方法.像这样:public void DFS(Node n)和电话new Graph().DFS(new Node())

我宁愿使用两个选项中的第一个,但我不能说为什么它对我来说是最好的.你能告诉我什么是最好的选择,实际上最好吗?

java oop design-patterns graph

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

通过 AWS [EMR] 提交 Spark 应用程序

您好,我对云计算非常陌生,所以我对(也许)这个愚蠢的问题表示歉意。我需要帮助才能知道我所做的实际上是在集群上计算还是只是在主服务器上计算(无用的东西)。

我可以做什么: 我可以使用 AWS 控制台设置一个由一定数量的节点组成的集群,并在所有节点上安装 Spark。我可以通过 SSH 连接到主节点。那么需要什么才能在集群上运行我的带有 Spark 代码的 jar。

我会做什么: 我会调用spark-submit来运行我的代码:

spark-submit --class cc.Main /home/ubuntu/MySparkCode.jar 3 [arguments] 
Run Code Online (Sandbox Code Playgroud)

我的疑问:

  1. 是否需要使用 --master 和 master 的“spark://”引用来指定 master ?我在哪里可以找到该参考资料?我应该运行 sbin/start-master.sh 中的脚本来启动独立集群管理器还是已经设置了?如果我运行上面的代码,我想该代码只能在主服务器上本地运行,对吧?

  2. 我可以将输入文件仅保留在主节点上吗?假设我要统计一个巨大文本文件的字数,我可以只将其保存在master的磁盘上吗?或者为了保持并行性,我需要像 HDFS 这样的分布式内存?我不明白这一点,如果适合的话,我会将其保留在主节点磁盘上。

谢谢您的回复。

UPDATE1: 我尝试在集群上运行 Pi 示例,但无法得到结果。

$ sudo spark-submit   --class org.apache.spark.examples.SparkPi   --master yarn   --deploy-mode cluster   /usr/lib/spark/examples/jars/spark-examples.jar   10
Run Code Online (Sandbox Code Playgroud)

我希望得到一行 print ,Pi is roughly 3.14...而不是我得到:

17/04/15 13:16:01 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/04/15 13:16:03 INFO RMProxy: Connecting to ResourceManager …
Run Code Online (Sandbox Code Playgroud)

cloud amazon-web-services hdfs emr apache-spark

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

在NSTextField上按下Enter键时如何做某事

我正在使用Swift为Mac编写应用程序.

我在NSTextField对象中写了一个字符串,我想将它保存在.txt文件中.我希望一旦用户按下Enter键,就会发生这种情况.我的方法.writeToFile()已经准备就绪,我无法弄清楚如何在按下该键后立即运行它.

我找不到Swift语言的正确答案.谢谢.

macos nstextfield swift xcode6

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

了解Spark分区

我试图了解Spark如何分区数据.假设我在图片中有一个像执行DAG的执行DAG(橙色框是舞台).这两个groupByjoin操作应该是非常沉重的,如果RDD的不分区.

在此输入图像描述 那么使用.partitonBy(new HashPartitioner(properValue))P1,P2,P3和P4以避免随机播放是明智的吗?分区现有RDD的成本是多少?什么时候不适合分区现有的RDD?如果我没有指定分区程序,Spark是否会自动对我的数据进行分区?

谢谢

scala distributed-computing apache-spark rdd

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

在macOS上使用Swift绘制PDF

我的目标是在PDF上编写文本,就像注释一样.

我实现了将PDFPage转换为NSImage,我绘制了NSImage,然后保存了由图像形成的PDF.

let image = NSImage(size: pageImage.size)        
image.lockFocus()

let rect: NSRect = NSRect(x: 50, y: 50, width: 60, height: 20)
"Write it on the page!".draw(in: rect, withAttributes: someAttributes)

image.unlockFocus()

let out = PDFPage(image: image)
Run Code Online (Sandbox Code Playgroud)

问题显然是out(输出PDF的新页面)是图像的PDF页面而不是常规页面.因此输出PDF的大小非常大,您无法在其上复制和粘贴任何内容.这只是一系列图像.

我的问题是,如果有一种方法可以在不使用NSImage的情况下以编程方式在PDF页面上添加简单文本.任何的想法?

注意:在iOS编程中有这个类,UIGraphicsBeginPDFPageWithInfo在我的情况下可能非常有用.但我找不到类似的macOS开发类.

pdf macos swift

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