我将TortoiseSVN设置为使用KDiff3作为冲突解决工具(我发现它显示了比内置TortoiseMerge更有用的合并信息).
当我用Tortoise的"编辑冲突"命令打开一个文件时,它会显示三个文件,我必须手动选择"合并 - >合并当前文件".问题是KDiff3将结果保存到source_file.working
而不是source_file
.因此,如果不执行"另存为",则不会修改具有冲突的真实文件.有没有办法做这个手册每次都保存?
我知道这不是一个严格意义上的编程问题,而是一个程序员常用的辅助过程,它应该在这里很有用.我在其他地方找不到答案.
我想将log4j和log4net appender的日志文件名设置为具有当前日期.我们正在进行每日翻转,但当前日志文件没有日期.日志文件名称格式为
logname.2008-10-10.log
Run Code Online (Sandbox Code Playgroud)
有人知道我这样做的最好方法吗?
编辑:我忘了提到我们也想在log4net中这样做.此外,任何解决方案都需要在JBoss中使用.
你会如何开始改进一个非常糟糕的系统?
在您建议创建单元测试和重构之前,让我解释一下我的意思.我可以使用这些技术但在这种情况下这将毫无意义.
实际上系统是如此破碎,它没有做它需要做的事情.
例如,系统应计算它发送的消息数量.它主要起作用,但在某些情况下它会"忘记"增加消息计数器的值.问题是,许多其他具有自己的变通方法的模块建立在这个计数器上,如果我纠正计数器,整个系统将变得比现在更糟.解决方案可能是修改所有模块并删除自己的更正,但是有150多个模块需要如此多的协调才能负担得起.
更糟糕的是,有些问题的解决方法不是在系统本身,而是在人们的头脑中.例如,系统不能在一个消息组中表示超过四个相关消息.某些服务需要将五个消息组合在一起.会计部门知道这种限制,每次他们计算这些服务的消息时,他们会计算消息组并将其乘以5/4以获得正确的消息数.绝对没有关于这些偏差的文档,没有人知道现在系统中存在多少这样的东西.
那么你将如何开始改进这个系统呢?你会采取什么策略?
还有一些额外的事情:我是一个单人军队,因此雇用足够的人并重新设计/重构系统是不可接受的答案.在几个星期或几个月内,我真的应该展示一些明显的进展,所以不能选择在几年内进行自我重构.
一些技术细节:系统是用Java和PHP编写的,但我认为这并不重要.它背后有两个数据库,一个是Oracle和一个PostgreSQL数据库.除了代码本身之前提到的缺陷之外,它的编写和记录也非常糟糕.
附加信息:
计数器问题不是同步问题.counter ++语句被添加到某些模块中,而不会添加到其他模块中.快速而肮脏的修复是将它们添加到缺失的位置.长期解决方案是使其成为需要它的模块的一个方面,以后不可能忘记它.我没有修复这样的问题,但是如果我做这个改变,我会打破其他10个模块.
更新:
我接受了Greg D的回答.即使我更喜欢Adam Bellaire,也不会让我知道什么是理想的.谢谢大家的答案.
本地化ASP.NET MVC应用程序的最佳做法是什么?
我想介绍两种情况:
在第一种情况下你应该选择某种基于视图的东西,比如〜/ View/EN,〜/ View/FI,〜/ View/SWE或者其他什么东西?
那么第二种情况,只需通过Web.config进行基于应用程序的配置,并将这些不同的语言指向不同的URL?
从.Net连接到Informix数据库的最佳方法是什么?
我正在开发一个基于传统Informix DB的客户端 - 服务器应用程序,以前通过JDBC连接.
我需要它,从最重要到最不重要:
在此先感谢您的帮助.
作为程序员,我们都将一个非常酷的程序组合在一起,或者以一种有趣的方式将一些硬件拼凑在一起来解决问题.今天我在考虑那些黑客以及它们中的一些是如何被现代技术弃用的(例如,你不再需要破解你的Tivo添加网络端口).在软件世界中,我们现在将在网页上拖放的内容视为理所当然,但不久之前,这也是一个非常令人兴奋的黑客攻击.
我见过的最好的硬件黑客之一是几年前一家电信公司的前同事完成的.他的办公室里有一台小型便携式电视机,他在工作的整天都会看着它.为了逃脱它,他将一个开关连接到通过他的桌子下面的脚激活的开/关.
您个人见过或做过的最酷的硬件或软件是什么?你现在正在做什么黑客攻击?
我一直在研究一个项目的内存映射文件,并且会感谢之前使用它们或决定不使用它们的人的想法,为什么?
特别是,我关注以下内容,按重要性排序:
我有一个.NET应用程序,在批量导入中处理大约300,000条记录,每条记录需要几秒钟,所以我想并行化这个.在下面的代码中,ProcessWithAnsycDelegates()
和之间有什么区别ProcessWithThreadPool()
?
public class ResultNotification
{ public EventHandler event Success;
public EventHandler event Fail;
internal void Notify(bool sucess) {if (success) Success(); else Fail();}
}
public static class Processor
{ public ResultNotification ProcessWithAnsycDelegates(Record record)
{ var r = new ResultNotification();
Func<Record,bool> processRecord=new RecordProcessor().ProcessRecord;
processRecord.BeginInvoke
( record
,ar => result.Notify(processRecord.EndInvoke(ar))
,null);
return r;
}
public ResultNotification ProcessWithThreadPool(Record r)
{ var r = new ResultNotification();
var rp = new RecordProcessor();
ThreadPool.QueueWorkUserItem(_=>result.Notify(rp.ProcessRecord(r)));
return r;
}
}
Run Code Online (Sandbox Code Playgroud) 我目前正在制作一个新的ASP.net MVC网站,并发现自己在各地使用Html.Encode,这是一个很好的做法,但变得非常混乱.我认为清理它的一个好方法是,如果我可以重载一个运算符来自动执行Html编码.
先前:
<%= Html.Encode( ViewData['username'] ) %>
Run Code Online (Sandbox Code Playgroud)
相当于:
<%=h ViewData['username'] %>
Run Code Online (Sandbox Code Playgroud)
任何人有任何想法我怎么能这样做,可能使用扩展方法或什么?
我的工作只给了我一台四核计算机,WOW构建时间很快!(过去需要花费20多分钟的时间需要7分钟).
无论如何,Visual Studio并行构建项目(非常适合构建时),但是对输出进行加扰:
1>Performing Makefile project actions
3>arg.c
2>msg.c
3>log.c
4>test.c
(and so on....)
Run Code Online (Sandbox Code Playgroud)
是否有一个插件在构建完成时对输出进行排序?
.net ×3
asp.net-mvc ×2
asynchronous ×1
c# ×1
conflict ×1
diff ×1
filesystems ×1
hardware ×1
html-encode ×1
informix ×1
java ×1
localization ×1
log4j ×1
log4net ×1
logging ×1
memory ×1
plugins ×1
refactoring ×1
svn ×1
system ×1
threadpool ×1
tortoisesvn ×1