小编lig*_*txx的帖子

如何在git仓库中放置一个虚拟文件?

我是git的新手所以请耐心等待.

假设我有一个包含敏感数据的版本控制下的文件.果然,我将该文件放在我的.gitignore文件中,因此它不会被推送到repo.现在的问题是在我的项目中的某个地方我有一条线

#include <sensitivedata>
Run Code Online (Sandbox Code Playgroud)

或者你选择的语言是什么.问题是每当有人从该存储库中克隆时,该文件丢失并且在尝试构建/编译解决方案时会出现致命错误.

所以,而不是推送我正在实际工作的文件,我想推送一些具有相同名称的虚拟文件,我在那里发表评论

// replace the next line with the sensitive data!!!
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

git version-control git-add git-commit git-commands

7
推荐指数
1
解决办法
872
查看次数

只知道十年/世纪的sql存储日期

我有一个我想要存储在数据库中的书籍列表.其中一个属性是该书首次发布的日期.上了年纪的书(超过100年以上),我经常只知道十年(如185X),或在的情况下,很老的书只是世纪(如15XX).

你会如何在datetime2字段中保存这些日期?15XX为1500?例如,我希望能够查询超过一百年的书籍.所以我想以某种方式将这些值存储为有效的datetime2值.任何建议?15XX作为'1500-01-01 00:00'对我来说似乎是合理的.这种方法的任何缺点?

sql date

6
推荐指数
1
解决办法
683
查看次数

XML注释标签的Javascript恶意注入/重定向(JS/Exploit-Blacole.em)

我最近出现了一个网站,在其HTML标记内部嵌入了一个JS木马.McAfee名称为JS/Exploit-Blacole.em,F-Secure名称为Trojan:JS/Agent,MS名称为Trojan:JS/Quidvetis.A.

