小编mrt*_*rts的帖子

Git以递归方式更新子模块

我的项目结构

ProjectA
-FrameworkA (submodule)
--Twig (submodule of FrameworkA)
Run Code Online (Sandbox Code Playgroud)

我如何递归更新子模块?我已经尝试了一些git命令(在ProjectA上)

git submodule foreach git pull origin master
Run Code Online (Sandbox Code Playgroud)

要么

git submodule foreach --recursive git pull origin master
Run Code Online (Sandbox Code Playgroud)

但是不能拉扯Twig的文件.

git git-submodules

260
推荐指数
5
解决办法
21万
查看次数

如何在Node.js UnhandledPromiseRejectionWarning中找到未处理的承诺?

来自版本7的Node.js具有async/await语法糖用于处理promises,现在在我的代码中经常出现以下警告:

(node:11057) UnhandledPromiseRejectionWarning: Unhandled promise 
rejection (rejection id: 1): ReferenceError: Error: Can't set headers 
after they are sent.
(node:11057) DeprecationWarning: Unhandled promise rejections are 
deprecated. In the future, promise rejections that are not handled 
will terminate the Node.js process with a non-zero exit code.
Run Code Online (Sandbox Code Playgroud)

不幸的是,没有提到缺少捕获的线.有没有办法找到它而不检查每个try/catch块?

warnings unhandled-exception node.js promise async-await

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

在django中测试admin.ModelAdmin

我试图找出测试的最佳方式admin.ModelAdminadmin.py.具体来说,我重写了save_model()我想测试的功能.根据我所做的研究,我发现的唯一解决方案是编写请求/响应测试,然后查询数据库.

django unit-testing django-admin

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

python扩展方法

好的,在c#中我们有类似的东西:

public static string Destroy(this string s) { 
    return "";
}
Run Code Online (Sandbox Code Playgroud)

所以基本上,当你有一个字符串,你可以做:

str = "This is my string to be destroyed";
newstr = str.Destroy()
# instead of 
newstr = Destroy(str)
Run Code Online (Sandbox Code Playgroud)

现在这很酷,因为在我看来它更具可读性.python有类似的东西吗?我的意思是代替写这样的:

x = SomeClass()
div = x.getMyDiv()
span = x.FirstChild(x.FirstChild(div)) # so instead of this
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

python extension-methods

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

CMake在Ubuntu中找不到GoogleTest所需的库

类似的问题在这里.

这是我的CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)

# Locate GTest
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})

# Add test cpp file
add_executable(foo foo.cpp)

# Link test executable against gtest & gtest_main
target_link_libraries(foo ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread)
Run Code Online (Sandbox Code Playgroud)

而我的foo.cpp:

#include <gtest/gtest.h>

TEST(sample_test_case, sample_test)
{
    EXPECT_EQ(1, 1);
}

