小编hne*_*atl的帖子

具有多个if条件的编码标准

我需要根据某些条件在实体中设置数据.

我用下面的数据来设置

if (StringUtils.isNotBlank(customerVO.getGender())) {
    mstCustomer.setGender(customerVO.getGender());
}
if (StringUtils.isNotBlank(customerVO.getBirthDate())) {
    mstCustomer.setDob(DateUtils.getUtilDate(customerVO.getBirthDate()));
}

if (StringUtils.isNotBlank(customerVO.getAdd1())) {
    mstCustomer.setAddress1(customerVO.getAdd1());
}
if (StringUtils.isNotBlank(customerVO.getAdd2())) {
    mstCustomer.setAddress2(customerVO.getAdd2());
}
if (StringUtils.isNotBlank(customerVO.getAdd3())) {
    mstCustomer.setAddress3(customerVO.getAdd3());
}
if (StringUtils.isNotBlank(customerVO.getPincode())) {
    mstCustomer.setPinCode(customerVO.getPincode());
}
if (StringUtils.isNotBlank(customerVO.getStateName())) {
    MstState state = mstStateRepository.findByName(customerVO.getStateName());
    mstCustomer.setMstState(state);
}

if (StringUtils.isNotBlank(customerVO.getCity())) {
    MstCity city = mstCityRepository.findByName(customerVO.getCity());
    mstCustomer.setMstCity(city);
}

if (StringUtils.isNotBlank(customerVO.getIdentificationType())) {
    mstCustomer.setIdentificationType(customerVO.getIdentificationType());
}

if (StringUtils.isNotBlank(customerVO.getIdentificationData())) {
    mstCustomer.setIdentificationData(customerVO.getIdentificationData());
}

MstStatus mstStatus = mstStatusRepository.findOne(MstStatusEnum.CUST_ACTIVE.getStatusCode());
if (mstStatus != null) {
    mstCustomer.setMstStatus(mstStatus);
}

