小编Har*_*rry的帖子

使用['']语法的Typescript访问动态属性

export class Foo{
 someproperty: string;
}
Run Code Online (Sandbox Code Playgroud)

我试图理解为什么,当尝试访问动态对象属性时,我可以执行以下操作,正如我在此处的答案之一中所看到的:

let fooObj: foo = someObj['someproperty']; 
Run Code Online (Sandbox Code Playgroud)

但是这样做,我得到一个错误。

let fooObj: foo = someObj.someproperty;
Run Code Online (Sandbox Code Playgroud)

我试图理解为什么第一种方法可用于访问/分配动态对象。

错误:

"someproperty does not exist on type"

在此之前提出的问题,我感兴趣的是Angelo R的回答。

题

javascript typescript

10
推荐指数
1
解决办法
1万
查看次数

在try-catch或代码的特定部分中包装每个方法

我的高级同事告诉我在try-catch块中包装每个方法,以便他们可以跟踪发生异常的位置,以帮助更快地调试问题.最好将Try Catch中的每个方法包装到这样:

Public int foo()
{
   try
   {
       //do something
   }catch(Exeception ex)
   {
       //do something with ex
   }
}
Run Code Online (Sandbox Code Playgroud)

或者在我认为可能发生的情况下捕捉异常会更好吗?例如,使用数组做某事可能会导致IndexOutOfRangeException发生.

//wrap this in try catch
    int[] array = new int[3];

                array[0] = 1;
                array[1] = 2;
                array[2] = 3;
                array[3] = 4;
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# try-catch

8
推荐指数
1
解决办法
7385
查看次数

SQL选择基于纬度经度的半径搜索

我有两张桌子:

Events:
 - id
 - name
 - place

Places:
 - id
 - name
 - lat
 - lng
Run Code Online (Sandbox Code Playgroud)

我想从和10KM radius(基于地点lat&lng)检索所有事件.我怎样才能做到这一点?current latlng

谢谢!

mysql sql

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

单击隐藏文件输入jQuery错误

我正在尝试点击隐藏的输入file.我在这里测试过,它工作正常.

在实际项目中,我收到此错误Uncaught RangeError: Maximum call stack size exceeded.

这就是我所拥有的:

HTML:

<div id="upload-image-container" class="upload-image-container inline-block">
    <h2 class="inline-block">+ Upload Your Photo!</h2>
    <input type="file" name="images" id="images" />
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

jQuery("#upload-image-container").click(function() {
    // e.preventDefault();
    jQuery("input[type='file']").click();
});
Run Code Online (Sandbox Code Playgroud)

我试过添加e.preventDefult或者e.preventImmediatePropagation我仍然遇到同样的错误.

不知道我怎么能真正解决这个问题.

我在file输入上有一个监听器......图像会自动上传.不确定是否是造成问题的原因.我尝试删除它,我得到了相同的结果.

