小编Nat*_*ons的帖子

在Java中将前导零添加到数字?

有没有更好的方法来获得这个结果?如果num的位数多于数字,则此函数失败,我觉得它应该在某个库中(如Integer.toString(x,"%3d")或其他东西)

static String intToString(int num, int digits) {
    StringBuffer s = new StringBuffer(digits);
    int zeroes = digits - (int) (Math.log(num) / Math.log(10)) - 1; 
    for (int i = 0; i < zeroes; i++) {
        s.append(0);
    }
    return s.append(num).toString();
}
Run Code Online (Sandbox Code Playgroud)

java

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

什么是样板代码?

一位同事从未听说过这一点,我无法提供真正的定义.对我来说,它总是一个'我知道 - 当我看到它'的例子.

奖金问题,谁来源于这个词?

terminology definition boilerplate

364
推荐指数
11
解决办法
14万
查看次数

在16位,32位和64位IEEE-754系统中可以表示哪些数字?

我知道浮点数是如何表示的,但是还不够,我害怕.

一般问题是:

对于给定的精度(对于我的目的,基数10中的精确小数位数),可以为16位,32位和64位IEEE-754系统表示什么范围的数字?

具体来说,我只对16位和32位数字的范围感兴趣,精确到+/- 0.5(那些位置)或+/- 0.0005(千分位数).

floating-point precision numerical ieee-754

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

提示'(null)'GNOME密钥环

每当我尝试与SVN服务器交互时,ubuntu会提示我输入'(null)'密钥环的密码.我没有一个叫做这个的密钥环,所以我假设某些代码实际上遇到了一个空值.我甚至没有设置任何密钥环,所以我不知道为什么我得到提示.我已经输入了我用过的所有密码,但是没有任何效果.

我怎样才能得到它(a)钥匙圈工作或(b)svn停止要求它?

我已经尝试设置我的〜/ .subversion/config来显式使用gnome-keyring,我试过'store-auth-creds = no'并且都不起作用.

svn ubuntu

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

从svn更新而不自动合并

我的同事对svn更新的工作方式有问题,但我不确定原因,所以这个问题有两个方面.首先,如何以他想要的方式解决他的问题,其次,我是否应该试着让他相信TortoiseSVN现在做事的方式是最好的方式(如果是的话,如何)?

他的理想用例

  1. 右键单击 - > SVN更新
  2. 只要文件在工作副本中没有更改,SVN就会从存储库中提取更改
  3. 如果工作副本和HEAD都发生了变化,他希望在发生任何事情之前得到提示,并自己进行合并(即使这是svn很容易弄明白的情况).

我想这是一个合理的请求,但他不想信任SVN的事实困扰我,虽然它并没有真正影响我或我的工作.他之前使用的是CVS,SVN和ClearCase,他并不擅长版本控制.他声称他之前能够在svn中做到这一点(同时,他也是我多年的大四学生).

svn tortoisesvn

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

java.net与java.nio

在什么时候从java.net切换到java.nio更好?.net(不是Microsoft实体)更容易理解和更熟悉,而nio是可扩展的,并带有一些额外的漂亮功能.

具体来说,我需要为这种情况做出选择:我们有一个控制中心在几个远程站点管理硬件(每个站点有一台计算机管理多个硬件单元(收发器,TNC和旋转器)).我的想法是在每台机器上编写一个服务器应用程序,作为从控制中心到无线电硬件的网关,每个单元有一个插槽.根据我的理解,NIO适用于一个服务器,许多客户端,但我想的是一个客户端,许多服务器.

我想第三个选择是使用MINA,但我不确定这是否会对一个简单的问题投入太多.


每个远程服务器最多有8个连接,全部来自同一个客户端(用于控制所有硬件和单独的TX/RX套接字).但是,单个客户端将希望同时连接到多个服务器.不是将每个服务器放在不同的端口上,是否可以在客户端使用通道选择器,或者更好的是在客户端进行多线程io并以不同方式配置服务器?


实际上,由于远程机器仅用于与其他硬件交互,RMI或IDL/CORBA是否是更好的解决方案?实际上,我只是希望能够从硬件发送命令和接收遥测,而不必编写一些应用程序层协议来完成它.

java io networking nio

16
推荐指数
2
解决办法
5776
查看次数

RW使用svn(git-svnserver)访问git存储库?

是否有一个程序可以执行git-svn的功能,但是在服务器上的存储库是git,开发人员使用svn的情况下?

我知道github.com允许svn访问他们托管的git存储库,但看起来他们没有发布这个项目开源(但是?),并且使用他们的服务器对我来说不是一个选项(甚至不是他们的选择)私人仓库).

