小编lin*_*lof的帖子

在大型Java项目上使用noweb

有没有人在大型Java项目中使用noweb文字编程工具,必须在不同的子目录中生成多个源代码文件?你是怎么用noweb来管理的?那里有资源和/或最佳实践吗?

java noweb literate-programming

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

如何将以空格分隔的文本文件导入MySQL?

我需要将大量(24MB)文本文件导入MySQL表.每一行看起来像这样:

1 1 0.008  0  0  0  0  0                                    
Run Code Online (Sandbox Code Playgroud)

每个字段后面有一个或多个空格,最后一个字段在换行符之前被约36个空格.

如何将这样的文件导入MySQL?从文档中可以看出,LOAD DATA期望所有字段都以完全相同的字符串终止.我试过了

LOAD DATA INFILE 'filename' INTO TABLE mytable FIELDS TERMINATED BY ' ';
Run Code Online (Sandbox Code Playgroud)

但MySQL将解释一个多个空格的序列作为分隔空字段.

有任何想法吗?

mysql mysqlimport load-data-infile

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

用于部署用Java编写的分层业务应用程序的模式

我正在开发一个用Java编写的分层业务应用程序,它应打包为EAR文件并部署到JBoss应用程序服务器.有一个Web应用程序层,一个服务层,一个域层但没有持久层.至少在纸面上.

部署不同层的最佳实践是什么?在我们的团队中,我们之间发生了一场宗教战:

  • 将每个图层打包在自己的JAR文件中(例如,在自己的Maven模块中),并将每个模块添加到EAR文件中,或者
  • 在一个JAR文件中将所有内容捆绑在一起,每个层都映射到包命名约定.

我还缺少其他可能性吗?这方面的最佳做法是什么?有没有我可以咨询的在线或离线资源?

java deployment maven-2 web-applications java-ee

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

可以在不抛出异常的情况下实例化异常吗?

假设我有一个MyException类,它是Exception的子类.当我的代码中出现错误时,我正在使用此类来包含上下文信息.

我通常用它来包装一个"标准"异常类.例如,如果在输入验证期间发生错误,我会做类似的事情

if (invalidInput())
  throw new MyException(new IllegalArgumentException(), arg1, arg2, ...);
Run Code Online (Sandbox Code Playgroud)

但是我的IDE(Intellij IDEA)警告我,在不抛出它的情况下实例化一个未经检查的异常(在这个例子中为IllegalArgumentException)是不好的,但不告诉我原因.

那么在不抛出异常的情况下实例化异常是多么有罪?我要去哪个地狱圈?

java

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

MATLAB中持久变量的性能损失

最近我描述了一些MATLAB代码,我很惊讶在一个使用频繁的函数中看到以下内容:

5.76  198694   58 persistent CONSTANTS; 
3.44  198694   59 if isempty(CONSTANTS) % initialize CONSTANTS
Run Code Online (Sandbox Code Playgroud)

换句话说,MATLAB花了大约9秒,超过198694函数调用,声明持久性CONSTANTS并检查它是否已被初始化.这占该职能总时间的13%.

在MATLAB中,持久变量确实会带来很大的性能损失吗?或者我们在这里做了一些非常错误的事情?

UPDATE

@Andrew我尝试了你的示例脚本,我对输出非常非常困惑:

time   calls  line
                6 function has_persistent
6.48  200000    7 persistent CONSTANTS 
1.91  200000    8 if isempty(CONSTANTS) 
                9     CONSTANTS = 42;
               10 end
Run Code Online (Sandbox Code Playgroud)

我尝试了bench()命令,它显示我的机器在样本机器的中间范围内.在Intel(R)Core(TM)i7 CPU,4GB RAM上运行Ubuntu 64位.

performance matlab profiling persistent

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

这种单精度操作的结果是如何舍入的?[或者为什么这个位1而不是0?]

我正在研究函数优化例程(Nelder-Mead算法的一种变体),它无法在非常特定的条件下收敛.

我已经确定了一个float变量,让我们称之为它a,被赋予平均值a和另一个b与之不同的变量.

