小编Ilm*_*nen的帖子

将遗留代码库从cvs转移到分布式存储库(例如git或mercurial).初始存储库设计所需的建议

介绍和背景

我们正在改变源代码控制系统,我们目前正在评估git和mercurial.总代码库大约有600万行代码,因此不是很大,也不是很小.

首先让我简单介绍一下当前存储库设计的外观.

我们有一个完整代码库的基本文件夹,在该级别下面有几个不同的上下文中使用的各种模块.例如,"dllproject1"和"dllproject2"可以看作完全独立的项目.

我们正在开发的软件是我们称之为配置器的软件,可以根据不同的客户需求进行无休止的定制.总共我们可能有50个不同的版本.但是,他们有一个共同点.它们共享一些必需的模块(mandatory_module1 ..).这些文件夹基本上包含内核/核心代码和公共语言资源等.然后,所有自定义都可以是其他模块(module1 ..)之间的任何组合.

由于我们目前正在使用cvs,因此我们在CVSROOT/modules文件中添加了别名.他们可能看起来像:

core –a mandatory_module1 mandatory_module2 mandatory_module3
project_x –a module1 module3 module5 core
Run Code Online (Sandbox Code Playgroud)

因此,如果有人决定使用project_x,他/她可以快速检查所需的模块:

base>cvs co project_x
Run Code Online (Sandbox Code Playgroud)

问题

直观地说,将基本文件夹作为单个存储库感觉是错误的.作为程序员,您应该能够查看当前正在使用的项目所需的确切代码子集.你对此有何看法?

另一方面,将每个模块放在不同的存储库中感觉更为正确.但这使得程序员更难以检查出他们需要的模块.您应该能够通过一个命令执行此操作.所以我的问题是:在git/mercurial中是否有类似的方法来定义别名?

任何其他问题,建议和指示都非常欢迎!

PS.我已经搜索了类似的问题,但并不觉得他们中的任何一个都100%适用于我的情况.

git cvs mercurial dvcs

12
推荐指数
2
解决办法
4246
查看次数

JavaScript检测/浏览器统计

这已被问过几次,但我认为仍然值得与你们一起检查更多的输入.

我的所有网站都使用Google Analytics来统计数据.由于它依赖于JavaScript,因此我认为检查启用/禁用浏览器中实际启用了JS的人数非常重要.

我记得我经常检查w3schools的浏览器统计数据,最近的结果显示大约95%,这对我来说非常令人满意.但由于它纯粹适用于他们的网站,我想我会检查我的网站是什么.我尝试了几种方法,但最近我计算了所有页面视图和我的main.js文件的所有下载(缓存被"缓存杀手"变量添加到文件路径中).这种方法有一些缺点,因为它不能识别谷歌的机器人(或任何其他),但它仍然足够准确.

令人惊讶的是,只有68%的人访问我最大的网站启用了JS(其他方法 - 例如使用cookie - 我试过显示类似的数字).我很想知道我的方法是完全错误的,这就是为什么这个数字太低了.

由于我构建了不依赖JS工作的网站,从功能的角度来看仍然可以,但这也意味着我的网站有32%的条目被分析计算!这是一个巨大的缺点.

是否有其他网站(w3schools除外)分享他们的统计数据?或者我可以将我的数字与我的数字进行比较?也许甚至有些人可以分享你的?

现在我正在考虑创建自己的统计引擎.但是否有其他(比分析)可靠(和免费)的统计数据解决方案可以建议吗?一个实际上会检查人们是否启用了JS的人?

关于JS检测的任何建议也非常受欢迎.

javascript php browser browser-detection

11
推荐指数
1
解决办法
4771
查看次数

是否可以在Java中构建这样的自定义GUI?

我在Photoshop中制作了这个,我打算将它用于我的文件共享应用程序:

截图

我想知道是否有可能为我的应用程序创建具有这种外观和感觉的GUI.

如果我不能仅使用eclipse或NetBeans来构建它,还有其他工具可以帮助我吗?

java user-interface

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

具有继承,条件和外键的实体框架

我刚开始和Linq一起玩实体并遇到一个我无法弄清楚的问题.

我收到此错误:

映射条件成员'RelatedResources.TypeID',其条件不是'IsNull = False'.删除RelatedResources.TypeID上的条件或从映射中删除它.

存在的条件是抽象实体RelatedResource中的TypeID字段,它定义RelatedResource的类型(Book,Link,guide等).TypeID也是外键,并在与资源类型实体的关联中映射.我认为这是问题,但我不知道应该如何或为什么要改变这个问题.

entity-framework visual-studio-2010 entity-framework-4

11
推荐指数
1
解决办法
5056
查看次数