input.addEventListener("change", function (evt) {
        var i = 0, len = this.files.length, img, reader, file;

        for ( ; i < len; i++ ) {
            file = this.files[i];

            if (!!file.type.match(/image.*/)) {
                if ( …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery file-upload

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

从master更改为新的默认分支git

这是一个场景:

我们有一个默认的分支母版,我们以此为基础进行工作,创建分支并上推等。

现在,我们已经在Master之外创建了一个Develop分支,并将其设置为默认开发分支。

我想知道的是,现在我怎么知道我的git pull命令是否正在通过命令行从默认分支请求更改?或指向这个新的默认分支?

我做了什么:-自从创建新的默认分支git以来,我就从origin / master引入了我的master

另外,任何neww分支都来自Master还是Develop?

如你看到的

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
PS C:\Users\dir\Documents\GitHub\repo> git log
commit 867cxx

fd956f73dc91d0022b (HEAD -> master, origin/master, origin/develop, origin/HEAD)
Run Code Online (Sandbox Code Playgroud)

更新: 默认分支的此更改在克隆存储库后发生。

git github

4
推荐指数
3
解决办法
8026
查看次数

如何模拟Directory.GetFiles?

我试图弄清楚Moq如何或是否可以执行以下操作

public class Download
{
    private IFoo ifoo;

    public Download(IFoo ifoo)
    {
        this.ifoo = ifoo;
    }

    public void Download()
    {
        var files = Directory.GetFiles("filepath"); //<<<===

        foreach (var item in files)
        {

            // do something

        }    
    }
}
Run Code Online (Sandbox Code Playgroud)

在单元测试中。

// Arrange 

var mockFoo = new Mock<IFoo>();
mockFoo.setup( s => s.Bar()).returns(true);

var foo = new Foo(mockFoo.Object);

// Act
foo.Download()
Run Code Online (Sandbox Code Playgroud)

我如何模拟files变量,所以该方法使用模拟版本。这甚至是正确的方法吗?因为我不是在模拟类,而是在模拟依赖关系,所以我该如何设置files变量,以便它查看模拟的文件string []。

.net c# unit-testing moq

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

在LINQ中选择多个没有连接的列

假设您有一个简单的查询,例如:

SELECT p.name, p.age, c.course, c.lecture
FROM person p, college c;
Run Code Online (Sandbox Code Playgroud)

在LINQ中可以实现这样的事情吗?我试图列出这些列中的任何内容并迭代它们的原因.

c# linq

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

C# 中 PrivateObject 与 PrivateType 有什么区别?

我正在寻找可用于访问静态类的方法,该静态类包含用于单元测试的私有静态方法。

我遇到了PrivateObject和PrivateType,我不明白它们之间有什么区别,以及您如何决定使用其中任何一个。

商业逻辑

public static Class BarLogic(){
  private static void FooBar(){
       //do something here
   }
}
Run Code Online (Sandbox Code Playgroud)

应用程序编程接口

public class FooService(){

BarLogic.FooBar();

}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing

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

如果存在则更新 MySQL

我正在尝试更新一行(如果存在),如果它不存在,那么我想在表中执行插入操作。picture.id 和 picture.picturepath 是唯一的键。我看过一些例子,但我不确定我做错了什么。

我遇到过重复密钥更新,不确定这是否与我想要实现的目标相关。

Error message: 1064- You have an error in your SQL syntax near 'UPDATE picture SET picture.picturecontent = ipicturecontent WHERE picture.id at line 5"


    IF EXISTS( SELECT * FROM picture WHERE picture.id = ipictureid 
    AND picture.picturepath = ipicturepath) THEN

    UPDATE picture 
    SET picture.picturecontent = ipicturecontent
    WHERE picture.id = ipictureid 
    AND picture.picturepath = ipicturepath

    ELSE

    INSERT INTO picture (picture.id, picture.picturecontent,picture.picturepath) VALUES (ipictureid, ipicturecontent, ipicturepath)
Run Code Online (Sandbox Code Playgroud)

mysql

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

特定范围内的随机数C#

我需要从打印的数字1,以n随机顺序.我通过使用实现了这一点System.Random,但它产生了1-5的范围内的数字.我想随机化这个范围内的所有数字.

这是我的代码:

Random r = new Random();

int n = int.Parse(Console.ReadLine());
int [] a=new int[n];

for (int i = 0; i < a.Length; i++){
    a[i] = r.Next(1,n);
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c#

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

将IF语句转换为CASE

我知道一些原始问题,但我画了一个心理障碍.我希望将此if else转换为CASE声明.我怎样才能做到这一点?

   If (strReplaceCharsInString.Contains("&")) Then
            strResult = strReplaceCharsInString.Replace("&", "&amp;")
        Else
            If (strReplaceCharsInString.Contains("'")) Then
                strResult = strReplaceCharsInString.Replace("'", "&apos;")
            Else
                If (strReplaceCharsInString.Contains(">")) Then
                    strResult = strReplaceCharsInString.Replace(">", "&gt;")
                Else
                    If (strReplaceCharsInString.Contains("<")) Then
                        strResult = strReplaceCharsInString.Replace("<", "&lt;")
                    Else
                        If (strReplaceCharsInString.Contains("""")) Then
                            strResult = strReplaceCharsInString.Replace("""", "&quote;")
                        End If
                    End If
                End If
            End If
        End If
Run Code Online (Sandbox Code Playgroud)

这可以通过Regex实现匹配模式,然后做一个选择案例吗?

vb.net if-statement

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

如何在TypeScript中使用函数类型

我试图了解如何使用"功能类型".

假设我们有以下内容:

function calSum(val1: number, val2: number): number{
    return val1 * val2;
}
console.log(calSum(10,20)); //prints 200
Run Code Online (Sandbox Code Playgroud)

现在让我们说:

let calc: (value1: number, value2: number) => number;
Run Code Online (Sandbox Code Playgroud)

如果我做以下事情:

calc(10,20);
Run Code Online (Sandbox Code Playgroud)

我希望看到200,但是我得到以下错误:

Uncaught TypeError: calFuncType is not a function
Run Code Online (Sandbox Code Playgroud)

我想了解为什么会这样,以及如何使用这种类型?

javascript typescript

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

MD5编码具有不同的结果

我遇到了MD5编码这个奇怪的问题.实际上,在每个人都跳进来告诉我不要使用MD5之前:它是一个遗留系统,并且已经选择了算法.

无论如何 - 我有一个存储MySQL了MD5哈希密码的表.在同一张表中,盐也被储存.

我有一个测试用户,密码是"test",盐是"salt".使用MySQLs MD5函数(select md5('testsalt')),我发现了哈希"315240c61218a4a861ec949166a85ef0".我还通过外部PHP系统的管理员验证了这一预期结果,该系统将用户信息发送到我们的系统.

在系统的一个模块中,我们MD5使用以下代码计算哈希值:

    public static String md5EncryptString(String string, String salt) {
    MessageDigest messageDigest;
    String encryptString = string + salt;
    String result;
    try {
        messageDigest = MessageDigest.getInstance("MD5");
        messageDigest.reset();
        messageDigest.update(encryptString.getBytes(Charset.forName("UTF8")));
        final byte[] resultByte = messageDigest.digest();
        result = new String(Hex.encodeHex(resultByte));
        return result;
    } catch (NoSuchAlgorithmException e) {
        logger.error("NoSuchAlgorithmException in encryptString");
        result = encryptString;
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

此方法输出完全相同的md5哈希值.

然后我在这个系统的Spring安全部分配置了一个Md5PasswordEncoder并遇到问题,因为它不会让我登录.通过扩展Md5PasswordEncoder类并使用一些日志记录覆盖encodePassword()方法,我能够确定它输出一个不同的md5哈希:"150671e7a5fb8ace58aaa012de7f9b5c"给出相同的密码 …

java security spring md5

-1
推荐指数
1
解决办法
306
查看次数