小编Adi*_*tya的帖子

写一个自联接查询?

我有下表的值

CREATE TABLE #tmpEmployee(ID int, EmpName varchar(50), EmpBossID int)

insert into #tmpEmployee values ( 1, 'Abhijit', 2);
insert into #tmpEmployee values ( 2, 'Haris', 3);
insert into #tmpEmployee values ( 3, 'Sanal', 0);
Run Code Online (Sandbox Code Playgroud)

现在我希望结果如下

ID  EmpName BossName
1   Abhijit Haris
2   Haris   Sanal
Run Code Online (Sandbox Code Playgroud)

所以我写了以下查询.

select E1.ID,E1.EmpName, E.EmpName as BossName from #tmpEmployee E inner join #tmpEmployee E1 on E1.EmpBossID=E.ID.
Run Code Online (Sandbox Code Playgroud)

但问题是第三名员工(Sanal)没有老板.所以我想要这个确切的结果:

ID  EmpName BossName
1   Abhijit Haris
2   Haris   Sanal
3   Sanal   Null
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

sql join

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

用于动态图的 C/C++ 库?

我正在寻找一个库来操作动态图。我有一个模拟,在对图的结构进行一些更改(添加和删除边,在无向图上,所有边具有相同的权重)之后,我必须重复计算图的平均测地线长度。

我在我制作的 igraph 上使用了一个快速的 C++ 包装。igraph 用于静态图形,因此每次更改图形时,我都会从头开始重新计算测地线距离。这是一个蒙特卡罗模拟,所以我必须这样做数百万次才能恢复一些统计数据。它开始变得非常缓慢。

所以我寻找带有动态图算法的库,它可以在我删除或添加一条边后重新计算更新平均长度。我找到了一些关于这个主题的论文,但我真的不是专家(我只是一个物理学家,我只是偶然在一个问题上使用图表......我几乎没有数据结构和算法的知识)所以我可以甚至不读论文,更不用说实现算法了。

我发现这个库 LEDA (http://www.algorithmic-solutions.com/leda/) 似乎有一个动态图扩展,但它似乎没有维护(下载免费版本的链接已损坏)并且它是专有的.

有没有其他选择?我正在寻找 C/C++ 库。如果必须的话,也许是 Haskell,我绝对绝望。

c c++ algorithm graph libraries

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

Android历史内容观察者

我实现了历史的内容观察者,但它表现得很奇怪.对于历史中的每个变化,它的onChange()函数运行3-5次.

static class BrowserOberser extends ContentObserver {
    public BrowserOberser() {
        super(null);
    }

    @Override
    public boolean deliverSelfNotifications() {
        return true;
    }

    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);
        Log.d("History", "onChange: " + selfChange);
    }

}
Run Code Online (Sandbox Code Playgroud)

我也用我的观察员注册了

BrowserOberser observer = new BrowserOberser();
getApplication().getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true, observer );
Run Code Online (Sandbox Code Playgroud)

并在清单中添加了所需的权限.

代码工作正常,但onChange(); 每次历史变化都会运行3-5次
任何人都可以帮我解决这个问题吗?

browser android android-contentprovider contentobserver

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

为线性布局组件设置android:id

我正在使用拖放功能在我的活动中添加线性布局.当我检查activity_main.xml时,创建了组件,但没有"android:id"我无法手动添加id,因为在R.java中没有此布局的id.怎么解决?

android android-layout android-linearlayout

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

当我使其中一个视图无效时,为什么我的布局会完全重绘?

我有一个复杂的框架布局包含几个自定义视图.主视图是图表.

覆盖图形是一个自定义视图,它表示用户可以在图形周围拖动以读取有关特定数据点的详细信息的十字线指针.

框架布局捕获所有触摸事件,在其每个子视图上调用"命中测试"方法,以确定触摸是否在该视图上,然后将触摸事件调度到适当的视图.

当用户触摸十字线并拖动它时,我将触摸事件传递给它用来更新它的位置并使其自身无效的十字线.

一切正常,除了......

当我使任何这些子视图无效时,布局中的所有视图都会重绘.我知道这一点,因为我在开发者选项中打开了"show screen updates".在任何时候我都不会使包含的FrameLayout无效 - 或者至少,不是故意的.

当然,处理布局的Activity不会使它失效,并且我在子视图中没有对父级的任何引用.

我没有发布代码,因为a)我不知道这可能是正常的行为,b)有很多它!c)如果这不是正常行为,我不知道代码的哪一部分存在问题.当然,我很乐意提供任何可能要求的东西.

我的最小API是2.3.3,我的目标是4.0.这两个版本都会发生这种情况,所以我怀疑我的代码是问题,但从哪里开始?

