与Intellij Idea一起使用Git的最佳实践

简而言之,使用Intellij Idea(9)和Git的最佳实践是什么? 上下文 我们最近升级到了idea 9,并开始使用Git来实现现有项目的新function。 我们主要使用git命令行来更好的学习这个工具。 但是我们认为我们会select蜂巢式的思路来找出git和idea的最佳实践。 Idea UI对于CVS和Git来说都是相似的,但底层实现却有所不同。 示例问题 例如: – 用CVS,当我们有多个版本的产品时,我们每个人都有1-0,2-0,3-0等分支的本地副本,每个分支都有自己的Intellij文件(即.ipr,.iws等)。 “Git方式”似乎有一个项目,并使用“GIT分支”切换分支。 这很好,但是当你改变分支的时候,它为想法创造了巨大的开销(因为它必须重新加载每个改变的文件,包括签入的jar)。 所以:你还有一个单独的项目(与.git)为每个“主要版本”或有一个项目,并使用“Git分支”? – 使用Autostash是个好主意吗? – 你会自动添加每个修改到你的git提交? 或者稍后使用“git add”? 你有没有发债? 最好的方式来合并? – 任何其他提示/提示/为你工作,等等。 最终评论 我们仍然“在cvs中思考”,所以这部分已经习惯了git; 部分习惯了Idea的Ui for git。 这些是相当基本的问题,因为我们仍然主要使用命令行。 另外我听说主意10有更好/更强大/更快的git集成工具 谢谢

为什么这个通用扩展方法不能编译?

