小编Jos*_*h R的帖子

在JavaScript中使用toLowerCase或toUpperCase比较字符串会更好吗?

我正在进行代码审查,我很好奇,如果在尝试比较它们时忽略大小写,那么在JavaScript中将字符串转换为大写或小写更好.

琐碎的例子:

var firstString = "I might be A different CASE";
var secondString = "i might be a different case";
var areStringsEqual = firstString.toLowerCase() === secondString.toLowerCase();
Run Code Online (Sandbox Code Playgroud)

或者我应该这样做:

var firstString = "I might be A different CASE";
var secondString = "i might be a different case";
var areStringsEqual = firstString.toUpperCase() === secondString.toUpperCase();
Run Code Online (Sandbox Code Playgroud)

它似乎"应该"或者只能使用有限的字符集,只有英文字母,所以它比另一个更健壮吗?

作为一个注释,MSDN建议将字符串规范化为大写,但这适用于托管代码(可能是C#和F#,但它们有奇特的StringComparers和基础库):http://msdn.microsoft.com/en-us/library/bb386042. ASPX

javascript internationalization string-comparison

16
推荐指数
2
解决办法
6674
查看次数

Visual Studio 2012调试测试键盘快捷方式

在Visual Studio 2010中,有一些键盘快捷键可以调试所有测试,在上下文中调试测试等等.

作为参考,在VS 2010中,和弦是:

  • 调试:解决方案中的所有测试:Ctrl+ R,Ctrl+A
  • 调试:上下文中的所有测试:Ctrl+ R,Ctrl+T

VS2010还具有仅运行所有测试的键盘命令

在VS 2012中,我找到了用于运行所有测试的键盘命令Ctrl+ R,A但找不到用于调试所有测试的键盘命令,我发现这是一个非常有用的命令.

我是否密集而且缺少它?他们删除了键盘快捷键吗?我没有找到使用Google或Bing搜索的大量信息.

keyboard-shortcuts visual-studio-2010 visual-studio visual-studio-2012

14
推荐指数
1
解决办法
5698
查看次数

Rust 中有哪些不同的错误类型?

我正在学习 Rust,但找不到所有错误类型的列表。当函数返回 a 时Result,标准库是否有一组预定义错误可供使用?

我知道可以在 Rust 中创建自定义错误类型,这是解决方案吗?制作所有自定义错误类型?

error-handling rust

13
推荐指数
2
解决办法
2万
查看次数

使用VIM来调试Eclipse和PyDev之类的python

有没有办法使用vim来调试python程序,并使它看起来/行为有点像Eclipse与PyDev插件?

我的意思是:

  • 它能够进行调试(这是正确的术语吗?)
  • 在程序执行时查看状态所有变量
  • 能够看到程序中调试过程的位置 - 也许是行突出显示?

我知道Eclipse是一个全功能的IDE,而VIM是一个轻量级的通用文本编辑器(并且每个都有自己的一组功能)但我喜欢能够在控制台中工作,因为我有一台Windows 7机器,通常使用Ubuntu Virtualbox来学习和使用python.

我做了一些研究并找到了以下的东西,但它们似乎都没有完成我想要的所有内容:

  1. 在python程序中说import pdb然后在代码中设置一个断点.这是逐行的,并没有让我看到变量的状态
  2. gdb和Clewn.我无法得到这个设置,所以如果这是我的答案,请告诉我,我会深入挖掘

如果我误读上述任何一个的文档也让我知道,我会重新开始.

谢谢!

python eclipse debugging vim pydev

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

使用Highcharts并在没有数据时在图表上或图表上显示消息

我想知道,如果没有数据系列,是否有内置或可接受的方式在图表上显示标签或消息(或图表所在的位置).

我在Highcharts文档中找不到任何内容,我试图远离使用jQuery(或者只是一般的JavaScript)来检查结果是否有数据,然后自己更改DOM.

如果有助于或改变任何内容,数据将作为json从MVC 3控制器调用进入.

理想情况下,它会显示在空图表上的消息,以便用户知道图表对象在那里.

谢谢!

javascript jquery highcharts asp.net-mvc-3

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

c#System.Type Type如何具有name属性

我很确定这与实现接口和继承有关.

在c#中,System.Type类如何具有属性Name?当我从元数据或使用对象浏览器示例Type类的代码时,我看到Type类没有:

string Name
Run Code Online (Sandbox Code Playgroud)

任何地方定义

我还看到Type继承自MemberInfo并实现了_Type和IReflect(就像这样):

public abstract class Type : MemberInfo, _Type, IReflect
Run Code Online (Sandbox Code Playgroud)

基类MemberInfo具有以下属性:

public abstract string Name { get; }
Run Code Online (Sandbox Code Playgroud)

据我所知,这已经在派生类中重写,因为抽象的改性剂.我没有在Type中看到它......

然后在_Type接口中有一个属性:

string Name { get; }
Run Code Online (Sandbox Code Playgroud)

因为它在一个接口中,它也没有自己的实现.

Name的定义在哪里以及它在System.Type类中的值如何?或者我不理解继承和实现接口如何适用于此类

c# inheritance interface abstract

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

IIS7将应用程序的虚拟路径更改为域根

在IIS中的站点下,我创建了一个绑定到端口80的新节点,并停止了另外绑定到该端口的所有其他网站节点/池.

在新节点下,我创建了一个应用程序baz1,因此网站所在的路径是 http://MyServer/baz1/...

我在我创建的节点下还有其他目录/应用程序,如baz2,baz3等...

我唯一的问题是应用程序只在它位于根目录时才能正确运行.因此,而不是在http://MyServer/baz1/它需要在http://MyServer/

有没有办法让所有应用程序分组在我的新节点下,并且一次只运行一次并在根目录下运行?出于多种原因,我不想把我试图在默认网站下运行的那个.

我已经google了,bing'd,并尝试了我能想到的一切但无法找到改变应用程序虚拟路径的方法,所以我希望有人在这里知道.

谢谢大家,如果我的问题不明确,请告诉我,我会尽快澄清

iis iis-7 virtual-path iis-7.5

5
推荐指数
0
解决办法
1874
查看次数

为什么使用参数化查询或实体框架会阻止sql注入?

我已经很好地掌握了SQL注入.这是一个SQL查询应该是什么样的

SELECT FirstName, LastName 
FROM Customers 
WHERE CustomerId = @valueFromApplication
Run Code Online (Sandbox Code Playgroud)

变成了像这样的查询

SELECT FirstName, LastName 
FROM Customers 
WHERE CustomerId = '' ; DROP DATABASE Foo --
Run Code Online (Sandbox Code Playgroud)

当用户将恶意值插入您的应用程序,网站,客户端等等时......我也知道,攻击者可以尝试发现表的名称并从中获取信息,而不仅仅是删除数据库.

我也知道一些有助于防止这种情况的事情:

  1. 使用带参数的存储过程(SQL Server)
  2. 使用参数化SQL查询
  3. 使用Entity Framework/LINQ to Entities(C#,也许是F#?)

这些事情实际上如何防止SQL注入发生?为什么攻击者不能将相同的恶意值传递给他或她已经使用的任何输入并且具有相同的结果.

c# sql entity-framework sql-injection sql-parametrized-query

5
推荐指数
2
解决办法
4108
查看次数

从派生类在C#基类中设置大量属性的最佳实践

我正在努力重构一些遗留代码,并拥有一大组共享相同属性和字段的数据对象.

我也正在阅读有关重构的一些内容,乍看起来我应该使用Extract Superclass.当我所有的组合属性时,这是一个好主意吗?我的意思是他们真的只是自动创建方法的字段,所以如果我们谈论组合适合的GetXYZ功能......?

考虑到这一点,让我们假设我的所有对象共享5个常见属性:

public string Name { get; private set; }
public string Status {get; private set; }
public int IDNumber { get; private set; }
public int LocationID { get; private set; }
public Location LocationObj { get; private set; }
Run Code Online (Sandbox Code Playgroud)

从子类中设置这些的最佳方法是什么?我还将私有集更改为受保护集.

1)我应该传入values/object并在每个子类构造函数中设置基类属性吗?这有一些代码重复

2)传入参数并让派生类调用基类构造函数?