有关可能发生的事情的任何线索?

android android-layout

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

为什么我们(有)使用不同的启动器图标(xhdpi,hdpi等)

我想知道,为什么我们在android中使用不同的启动器图标(大小).目前,您"有"将图标调整为:

LDPI - 36 x 36
MDPI - 48 x 48
HDPI - 72 x 72
XHDPI - 96 x 96
Run Code Online (Sandbox Code Playgroud)

并将它们放在所需的文件夹中.但是,如果你只在你的Android应用程序中放置一个xhdpi图标,并且你只是将ldpi,mdpi和hdpi文件夹留空,那真的很重要吗?

如果您在mdpi设备上尝试使用此配置的应用程序(仅限xhdpi图标),则会自动使用xhdpi图标(我假设设备会自动缩放图标),看起来很正常.

那么什么会阻止我们只制作一个xhdpi图标.它仍然会为每个设备产生一个清晰的应用程序图标(除了xxhdpi ofcourse).

android android-image android-icons

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

使用bazel构建Makefile

我正在尝试在bazel项目中构建子模块的Makefile。我看到bazel确实提供了执行bash命令的规则。我目前面临两个问题-

1.如何在执行命令之前将CD插入目录,例如-

genrule(
    name = "hello-make",
    srcs = ["hello"] + glob(["hello/**"]),
    outs = ["hello/main"],
    cmd = "(cd $(location :hello) && make)",
)
Run Code Online (Sandbox Code Playgroud)

2.在执行genrule之前如何更新更新子模块?

cmd = "(git submodule init && git submodule update)"fatal: Not a git repository (or any of the parent directories): .git

复制步骤:

  1. git clone git@github.com:bazelbuild/examples.git
  2. cd examples/ && git submodule add git@github.com:mucsi96/cpp-hello-world.git cpp-tutorial/stage1/main/hello
  3. cd cpp-tutorial/stage1/ && bazel build //main:hello-world

在此步骤之后,我想添加一条规则,该规则允许我进行初始化,更新并制作hello子模块。

git@github.com:mucsi96/cpp-hello-world.git比将其创建为的子模块更好的构建方法git clone git@github.com:bazelbuild/examples.git吗?

实际的项目更加复杂,为cpp-hello-world.git创建一个BUILD文件是不可行的。

c++ git makefile bazel

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

Keras 中的多任务学习

我正在尝试在 Keras 中实现共享层。我确实看到 Keras 有keras.layers.concatenate,但我不确定有关其使用的文档。我可以用它来创建多个共享层吗?使用 Keras 实现如下所示的简单共享神经网络的最佳方法是什么?共享神经网络


编辑 1: 请注意,所有 3 个 NN 的输入、输出和共享层的所有形状都相同。三个神经网络中有多个共享层(和非共享层)。每个神经网络的着色层都是独一无二的,并且具有相同的形状。

基本上,该图表示具有多个共享隐藏层的 3 个相同的 NN,然后是多个非共享隐藏层。

我不确定如何像 Twitter 示例中那样共享多个层,只有一个共享层(API 文档中的示例)。


编辑 2: 基于 geompalik 的有用评论,这就是我最初想出的:

sharedLSTM1 = LSTM((data.shape[1]), return_sequences=True)
sharedLSTM2 = LSTM(data.shape[1])
def createModel(dropoutRate=0.0, numNeurons=40, optimizer='adam'):
    inputLayer = Input(shape=(timesteps, data.shape[1]))
    sharedLSTM1Instance = sharedLSTM1(inputLayer)
    sharedLSTM2Instance =  sharedLSTM2(sharedLSTM1Instance)
    dropoutLayer = Dropout(dropoutRate)(sharedLSTM2Instance)
    denseLayer1 = Dense(numNeurons)(dropoutLayer)
    denseLayer2 = Dense(numNeurons)(denseLayer1)
    outputLayer = Dense(1, activation='sigmoid')(denseLayer2)
    return (inputLayer, outputLayer)

inputLayer1, outputLayer1 = createModel()
inputLayer2, outputLayer2 = createModel()
model = Model(inputs=[inputLayer1, inputLayer2], outputs=[outputLayer1, outputLayer2]) …
Run Code Online (Sandbox Code Playgroud)

machine-learning neural-network deep-learning keras keras-layer

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

bazel中的错误“名称'new_local_repository'未定义”

我了解需要以下负载new_git_repositoryload("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")

但是我如何找到new_local_repository. 我尝试浏览build_defs git 文件夹,new_local_repository没有在那里定义,所以我无法猜测负载。

我收到以下错误 - name 'new_local_repository' is not defined。我如何找到所需的负载?

c++ bazel

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