小编Kip*_*Kip的帖子

TortoiseSVN相当于"svn info"

我想在Tortoise SVN中找到一个等效的"svn info"命令.

这是显示您的父URL的命令(因此我可以找出我所在的分支),以及您所使用的最新修订版.

svn tortoisesvn

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

为什么List <Number>不是List <Object>的子类型?

public void wahey(List<Object> list) {}

wahey(new LinkedList<Number>());
Run Code Online (Sandbox Code Playgroud)

对方法的调用不会进行类型检查.我甚至无法将参数强制转换如下:

wahey((List<Object>) new LinkedList<Number>());
Run Code Online (Sandbox Code Playgroud)

根据我的研究,我收集到不允许这样做的原因是类型安全.如果允许我们执行上述操作,那么我们可以执行以下操作:

List<Double> ld;
wahey(ld);
Run Code Online (Sandbox Code Playgroud)

在方法wahey中,我们可以在输入列表中添加一些字符串(因为参数维护List<Object>引用).现在,在方法调用之后,ld引用一个带有类型的列表List<Double>,但实际列表包含一些String对象!

这似乎与没有泛型的Java正常工作方式不同.例如:

Object o;
Double d;
String s;

o = s;
d = (Double) o;
Run Code Online (Sandbox Code Playgroud)

我们在这里做的基本上是相同的,除了这将通过编译时检查,并且只在运行时失败.带有列表的版本将无法编译.

这让我相信这纯粹是关于泛型类型限制的设计决策.我希望对这个决定有所评论?

java generics casting covariance

9
推荐指数
2
解决办法
1405
查看次数

如果触发器和视图的字符集与数据库的其余部分不匹配会产生什么后果?

我们最近已经完成了将所有应用程序的MySQL表,列和.ini设置转换为utf8编码的工作.但是,我们发现在此更改之前创建的视图触发器仍然引用了latin1字符集 - 即以下查询返回记录:

SELECT * FROM information_schema.triggers
WHERE trigger_schema=SCHEMA() 
AND    (collation_connection != 'utf8_general_ci' OR character_set_client != 'utf8')
;
SELECT * FROM information_schema.views
WHERE table_schema=SCHEMA()
AND   (collation_connection != 'utf8_general_ci' OR character_set_client != 'utf8')
;
Run Code Online (Sandbox Code Playgroud)

我需要关注这件事吗?

有关information_schema.triggersinformation_schema.views的MySQL文档仅显示"创建触发器时character_set_client系统变量的会话值".如果这就是存储的全部价值,那么有没有理由尝试修复它们?(听起来并不重要.)但另一方面,我必须认为数据库开发人员出于某种原因选择将其存储在information_schema表中.

生产已经在utf8上进行了一段时间,视图和触发器仍然引用了latin1,我们没有看到任何问题(尽管我们没有非常大的非英语用户群).我已经使用不同的测试字符串进行了一些测试,并且没有看到任何字符损坏.

mysql

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

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

为什么SomeClass <?super T>不等同于Java泛型类型中的SomeClass <T>?

我注意到了Collections.sort的具体说明:

public static <T> void sort(List<T> list, Comparator<? super T> c)
Run Code Online (Sandbox Code Playgroud)

为什么? super这里需要" "?如果ClassB延伸ClassA,那么我们不能保证无论如何Comparator<ClassA>能够比较两个ClassB物体,没有" ? super"部分吗?

换句话说,给定此代码:

List<ClassB> list = . . . ;
Comparator<ClassA> comp = . . . ;
Collections.sort(list, comp);
Run Code Online (Sandbox Code Playgroud)

为什么编译器不够聪明,即使没有? super为Collections.sort()的声明指定" " 也不行!

java generics

8
推荐指数
2
解决办法
4672
查看次数

是否有超级缩进代码的替代方案?

我经常遇到必须执行大量检查的代码,并且在真正做任何事情之前最终会缩进至少五到六个级别.我想知道有什么替代方案.

