小编fod*_*don的帖子

在不同的目录级别合并git存储库

我有一个存储库B,其内容需要驻留在A/src/B中A ...的子目录中.我想最终得到一个存储库A,其中包含A和B提交的历史记录.

Web上的其他解决方案似乎向我展示了如何在独立的子树中保持树的完整性,或者合并具有相同目录结构的存储库的选定部分.

那么,有没有办法做到这一点?

git

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

Java/Python中的快速IPC/Socket通信

两个进程(Java和Python)需要在我的应用程序中进行通信.我注意到套接字通信需要93%的运行时间.为什么沟通这么慢?我应该寻找套接字通信的替代方案,还是可以加快速度?

更新:我发现了一个简单的修复.似乎缓冲输出流由于某种未知原因而没有真正缓冲.所以,我现在将所有数据放入客户端/服务器进程的字符串缓冲区中.我在flush方法中将它写入套接字.

我仍然对使用共享内存在进程之间快速交换数据的示例感兴趣.

一些其他信息:

  1. 应用程序中的消息大小大多数时间不到64kb.
  2. 服务器是Java,客户端是用Python编写的.
  3. 套接字IPC在下面实现:它需要50个周期发送200个字节!这必须太高了.如果我在5000个周期内发送2个字节,则需要的时间要少得多.
  4. 这两个进程都在一台Linux机器上运行.
  5. 在实际应用程序中,每个周期都会对客户端的iFid.write()进行大约10次调用.
  6. 这是在Linux系统上完成的.

这是服务器端:

public class FastIPC{
    public PrintWriter out;
    BufferedReader in;
    Socket socket = null;
    ServerSocket serverSocket = null;


    public FastIPC(int port) throws Exception{
        serverSocket = new ServerSocket(port);
        socket = serverSocket.accept();
        out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
        in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    }

    public void send(String msg){
        out.println(msg); // send price update to socket
    }

    public void flush(){
        out.flush();
    }

    public String recv() throws Exception{
        return in.readLine();
    }

    public static void …
Run Code Online (Sandbox Code Playgroud)

python java sockets ipc

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

Java中的BigDecimal

我正在考虑使用BigDecimal比较两个四舍五入到两位数的货币值.例如,我希望以下产生0,因为我正在比较应该舍入到0.02的东西和0.02.但它产生-1 !! 有没有正确的方法来做到这一点?

这也适用于较大的数字,如123.45 vs 123.4534 ...当使用"compareTo"时应该产生0.

我尝试过使用数学上下文,但它看起来并不优雅......有正确的方法吗?

BigDecimal spread = new BigDecimal(0.01934);
spread.setScale(2, RoundingMode.HALF_EVEN);
System.out.format("0.0193 ? 0.02 = %d\n", spread.compareTo(new BigDecimal(0.02)));
Run Code Online (Sandbox Code Playgroud)

解决方案是:

BigDecimal spread = new BigDecimal(0.01934).setScale(2, RoundingMode.HALF_EVEN);
BigDecimal loSpread = new BigDecimal(0.02).setScale(2, RoundingMode.HALF_EVEN);
System.out.format("0.0193 ? 0.02 = %d\n", spread.compareTo(loSpread));
Run Code Online (Sandbox Code Playgroud)

java bigdecimal

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

java字符串的奇怪行为

我有两个字符串变量ticker和detail.我试图在一行中打印出两个字符串.它只是行不通.我尝试过这么多不同的方法.为了排除未初始化字符串的可能性,我试着用不同的行打印出来......这很有效.

此示例有效...除了输出需要在一行中.

            System.out.println(ticker);
            System.out.println(detail);
Run Code Online (Sandbox Code Playgroud)

输出是:

IWM
|0#0.0|0#0.0|0#-4252#386|
GLD
|0#0.0|0#0.0|0#-4704#818|
Run Code Online (Sandbox Code Playgroud)

当我尝试以多种方式将输出放入一行时,我只得到了自动收报机...细节字符串只是没有打印...不是控制台或文件.以下是一些产生相同结果的示例代码段:

尝试1:

 System.out.println(ticker.concat(detail));
Run Code Online (Sandbox Code Playgroud)

尝试2:

System.out.println(ticker+detail);
Run Code Online (Sandbox Code Playgroud)

尝试3:

StringBuffer sb = new StringBuffer();
sb.append(ticker);
sb.append(detail);
System.out.print(sb.toString());
Run Code Online (Sandbox Code Playgroud)

尝试4:

System.out.print(ticker);
System.out.println(detail);
Run Code Online (Sandbox Code Playgroud)

在上面的所有尝试中,我得到以下输出......好像忽略了细节部分:

GOLD
BBL
SI
Run Code Online (Sandbox Code Playgroud)

什么可能导致这些症状?有没有办法让两行打印在一行?

java

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

Google收回v3问题

为什么recaptcha v3会抛出错误?...当我在同一页面上第二次检查访客的人性时?

令牌显然不是重复的.......那么重复是什么?

第一个标记:

03AEMEkEl76Kn0nMhKlgY8dMOAD2g3zGIHoGOqz95jEFKl8A24gADw-2gBipDYcU7G_TWSqpuWyNa62CIk-tYdreevde0p1lJg_3wwZlmD9giDSdPb_He-mTsIqv0tMuEroJLLArCI4vfbZjcCZ6BYokYEhYbCU-Qqdx9YbqgRG1JJDxE8LRagR0cPY8mfQZ5bZ7KGK8Dfqe8avqOy18RvIcYk-H6s9Bhq28s5YRIkHid163c-yqpeY8U5j9U70aveSuEcLz-UMlgsQ8MaYhHIIv7cJpag2RJFAgGxOZnWONEk2Z9-IK_Ea_4

recaptcha v3回复:

{
"score":0.1,
"hostname":"localhost",
"success":true,
"challenge_ts":"2018-07-17T21:24:03Z",
"action":"AW___________LGOZCKiH_oQBEJnwwYcD"
}
Run Code Online (Sandbox Code Playgroud)

同一页面上具有相同标签的第二个令牌:

03AEMEkEk-CVItfMmzYErG97inmxzf7mIeWuAgEXmwncu8AvMGP0ofXnwCMFNdBpa7CY8MCkVZ_skiF1HwmGhKBgayFm-fM3VM_QfM5LRNDbxLLyCF8lGclmBBlihmkeT1PsvW9LrVfp2VdikuHxeqvviGnI2NKQHbclvaDnuu5rwy3HS_EiPrn7eJb3z892f8oIOMkVg6tTsCNPCTnH5QuvAIw2DlI3EiRFDSqIjXp4vJdzJIGn10K6Noi1JIPOCzJ8OUshn_yFROWvNNpYNFn3E7tSHk3j0LU9-KDy1RiSoEf2I1VcVEKTE

recaptcha v3回复:

