我一直在玩git(还是非常非常棒),我想知道"重置"和"重写"之间的区别.那个比另一个更强大吗?
假设我想从历史记录中删除粗体中的3个提交,哪个更好用,或者我应该标记它然后删除它git tag -d <tagname>?
17a64df 2012-06-21 | Hello使用style.css(HEAD,origin/style,master),
a6792e4 2012-06-21 | 添加了css样式表
801e13e 2012-06-21 | 添加了README
5854339 2012-06-21 | 添加了index.html
0b1dd4c 2012-06-21 | 将hello.html移至lib
55649c3 2012-06-21 | 添加作者/电子邮件评论
9b2f3ce 2012-06-21 | 添加了作者评论
cdb39b0 2012-06-21 | 使用文本提交p标签(v1.1)
b7b5fce 2012-06-21 | 这将恢复提交a6faf60631b5fbc6ee79b52a1bdac4c971b69ef8.
a6faf60 2012-06-21 | 还原"哎呀,我们不想要这个提交"
a006669 2012-06-21 | 哎呀,我们不想要这个提交
262d1f7 2012-06-21 | 添加了HTML标题(v1)
b1846e5 2012-06-21 | 添加标准HTML页面标签(v1-beta)
bf1131e 2012-06-21 | 添加了HI TAG
02b86d0 2012-06-21 | 第一次提交
今天我正在搞乱JodaTime,我期望这个测试通过:
@Test
public void dateTimeShouldRoundTrip() {
DateTime originalDateTime = new DateTime(2013, 7, 4, 0, 0);
DateTime roundTrip = new DateTime(originalDateTime.toGregorianCalendar());
assertThat(roundTrip, is(originalDateTime));
}
Run Code Online (Sandbox Code Playgroud)
但它失败了.我在JodaTime 2.1和2.2下检查了它.
进一步检查(使用SamePropertyValuesAs匹配器)显示失败是由centuryOfEra属性的差异引起的:
originalDateTime.getCenturyOfEra(); // 20
roundTrip.getCenturyOfEra(); // 21
Run Code Online (Sandbox Code Playgroud)
那么为什么这个属性会发生变化,而其他一切 - 年,月,日,星期几,时区等 - 都没有?这是一个错误吗?您是否应该能够将DateTime往返日历并再次返回?
好的,所以我希望发生的事情是我设置为背景图像以显示在页面上所有其他元素的顶部 - 设置在右侧,一半在内容块上,一半在侧面。 .目前我的结构是:
<div id="SideImage">
<div id="Contain">
<div id="Dash"></div>
<div id="content">
<h1>Heading 1</h1>
<p>Content</p>
</div>
<div id="Footer">
<p>Footer Content</p>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS 如下所示,当我使用 FireBug 时,z-index 不起作用,如果我从 Contain css 中删除背景颜色,我可以看到完整图像,但我希望 SideImage 位于 Contain 背景、Dash 背景和页脚之上。我唯一能想到的另一件事是在 SideImage Div 上方设置一个 Div,其背景颜色仅为特定宽度,并从 Contain Div 中删除背景颜色。有任何想法吗?
#Contain {
background-color: #FFFFFF;
margin: 0 auto;
position: relative;
text-align: left;
width: 850px;
z-index: 1;}
#Dash {
background-image: url("/23456jjsg886635kksjp/EQI/EQIImages/dash.png");
float: none !important;
height: 10px;
position: absolute;
top: 169px;
width: 850px;
z-index: 2;}
#content {
border-left: 2px solid …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用SerialPort在c#中执行请求 - 响应通信模块.这是一个非常简单的实现,只是为了证明它有点工作(SerialPort不能正常工作(它是一个USB虚拟COM端口),有时会吃几个字符,可能是一些Windows驱动程序错误).
但是演示不起作用: - /
当在表单上使用propertygrid时,它读取对象的属性,而对象的属性又发送从远程设备读取属性的请求,会发生一些非常奇怪的事情:同时发送多个同时调用SendCommand.
我尝试使用lock {}块来使调用顺序,但它不起作用.即使使用锁定,也会有多个呼叫进入受保护区域.
你能告诉我我做错了什么吗?
我的代码:
SerialPort sp;
public byte[] SendCommand(byte[] command)
{
//System.Threading.Thread.Sleep(100);
lock (sp)
{
Console.Out.WriteLine("ENTER");
try
{
string base64 = Convert.ToBase64String(command);
string request = String.Format("{0}{1}\r", target_UID, base64);
Console.Out.Write("Sending request... {0}", request);
sp.Write(request);
string response;
do
{
response = sp.ReadLine();
} while (response.Contains("QQ=="));
Console.Out.Write("Response is: {0}", response);
return Convert.FromBase64String(response.Substring(target_UID.Length));
}
catch (Exception e)
{
Console.WriteLine("ERROR!");
throw e;
}
finally
{
Console.Out.WriteLine("EXIT");
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
ENTER
Sending request... C02UgAABAA=
Response is: cgAABAAARwAAAA==
EXIT …Run Code Online (Sandbox Code Playgroud) 致力于编程挑战,以在标准javascript中重新实现underscore.js的功能.具体来说,我正在努力实现该_.some功能.(http://underscorejs.org/#some)我正在努力的部分是它要求我找到一种方法来在_.every内部解决它.(http://underscorejs.org/#every)
我已经完成了_.every早期的功能,它可以正常工作.
逻辑上,这是我想要在草绘代码中做的事情:
_.some = function(collection, truthStatementFunction) {
return !(_every(collection, !truthStatementFunction))
}
Run Code Online (Sandbox Code Playgroud)
或者在英语中,翻转真值陈述以测试条件为假的位置......如果_.every测试然后返回true ...那么我们知道_.some的原始真值陈述是假的(所以翻转返回_.every得到正确的回报_some).同样,如果_.every返回false,则将其翻转以获得正确的true返回值_.some.
显然,这个草图的问题是这个!truthStatementFunction部分.如何进入迭代器以更改函数的内部以翻转它?似乎没有功能的内部可访问...
我是否完全咆哮错误的树,有更好的方法来解决这个问题_.every吗?
在一些现有的代码中,我看到以下内容:
public abstract class BasicComponent<T> : IBasicComponent<T>
where T : class, new()
Run Code Online (Sandbox Code Playgroud)
我知道抽象类是什么,以及接口.但究竟是什么做用where T,当你伸出什么happends class和new()?
我有以下代码.它会导致堆栈溢出异常.
知道我做错了什么吗?
var myApi = {
rawData: null,
initData: function() {
// ajax call to get data and populate myApi.rawData, max 10 seconds
},
waitForRawData: function(callback) {
if(myApi.rawData === null || myApi.rawData.length ===0) {
window.setTimeout(myApi.waitForRawData(callback),1000); // complain this line stack overflow
}else{
callback();
}
},
updateHtmlWithNewData: function() {
// base on myApi.rawData update html element
},
workflow: function() { // this function call is invoke from page
myApi.initData();
myApi.waitForRawData(myApi.updateHtmlWithNewData);
}
}
Run Code Online (Sandbox Code Playgroud)