小编Geo*_*uer的帖子

从中间逐渐画出一条小路

假设我有一个用d3绘制的任意路径

var points = [0, 4, 4, 4, 8, 8, 4, 4, 4, 8, 4, 4, 4, 4, 0];
var svg = d3.select('svg');

var line = d3.svg.line()
            .y(function(d) { return 10*d})
            .x(function(d, t) { return t*20 })
            .interpolate('cubic');

svg.append('path')
  .attr('d', line(points))
  .attr('stroke', 'black')
  .attr('stroke-width', 2)
  .attr('fill', 'none')
Run Code Online (Sandbox Code Playgroud)
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.4.13/d3.min.js"></script>
<svg style="width: 100%; height: 100%; outline: 1px solid green;"></svg>
Run Code Online (Sandbox Code Playgroud)

我想要慢慢绘制出来的路径.我知道如何从头到尾完成它,但在我的情况下,我想从线上的任意点开始,并在两个方向以相同的速率向外绘制.我无法弄清楚如何做到这一点.

我可以利用attrTween并获取随时间变化的数组切片,但如果我这样做,则行移位,因为我不知道如何在每一步正确设置水平偏移.

svg d3.js

3
推荐指数
1
解决办法
749
查看次数

为什么两个边界框的50%div不并排?

我知道许多用于并排放置div的技术。但是我从来不明白为什么要采用两个宽度的边框框div:50%不会产生并排的div。根据我对css的了解,在方程式之外留有边距,填充和边框,这应该绝对有效。

body {
	padding: 0;
	margin: 0;
    border: 0;
}
div {
	height: 300px;
	box-sizing: border-box;
    display: inline-block;
	margin: 0;
}
.left {
	background-color: blue;
}
.right {
	background-color: red;
}
.half {
	width: 50%;
}
Run Code Online (Sandbox Code Playgroud)
<div class="half left"></div>
<div class="half right"></div>
Run Code Online (Sandbox Code Playgroud)

我想念什么?

编辑: 正如许多人指出的那样,display: block这不会给我带来并行的行为。这是错误的类型。我本来打算做的一切inline-block

html css

3
推荐指数
1
解决办法
1766
查看次数

csproj/msbuild 是否可以将文件包含为可选内容?

我的应用程序中有一个可选的配置文件,用于特定于实例的配置。该应用程序无需它即可运行,并且仅当您想配置一些附加功能时才需要它。因此它不应该包含在源代码管理中,因为每个开发人员和客户端部署都不需要它,而那些需要它的人会有不同的值。

我在弄清楚如何配置它以进行持续部署时遇到问题。我可以毫无问题地在构建服务器上生成文件。但是,由于 MsDeploy 读取 csproj 以确定要部署哪些文件,因此我的 csproj 必须跟踪此文件才能实际移动到部署服务器。但是如果我通过我的 csproj 跟踪它,那么它就不再是可选的,没有它我就无法构建应用程序。我正在使用 Mercurial,它没有提交一个版本忽略后续功能(git 的--assume-unchanged),所以在这方面的选项似乎非常有限。我坚信应该可以克隆一个 repo 并立即运行该项目,所以我真的不喜欢提交无法构建的东西的想法。

csproj 文件中是否有一种方法可以指示文件应作为内容(如果存在)包含在内,否则应忽略?

msbuild continuous-integration csproj msdeploy

3
推荐指数
1
解决办法
971
查看次数

是否可以使用Unicode组合字符来组合任意字符?

是否可以使用unicode组合字符来制作字符,x并且y看起来彼此部分重叠?

我知道在CSS之类的布局系统中,还有其他方法可以实现此目的,但是我特别想知道仅使用unicode是否可行,因此例如可以在Slack消息中实现。

unicode

3
推荐指数
1
解决办法
43
查看次数

Rhino Mocks:为存根上的方法重新分配新结果

我知道我可以这样做:

IDateTimeFactory dtf = MockRepository.GenerateStub<IDateTimeFactory>();
dtf.Now = new DateTime();
DoStuff(dtf); // dtf.Now can be called arbitrary number of times, will always return the same value
dtf.Now = new DateTime()+new TimeSpan(0,1,0);  // 1 minute later
DoStuff(dtf); //ditto from above
Run Code Online (Sandbox Code Playgroud)

如果不是IDateTimeFactory.Now是一个属性它是一个方法IDateTimeFactory.GetNow(),我怎么做同样的事情呢?