代码有点奇怪,请耐心等待(请记住,这种情况确实出现在生产代码中)。 假设我有这个接口结构: public interface IBase { } public interface IChild : IBase { } public interface IFoo<out T> where T : IBase { } 使用这个扩展方法类来构build接口: public static class FooExt { public static void DoSomething<TFoo>(this TFoo foo) where TFoo : IFoo<IChild> { IFoo<IChild> bar = foo; //foo.DoSomethingElse(); // Doesn't compile — why not? bar.DoSomethingElse(); // OK […]

在Perl 5中,如何获得发送信号的进程的PID?

在C中,我可以说 #include <stdio.h> #include <unistd.h> #include <signal.h> int continue_running = 1; void handler(int signal, siginfo_t* info, void* data) { printf("got signal %d from process %d running as user %d\n", signal, info->si_pid, info->si_uid); continue_running = 0; } int main(int argc, char** argv) { struct sigaction sa; sigset_t mask; sigemptyset(&mask); sa.sa_sigaction = &handler; sa.sa_mask = mask; sa.sa_flags […]

如何将我的DDD模型中的“用户”与validation用户进行集成?

我正在创build我的第一个ASP.NET MVC网站,并一直试图遵循域驱动的开发。 我的网站是一个项目协作网站,用户可以分配到网站上的一个或多个项目。 然后将任务添加到项目中,并将具有项目的用户分配给任务。 所以“用户”是我的领域模型的基本概念。 我的计划是有一个“用户”模型对象,其中包含有关用户的所有信息,可以通过IUserRepository访问。 每个用户都可以通过UserId来识别。 虽然我不确定在这一点上,如果我想UserId是一个string或整数。 我的域对象应如何与用户和IUserRepository相关的更多我的网站的pipe理function,如授权用户,并允许他们login? 如何将我的域模型与ASP.NET的其他方面(如HttpContext.User,HttpContext.Profile,自定义MemberShipProvider,自定义ProfileProvider或自定义AuthorizeAttribute? 我应该创build一个自定义MembershipProvider和/或ProfileProvider包装我的IUserRepository? 虽然,我也可以预见为什么我可能希望将我的域模型中的用户信息与我的网站上的用户授权分开。 例如在将来我可能想从窗体身份validation切换到Windows身份validation。 最好不要试图重新发明轮子,并坚持使用内置于ASP.NET的标准SqlMembershipProvider? 每个用户的configuration文件信息都将存储在域模型(User / IUserRepository)中,但不包括其密码。 然后,我会使用标准的ASP.NET成员资格来处理创build和授权用户? 因此,需要在某处添加一些代码,以便在创build帐户或第一次login时为IUserRepository中的新用户创buildconfiguration文件。

使用CoreLocation重要位置监控和CoreBluetooth时,电池耗尽

我们已经发布了一个在后台运行的应用程序,并使用CoreBluetooth & CoreLocation自动保存您的停车位置。 在高层次上,我们的应用程序只是寻找一个CoreBluetooth断开事件,并打开GPS,直到我们得到一个定位(精度<= 10米)或3分钟的最大时间(这可能发生在停放在没有GPS覆盖的地下停车场)。 然后,我们使用重要的位置监测来自动重新启动我们的应用程序,以防系统终止我们的应用程序。 在我们的开发过程中,我们从来没有看到自己的电池耗尽问题,但是我们75%的用户表示他们看到了显着的电池消耗。 我们的支持者中有10%对此次调查做出了回应,因此很难确定细分的代表性,但是这个用户的比例很大。 http://www.findmycarsmarter.com/forum/viewtopic.php?f=4&t=30 然后,我们发布了一个更新,允许用户禁用重要的位置监控,60%的人表示通过禁用重要的位置监控漏洞消失。 http://www.findmycarsmarter.com/forum/viewtopic.php?f=4&t=42 最初,我们不能自己重复排水问题,但是我们发现,当我们安装了一个简单的应用程序,只需打开显着的位置监测,结合查找我的汽车更智能,我们间歇性地看到了stream失的重现。 在排水状态下,手机不进入hibernate状态。 即使手机已进入睡眠状态并且显示屏已closures,((设置 – >使用情况 – >自上次完整充电以来的时间))中的使用时间也会持续增加。 有些东西阻止系统进入hibernate状态。 电池在这个阶段每小时消耗大约15%。 这个排水pipe间歇性地出现,似乎在一两个小时后自行清除,随机再来。 我们还没有find一种可靠性重现stream失的方法。 我们认为这个问题是由多个客户端调用CoreLocation引起的。 我们询问了一些遇到问题的用户,以便擦除他们的电话,并只安装“查找我的智能汽车”应用程序。 只是安装了这个应用程序,排水渠没有展示。 我们有其他的报道,当我们的应用程序与谷歌纵横或Facebook等使用,当他们看到stream失发生。 或者,如果他们去杀了其他的应用程序,漏水消失。 我们已经看到通过一个电源周期的漏洞,没有启动应用程序。 这意味着它必须是防止操作系统进入hibernate状态的系统级服务。 尽pipe我们认为这个问题是由多个客户端调用CoreLocation的一些竞争条件引起的,但我们从来没有看到使用CoreLocation的应用程序重现问题。 我们甚至创build了4个或5个不同的应用程序,将同时访问CoreLocation,我们没有看到漏水发生。 然而,当我们使用CoreLocation的应用程序和使用CoreLocation + CoreBluetooth的第二个应用程序时,我们看到了问题。 有很less的应用程序使用CoreLocation + CoreBluetooth组合,所以潜在的这就是为什么更多的开发者没有遇到这个问题。 尽pipe我们无法解释CoreLocation和CoreBluetooth如何相互作用导致这个漏洞,以及CoreLocation的第二个应用程序如何进入等式。 由于漏极是间歇性的,所以只是在我们使用CoreLocation + CoreBluetooth进行testing的时候才会出现问题。 在只有这两个应用程序安装了CTM1和FMC的5.0.1 iPhone 4S上,我们可以间歇性地进入漏极状态。 有趣的是,在我们的普通设备上,擦除设备上的漏水问题似乎不太常见。 不幸的是,我们只看到了几次排水状态,没有能够可靠地重现排水,我们没有一个良好的控制状态工作。 我们已经向苹果公司提交了一个错误报告,并且发布了一个技术支持事件,但是Stackover社区也可以提供一些见解。 我们在5.0.1和5.1 Beta 3中都看到了这个问题。 CTM1 http://www.findmycarsmarter.com/files/CTM1.zip On Going into […]

嵌套callback的Java模式?

我正在寻找一个Java模式来进行非阻塞方法调用的嵌套序列。 在我的情况下,一些客户端代码需要asynchronous地调用一个服务来执行一些用例,而这个用例的每一步必须是asynchronous执行的(因为这个问题的范围之外的原因)。 想象一下,我有现有的接口,如下所示: public interface Request {} public interface Response {} public interface Callback<R extends Response> { void onSuccess(R response); void onError(Exception e); } Request和Response接口有不同的配对实现,即RequestA + ResponseA (由客户端提供), RequestB + ResponseB (由服务内部使用)等。 处理stream程如下所示: 在收到每个响应和发送下一个请求之间,需要进行一些额外的处理(例如根据任何以前的请求或响应中的值)。 到目前为止,我已经尝试了两种使用Java编码的方法: 匿名类:由于所需的嵌套,很快变得丑陋 内部类:比上面更清晰,但是对于另一个开发者来说仍然难以理解执行的stream程 有没有一些模式,使这个代码更具可读性? 例如,我是否可以将服务方法表示为一个自包含操作的列表,由依赖嵌套的框架类按顺序执行?

Office 2007文件types,MIMEtypes和标识字符

我在哪里可以find所有的MIMEtypes和Office 2007文件的标识字符的列表? 我有一个上传表单,限制上传扩展和标识字符,但我似乎无法findOffice 2007的MIMEtypes。

在.Net中使用扩展方法的最佳做法是什么?

我曾经看到过这些东西被用到了每一个方面,并被指责用错了方式(尽pipe在那种情况下,我是用这种方式来certificate一个观点的 )。 那么,您认为采用扩展方法的最佳做法是什么? 开发团队是否应该创build一个扩展方法库并将其部署到各个项目中? 是否应该有一个开源项目forms的通用扩展方法集合? 更新:已决定创build一个组织广泛的扩展方法库

可以取消jQuery延期?

我有一种情况,我想取消延期。 延迟与ajax调用相关联。 为什么我使用延期 我不使用$ .ajax返回的正常的xhr对象。 我正在使用jsonp,这意味着我不能使用HTTP状态码进行error handling,并且必须将它们embedded到响应中。 然后检查代码,并将相关的延期对象标记为已解决或相应地拒绝。 我有一个自定义的API函数,为我做这个。 function api(options) { var url = settings('api') + options.url; var deferred = $.Deferred(function(){ this.done(options.success); this.fail(options.error); }); $.ajax({ 'url': url, 'dataType':'jsonp', 'data': (options.noAuth == true) ? options.data : $.extend(true, getAPICredentials(), options.data) }).success(function(jsonReturn){ // Success if(hasStatus(jsonReturn, 'code', 200)) { deferred.resolveWith(this, [jsonReturn]); } // Failure else { deferred.rejectWith(this, [jsonReturn]); […]

如何让ReSharper使用系统命名空间不在顶部?

Visual Studio有一个选项可以将系统指令放在最上面。 当取消选中此设置时,通过右键单击语句并使用“ 组织使用”function对语句进行sorting,可将系统名称空间按字母顺序排列在所有其他名称空间导入之后。 但是,ReSharper似乎并没有遵守这个设置,也没有在它自己的Namespace Imports选项页面上有类似的东西。 它总是performance得像在顶部想要系统命名空间。 当你已经有一些在底部,你让ReSharperbuild议一个名字空间来导入时,这是特别讨厌的,那么你最终会在列表的两端结束。 有没有办法解决这个问题? 或者这只是ReSharper中的一个错误/疏漏?