编辑:我认为我正在寻找的是与'git-cvsserver'平行 - git-svnserver.在一些搜索中,我在git邮件列表上找到了一些2-3岁的线程,但看起来并没有任何人取得重大进展.我希望有人可以纠正我.

目前有没有git-svnserver项目正在进行中?我讨厌重复努力,但似乎GitHub是最远的,但没有其他人可以拥有它.

svn git version-control git-svn

16
推荐指数
2
解决办法
3937
查看次数

Git分支的目录比较

我最喜欢的svn工作流程之一是使用Beyond Compare的文件夹比较功能来查看两个分支或分支和主干之间的净差异.有没有办法在git中执行此操作而无需手动创建同一存储库的多个克隆?

当我问这个问题时,我发现我可以写一个脚本,将当前的repo克隆到一个临时目录,检出所需的分支,然后用两个目录作为参数调用BCompare.exe.使用调用文件夹比较视图

BCompare.exe path/to/folder1 path/to/folder2
Run Code Online (Sandbox Code Playgroud)

这听起来合理吗?在完成Beyond Compare之后,我能否删除额外的克隆?

git beyondcompare beyondcompare3

14
推荐指数
2
解决办法
5103
查看次数

避免嵌入式编程中的全局变量

在我所涉及的嵌入式编程类型中,运行代码的确定性和透明性受到高度重视.我的意思是透明度,例如,能够查看内存的任意部分并知道存储在那里的变量.因此,正如我确信嵌入式程序员所期望的那样,如果可能的话,应该避免使用new,如果无法避免,那么仅限于初始化.

我理解这需要,但不同意我的同事这样做的方式,也不知道更好的选择.

我们拥有几个全局结构数组和一些全局类.有一个用于互斥锁的结构数组,一个用于信号量,一个用于消息队列(这些是在main中初始化的).对于每个运行的线程,拥有它的类是一个全局变量.

我遇到的最大问题是单元测试.当我想要测试#include的全局变量我不会在类中插入模拟对象时如何?

这是伪代码的情况:

foo.h中

#include "Task.h"
class Foo : Task {
public:
  Foo(int n);
  ~Foo();
  doStuff();
private:
  // copy and assignment operators here
}
Run Code Online (Sandbox Code Playgroud)

bar.h

#include <pthread.h>
#include "Task.h"

enum threadIndex { THREAD1 THREAD2 NUM_THREADS };
struct tThreadConfig {
  char      *name,
  Task      *taskptr,
  pthread_t  threadId,
  ...
};
void startTasks();
Run Code Online (Sandbox Code Playgroud)

bar.cpp

#include "Foo.h"

Foo foo1(42);
Foo foo2(1337);
Task task(7331);

tThreadConfig threadConfig[NUM_THREADS] = {
  { "Foo 1", &foo1, 0, ... },
  { "Foo 2", &foo2, 0, ... }, …
Run Code Online (Sandbox Code Playgroud)

c++ embedded global-variables

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

在RXTX中收到的问题

我已经使用RXTX大约一年了,没有太多问题.我刚刚开始一个新的程序与一个新的硬件进行交互,所以我重用了我在其他项目中使用的connect()方法,但是我有一个我以前从未见过的奇怪问题.

问题

该设备工作正常,因为当我连接HyperTerminal时,我发送东西并收到我期望的东西,串口监视器(SPM)反映了这一点.

但是,当我运行简单的HyperTerminal-clone时,我编写了诊断问题,我正在使用我的主应用程序,根据SPM发送字节,但没有收到任何内容,我的SerialPortEventListener永远不会触发.即使我在主循环中检查可用数据,也会reader.ready()返回false.如果我忽略了这个检查,那么我会得到一个例外,详情如下.

connect()方法的相关部分

// Configure and open port
port = (SerialPort) CommPortIdentifier.getPortIdentifier(name)
                                      .open(owner,1000)
port.setSerialPortParams(baud, databits, stopbits, parity);
port.setFlowControlMode(fc_mode);
final BufferedReader br = new BufferedReader(
                            new InputStreamReader(
                              port.getInputStream(), 
                              "US-ASCII"));

// Add listener to print received characters to screen
port.addEventListener(new SerialPortEventListener(){
  public void serialEvent(SerialPortEvent ev) {
    try {
      System.out.println("Received: "+br.readLine());
    } catch (IOException e) { e.printStackTrace(); }
  }   
});
port.notifyOnDataAvailable();
Run Code Online (Sandbox Code Playgroud)

例外

java.io.IOException: Underlying input stream returned zero bytes
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:268)
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) …
Run Code Online (Sandbox Code Playgroud)

java serial-port rxtx

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