根据Judah的建议,我已经重写了我的SetDateTime辅助方法,如下所示:

    private void SetDateTime(DateTime dt) {
        Expect.Call(_now_factory.GetNow()).Repeat.Any();
        LastCall.Do((Func<DateTime>)delegate() { return dt; });
    }
Run Code Online (Sandbox Code Playgroud)

但它仍然会抛出"ICurrentDateTimeFactory.GetNow();的结果已经设置好了." 错误.

加上它仍然无法使用存根....

.net rhino-mocks

2
推荐指数
1
解决办法
3048
查看次数

如何在对象的所有私有字段中获取实例?

我想使用反射来调查对象的私有字段以及获取这些字段中的值,但我很难找到它的语法.

例如,一个对象有6个私有字段,我的假设是我可以用类似的东西获取它们的FieldInfo

myObject.GetType().GetFields(BindingFlags.NonPublic)
Run Code Online (Sandbox Code Playgroud)

但没有骰子 - 调用返回0的数组.

什么是访问字段的正确语法?

.net c# reflection

2
推荐指数
1
解决办法
1718
查看次数

C#:在catch中调试时,是否可以获得非显式声明的异常?

这是一个编译器警告,并且通常不赞成在代码中使用未使用的变量.因此,以下将生成警告,因为e未使用

try {
  throw new InvalidOpreationException();
}
catch(Exception e) {
}
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是除非您要使用它,否则不要给该例外命名:

try {
  throw new InvalidOpreationException();
}
catch(Exception) {
}
Run Code Online (Sandbox Code Playgroud)

但是这种"正确"的做事方式在调试时可能会很麻烦.您可以在catch中设置断点,但除非您停止应用程序,命名异常,重新编译并重新创建错误,否则您将不知道为什么到达那里.至少可以说这很烦人.

踢球者是该异常仍然存在,它在这个范围内没有明确的名称.有什么方法可以访问它吗?

c# debugging visual-studio

2
推荐指数
1
解决办法
145
查看次数

Mercurial:如何与非头部修订合并?

在我的Mercurial存储库中合并不像我预期的那样工作.

几天前我开始研究一个功能然后意识到我无法在sprint结束之前完成它.我更新回到我开始工作的时间点,并从那里继续(有效地创建一个分支).现在我准备将该分支的更改合并到提示中,但由于某种原因,当我合并时没有任何反应.TortoiseHg表示合并正常,我试图合并的提示和变更集在资源库资源管理器中都是粗体,但分支中没有任何更改都在我的工作目录中.

以下是意外行为的视频:http://screencast.com/t/ZTQ0ZjU1NTM

请注意,当我去提交时,没有检测到任何更改.这是一个合并的方式?

我错过了什么吗?汞被打破了吗?我可以发誓说我以前做过这件事并且没有任何障碍.

mercurial tortoisehg

2
推荐指数
1
解决办法
7610
查看次数

正则表达式确定合法的SQL?

可能重复:
正则表达式匹配常见的SQL语法?

我正在编写一些帮助程序来帮助生成一些非常特定于域的sql.在我的测试套件中,最好添加一个健全性检查以确保结果实际上是有效的SQL.我没有做任何特别花哨的事情,这不是生产代码所以我认为一些正则表达式会做,但手工编写仍然很烦人.

是否有人愿意共享一个正则表达式,至少在90%的情况下验证有效的SQL?

regex sql

2
推荐指数
1
解决办法
766
查看次数

Javascript:下载并与其他页面进行交互

我想做一些基本的脚本,我想在javascript中做.我想基本上下载一个wikiquote页面并刮掉它.

最好的方法是什么?我如何获得该页面?我试图通过jQuery.get()来做到这一点

$.get('http://en.wikiquote.org/wiki/Last_words', function(data) { console.log(data); })
Run Code Online (Sandbox Code Playgroud)

但日志只是一些错误对象,控制台显示

XMLHttpRequest无法加载 http://en.wikiquote.org/wiki/Last_words.Access-Control-Allow-Origin不允许使用null.en.wikiquote.org/wiki/Last_words

获取http://en.wikiquote.org/wiki/Last_words undefined(undefined)

所以我想我没有采取正确的方法.我该怎么办?

此外,一旦我下载文件,我可以使用哪些工具来遍历它?XPath的?正则表达式?有没有办法从它生成DOM模型并附加jquery?

一个有趣的可能性是以某种方式打开一个小的弹出窗口,下载页面,然后运行我的脚本来刮取页面并返回数据.我知道这听起来很像脚本注入.甚至可以以友好的方式做到这一点吗?

javascript libraries

2
推荐指数
1
解决办法
1038
查看次数