下面我发布了一个我正在谈论的例子(这不是实际的生产代码,只是我想到的东西).

public String myFunc(SomeClass input)
{
    Object output = null;

    if(input != null)
    {
        SomeClass2 obj2 = input.getSomeClass2();
        if(obj2 != null)
        {
            SomeClass3 obj3 = obj2.getSomeClass3();
            if(obj3 != null && !BAD_OBJECT.equals(obj3.getSomeProperty()))
            {
                SomeClass4 = obj3.getSomeClass4();
                if(obj4 != null)
                {
                    int myVal = obj4.getSomeValue();
                    if(BAD_VALUE != myVal)
                    {
                        String message = this.getMessage(myVal);
                        if(MIN_VALUE <= message.length() &&
                           message.length() <= MAX_VALUE)
                        {
                            //now actually do stuff!
                            message = result_of_stuff_actually_done;
                        }
                    }
                }
            }
        }
    }
    return output;
}
Run Code Online (Sandbox Code Playgroud)

language-agnostic coding-style indentation

8
推荐指数
3
解决办法
529
查看次数

什么是一种简单的方法来查看正在进行的AJAX调用?

我正在寻找一些东西(最好是Firefox扩展程序),它可以让我看到所有的AJAX子请求.基本上,无论何时生成XMLHTTPRequest(),我都想知道正在请求什么URL以及与它一起传递了什么(如果有的话)GET和POST变量.

除非我错过了,否则我在Firebug或Web Developer Toolbar中看不到任何类似的内容.

(如果你很好奇,想要这个的主要原因是我想要抓一个使用JS加载其所有内容的网站的本地副本,我不想花费数小时挖掘他们的JS代码当我能看到正在制作的子请求时.)

javascript debugging ajax xmlhttprequest

8
推荐指数
4
解决办法
8198
查看次数

什么HTTP状态代码在计划中断期间最适合搜索引擎?

如果你不得不为某种类型的不可避免的维护任务占用一个站点(并且它不是一个足够大的站点,你有一个备份服务器),你应该让你的服务器返回什么HTTP状态代码,以最大限度地减少搜索引擎思考的可能性该网站已经消失了?

我从W3C 找到了这个状态代码列表,其中以下内容似乎适用:

  • 503服务不可用
  • 500内部服务器错误
  • 408超时
  • 404未找到

我认为503是最合适的,但我不知道搜索引擎可能更喜欢什么.

seo http-status-codes

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

如何将文件复制到Gradle中的平面目录中

我正在尝试编写Gradle任务,将特定文件从深树复制到平面文件夹中.

第一次尝试:

task exportProperties << {
  copy {
    from "."
    into "c:/temp/properties"
    include "**/src/main/resources/i18n/*.properties"
  }
}
Run Code Online (Sandbox Code Playgroud)

这会复制正确的文件,但不会使结构变平,所以我最终得到了原始项目中的每个文件夹,其中大多数都是空的.

第二次尝试,根据我在这里这里看到的答案:

task exportProperties << {
  copy {
    from fileTree(".").files
    into "c:/temp/properties"
    include "**/src/main/resources/i18n/*.properties"
  }
}
Run Code Online (Sandbox Code Playgroud)

这次,它不会复制任何东西.

第三次尝试:

task exportProperties << {
  copy {
    from fileTree(".").files
    into "c:/temp/properties"
    include "*.properties"
  }
}
Run Code Online (Sandbox Code Playgroud)

几乎可以工作,除了它只是复制每个*.properties文件,当我只想要特定路径中的文件时.

gradle

8
推荐指数
3
解决办法
7006
查看次数

与Perl中的本地时间功能相反的是什么?

在Perl中,localtime取一个Unix时间戳并返回年/月/日/小时/分钟/秒等.我正在寻找相反的localtime:我有部分,我想从它们构建一个unix时间戳.

perl timestamp

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