if (!StringUtils.isBlank(customerVO.getMaritalStatus())) {
    mstCustomer.setMaritalStatus(customerVO.getMaritalStatus());
}
if (StringUtils.isBlank(customerVO.getWeddingAnniversary())) {
    mstCustomer.setWeddingAnniversary(DateUtils.getDateFromString(customerVO.getWeddingAnniversary())); …
Run Code Online (Sandbox Code Playgroud)

java

15
推荐指数
4
解决办法
2291
查看次数

Stack的package.yaml vs stack.yaml

据我所知,Stack至少在这个提交周围支持了hpack的package.yaml配置文件,但是关于它和文件之间的差异的文档并不多.stack.yaml

我发现谈论它的少数几个链接之一是这个文档,它说:

package.yaml是hpack支持的文件格式.它在cabal上添加了一些细节.例如,hpack具有YAML语法支持,并将自动生成exposed-modules列表.但是,它只是cabal包文件的前端.

因此,它似乎package.yaml提供了*.cabal文件配置能力的超集,就像stack.yaml文件一样.


这里的文档暗示stack.yaml是配置文件:

接下来,让我们看看我们的stack.yaml文件,它提供了我们的项目级设置.

... 后来说这package.yaml是用于存储依赖项:

要告诉堆栈使用text,您需要将其添加到您的package.yaml文件中 - 特别是在您的依赖项部分...

有这个相关的问题,但遗憾的是没有澄清两个文件之间的区别.

我一直在使用package.yaml我所有项目的配置,从不使用stack.yaml.


那么,堆栈package.yaml和stack.yaml文件之间的关系是什么?如果/当他们的职责重叠时,哪个更好的做法使用?

haskell haskell-stack

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

vs code - 主进程中发生JavaScript错误

我刚刚在几分钟前安装了VS Code,由于一些奇怪的原因它无法打开.它只是抛出一个错误.我不知道这意味着什么所以请看看.

在此输入图像描述

visual-studio-code

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

如何在Archlinux中使用gcc 7.2编译gcc 6.4.0

我正在尝试使用Archlinux中的gcc 7.2独立编译gcc 6.4.0.

配置如下:

../configure --prefix=${INSTALL_PREFIX} --enable-languages=c,c++,fortran \
    --enable-threads=posix --enable-tls --enable-libgomp --enable-lto \
    --enable-shared --enable-static --disable-nls --disable-multilib \
    --with-fpmath=sse
Run Code Online (Sandbox Code Playgroud)

在编译时,我收到以下错误md-unwind-support.h:

md-unwind-support.h:65:47: error: dereferencing pointer to incomplete type 'struct ucontext'
Run Code Online (Sandbox Code Playgroud)

我比较md-unwind-support.h了gcc 6.4.0和gcc 7.2.0中struct ucontext的定义,发现它定义为ucontext_tgcc 7.2.0.

所以,我md-unwind-support.h对gcc 6.4.0源代码树进行了一些更改,但得到了一些命名空间问题,如下所示:

int std::uncaught_exceptions() should have been declared inside 'std'
Run Code Online (Sandbox Code Playgroud)

我卡住了,不知道这个问题.

任何帮助和建议都会有所帮助.

gcc archlinux

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

使用套接字的客户端 - 服务器 - 客户端通信

我正在构建一个小型聊天应用程序,其中客户端A希望通过服务器B向客户端C发送内容.首先是这个问题的正确方法??.我能够向服务器发送数据和从服务器接收数据,但它仅限于客户端.例如,如果客户端A向服务器B发送数据并且客户端C正在向服务器B发送数据,那么我可以将数据发送回A和C就像一个echo服务器.但我想要的是通过服务器B将来自客户端A的数据转发到客户端C.

以下是服务器代码:

public class Server {
    public static void main(String[] args) {
        int port = 666; //random port number
        try {
            ServerSocket ss = new ServerSocket(port);
            System.out.println("Waiting for a client....");

            System.out.println("Got a client :) ... Finally, someone saw me through all the cover!");
            System.out.println();
            while(true) {
                Socket socket = ss.accept();

                SSocket sSocket = new SSocket(socket);
                Thread t = new Thread(sSocket);
                t.start();
                System.out.println("Socket Stack Size-----"+socketMap.size());
            }
        }
        catch (Exception e) { }
    }
}

class SSocket implements Runnable {
    private Socket …
Run Code Online (Sandbox Code Playgroud)

java sockets

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

在8/10窗口技术中实现完全实时的屏幕捕获,无延迟

我将使用C#或C ++ 创建一个非常快速且实时的远程服务,这没关系,但是目前我正在使用c#。

好的,我要寻找的是一种以最快的速度实时捕获Windows屏幕的方法。

我知道网上已经有办法了,但问题是延迟 ...

  • 我使用C#copyfromscreen,1920x1080的延迟为92ms [视频中的5帧]
  • 我将C#copyfromscreen与jpg编码器一起使用,对于1920x1080,延迟为36ms
  • 我将Unity3D screenCapture与jpg编码器一起使用,对于1920x1080,延迟为38ms
  • 我使用C#Windows Desktop Duplication API,对于1920x1080,延迟为19ms [视频中为3帧]
  • 我将C#Windows Desktop Duplication API与jpg编码器一起使用,对于1920x1080 [视频中为2帧],延迟为12ms
  • 我将C ++ Windows Desktop Duplication API与jpg编码器一起使用,对于1920x1080 [视频中为2帧],延迟为9ms
  • 我将C#Windows DirectXCapture与jpg编码器一起使用,对于1920x1080 [视频中为2帧],延迟为16ms

我以这种方式认为进度是正常的,直到我签出Windows 10/8任务栏实时预览缩略图,并且它是完全实时的,没有1ms的延迟,这意味着帧对帧!

我尝试将所有方法的1920 x 1080尺寸调整为“任务栏预览”尺寸,但未做任何更改!

注意:该程序无法通过Internet处理,因此可以在本地网络上运行。

我猜测延迟是由于位图处理或其他原因造成的,但我还不知道! [添加时间]这是我在服务器上处理图片的方式:

private static byte[] capture()
{
    Bitmap bmp = screenshot_DDAPI(); // Avarage Time : 29.6566ms
    MemoryStream ms …
Run Code Online (Sandbox Code Playgroud)

c# c++ winapi

5
推荐指数
2
解决办法
788
查看次数

更改用于在GHCi中运行“外壳命令”的外壳

在GHCi中,可以使用使用shell命令:!<command>。默认情况下,似乎使用了shshell:

Prelude> :!echo $0
/bin/sh
Run Code Online (Sandbox Code Playgroud)

我为系统上通常使用的shell定义了许多别名和自定义函数fish,我想从GHCi使用它们,但不必将其转换为sh兼容版本。

有没有办法改变GHCi用于执行:!命令的外壳?我无法为此找到任何:set选项,也无法找到GHCi的任何命令行参数来执行此操作。

haskell ghci

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

这是静态内存分配还是动态内存分配的一个例子?

我研究了很多静态和动态内存分配,但仍有一个混乱:

int n, i, j;
printf("Please enter the number of elements you want to enter:\t");
scanf("%d", &n);
int a[n];
for (i = 0; i < n; i++)
{
    printf("a[%d] : ", i + 1);
    scanf("%d", &a[i]);
}
Run Code Online (Sandbox Code Playgroud)

是否int a[n]都在静态或动态内存分配?

c memory-management dynamic-memory-allocation static-memory-allocation

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

找不到模块“ Test.HUnit”

我重新安装了stack和ghci:

$ stack --version
Run Code Online (Sandbox Code Playgroud)
Version 1.6.3, Git revision b27e629b8c4ce369e3b8273f04db193b060000db (5454 commits) x86_64 hpack-0.20.0
Run Code Online (Sandbox Code Playgroud)
$ ghci --version
Run Code Online (Sandbox Code Playgroud)
The Glorious Glasgow Haskell Compilation System, version 8.2.1
Run Code Online (Sandbox Code Playgroud)

我做一个新项目:

$ stack new so-mve
Run Code Online (Sandbox Code Playgroud)
Downloading template "new-template" to create project "so-mve" in so-mve/ 
... blah blah blah ...
Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- so-mve/
Selecting the best among 12 snapshots...
* Matches lts-10.3
Selected resolver: lts-10.3
Initialising configuration using resolver: lts-10.3
Total number of …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-stack

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

如何在conanfile.txt中设置编译器和arch?

如何在 conanfile.txt 中设置编译器和架构设置?我试过把它放进去

[settings]
arch=x86
Run Code Online (Sandbox Code Playgroud)

但我得到了Unrecognized field: settings。我怎样才能做到这一点?

c++ conan

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