小编Den*_*din的帖子

编写新的"malloc"和"free"函数

对于面试问题:我将如何编写新的"malloc"和"free"功能?我不认为"使用new和delete"是一个可接受的答案或使用像LocalAlloc/HeapAlloc这样的东西

c c++ windows memory-management

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

空Matlab结构S与所有元素S(:)之间的区别

我的问题是:if S和empty 之间有什么区别.S(:)S

我认为由于这个问题存在差异: 将字段添加到空结构中

最小的说明性示例:

S = struct(); %Create a struct
S(1) = []; %Make it empty
[S(:).a] = deal(0); %Works
[S.b] = deal(0); %Gives an error
Run Code Online (Sandbox Code Playgroud)

给出的错误:

当结构为空时,点名结构分配是非法的.在结构上使用下标.

matlab matlab-struct

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

1x1矩阵的第一个元素与1x1矩阵的所有元素之间的差异

在找到处理空结构的逻辑之后,我想检查这是如何推广到矩阵的.

在这里我注意到以下内容:

如果您有1x1矩阵,并分配给第一个元素.它与分配给所有元素不同.

这让我感到很惊讶,因为第一个元素与本案例中的所有元素完全相同.以下是我的观察:

x = 1;
y = 1;
z = 1;

x(:) = []; % Evaluates to [] as I expected
y(1) = []; % Evaluates to Empty matrix: 1-by-0, rather than []
z(1,1) = []; %Throws an error: 'Subscripted assignment dimension mismatch.' even though size(z)  gives [1 1];
z(1,:) = []; % Evaluates to Empty matrix: 0-by-1, just like z(:,:) = []
Run Code Online (Sandbox Code Playgroud)

看到这个之后,我的问题是:

为什么以不同的方式分配同一个东西,导致四种不同的结果?

matlab matrix

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

Flink 的简单 hello world 示例

我正在寻找 Apache flink 的 hello-world 体验的最简单的示例。

假设我刚刚在一个干净的盒子上安装了 flink,那么为了“让它做某事”我需要做的最低限度是什么。我意识到这很模糊,这里有一些例子。

来自终端的三个 python 示例:

python -c "print('hello world')"
python hello_world.py
python python -c "print(1+1)"
Run Code Online (Sandbox Code Playgroud)

当然,流应用程序要复杂一些,但这里与我之前为 Spark 流所做的类似:

https://spark.apache.org/docs/latest/streaming-programming-guide.html#a-quick-example

正如您所看到的,这些示例有一些很好的属性:

  1. 它们是最小的
  2. 对其他工具/资源的依赖性最小
  3. 逻辑可以进行简单调整(例如不同的数字或不同的分隔符)

所以我的问题是:

Flink 最简单的 hello world 示例是什么


到目前为止,我发现的是需要编译的包含 50 行代码的示例。

如果由于第 3 点而无法避免这种情况,那么满足第 1 点和第 2 点并使用(仅)默认提供的 jar 或从信誉良好的来源轻松获得的 jar 也可以。

apache-flink

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

Matlab如何向量化双循环?嵌套结构数组的设置值非常慢

我有一个嵌套结构数组t,格式为tab = value,其中a和b只是随机字符串.t可以具有任意数量的a作为字段名称,并且每个a可以具有任意数量的b作为字段名称.我需要制作一个名为x的副本,但是设置所有xab = 0.另外,我需要以ya = 0的形式为t中的所有a创建另一个结构数组.现在我正在使用嵌套的for循环解决方案,但如果有太多的a和b,它太慢了.有人能告诉我是否有任何方法可以对此嵌套循环或此代码中的任何其他操作进行矢量化,以使此代码运行得更快?谢谢.

names1 = fieldnames(t);
x = t;
y = {};
for i=1:length(names1)
  y.(names1{i}) = 0;
  names2 = fieldnames(x.(names1{i}));
  for j=1:length(names2)
      x.(names1{i}).(names2{j}) = 0;
  end
end 
Run Code Online (Sandbox Code Playgroud)

样品:

if t is such that
t.hello.world = 0.5
t.hello.mom = 0.2
t.hello.dad = 0.8
t.foo.bar = 0.7
t.foo.moo = 0.23
t.random.word = 0.38

then x should be:
x.hello.world = 0
x.hello.mom = 0
x.hello.dad = 0
x.foo.bar = 0
x.foo.moo = 0
x.random.word = 0

and y should …
Run Code Online (Sandbox Code Playgroud)

matlab for-loop nested structure vectorization

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

在 Flink SourceFunction 中获取 ClassNotFound 异常

我正在使用协议缓冲区将数据流发送到 Apache Flink。我有两节课。一种是生产者,一种是消费者。Producer 是一个 java 线程类,它从 socket 中读取数据,Protobuf 将其反序列化,然后将其存储在我的 BlockingQueue 中。 Consumer 是一个在 Flink 中实现 SourceFunction 的类。我使用以下方法测试了这个程序:

