我可以得到一个“有时可移植的”类库项目加载在Visual Studio Express?

对于Noda Time 1.1版,主要目标是构build一个可移植类库的风格,主要是为了支持Windows Phone和Windows Store应用程序。 这意味着失去了一些function,所以我们build立一个桌面configuration和一个PCLconfiguration(对于每个debugging,发布和“签名版本”)。 为了避免不必要的工程文件,所有6个configuration都存在于同一个工程文件中。 项目文件被自定义为生成一个名为“Portability”的属性,该属性设置为“PCL”或“Desktop”,如下所示: <!– Set the custom Portability property based on configuration –> <PropertyGroup> <Portability Condition="'$(Configuration)' == 'Debug Portable'">PCL</Portability> <Portability Condition="'$(Configuration)' == 'Release Portable'">PCL</Portability> <Portability Condition="'$(Configuration)' == 'Signed Release Portable'">PCL</Portability> <!– Default to desktop if not explicitly set above –> <Portability Condition="'$(Portability)' == ''">Desktop</Portability> </PropertyGroup> 然后,我们根据上述属性为便携式和桌面使用单独的属性组。 这就是将项目types定义为“类库”或“可移植类库”(以及共享Librarytypes): <!– Desktop-specific properties […]

.Net 4 MemoryCache泄漏并发垃圾收集

我在.Net 4中使用了新的MemoryCache ,最大高速caching大小限制为MB(我testing了它在10到200MB之间,在1.75到8GB内存的系统上)。 我不会在对象上设置任何基于时间的过期,因为我只是将高速caching用作高性能驱动器,只要存在空间,我希望使用它。 令我惊讶的是,caching拒绝驱逐任何对象,以至于我会得到SystemOutOfMemoryexception 。 我启动了perfmon ,将我的应用程序连接到.Net CLR Memory\#Bytes In All Heaps , .Net Memory Cache 4.0和Process\Private Bytes – 实际上,内存消耗已经失控,没有caching修剪注册。 做了一些谷歌search和stackoverflowing ,下载和附加CLRProfiler ,和wham :到处驱逐! 内存保持在合理的范围内,根据我设定的内存大小限制。 在debugging模式下再次运行,不会驱逐。 CLRProfiler再次驱逐。 我终于注意到,探查器强制应用程序运行,没有并发垃圾收集 (也见有用的SO并发垃圾收集问题 )。 我在我的app.config中closures了它,果然,驱逐! 这似乎充其量只是一个荒谬的缺乏文档不说: 这只适用于非并发垃圾收集 – 虽然我的形象,因为它从ASP.NET移植,他们可能不必担心并发垃圾收集 。 那么有没有其他人看到这个? 我很想在那里得到一些其他的经验,也许还有一些更有教养的见解。 更新1 我已经在一个单一的方法中重现了这个问题:看起来caching必须并行写入caching驱逐不能触发(在并发垃圾收集模式下)。 如果有兴趣的话,我会把testing代码上传到公开的回购站。 我肯定正在进入CLR / GC / MemoryCache池的深层,我想我忘了我的floaties … 更新2 我在CodePlex上发布了testing代码来重现这个问题。 此外,可能有趣的是,原始生产代码作为工作者angular色在Azure中运行。 有趣的是,更改angular色的app.config中的GC并发设置没有任何作用。 可能Azure重写GC设置很像ASP.NET? 此外,在WPF和控制台应用程序下运行testing代码将产生稍微不同的驱逐结果。

find3x3 holepunch的所有组合

我在嘉年华会,在每个地点他们用特别的打孔器来标记你的节目。 打孔器是一个3×3的格子。 在每个空间里,都有一个钉住你的纸或没有。 这让我想知道你可以使用这个工具有多less种不同的模式。 我的第一个想法是:2 ^ 9 = 512,但是所有9个空格都不是真正的一拳,所以真的:511。 那么复杂性打击了我。 特别是因为工作人员在打纸时不是很小心,所以这些都是理所当然的: x.. .x. … etc. .xx. .x. … … ..x 问题: 如何编写testing来解释轮换和移位? 目前的努力和想法: 二进制感觉是这个等式的一个显而易见的部分 当find一个唯一的模式,将其存储在内存中,以便将来的模式可以被testing 有4种旋转的可能性。 编辑:我的意思是“旋转”,你可以采取任何形状,把它转过90度。 考虑左上angular的点阵模式。 你可以转动/旋转90度,并得到在右上angular的点。 再次这样做,它在右下angular。 再次,它在左下angular。 使用纯粹的2 ^ 9计算,这些是4种不同的组合。 但是,对于这个问题,这些正是我试图去除的重复。 对于每次旋转,有25种方法可以使3×3网格重叠: 重叠: / = the spaces in the new one to test \ = the spaces in a verified unique […]

如何在库中支持多个Scala版本