用于在Android上生成HMAC-SHA1 OAuth签名的库?

使用下面的规范,我需要在Android上创建oauth_signature.我正在寻找一个处理锅炉板代码的库,用于创建通过OAuth访问资源的签名.

  1. 构造一个签名"基本字符串",它由三个请求元素的串联组成:

    • HTTP请求方法.
    • 请求发送到的基本URL.此URL不应包含任何查询参数.在签署对Google服务的调用时,请参阅OAuth规范第9.1.2节,了解相关说明.
    • 请求中参数的标准化字符串(不包括oauth_signature参数).这包括请求标头或正文中发送的参数,以及添加到请求URL的查询参数.要规范化字符串,请使用词典字节值排序对参数进行排序.有关规范化此字符串的更多详细信息,请参阅OAuth规范的第9.1.1节.
  2. 使用以下序列之一生成oauth_signature:

    • 如果您的应用程序已注册且您正在使用HMAC-SHA1,请使用注册期间生成的OAuth"consumer secret"值; 此值显示在您域的注册页面上.

java android sha1 oauth hmac

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

密码系统要求个人信件 - 他们存储什么?

某些(特别是银行)密码系统要求您输入密码中的三个(指定)字母才能登录.这应该会击败键盘记录程序,并可能会有线嗅探重放攻击(对于未加密的会话).

显然,这样的方案无法使用普通密码散列,因为您需要知道整个密码来计算散列.

这些系统通常存储服务器端以使其工作?

他们是用明文存储密码,还是每个字母的单独哈希,或者是什么?

passwords hash banking

11
推荐指数
1
解决办法
2507
查看次数

以秒为单位的时差

在Perl程序中,我有一个包含这种格式的日期/时间的变量:

Feb 3 12:03:20  
Run Code Online (Sandbox Code Playgroud)

我需要确定该日期是否超过x秒(基于当前时间),即使这发生在午夜(例如Feb 3 23:59:00当前时间= Feb 4 00:00:30).

我发现的perl日期/时间信息令人难以置信.我可以告诉我需要使用Date :: Calc,但我找不到秒 - delta.谢谢 :)

perl time date date-arithmetic

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

OpenCV提高了已知对象检测性能

我正在开展一个项目,我可以在移动环境中"实时"检测场景中的已知图片(这意味着我正在使用智能手机相机捕捉帧并将帧大小调整为150x225).图片本身可能相当复杂.现在,我正在平均1.2s处理每个帧(使用OpenCV).我正在寻找改善处理时间和全球准确性的方法.我目前的实施工作如下:

  1. 捕捉帧
  2. 将其转换为灰度
  3. 检测关键点并使用ORB提取描述符
  4. 匹配描述符(2NN)(对象 - >场景)并使用比率测试对其进行过滤
  5. 匹配描述符(2NN)(场景 - >对象)并使用比率测试对其进行过滤
  6. 用4.和5非对称匹配去除.
  7. 计算匹配置信度(匹配关键点与总关键点的百分比)

我的方法可能不是正确的方法,但即使有很大的改进空间,结果仍然可以.我已经注意到SURF提取太慢而且我无法使用单应性(它可能与ORB有关).欢迎所有建议!

opencv object-detection computer-vision ios

11
推荐指数
1
解决办法
4894
查看次数

PHP:exec()即使使用">/dev/null 2>&1&"也不会在后台运行

我在我的php脚本中调用它:

    exec("gutschein.php >/dev/null 2>&1 &");
Run Code Online (Sandbox Code Playgroud)

调用脚本(生成pdf并通过电子邮件发送)可以正常工作,但是进程没有在后台运行(我在gutschein.php中使用sleep语句检查了它).浏览器一直挂起,直到执行gutschein.php完成.

我还检查了以下内容:

    exec("/usr/bin/php gutschein.php >/dev/null 2>&1 &");
Run Code Online (Sandbox Code Playgroud)

要么

shell_exec("/usr/bin/php gutschein.php >/dev/null 2>&1 &");
Run Code Online (Sandbox Code Playgroud)

它没有改变任何东西.该脚本实际上是在linux服务器上运行的.有谁知道我做错了什么?

php background process exec

11
推荐指数
1
解决办法
8335
查看次数

Java 9:如何找到添加的每个新方法

在Java 9的发布,许多方法已经被添加到许多类,大部分(如果不是全部),其中包含了文档中的以下内容:

从:9

是否有一种简单的方法可以在任意类中添加任何新方法而无需浏览其文档?

示例: ByteBuffer.alignedSlice

java methods javadoc class java-9

11
推荐指数
2
解决办法
331
查看次数