现在,出于好奇,我看了一下木马的源代码(仅供参考,我在pastebin上发布了一个副本,请看http://pastebin.com/PsLaE4d9).

令我惊讶的是迈克菲网站上的部分(http://home.mcafee.com/virusinfo/virusprofile.aspx?key=1317346#none,点击"病毒特征"标签)说明

此检测还使用以下最近的注入技术,以便与随机生成的恶意域建立连接. <!--81a338--><!--/81a338-->

特洛伊木马本身似乎在标记中注入了iframe标记并加载了一些恶意页面.

无论如何,我的问题是,那些XML评论标签会扮演什么角色?肯定有必要在McAfee文章中提及它们的原因吗?此外,是否有可能以某种方式去混淆JS代码并将其转换为人类可读的东西?再一次,这只是出于好奇.我只是想知道这里发生了什么.

html javascript obfuscation code-injection trojan

6
推荐指数
1
解决办法
2209
查看次数

两列中的SQL重复数据删除

我已经在这方面苦苦挣扎了很长一段时间,但我无法理解.

我有一个有3列的表.2列包含名称,第三列包含这些名称之间的Damerau Levensthein距离(http://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance).

每列都包含每个名称,这意味着autor1列中的所有名称也存在于autor2列中.因此,我需要两次所需的行,只需交换autor1和autor2列.

例如,第3行等于第1行,只是交换了autor列,2-4相同.我将如何制定一个省略那些"重复"的查询?
ID- | ------ autor1 ---- | ------ ----- autor2 | dld
1 - | 阿贝尔,古斯塔夫 - | 阿贝尔,古斯塔夫| 1
2 - | 阿贝尔,古斯塔夫 - | 阿贝莱,古斯塔夫| 1
3 - | 阿贝尔,古斯塔夫| 阿贝尔,古斯塔夫 - | 1
4 - | 阿贝莱,古斯塔夫| 阿贝尔,古斯塔夫 - | 1

to
| ------ autor1 ---- | ------ autor2 ----- | dld
| 阿贝尔,古斯塔夫 - | 阿贝尔,古斯塔夫| 1
| 阿贝尔,古斯塔夫 - | 阿贝莱,古斯塔夫| 1

sql duplicates ignore-duplicates

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

创建扩展方法以执行定期工作

我找到了一个如何使用async/await模式定期工作的好方法:https://stackoverflow.com/a/14297203/899260

现在我想做的是创建一个扩展方法,以便我可以做到

someInstruction.DoPeriodic(TimeSpan.FromSeconds(5));
Run Code Online (Sandbox Code Playgroud)

这有可能吗,如果,你会怎么做?

编辑:

到目前为止,我将上面URL中的代码重构为扩展方法,但我不知道如何从那里开始

  public static class ExtensionMethods {
    public static async Task<T> DoPeriodic<T>(this Task<T> task, CancellationToken token, TimeSpan dueTime, TimeSpan interval) {
        // Initial wait time before we begin the periodic loop.
        if (dueTime > TimeSpan.Zero)
            await Task.Delay(dueTime, token);

        // Repeat this loop until cancelled.
        while (!token.IsCancellationRequested) {


            // Wait to repeat again.
            if (interval > TimeSpan.Zero)
                await Task.Delay(interval, token);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# extension-methods async-await c#-5.0

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

并行化非常紧密的循环

我一直在敲打这个问题好几个小时,我总是因为线程争用而吃掉了并行化循环的性能改进.

我正在尝试计算8位灰度千兆像素图像的直方图.读过"CUDA by example"一书的人可能会知道它的来源(第9章).

该方法非常简单(导致非常紧凑的循环).它基本上就是这样

    private static void CalculateHistogram(uint[] histo, byte[] buffer) 
    {
        foreach (byte thisByte in buffer) 
        {
            // increment the histogram at the position
            // of the current array value
            histo[thisByte]++;
        }
    }
Run Code Online (Sandbox Code Playgroud)

其中buffer是1024 ^ 3个元素的数组.

在最新的Sandy Bridge-EX CPU构建中,10亿个元素的直方图在一个核心上运行1秒钟.

无论如何,我尝试通过在所有核心之间分配循环来加速计算,最终得到的解决方案慢了50倍.

    private static void CalculateHistrogramParallel(byte[] buffer, ref int[] histo) 
    {
        // create a variable holding a reference to the histogram array
        int[] histocopy = histo;

        var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount };

        // loop through the …
Run Code Online (Sandbox Code Playgroud)

c# parallel-processing performance multithreading parallel.foreach

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

R中的空间自相关分析(Global Moran's I)

我有一个点列表,我想使用Moran的I检查自相关,并将感兴趣的区域除以4 x 4个样本.

现在我在Google上找到的每个例子(例如http://www.ats.ucla.edu/stat/r/faq/morans_i.htm)都使用某种测量值作为Moran I函数的第一个输入,无论哪个使用库(我查看了猿和spdep包).

但是,我所拥有的只是我想要检查相关性的分数.

问题是,听起来有趣(或悲伤),我不知道我在这里做什么.我不是一个(空间)统计人员,我想知道的是,如果使用Moran的I分散,聚集或ramdom的点集合.

我的方法是否正确?如果不是在哪里,我做错了什么?

谢谢

这是我到目前为止:

# download, install and load the spatstat package (http://www.spatstat.org/)
install.packages("spatstat")
library(spatstat)

# Download, install and run the ape package (http://cran.r-project.org/web/packages/ape/)
install.packages("ape")
library(ape)

# Define points
x <- c(3.4, 7.3, 6.3, 7.7, 5.2, 0.3, 6.8, 7.5, 5.4, 6.1, 5.9, 3.1, 5.2, 1.4, 5.6, 0.3)
y <- c(2.2, 0.4, 0.8, 6.6, 5.6, 2.5, 7.6, 0.3, 3.5, 3.1, 6.1, 6.4, 1.5, 3.9, 3.6, 5.2)

# Store the coordinates as a matrix …
Run Code Online (Sandbox Code Playgroud)

r correlation spdep

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

C++到C#代码转换,引用与值类型的麻烦

首先,对于可能令人困惑的标题感到抱歉,每当有人知道更合适的标题时,请随时更改标题.

我正在将数学库从C++移植到C#.移植实际代码是在几天内完成的.但是,我一直在努力解决因C#类是引用类型而C++类是值类型这一事实所引入的所有错误.

让我解释一下:如果我在C++中有一个具有嵌套类Bar的Class Foo,并且如果我将一个现有的Bar实例分配给Foo,我实际上是在复制它,如果C++编译器知道这样做的话(如果我当然,我没有使用指针

如果我在C#中做同样的事情,我会分配一个引用.这导致难以置信的副作用.如果在C#中,我的代码稍后在将其分配给Foo后修改我的Bar实例,那么当然也会修改Foo.Bar对象.不好.

所以我的问题是:当我假设我分配了一份副本时,是否有一种简单的方法或最佳实践方法可以在我的代码中找到指定位置的位置?我甚至考虑每次在对象上调用getter时创建一个新对象,并在那里复制值.当然这意味着我再也不能对一个物体表示崇敬.再次,不好.

基本上我要问的是:如何找到每个出现的赋值运算符(=),其中TARGET是一个引用类型?这是我需要改变的那些代码行.

我试图通过简单地搜索'='字符来手动完成,但是在搜索了成千上万行代码之后,我仍然错过了偶尔的分配目标.

c# c++

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

使用foreach循环解析大型文本文件的奇怪行为(C#.NET 4)

我有一个非常大的文本文件来解析(~2GB).由于各种原因,我必须按行处理文件.我通过将文本文件加载到内存(我运行解析器的服务器有足够的内存)来执行此操作var records = Regex.Split(File.ReadAllText(dumpPath, Encoding.Default), @"my regex here").Where(s => !string.IsNullOrEmpty(s));.这消耗的RAM相当于文本文件的大小加上几MB的IEnumerable开销.到现在为止还挺好.然后我去看看收藏foreach (var recordsd in records) {...}

这是有趣的部分.我在foreach循环中做了很多字符串操作和regex-ing.然后程序很快就会发生System.OutOfMemoryException炸弹,即使我在foreach循环中从不使用超过几KB的程序.我使用我选择的探测器(ANTS内存探查器)制作了一些内存快照,在堆上看到数百万个第2代字符串对象,消耗了所有可用内存.

看到这一点,我 - 就像一个测试 - 包括GC.Collect();在每个foreach迭代结束时,瞧,问题解决了,没有更多的内存异常(当然,因为永久垃圾收集,程序现在运行得非常慢).消耗的唯一内存是实际文件的大小.

现在我无法解释为什么会发生这种情况以及如何防止它.根据我的理解,变量超出范围并且没有更多(活动)引用的那一刻应标记为垃圾收集,对吧?

另一方面,我试图在一台非常庞大的机器(64GB RAM)上运行该程序.程序成功完成但在关闭之前从未释放过单个字节的内存.为什么?如果没有更多对象的引用加上如果对象超出范围,为什么内存永远不会释放?

c# garbage-collection memory-management out-of-memory

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

ASP.NET MVC为什么视图包含模型的提示?

我是ASP.NET MVC的新手,所以请耐心等待.

我一直认为MVC(在任何语言中)的想法是视图对模型一无所知,反之亦然,并且控制器是将所有东西保持在一起的粘合剂.

现在,当(在Visual Studio 2013/MVC 5中)我通过Add - > New Scaffolded Item添加一个新控制器时,生成的视图包含第一行

@model IEnumerable<MyModelClass>
Run Code Online (Sandbox Code Playgroud)

我知道在编写视图时使IntelliSense工作很好,但是视图不应该是不可知/完全忘记模型吗?

model-view-controller asp.net-mvc

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