问题列表 - 第312页

在Java中获取特定于操作系统的信息的最佳方法是什么?

  1. 特别是在Windows上使用"..\Documents&Settings\All Users,基本上任何需要根据您的软件运行的操作系统动态派生的路径.(现在我需要答案)
  2. 当前用户我的文档dirctory (好的,已经回答) 和basicaly任何需要根据您的软件运行的操作系统动态派生前端的路径.

java environment-variables

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

如何删除git历史记录中的特定修订版?

假设您的git历史记录如下所示:

1 2 3 4 5

1-5是单独的修订.你需要删除3,同时仍然保持1,2,4和5.如何做到这一点?

在删除之后有数百个修订版时,是否有一种有效的方法?

git

211
推荐指数
6
解决办法
10万
查看次数

C#预处理器

虽然C#规范确实包含预处理器和基本指令(#define,#if等),但该语言没有与C/C++等语言相同的灵活预处理器.我认为缺乏这种灵活的预处理器是由Anders Hejlsberg做出的设计决定(尽管不幸的是,我现在找不到这个参考).根据经验,这肯定是一个很好的决定,因为当我做很多C/C++时,会创建一些非常糟糕的不可维护的宏.

也就是说,有很多场景我可以找到一个稍微灵活一点的预处理器.一些简单的预处理器指令可以改进以下代码:

