小编Bog*_*SFT的帖子

路由器如何组织路由表?

路由器如何组织其路由表以快速服务于崩溃的数据包?这更像是一个编程问题,我正在寻找:

  • 算法和数据结构存储路由表条目以便快速查找(hash?trie?)
  • 优化算法(例如使用缓存)
  • 奖励:这些算法的历史演变(基于内存变得更便宜的事实等)

注意:实际创建路由表(通过RIP,OSPF或手动条目等路由协议)是无关紧要的.

algorithm optimization data-structures

5
推荐指数
1
解决办法
1096
查看次数

如何使用MsBuild API 4.0自动构建解决方案?

我有一堆从Internet下载的解决方案(codeplex等),我想构建它们并在DLL上运行一个工具.我想通过自动化做到这一点.

有人建议使用MSBuild API,因为它可以很容易地获取错误信息并操纵MsBuild进一步获取其他信息.不幸的是,它很难记录如下:

  1. 如何构建.sln文件(通过MSBuild API 4.0)?
  2. 如何捕获错误信息?(我看到了一个关于如何将日志输出到控制台的示例,但没有找到文件的smth)

谢谢!

msbuild automation solution

5
推荐指数
1
解决办法
6621
查看次数

如何取消注册匿名处理程序?

C#2.0有一个称为匿名函数的简洁功能.这主要用于事件:

Button.Click += delegate(System.Object o, System.EventArgs e)
                   { System.Windows.Forms.MessageBox.Show("Click!"); };
Run Code Online (Sandbox Code Playgroud)

现在,假设Button是一个静态成员,那么向其添加委托将被视为非托管资源.通常,我必须在再次对其进行regestring之前取消注册该处理程序.这是GUI编程的一个非常常见的用例.

匿名函数有哪些指导原则?框架是否自动取消注册?如果是的话,何时?

.net c# events anonymous-methods

4
推荐指数
1
解决办法
772
查看次数

SQL报告中的多个图表

我正在SQL Reporting Services 2012中准备一份报告,我希望根据我拥有的数据显示可变数量的图表.

因此,(简化的)数据源看起来像

ID Name    Group       Sales
=============================
1  apples   fruit        15
2  bananas  fruit        25
3  carrots  vegetable    10
4  brocolli vegetable    19
5  tuna     fish         15
Run Code Online (Sandbox Code Playgroud)

对于每个组 - 显示基于名称和值的图表:

  • 图1 - 水果销售
  • 图2 - 蔬菜销售
  • 图3 - 鱼类销售
  • 等等...

但我不想对组名进行硬编码 - 如果将新组添加到数据库中,则应在报告中弹出新图表.

sql reporting-services

4
推荐指数
1
解决办法
2587
查看次数

如何检测文件的使用权(DRM)

假设您有一个.wma/.wmv文件,并且您想要检测:

  1. 受DRM保护吗?
  2. (然后有希望)DRM保护的细节(比如许可证何时到期等)?

它有C#/ C++ api吗?似乎Windows Media Player可以执行此操作 - 如果单击该文件上的属性...但Explorer不显示此信息.

注意:我不相信这是一个微不足道的问题,我已经尝试了taglib并在网上搜索了大约2个小时的解决方案.

.net encryption encoding drm wma

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

隐藏整个表会调整它的大小

有一个带有简单表格的HTML页面和要显示/隐藏的js代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>title</title>
    <script type="text/javascript">


    function showErrorSteps()
    {        
        var el = document.getElementById("t1");

        if(el.style.display=="none")
        {
            el.style.display="block";
        }
        else
        {
        el.style.display="none";
        }                                               
    }

    </script>
</head>
<body>

<br />
<span onclick="showErrorSteps()">[click]</span>
<br />
<br />

<table id="t1" border="1" width="100%" style="table-layout: fixed">
<tr>
    <td>s</td>
    <td>d</td>
    <td>a</td>
</tr>
</table>        
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

会发生什么事情是在Mozilla上,在您单击两次后(即使使用table-layout:fixed css),表格也会调整大小.IE运行正常.

html javascript firefox

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

无法检查捕获的Typescript自定义错误的类型

我创建了一个自定义的打字稿错误,它基于几个来源似乎是这样的:

export class Exception extends Error {

    constructor(public message: string) {
        super(message);
        this.name = 'Exception';
        this.message = message;
        this.stack = (<any>new Error()).stack;
    }
    toString() {
        return this.name + ': ' + this.message;
    }
}

export class SpecificException extends Exception {

}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我然后使用一个简单的抛出:

 throw new SpecificException('foo');
Run Code Online (Sandbox Code Playgroud)

在其他地方我抓住它:

catch (e) {
  var t1 = Object.getPrototypeOf(e);
  var t2 = SpecificException.prototype;

  if (e instanceof SpecificException) {
    console.log("as expected");
  }
  else {
     console.log("not as expected");
  }
}
Run Code Online (Sandbox Code Playgroud)

此代码打印"不按预期".有什么想法吗?

稍后编辑

正如@basarat指出的那样,错误是预期的类型.经过进一步调查,我意识到这是由于模块重复与我的环境有关,可能是因为在监视模式下使用mocha.

typescript typescript1.8

0
推荐指数
1
解决办法
898
查看次数