DataStream<Event.MyEvent> stream = env.fromCollection(queue);
Run Code Online (Sandbox Code Playgroud)

而不是自定义源,它工作正常。但是当我尝试使用 SourceFunction 类时,它会引发此异常:

Caused by: java.lang.RuntimeException: Unable to find proto buffer class
at com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:775)
...
Caused by: java.lang.ClassNotFoundException: event.Event$MyEvent
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
...
Run Code Online (Sandbox Code Playgroud)

在另一次尝试中,我将两个分类为一个(实现 SourceFunction 的类)。我从套接字获取数据并使用 protobuf 将其反序列化并将其存储在 BlockingQueue 中,然后我立即从 BlockingQueue 中读取。我的代码也适用于这种方法。

但我想使用两个单独的类(多线程),但它会抛出该异常。我试图在过去 2 天内解决它,也做了很多搜索,但没有运气。任何帮助都会受到重视。

制作人:

public class Producer implements Runnable {

    Boolean running = true;
    Socket socket = null, bufferSocket = null;
    PrintStream ps = …
Run Code Online (Sandbox Code Playgroud)

java protocol-buffers apache-flink flink-streaming

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

从 Spark 到雪花的连接

我写这篇文章不是为了问问题,而是分享知识。我正在使用 Spark 连接到雪花。但我无法访问雪花。数据块中的内部 JDBC 驱动程序似乎有问题。

这是我得到的错误。

java.lang.NoClassDefFoundError:net/snowflake/client/jdbc/internal/snowflake/common/core/S3FileEncryptionMaterial
Run Code Online (Sandbox Code Playgroud)

我尝试了许多版本的雪花 jdbc 驱动程序和雪花驱动程序。好像我可以匹配到正确的。

apache-spark apache-spark-sql snowflake-cloud-data-platform databricks

6
推荐指数
3
解决办法
2745
查看次数

查看 VPC 中/链接到 VPC 的所有 AWS 资源

我正在考虑清理 AWS 中的 VPC。但是,我正在努力找出里面有什么/它是如何使用的。

有没有办法查看“内部”或“链接到”此 VPC 的所有资源?

理想情况下,我会使用 AWS 控制台,但如果需要,我也可以通过 CLI 工作。浏览了一下,没有找到可以识别相关资源的地方。


我知道我可以去单个资源类型(例如 EC2 实例)找到链接到 VPC 的资源类型,但无法知道可能使用了哪些资源类型,这个 VPC 中可能有多种资源据我所知。

cloud amazon-web-services amazon-vpc

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

matlab矩阵中求子矩阵的通用方法

我正在寻找一种“好”方法来在更大的矩阵(任意维数)中找到矩阵(模式)。

例子:

total = rand(3,4,5);
sub = total(2:3,1:3,3:4);
Run Code Online (Sandbox Code Playgroud)

现在我希望这样的事情发生:

loc = matrixFind(total, sub)
Run Code Online (Sandbox Code Playgroud)

在这种情况下loc应该变成[2 1 3].

现在我只对找到一个点(如果存在)感兴趣,并不担心舍入问题。可以假设sub“适合” total


这是我如何在 3 维上做到这一点,但感觉有更好的方法:

total = rand(3,4,5);
sub = total(2:3,1:3,3:4);
loc = [];
for x = 1:size(total,1)-size(sub,1)+1
    for y = 1:size(total,2)-size(sub,2)+1
        for z = 1:size(total,3)-size(sub,3)+1
            block = total(x:x+size(sub,1)-1,y:y+size(sub,2)-1,z:z+size(sub,3)-1);
            if isequal(sub,block)
                loc = [x y z]
            end
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

我希望为任意数量的维度找到可行的解决方案。

matlab matrix find

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

查找对特定内置MATLAB函数的间接调用

我想要什么?

我正在寻找一种方法来检测我的代码中调用特定函数的所有点.

我为什么要这样?

一些例子:

  • 有些输出是排序的或随机的,我想知道这发生了什么
  • 我正在考虑更改/重载一个函数,并想知道我的代码的哪一部分可能会产生影响

我试过了什么?

  • 我尝试在被调用的文件中放置一个断点.这仅适用于非内置函数,这些函数是从始终执行所有内容的短运行代码调用的.
  • 我试着"查找文件",这样,我可以很容易地找到直接调用sort,但它不是那么容易找到一个电话sort援引unique的例子.
  • 我试过depfun,它告诉我:
    • 是否会被召唤
    • 从哪里调用非内置函数
  • 我想过重载内置功能,但感觉就像是我的最后手段,因为我害怕弄得一团糟.| 编辑:由于功能优先,它也可能无济于事.

这个问题

跟踪从特定函数到特定(内置)函数的所有潜在(in)直接函数调用的最佳方法是什么.

debugging matlab built-in function-call

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