我有一个相当普通的Scala项目,目前正在使用Maven构build。 我想要支持Scala 2.9.x和即将推出的2.10,它不是二进制或源代码兼容的。 如果有必要的话,我愿意考虑转换到SBT,但是我遇到了一些挑战。 我对这个项目的要求是: 单一来源树(不分支)。 我相信试图支持每个Scala版本的多个并发“主”分支将是错过分支之间错误修正的最快方法。 版本特定的源目录。 由于Scala版本不是源兼容的,我需要能够为版本特定的源指定辅助源目录。 特定于版本的源码jar。 最终用户应该能够下载正确的源代码jar,以及正确的版本特定的源代码,用于他们的Scala for IDE版本集成。 综合部署。 我目前使用Maven发行版插件将新版本部署到Sonatype OSS存储库,并希望为发行版提供类似的简单工作stream程。 最终用户Maven支持。 我的最终用户通常是Maven用户,所以准确反映依赖关系的function性POM至关重要。 阴影jar支持。 我需要能够生成包含我的依赖项的子集的JAR, 并从已发布的POM中去除阴影依赖项。 我已经尝试过的事情: Mavenconfiguration文件。 我创build了一组Mavenconfiguration文件来控制使用哪个版本的Scala来构build,使用Maven build-helper插件来select版本特定的源代码树。 在发布之前,这一切都运行良好。 使用分类器来限定版本并不能正常工作,因为源代码的jar也需要自定义分类器('source-2.9.2'等),大多数IDE工具都不知道如何定位它们。 我尝试使用Maven属性将SBT风格的_ $ {scala.version}后缀添加到工件名称,但Maven不喜欢工件名称中的属性。 SBT。 一旦你可以使用它,就可以很好地工作(尽pipe有大量的文档,这不是一件小事)。 不利的一面是,似乎没有与Maven shade插件相当的function。 我看过: Proguard的。 该插件没有针对SBT 0.12.x进行更新,并且不会从源代码生成,因为它取决于另一个更改了groupIds的SBT插件,并且旧名称下没有0.12.x版本。 我还没有能够解决如何指示SBT忽略/replace插件的依赖关系。 OneJar。 这使用自定义类加载来运行embedded式jar的主要类,这不是所需的结果; 我希望我的项目的类文件在我的阴影依赖关系的jar文件中(可能是重命名的)类文件。 SBT大会插件。 这可以在一定程度上工作,但POM文件似乎包括我试图遮蔽的依赖关系,这对我的最终用户没有帮助。 我接受,可能没有一个解决scheme可以满足我对Scala的需求,或者我可能需要编写自己的Maven或Scala插件来完成目标。 但是,如果我可以,我想find一个现有的解决scheme。 更新 我接受@ Jon-Ander的出色答案 ,但对我来说,还是有一个杰出的作品,那就是一个统一的发布stream程。 我的build.sbt的当前状态在GitHub上 。 (我将在后面为后代重现它)。 sbt-release插件不支持多版本构build(也就是说, + […]

如何从子目录加载乳胶.sty文件?

我使用了一些.sty文件,这些文件不是texlive的一部分,并且希望将它们放在我的main.tex文件夹的子目录中。 我用下面一行来加载包: \usepackage{sty/prettythesis} 这工作,但用xelatex和使用橡胶编译main.tex给我一个警告: sty/prettythesis.sty: You have requested package `sty/prettythesis', but the package provides `prettythesis'. (page 1) 有没有办法来防止这个警告或处理这种情况,而不必在所有.sty-files'\ ProvidePackage命令中包含“sty \”或设置TEXINPUTS环境variables(这似乎是不可能从main.tex本身) ?

pjax是“stream体”导航的方式吗?

我已经开始使用pjax了 ,因为我想为我的用户提供一个快速,stream畅的体验,而不需要太多不必要的HTTP请求,并重复呈现未更改的HTML。 在我的网站上,我的工作效果相当不错,我必须说,启动和运行起来非常容易,考虑到它为这个体验带来了多大的差异。 然而,我看到很less的支持pjax – 无论是在StackOverflow和一般的networking( 谷歌search返回顶部完全 无关的web开发许多结果)。 但是我对它印象深刻,即使没有得到广泛的支持,我仍然可以使用它。 我主要担心的是后来在没有很多支持的情况下投入我的代码时遇到了一些大问题。 所以我想确保那里没有别的东西。 有没有其他的实现pjax提供,我不知道的相同的function? 还是这么新,没有多less人知道呢? 或者,这只是一个糟糕的/有问题的实现?

可怕的“保持login”和会话检查

所以,我知道这已经被处死了,但是我所遇到的所有答案都是相互混淆/相互矛盾的,或者他们的解释是不完整的,我试图用自己的所有资源可用,但我想我已经迷路了。 我想一劳永逸地澄清这一点。 感谢您的耐心提前,因为这可能会有一点点啰嗦。 我的页面顶部有一个小的login框,如果用户没有login,它将保持不变。如果他们已经login,而不是login框,他们会看到一个问候与他们的名字。 会话检查 所以首先,这里是一个(到目前为止我的理解)如何检查用户可以访问“仅限会员”内容的图表。 (这段代码放在页面的顶部来检查和设置variables,如$loggedin = true; ) 现在,我的$_SESSION['loggedin']就是用户名。 据我的理解,会话可能是伪造或劫持在同一个域中,所以我知道这是非常不安全的(例如,攻击者可以以某种方式使会话包含不同的用户名,并且可以即时访问该用户的东西)不知道我应该如何检查会议。 我可以想象做到这一点的唯一方法是连接到数据库每次加载页面,并检查MD5哈希或从数据库中的东西(并更新它),但我想这会产生大量的不必要的服务器stream量,我几乎肯定有一个更好的方法来做到这一点。 在login 以下是用户login时发生的情况(以及是否显示问候语或login框)。 大多数情况下,我在这部分(我希望)是相当稳固的,但我不知道我的MD5哈希应该包含为了能够以后重新检查与数据库中的散列cookie和新生成的散列,以确保cookie没有被攻击者召唤。另外,正如下面的评论所述,我可能会放弃在散列中使用IP地址,以允许用户保持从多个位置login(例如,他们的电话和他们的笔记本电脑)。 所以我的问题是: 我应该怎么检查我的会话是不是假的? 我应该如何检查我的cookies不是假的? 检查到位后,我的login方法是否足够安全? 我有什么重要的东西被遗漏了吗? 如果有什么你想问的,请让我知道在评论中,我会很乐意编辑我的问题,尽可能多的信息,我可以提供。

我如何让Android应用程序alpha / betatesting者免费下载应用程序?

我有一个应用程序,我想要公布的$ x数量,但是,我想要允许免费下载Google Developer Console Alpha / Beta APK。 我希望testing人员能够免费下载它? 我怎么做? 提前致谢, PS。 我可以发誓我发现了谷歌的链接,但我似乎无法再find它。

ASP.NET身份+ Windows身份validation(混合模式 – 窗体+ Windows)

在提出这个问题之前,我已经尽力searchnetworking了。 我在stackoverflow上看到过类似的问题,但是现在很长一段时间都没有得到满意的结果。 这是再次尝试得到这个经常性的问题的答案。 问题 如何构build一个为Intranet用户使用“Windows身份validation”的ASP.NET MVC 5网站,为Internet用户构build“Forms Auth”? 我们希望使用ASP.NET身份来实现这一点。 而且,我们不希望使用Active Directory组进行授权。 对于Intranet用户,我们希望使用Active Directory对其进行身份validation,然后回退到ASP.NET身份来pipe理其angular色和其他个人资料数据。 如果我们不要求最终用户selectauth方法,那将会很好。 Web应用程序应该无缝地login到Intranet用户。 他们甚至不应该知道有一个login屏幕。 同样,不应要求互联网用户input他们的域名证书。 他们应该立即看到基于表单的login屏幕。 有没有解决这个问题的build议方法? 或者,如果以下任何一种解决scheme是正确的,你能否评论? http://world.episerver.com/blogs/Dan-Matthews/Dates/2014/8/Mixing-Forms-and-Windows-Authentication/ https://github.com/MohammadYounes/MVC5-MixedAuth IIS 7.0 Two-Level Authentication with Forms Authentication and Windows Authentication 仅供参考这是2004年的文章,现在可能没有帮助: https : //msdn.microsoft.com/en-us/library/ms972958.aspx

帮助我改进我的持续部署工作stream程

我一直在开发一个工作stream程来练习一个PHP项目的大部分自动化的连续部署周期。 我想就这个工作stream程中的可能的stream程或技术瓶颈提出一些反馈意见,改进build议,以及如何更好地自动化和提高我的团队的易用性。 核心组件 : Hudson CI服务器 Git和GitHub PHPUnitunit testing Selenium RC Sauce OnDemand用于Selenium RC自动化,跨浏览器,云testing 用于自动化testing服务器部署的Puppet Gerrit的Git代码审查 Gerrit Trigger Hudson 编辑 :我已经改变了工作stream程graphics,以考虑到ircmaxwell的贡献:删除PHPUnit的Selenium RC的扩展,并运行这些testing只作为QC阶段的一部分; 增加一个QC阶段; 在代码审查之后但在合并之前移动UItesting; QC阶段之后进行合并; 合并后移动部署。 该工作stream程graphics描述了该过程。 我的问题/想法/关注随之而来。 我的关注/想法/问题 : 使用这个系统的总体困难。 参与时间 使用Gerrit困难。 难以雇佣Puppet 。 稍后我们将在Amazon EC2实例上进行部署。 如果我们现在正在使用Puppet设置Debian软件包并部署到Linode切片,那么Linode上的工作部署是否有可能在EC2上突破? 我们是否应该从一开始就在EC2上进行构build和部署? 另一个问题是: EC2和Puppet 。 我们也在考虑使用Scalr作为解决scheme。 为了避免Puppet的开销,为了避免这种情况的发生,让Scalr投资于Scalr会有多大意义? 我有一个次要的(哈!)在这里关心成本; Seleniumtesting不应该经常运行, EC2构build实例将全天候运行,但对于像5分钟构build这样的东西,花费一个小时的EC2使用似乎有点多。 合并时可能的stream程瓶颈。 “A”可以移动吗? 积分 :这个工作stream程的一部分是由Digg的真棒张贴在持续部署的启发 。 上面的工作stream程图是受Android OS项目启发的 。