public string MyProperty
{
  get { return _myProperty; }
  set
  {
    if (value != _myProperty)
    {
      _myProperty = value;
      NotifyPropertyChanged("MyProperty");
      // This line above could be improved by replacing the literal string with
      // a pre-processor directive like "#Property", which could be translated
      // to the string value "MyProperty" This new notify call would be as follows:
      // NotifyPropertyChanged(#Property);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

编写预处理器来处理这样极其简单的情况会不是一个好主意?Steve McConnell在Code Complete中写道(p208):

编写自己的预处理器 如果一种语言不包含预处理器,那么编写一个很容易...

我被撕裂了.将这样一个灵活的预处理器从C#中取出是一个设计决定.但是,我非常尊重的作者提到它在某些情况下可能没问题.

我应该构建一个C#预处理器吗?有没有可以做我想做的简单事情?

c# c-preprocessor

20
推荐指数
2
解决办法
8305
查看次数

"变更管理"结束和"项目失败"从何处开始?

最近我与老板就"项目失败"进行了一次小小的争论.三年后,我们将代码库迁移到一个新平台的项目(我已经工作了一年的项目已有1.5年,但我的团队领导工作只持续了几个月)才开始实施.他,以及我公司和客户的高级管理人员(我是你听到很多关于那些可怕的顾问之一.我的订婚是"应用外包")宣称该项目是成功的.我不同意,指出我发现的旧陈述表明,与原始计划相比,部署的延迟最好用几个月来衡量,并且可能用数年来衡量.我解释了我所知道的项目失败,以及失败率背后的研究和统计数据.他回答说这是所有的学术界,他所领导的项目都没有失败,

也许这样的咨询与其他项目有所不同,但似乎这只是一个更漂亮的名字的失败,以避免无法按时,按预算或完整功能交付的耻辱.事实上,他解释说我的公司免费提供了数小时的工作,以便在最大限度的预算内完成项目说了很多.

所以我问你这个:

  • 什么是变更管理,以及它如何应用于项目?
  • "变更管理"结束在哪里,"项目失败"开始了?


@ shog9:
我没有询问与顾问的责备游戏,特别是因为在这种情况下我代表顾问.不管所需要的功能我一直在寻找一个项目时,应考虑的意见"失败" 终于实现.
我正在寻找"这实际上比我们想象的要复杂一点,并且它将会是另一周"的区别,我期望这是一个典型的,"项目失败" - 但是你想要定义失败.甚至还有区别吗?这种较小程度的进度滑点是否构成统计"项目失败?"

project-management change-management

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

在Java桌面应用程序中保留数据的最佳方法是什么?

我的桌面应用程序中有一个庞大的Java对象树,我正在尝试确定将它们作为文件保存到文件系统的最佳方法.

我的一些想法是:

  • 使用DataOutputStream滚动我自己的序列化程序:这将使我能够最大程度地控制文件中的内容,但代价是对其进行微观管理.

  • 使用ObjectOutputStream及其各种相关类的直接旧序列化:虽然因为我发现数据很脆弱,但我没有卖掉它.更改任何对象的结构会破坏它的序列化实例.所以我被锁定在似乎是一个可怕的版本化噩梦.

  • XML序列化:它并不那么脆弱,但直接序列化的速度要慢得多.它可以在我的程序之外进行转换.

  • JavaDB:我考虑过这个,因为我很乐意编写JDBC应用程序.这里的区别在于数据库实例仅在打开或保存文件时保持不变.它并不漂亮但是......如果以后需要,它确实可以迁移到中央服务器架构,它引入了以更简单的方式查询数据模型的可能性.

我很想知道其他人的想法.而且我希望我错过了一些比上面更明显,更简单的方法.


以下是从以下答案中剔除的更多选项:

  • 对象数据库 - 具有比ORM方法少得多的基础结构,并且比XML方法执行速度更快.谢谢aku

java oop desktop persistence

10
推荐指数
4
解决办法
3537
查看次数

登录的SQL查询

选择所有MSSQL Server登录的SQL查询是什么?

谢谢.不止一个人有我想要的答案:

SELECT * FROM syslogins 
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

如何在对等系统中可靠但最少地分发项目

如果有人拥有可以查询的点对点系统,则希望

  • 减少整个网络上的查询总数(通过将“热门”项目和“类似”项目一起分布)
  • 避免在每个节点上过多存储
  • 确保在面对客户端停机,硬件故障以及用户离开时(即使是中等程度的稀有商品)也具有良好的可用性(可能为档案管理员/历史学家检测稀有商品)
  • 避免查询在网络分区的情况下找不到匹配项

鉴于这些要求:

  1. 有没有标准的方法?如果没有,是否有任何受人尊敬的实验研究?我对分配方案很熟悉,但是我还没有看到任何真正可以解决学习问题的方法。
  2. 我是否缺少任何明显的标准?
  3. 是否有人有兴趣解决/解决这个问题?(如果是这样,我很乐意将本周末聚集在一起的非常la脚的模拟器的一部分开源,并且通常会提供无用的建议)。

@cdv:我现在已经看过视频了,它非常棒,尽管我觉得它并没有完全适用于可插拔的发行策略,但肯定是90%的实现。但是,这些问题突出了这种方法的有用差异,这些差异解决了我的一些进一步担忧,并为我提供了后续的参考。因此,尽管我认为这个问题尚待解决,但我暂时接受您的回答。

language-agnostic distributed p2p fault-tolerance machine-learning

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

Xcode相当于'__asm int 3/DebugBreak()/ Halt?

什么是导致Xcode难以破解的指令?例如,在Visual Studio下,我可以执行'_asm int 3'或'DebugBreak()'.在一些GCC实现下,它是asm("break 0")或asm("trap").

我在Xcode下尝试了各种组合而没有任何运气.(内联汇编程序工作正常,因此它不是语法问题).

作为参考,这是针对断言宏.我不想在assert.h中使用定义既可移植性,也因为它们似乎在XCode提供的版本中执行了abort().


约翰 - 超级,欢呼.作为参考,int 3语法是Intel Macs和iPhone所需的语法.


Chris - 感谢您的评论,但有很多理由要避免将标准的assert()函数移植到移植到不同平台的代码库.如果您已经解决了滚动自己断言的麻烦,通常是因为您希望保留其他功能(日志记录,堆栈展开,用户交互).

你试图通过'__sert'或类似的实现替换hander的建议不是可移植的.标准'assert'通常是一个宏,虽然它可能映射到Mac上的__assert,但它不在其他平台上.

macos xcode debugbreak

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

在单元测试中检查工厂的结果

我开发了一些具有类似行为的类,它们都实现了相同的接口.我实现了一个工厂,它创建适当的对象并返回接口.我正在为工厂写一个单元测试.你得到的只是对象的接口.测试工厂工作正常的最佳方法是什么?

我想知道Java中的答案,但如果有一个跨越语言的解决方案,我想知道它.

答案中的第2号将像其他答案一样完成吗?如果是这样,我将标记另一个接受的答案并重新提出我的问题,以解决返回界面的工厂以及您不知道哪种类型的具体类实现了界面,以及您知道具体类是什么的情况用过的.

java tdd unit-testing

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

在winform应用程序中单击按钮后,如何将焦点返回到上次使用的控件?

我正在使用Windows窗体应用程序(C#),用户在表单中输入数据.在编辑表单中的数据时,用户可以单击表单上的其中一个按钮来执行某些操作.默认情况下,焦点转到单击的按钮,因此用户必须单击返回要编辑的控件才能继续修改表单上的数据.我需要做的是在处理完按钮点击事件后将焦点返回到最后编辑的控件.这是一个示例截图,说明了我在说什么:

示例App屏幕截图

用户可以在textbox1,textbox2,textbox3等中输入数据,然后单击按钮.我需要按钮将焦点返回到最近在单击按钮之前具有焦点的控件.

我想知道是否有人有更好的方式来实现这个功能,而不是我想出的.这就是我现在正在做的事情:

   public partial class Form1 : Form
    {
        Control _lastEnteredControl;

        private void textBox_Enter(object sender, EventArgs e)
        {
            _lastEnteredControl = (Control)sender;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Do something here");
            _lastEnteredControl.Focus();
        }


    }
Run Code Online (Sandbox Code Playgroud)

所以我们这里基本上是一个指向最后输入控件的类变量.设置表单上的每个文本框,以便在控件获得焦点时触发textBox_Enter方法.然后,当单击按钮时,焦点将返回到单击按钮之前具有焦点的控件.有人有更优雅的解决方案吗?

.net c# winforms

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