小编Thi*_* D.的帖子

如何使用SQLAlchemy创建SQL视图?

一切都在标题中.是否有"Pythonic"方式(我的意思是,没有"纯SQL"查询)来使用SQLAlchemy定义SQL视图?

谢谢你的帮助,

python postgresql sqlalchemy

65
推荐指数
4
解决办法
4万
查看次数

Java 8 Stream API:过滤实例和强制转换

我有一个对象列表:

List<SomeType> myList;
Run Code Online (Sandbox Code Playgroud)

我想获得此列表中可用的子类型列表:

List<SomeChildType> myChildList = myList.stream().filter(e -> e instanceof SomeChildType).collect(??????)
Run Code Online (Sandbox Code Playgroud)

我不知道如何收集以获得正确的列表类型.

java java-8

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

如何使用SQLAlchemy获取与3元组条件列表匹配的行

有一个3元组的列表:

[(a, b, c), (d, e, f)]
Run Code Online (Sandbox Code Playgroud)

我想从一个表中检索所有行,其中3列与元组匹配.对于这个例子,查询WHERE子句可能是这样的:

   (column_X = a AND column_Y = b AND column_Z = c)
OR (column_X = d AND column_Y = e AND column_Z = f)
Run Code Online (Sandbox Code Playgroud)

如何使用SQLAlchemy创建这样的请求?在我的例子中,3元组列表将包含数百个元素,我正在寻找最好的可扩展解决方案.

谢谢你的帮助,

python sql sqlalchemy

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

如何使用相对子目录构建阴影?

我正在尝试使用SUBDIR qmake项目和相关子目录:

TEMPLATE = subdirs
SUBDIRS = app ../lib1
Run Code Online (Sandbox Code Playgroud)

当QT创建者使用"shadow build"构建这个项目时,这意味着在另一个目录中,它以这种方式放置文件的输出:

Shadow-Build-Directory/
    app/
        main.obj
        ...
Run Code Online (Sandbox Code Playgroud)

问题是因为我的subdir是相对的,它使用相同的输出相对路径,试图把lib1内置Shadow-Build-Directory/../lib1!

我怎么能避免这个?

谢谢.

编辑:我正在使用最新的Qt 5.5.

qt qmake qt-creator

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

使用项目配置替换Gradle依赖项

我正在尝试-SNAPSHOT用本地子项目替换所有依赖项.它工作正常,但我有一个问题:我无法定义我想要使用的项目配置(它需要default,扩展runtime,我不希望这样):