 {"error-codes":["timeout-or-duplicate"],"success":false}
Run Code Online (Sandbox Code Playgroud)

recaptcha recaptcha-v3

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

如何使用 python 文件中的数据初始化类

我想从调用脚本时指定的简单 python 文件中存储的数据来初始化一个类。名为myconfig.py的配置文件是:

str='home'
val=2
flt=7.0
Run Code Online (Sandbox Code Playgroud)

我想在课堂初始化期间这样称呼它。目标之一是在文件中定义变量类型。我知道 configparser,但如果可以使其工作,此方法就不那么冗长了。

class ClassInit(object):
    def __init__(self, configFile):
        fp, path, des = imp.find_module('',configFile)
        imp.load_module(configFile, fp, path, des)
        self.__dict__ = configFile.__dict__
        fp.close()

    def printVal(self):
        print '%s %0.2f'%(self.str, self.val)

if __name__ == '__main__':
    srcDir = 'src/'
    config = osp.join(srcDir, argv[0]) # config for current run 
    ci = ClassInit(config)
    ci.printVal()
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

python syntax configuration

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

带有gzip的python子进程

我正在尝试通过子进程流式传输数据,将其 gzip 并写入文件。以下作品。我想知道是否可以使用 python 的本机 gzip 库来代替。

fid = gzip.open(self.ipFile, 'rb') # input data
oFid = open(filtSortFile, 'wb') # output file
sort = subprocess.Popen(args="sort | gzip -c ", shell=True, stdin=subprocess.PIPE, stdout=oFid) # set up the pipe
processlines(fid, sort.stdin, filtFid) # pump data into the pipe
Run Code Online (Sandbox Code Playgroud)

问题:我该怎么做……在使用 python 的 gzip 包的地方?我很想知道为什么下面给了我一个文本文件(而不是一个压缩的二进制版本)......很奇怪。

fid = gzip.open(self.ipFile, 'rb')
oFid = gzip.open(filtSortFile, 'wb')
sort = subprocess.Popen(args="sort ", shell=True, stdin=subprocess.PIPE, stdout=oFid)
processlines(fid, sort.stdin, filtFid)
Run Code Online (Sandbox Code Playgroud)

python gzip

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

升级到jetty 9.3.1.v20150714导致不支持的major.minor版本52.0

该错误消息似乎没有帮助.什么出了什么问题?

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/server/Handler : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
Run Code Online (Sandbox Code Playgroud)

jetty

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

Python日志记录和子进程输出和错误流

我想开始一个python进程并将子进程错误消息记录到父脚本的日志记录对象.理想情况下,我希望将日志流统一到一个文件中.我能以某种方式访问​​日志记录类的输出流吗?我所知道的一个解决方案是使用proc日志进行日志记录.如下面的答案所述,我可以从proc.stdin和stderr读取,但我有重复的日志标头.我想知道是否有办法将日志记录类下面的文件描述符直接传递给子进程?

logging.basicConfig(filename="test.log",level=logging.DEBUG)
logging.info("Started")
procLog = open(os.path.expanduser("subproc.log"), 'w')
proc = subprocess.Popen(cmdStr, shell=True, stderr=procLog, stdout=procLog)
proc.wait()
procLog.flush()
Run Code Online (Sandbox Code Playgroud)

python logging

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

如何将两组Weka实例合并在一起

目前,我一次将一个实例从一个数据集复制到另一个。有没有一种方法可以使字符串映射保持不变?mergeInstances是水平工作的,是否有等效的垂直合并?

这是循环的一个步骤,我从多个arff文件中读取具有相同结构的数据集,将其读取到一个大数据集中。必须有一个更简单的方法。

Instances iNew = new ConverterUtils.DataSource(name).getDataSet();
for (int i = 0; i < iNew.numInstances(); i++) {
    Instance nInst = iNew.instance(i);
    inst.add(nInst);
}
Run Code Online (Sandbox Code Playgroud)

java merge set weka

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

标签 统计

java ×4

python ×4

bigdecimal ×1

configuration ×1

git ×1

gzip ×1

ipc ×1

jetty ×1

logging ×1

merge ×1

recaptcha ×1

recaptcha-v3 ×1

set ×1

sockets ×1

syntax ×1

weka ×1