3)在基类上创建受保护的方法,如SetBaseProperties?将所有这些作为参数?(除了方法vs ctor之外,这看起来很像#2)

还有其他我不知道的方法吗?

c# polymorphism inheritance

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

从头开始构建的链表上的C#中实现IEnumerable <T>

我已经从头开始在C#中建立了一个链表,并具有可靠的单元测试覆盖范围以确保其有效。

为了轻松地比较具有大量值的链表,我使用CurrentNode.Next!= null手动使用标准“枚举”值,提高技术并将这些值存储在C#List或数组中。

我想在我的自定义LinkedList类上实现IEnumerable,而不是依赖于从私有后备集合中获取枚举数。

这是我的LinkedList类的代码。我觉得我忽略了一些简单的事情,因为枚举数应该只是从集合类中获取的对象,据我所知,它提供了一个起点和一个下一个方法。我只是无法使其以通用方式工作。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharpLibrary.DataStructures.LinkedLists
{
    public class LinkedList<T> : IEnumerable<T>
    {
        public Node<T> First { get; private set; }
        public Node<T> Current { get; set; }

        public LinkedList(T initialValue)
        {
            First = new Node<T>(initialValue);
        }

        public void AddNodeToEnd(T value)
        {
            Node<T> last = GetLastNode();
            last.Next = new Node<T>(value);
        }

        public Node<T> GetLastNode()
        {
            Node<T> last = First;
            Node<T> current = First;
            while (current.Next != null) …
Run Code Online (Sandbox Code Playgroud)

c# ienumerable ienumerator linked-list data-structures

4
推荐指数
2
解决办法
1705
查看次数