更准确地说,每个变量的值如下:

float a = 25.9735966f; // 41CFC9ED
float b = 25.9735947f; // 41CFC9EC
Run Code Online (Sandbox Code Playgroud)

而现在我正试图分配和a之间的平均值:ab

a = 0.5 * (a+b);
Run Code Online (Sandbox Code Playgroud)

当我在测试程序中编写这段代码时,我得到了我想要的结果,即25.9735947.但是在原始库代码的调试器中,我看到a的值仍然存在25.9735966.我很确定我在两个程序上都有相同的编译器标志.有没有理由说这种单精度计算会产生不同的结果?

UPDATE

正如@PascalCuoq所要求的那样,我认为这就是所讨论的生产线的装配.这条线虽然做了一些其他事情,但我不确定乘法发生在哪里.

.loc 1 53 0 discriminator 2
movl    -60(%rbp), %eax
cltq
salq    $3, %rax
addq    -88(%rbp), %rax
movq    (%rax), %rax
movl    -44(%rbp), %edx
movslq  %edx, %rdx
salq    $2, %rdx
leaq    (%rax,%rdx), %rcx
movl    -44(%rbp), %eax
cltq
salq    $2, %rax
addq …
Run Code Online (Sandbox Code Playgroud)

c floating-point

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

如何指定两个浮点数的平均值在哪个方向上舍入,这两个浮点数的有效位数的LSB不同?

我正在研究C中的Nelder-Mead优化例程,它涉及平均两个floats.在罕见(但完全可重复)的情况下,两个floats,比如说,x并且y只有它们的重要性的最低位有所区别.当取平均值时,舍入误差意味着结果将是x或者y.

我想指出舍入应始终朝向第二个float.也就是说,我不能简单地指出舍入应该是零或无穷大,因为我事先并不知道是否x会大于y.

(我怎样才能做到这一点?

c floating-point mathematical-optimization

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

如何在R中重新采样和插入时间序列数据?

我的测量值大约每5分钟记录一次:

2012-07-09T05:30:01+02:00   1906.1  1069.2  1093.2  3   1071.0  1905.7  
2012-07-09T05:35:02+02:00   1905.7  1069.2  1093.0  0   1071.5  1905.7  
2012-07-09T05:40:02+02:00   1906.1  1068.7  1093.2  0   1069.4  1905.7  
2012-07-09T05:45:02+02:00   1905.7  1068.4  1093.0  1   1069.6  1905.7  
2012-07-09T05:50:02+02:00   1905.7  1068.2  1093.0  4   1073.3  1905.7  
Run Code Online (Sandbox Code Playgroud)

第一列是数据的时间戳.其余列是记录的数据.

我需要重新采样我的数据,以便每15分钟有一行,例如:

2012-07-09T05:15:00 XX XX XX XX XX XX
2012-07-09T05:30:00 XX XX XX XX XX XX
....
Run Code Online (Sandbox Code Playgroud)

(此外,记录的数据可能存在差距,我希望用一行NA值替换一小时以上的间隙.)

我可以想到几种方法来手动编程,但有没有内置的支持在R中做这种事情?我已经看过了不同的库用于处理时间序列数据(zoo,chron等),但无法找到任何令人满意.

interpolation r time-series

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

在C++中使用引用成员有什么问题?

在阅读"C++编码标准:101规则,指南和最佳实践"时,我遇到了以下内容:

请注意,使用引用或auto_ptr成员几乎总是错误的.

但是,案文没有详细说明为什么这应该是错误的.那么有一个有参考成员的课程有什么不对?

c++

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

为什么函数重载比使用unsigned char更喜欢int?

考虑这个程序:

#include <iostream>

using namespace std;

void f(unsigned char c) {
  cout << c << endl;
}

void f(int c) {
  cout << c << endl;
}

int main() {
  f('a');
}
Run Code Online (Sandbox Code Playgroud)

这打印出来97,表明f()所选择的重载是一个人int.我发现这很奇怪; 是不是直觉上unsigned char是一个更好的匹配char

c++ overloading

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