configurations.all {
    resolutionStrategy.dependencySubstitution {
        all { dependency ->
            if (!dependency.requested.version.endsWith('SNAPSHOT'))
                return
            def isRootProject = rootProject.name.equals(dependency.requested.module)
            def matching = rootProject.subprojects.find {
                it.name.equals(dependency.requested.module)
            }
            if (isRootProject)
                dependency.useTarget rootProject
            else if (matching)
                // The specified syntax with path: and configuration: does not work. How can I do ?
                dependency.useTarget project(path: ":" + dependency.requested.module, configuration: 'compile')
            else
                println 'Keep SNAPSHOT: ' + dependency.requested.module;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道为什么它不起作用,文档很清楚:https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/DependencySubstitutions.html#project%28java.lang.String%29它不支持配置名称.

这种限制是否有已知的解决方法?

dependencies gradle

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

如何使用Gradle在不同的Maven存储库上发布工件?

我正在使用Gradle发布到本地Artifactory存储库。我在构建过程中生成了3个jar:一个带有.class的经典jar,一个带有javadoc(-javadoc.jar)的经典jar,以及一个带有源代码(-sources)的jar。

我想将二进制jar和javadoc jar发布到特定的存储库(公共存储库)中,而将source jar发布到私有存储库。

我如何配置maven-publish插件来做到这一点?我已经能够定义多个存储库,但是Gradle尝试将所有jar推送到所有存储库:

task sourcesJar(type: Zip, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

task javadocJar(type: Zip, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

publishing {
    repositories {
        maven {
            name "binary"
            credentials {
                username = "${artifactory_user}"
                password = "${artifactory_password}"
            }
            url "http://192.168.2.167:8081/artifactory/libs-snapshot-local"
        }
        maven {
            name "sources"
            credentials {
                username = "${artifactory_user}"
                password = "${artifactory_password}"
            }
            url "http://192.168.2.167:8081/artifactory/sources-snapshot-local"
        }
    }
    publications {
        binary(MavenPublication) {
            // *** I WANT TO USE THE "binary" REPOSITORY HERE …
Run Code Online (Sandbox Code Playgroud)

java gradle maven-publish

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

如何在Linux上的C中获取文件中的字符数(不是字节数)

我想获取文件中的字符数.字符我的意思是"真正的"字符,而不是字节.假设我知道文件编码.

我尝试使用mbstowcs()但它不起作用,因为它使用系统区域设置(或使用setlocale定义的系统区域设置).因为setlocale不是线程安全的,所以我认为在调用之前使用它不是一个好主意mbstowcs().即使它是踩踏板安全的,我也必须确保我的程序不会在调用之间"跳转"(信号等)setlocale()(一次调用将其设置为文件的编码,然后调用revert)到前一个).

因此,举一个例子,假设我们有一个使用俄语编码(例如KOI8)编码的文件ru.txt.所以,我想打开文件并获取字符数,假设文件的编码是KOI8.

如果mbstowcs()可以采取source_encoding争论可能会很容易......

编辑:使用的另一个问题mbstowcs()是必须在系统上安装与文件编码对应的语言环境...

c linux unicode encoding

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

将char*转换为uint16_t的安全且可移植的方法

如标题中所述,我正在寻找一种方法将char*(来自argv)转换为uint16_t.命令行参数是一个端口号,因此不能>到65535,也不能为负.

目前,我做了这个(用-std = gnu99编译):

#include <stdbool.h>
#include <errno.h>
#include <stdint.h>
#include <inttypes.h>

/*
 * Converts a string to an unsigned int and stores the result in "res".
 */
bool str_to_uint(const char* str, unsigned long int* res) {
    if (str[0] == '-')
        return false;
    char* first_wrong_character;
    uintmax_t result = strtoumax(str, &first_wrong_character, 10);
    if ((result == UINTMAX_MAX) && (errno == ERANGE))
        return false; // Overflow)
    if ((*str != '\0') && (*first_wrong_character != '\0'))
        return false; // Not everything has been converted
    if …
Run Code Online (Sandbox Code Playgroud)

c integer char

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

我可以安全地将&char []转换为char**吗?

拥有以下代码:

char data[2048];
Run Code Online (Sandbox Code Playgroud)

并且函数声明如下:

int f(char** data);
Run Code Online (Sandbox Code Playgroud)

我可以安全地这样称呼它:

f((char**)&data);
Run Code Online (Sandbox Code Playgroud)

如果我只使用&data,编译器会发出以下警告:

warning C4047: 'function' : 'char **' differs in levels of indirection from 'char (*)[2048]'
Run Code Online (Sandbox Code Playgroud)

c arrays pointers char

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

我可以访问Java中同步块使用的锁吗?

有一个简单的清单:

private final List<Item> lst = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

当我需要同步时,我曾经做过以下事情:

synchronized (lst) {
    // Some code
}
Run Code Online (Sandbox Code Playgroud)

现在,我需要创建一个Condition对象Lock.newCondition(),我可以访问synchronized{}使用它的底层锁来创建我的条件,还是应该删除synchronized块并使用自定义Lock对象?

java multithreading locking synchronized

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

如何在某些文本字段填满之前禁用按钮?

使用Java FX 8,我有两个文本字段和一个要验证的按钮.我想要禁用此按钮,直到两个字段都有一个有效值.

做这个的最好方式是什么 ?

谢谢,

java javafx

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