我有两个分支,master和dev.我一直在使用dev,只有在批准生产使用后才能将代码检入主分支.当我这样做时,我必须做以下事情:
git checkout master
git merge dev
git checkout dev
Run Code Online (Sandbox Code Playgroud)
这非常冗长,而且由于我经常这样做,我想尽量减少它.有没有一个git命令可以用来从我当前的分支dev合并到另一个分支master而不必先检查master分支?有点像:
git merge dev to master
Run Code Online (Sandbox Code Playgroud)
会很棒的.我查看了git文档并没有看到任何内容.
在我的应用程序中,我经常需要使用相对路径.例如,当我引用JQuery时,我通常这样做:
<script type="text/javascript" src="../Scripts/jquery-1.2.6.js"></script>
Run Code Online (Sandbox Code Playgroud)
现在我正在转换到MVC,我需要考虑页面可能具有的相对于根的不同路径.这当然是过去URL重写的问题,但我设法通过使用一致的路径来解决它.
我知道标准解决方案是使用绝对路径,例如:
<script type="text/javascript" src="/Scripts/jquery-1.2.6.js"></script>
Run Code Online (Sandbox Code Playgroud)
但这对我来说不起作用,因为在开发周期中,我必须部署到应用程序将在虚拟目录中运行的测试机器上.根更改时,根相对路径不起作用.此外,出于维护原因,我不能简单地在部署测试期间更改所有路径 - 这本身就是一场噩梦.
那么什么是最好的解决方案?
编辑:
由于这个问题仍在接收观点和答案,我认为更新它可能是谨慎的,因为从Razor V2开始,支持根相对网址,所以你可以使用
<img src="~/Content/MyImage.jpg">
Run Code Online (Sandbox Code Playgroud)
没有任何服务器端语法,视图引擎自动替换〜/当前站点根目录.
我正在使用Python阅读一系列源代码文件并遇到unicode BOM错误.这是我的代码:
bytes = min(32, os.path.getsize(filename))
raw = open(filename, 'rb').read(bytes)
result = chardet.detect(raw)
encoding = result['encoding']
infile = open(filename, mode, encoding=encoding)
data = infile.read()
infile.close()
print(data)
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在检测编码chardet,然后在内存中读取文件并尝试打印它.包含BOM的Unicode文件的print语句失败,错误如下:
UnicodeEncodeError:'charmap'编解码器无法对位置0-2中的
字符进行编码:字符映射到<undefined>
我猜它正在尝试使用默认字符集解码BOM并且它失败了.如何从字符串中删除BOM以防止这种情况?
我很快就爱上了ASP.NET MVC测试版,我决定在部署到我的IIS 6托管环境时不会牺牲的一件事是无扩展的URL.因此,我正在考虑添加通配符映射,但我读到的所有内容都表明在使用此方法时可能会遇到性能损失.但是,我找不到任何实际的基准!
这个问题的第一部分是,你知道我在哪里可以找到这样的基准测试,还是只是一个未经测试的假设?
问题的第二部分是关于我在我们的开发服务器上通过100Mbs连接使用jMeter运行的2个负载测试.
背景资料
我们的托管服务提供商有一个4Gbs可突发的互联网管道,我们的VLAN有一个1Gb骨干,所以我可以通过办公室局域网生产的任何东西都可以很好地转换到托管环境.
测试场景是加载几个图像/ css文件,因为在请求现在通过ASP.NET ISAPI过滤器传递但通常不会通过它的文件时会出现假定的性能损失.每个测试包含50个运行请求脚本的线程(模拟用户),每个线程1000次迭代.每项测试的结果发布在下面.
检测结果
没有通配符映射:
Samples: 50,000 Average response time: 428ms Number of errors: 0 Requests per second: 110.1 Kilobytes per second: 11,543
使用通配符映射:
Samples: 50,000 Average response time: 429ms Number of errors: 0 Requests per second: 109.9 Kilobytes per second: 11,534
两个测试都运行温暖(一切都在内存中,没有初始负载偏差),从我的角度来看,性能差不多.在两次测试期间,CPU使用率约为60%,内存很好,网络利用率保持稳定在90-95%左右.
这是否足以证明通过ASP.NET过滤器为所有内容传递的通配符映射不会真正影响性能,或者我错过了什么?
编辑:11小时而不是一个评论?我希望更多..哈哈
在C#中,我有一个类,它有一个派生属性,应该通过XML序列化.但是,XML序列化(默认情况下)不会序列化read = only属性.我可以通过定义一个空的setter来解决这个问题:
public virtual string IdString
{
get { return Id.ToString("000000"); }
set { /* required for xml serialization */ }
}
Run Code Online (Sandbox Code Playgroud)
但是,除了编写自己的ISerializable实现之外,还有一种更清晰,语义更正确的方法吗?
我的bin目录中有以下文件Log4net.config:
<?xml version="1.0" encoding="utf-8" ?>
<log4net xmlns="urn:log4net">
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<param name="file" value="MyLogFile.log"/>
<param name="appendToFile" value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date (%logger) [%5level] - %message" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date (%logger) [%5level] - %message" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="FileAppender" />
<appender-ref ref="ConsoleAppender"/>
</root>
<logger name="NHibernate" additivity="false">
<level value="WARN"/>
</logger>
</log4net>
Run Code Online (Sandbox Code Playgroud)
以及AssemblyInfo.cs文件中的以下代码:
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyTitle("My Project")]
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4net.config", Watch = true)]
Run Code Online (Sandbox Code Playgroud)
当我运行程序时,我得到以下log4net调试输出: …
我是一个试图学习Java的C#人.我理解Java平台的语法和基本架构,并且自己做小型项目没有问题,但我真的希望能够下载一些开源项目来学习他人的工作.但是,我遇到了一个绊脚石,我似乎无法找到任何信息.
当我下载一个开源的.NET项目时,我可以使用visual studio打开.sln文件,只需加载一切.当然,偶尔会有一个缺少的引用或其他东西,但实际上只需要很少的配置就可以了.我感觉不到Java的易用性.我现在正在使用eclipse,感觉就像我必须使用"从现有源创建"创建一个全新的Eclipse项目的每个项目,并且几乎没有任何编译没有重大的重新配置.对于Web项目,情况更糟,因为Eclipse似乎不支持从现有源创建Web项目.我必须从源代码创建一个标准的Java项目,然后显然修改项目文件以包含Web工具包的绑定以使其正常工作.
假设我希望以后能够为项目做出贡献,我不必对文件结构进行如此大的改动,以使我的IDE处于可行状态.我错过了什么?
通常在我设计网站时,我需要将特定样式应用于页面上的特定元素,并且我绝对肯定它只会应用于该页面上的该元素(例如绝对定位的按钮)或者其他的东西).我不想求助于内联样式,因为我倾向于同意样式与标记分开的哲学,因此我发现自己在内部讨论样式定义的位置.
我讨厌在我的基本css文件中为一次性使用场景定义一个特定的类或ID,我害怕制作特定于页面的.css文件的想法.对于我正在处理的当前站点,我正在考虑将样式定义放在head元素的页面顶部.你会怎么做?
我有一个包含以下列的表
部分数据可能如下所示:
1, 1, 'EmailPreference', 'Text', 1/1/2010
2, 1, 'EmailPreference', 'Html', 1/3/2010
3, 1, 'EmailPreference', 'Text', 1/10/2010
4, 2, 'EmailPreference', 'Text', 1/2/2010
5, 2, 'EmailPreference', 'Html', 1/8/2010
Run Code Online (Sandbox Code Playgroud)
我想运行一个查询,为每个不同的ForeignKeyId和AttributeName提取AttributeValue列的最新值,使用Created列确定最新值.示例输出将是:
ForeignKeyId AttributeName AttributeValue Created
-------------------------------------------------------
1 'EmailPreference' 'Text' 1/10/2010
2 'EmailPreference' 'Html' 1/8/2010
Run Code Online (Sandbox Code Playgroud)
如何使用SQL Server 2005执行此操作?
我正在处理从客户端收到的应用程序,他们使用了一些telerik Web控件.Telerik显然包含了自己的jquery 1.3.2版本,而我正在使用1.4.1.我遇到了一些奇怪的javascript问题,我想排除旧的jquery作为问题的根源.有没有办法告诉Telerik控件不要自动包含1.3.2版本的jquery如果我已经在其他地方的页面上有jquery?