int main(int argc, char **argv)
{
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
Run Code Online (Sandbox Code Playgroud)

现在,使用g ++编译器时一切正常.但是,当尝试使用QNX的编译器ntox86-c ++时,我遇到了这个问题:

/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97中的CMake错误(消息):找不到GTest(缺少:GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)

我在Ubuntu上使用ntox86-c ++编译器,googletest和cmake-gui.

是什么赋予了?

c++ ubuntu cmake qnx googletest

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

两个整数的乘法溢出导致负数

考虑Java语言规范中的这个片段.

class Test {
    public static void main(String[] args) {
        int i = 1000000;
        System.out.println(i * i);
        long l = i;
        System.out.println(l * l);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是

-727379968
1000000000000
Run Code Online (Sandbox Code Playgroud)

为什么结果-727379968(i*i)?理想情况下应该是1000000000000.

我知道Integer的范围是从-2147483648到2147483647.所以显然1000000000000不在给定的范围内.

为什么结果会变成-727379968

java integer overflow

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

在C#中避免命名空间和类型名称冲突的准则是什么?

清洁代码应该为实体使用简短有意义的名称.因此,由于考虑到,比如说涉及的应用程序,机器人,我希望有一个类库项目Robot与命名空间Robot,有一个类Robot.让我们假设只有一个机器人对象,例如Hubot的代码.

但是,在C#中命名一个与其命名空间相同的类名是一个非常糟糕的主意.

避免命名空间和类型名称冲突的准则是什么?

具体来说,考虑到上面的情况,如果我想保留类名,我该如何命名命名空间Robot

c# namespaces

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

Psycopg2在远程主机上访问PostgreSQL数据库,无需手动打开ssh隧道

用于访问远程服务器上的数据库的标准过程PostgreSQL首先创建一个ssh隧道,如下所示:

ssh username1@remote.somewhere.com -L 5432:localhost:5432 -p 222
Run Code Online (Sandbox Code Playgroud)

然后从另一个shell在python中运行我的查询:

conn = psycopg2.connect("host=localhost" + " dbname=" +
                         conf.dbname + " user=" + conf.user + 
                         " password=" + conf.password)

cur = conn.cursor()

cur.execute(query)
Run Code Online (Sandbox Code Playgroud)

创建隧道后,这段python代码可以很好地工作.但是,我希望psycopg2已经打开SSH隧道或"以某种方式"到达远程数据库而无需在我的localhost上重定向它.

用psycopg2可以做到这一点吗?

否则可能在我的python代码中打开ssh隧道?

如果我使用:

os.system("ssh username1@remote.somewhere.com -L 5432:localhost:5432 -p 222")
Run Code Online (Sandbox Code Playgroud)

shell将被重定向到远程主机,阻止主线程的执行.

python database postgresql ssh psycopg2

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

尝试找到一种更语义化的方式在 Kotlin 中编写 Spring 实体

我有一个用 Kotlin 编写的 Spring 实体:

@Entity
class Book(
    @Id
    var id: Long? = null,
    var title: String? = null, // cannot actually be null, immutable
    var isInStock: Boolean? = null, // cannot actually be null
    var description: String? = null,
 )
Run Code Online (Sandbox Code Playgroud)

所有字段都必须可为空,因为 Spring 需要初始化空对象。

但是,这使得实体的使用变得复杂,因为我总是必须将可为空的类型转换为其不可为空的等效类型。这不是语义:我想真正了解哪些字段实际上可以为空,哪些字段不能(或者只能null在初始化过程中)。

此外,某些字段是可变的,但有些字段在创建实体后不应更改。最好使用 Kotlinvalvar做出这种区分。

所以,我想与以下课程一起工作:

class BetterBook(
    val id: Long,
    val title: String,
    var isInStock: Boolean,
    var description: String? = null,
 )
Run Code Online (Sandbox Code Playgroud)

这样就很清楚哪些字段是可变的,哪些字段可以null

我考虑过创建一个包装器Book。有人有过类似的想法吗?这在架构上是一个好的解决方案吗?

spring nullable spring-data-jpa kotlin semantics

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

在Android中使用Google Books API

嗨,我是Android新手并使用Web API.我目前正在编写一个应用程序,可以扫描书籍中的条形码,然后搜索Google Books.

到目前为止,我已将Scandit应用到我的应用程序中,并注册并从Google API控制台获取了用于Books API的API密钥.从那里我不知道如何继续并开始编码.到目前为止,根据我的理解,它需要我通过uri发出请求数据,但我仍然坚持如何实际编码它.我想知道是否有人能指出我正确的方向或提供一个示例代码,说明如何使用URI获取数据.

我还下载了压缩的Book API Jar库我需要使用它吗?我问这个,因为从这个网站在谷歌Places API的一个问题,答案中的一个说,所有你需要的是使用谷歌API作为构建目标,它不需要任何.jar文件,但是这并不适用于书籍作为API好?

我也在使用Eclipse,我应该将构建目标设置为Google API 16吗?我猜这是对的,因为我计划将来使用这个应用程序使用谷歌地图.

谢谢这是我第一次在这里问一个问题.

android google-api google-books

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

如何创建在不同平台上运行的2个作业?

我正在使用Gitlab-ci-multi-runner,使用OSX机器(bash shell)和Windows 7机器(批处理命令).每当我推动时,我都希望它能够在两个跑步者身上进行构建和测试.但显然每个平台的命令需要略有不同.我不想使用码头工具.

我一直在关注http://doc.gitlab.com/ci/yaml/README.html,但似乎没有关于舞台的特定跑步者耦合的任何信息.

gitlab-ci gitlab-ci-runner

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

如何在 JHipster 生成的代码中更改管理员用户名和密码?

我想更改 JHipster 代码中的管理员默认用户名和密码。如何设置新的?

spring-boot jhipster

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