我刚刚在代码库中找到了一个静态嵌套接口.
class Foo {
public static interface Bar {
/* snip */
}
/* snip */
}
Run Code Online (Sandbox Code Playgroud)
我以前从未见过这个.最初的开发者是遥不可及的.因此我不得不问:
静态接口背后的语义是什么?如果我删除了会有什么变化static
?为什么有人会这样做?
open
在cygwin中是否有等效的OSX 命令.open
使用该类型的默认应用程序打开一个文件.
我想做点什么
$ magic-command file.xls
#excel opens as if file.xls would have been double-clicked
$ magic-command file.txt
#notepad opens as if file.txt would have been double-clicked
Run Code Online (Sandbox Code Playgroud)
你明白了吗?
基本上类似于"cygwin-double-click"命令.
我正在维护一些Web应用程序.开发和qa环境使用无效/过时的ssl证书.
虽然它通常是一件好事,但Firefox让我点击十几次才能接受证书,这非常令人讨厌.
是否有配置参数使Firefox(也可能是IE)接受任何ssl证书?
编辑:我接受了解决方案,这是有效的.但感谢所有建议使用自签名证书的人.我完全清楚,接受的解决方案给我留下了一个巨大的安全漏洞.尽管如此,我还是懒于更改所有应用程序和所有环境的证书......
但我也强烈建议任何人启用验证!
我对匹配者比较陌生.我正在和Hamcrest一起玩 JUnit并且我喜欢它.
有没有办法说明多种选择中的一种是正确的?
就像是
assertThat( result, is( either( 1, or( 2, or( 3 ) ) ) ) ) //does not work in hamcrest
Run Code Online (Sandbox Code Playgroud)
我正在测试的方法返回一个集合的一个元素.该列表可能包含多个候选人.我当前的实现返回第一个命中,但这不是必需的.如果返回任何可能的候选人,我希望我的测试用例成功.你会怎么用Java表达这个?
(我对hamcrest替代品持开放态度)
它总是发生在我身上.我不小心版本文件,我不想被版本化(即开发人员/机器特定的配置文件).
如果我提交这个文件,我会搞乱所有其他开发者机器上的路径 - 他们会不高兴.
如果我从版本控制中删除该文件,它将从其他开发者机器中删除 - 他们会不高兴.
如果我选择永远不提交文件,我总是有一个"脏"的结账 - 我不开心.
是一种干净的方法来"修改"来自修订控制的文件,这会导致没有人感到不快乐吗?
编辑:尝试澄清一点:我已经将文件提交到存储库,我只想将其从版本控制中删除 - 我特别不希望它从每个人进行结账时被物理删除.我最初希望它被忽略.
答:如果我能接受第二个答案,那就是这个.它回答了关于git的问题 - 接受的答案是关于svn.
在UNIX bash shell(特别是Mac OS X Leopard)上,将具有特定扩展名的每个文件从文件夹层次结构(包括子目录)复制到同一目标文件夹(没有子文件夹)的最简单方法是什么?
显然存在源层次结构中存在重复的问题.我不介意他们被覆盖.
示例:我需要复制以下层次结构中的每个.txt文件
/foo/a.txt
/foo/x.jpg
/foo/bar/a.txt
/foo/bar/c.jpg
/foo/bar/b.txt
Run Code Online (Sandbox Code Playgroud)
到名为'dest'的文件夹并获取:
/dest/a.txt
/dest/b.txt
Run Code Online (Sandbox Code Playgroud) 有时标记的中断或继续可以使代码更具可读性.
OUTERLOOP: for ( ;/*stuff*/; ) {
//...lots of code
if ( isEnough() ) break OUTERLOOP;
//...more code
}
Run Code Online (Sandbox Code Playgroud)
我想知道标签的常见惯例是什么.全部大写?第一次上限?
我确信之后标记符/继续是一个总的"诺诺"在这里,我需要帮助去除标签了我的代码.
我有一个方阵和一个长度相同的矢量.向量中已经有一些值,取决于矩阵中的值,循环中的向量发生了变化.
我希望,代码片段基本上是可以理解的......
vectorLoop:
for( int idx = 0; idx < vectorLength; idx++) {
if( conditionAtVectorPosition( v, idx ) ) continue vectorLoop;
matrixLoop:
for( rowIdx = 0; rowIdx < n; rowIdx++ ) {
if( anotherConditionAtVector( v, rowIdx ) ) continue matrixLoop;
if( conditionAtMatrixRowCol( m, rowIdx, idx ) ) continue vectorLoop;
}
setValueInVector( v, idx );
}
Run Code Online (Sandbox Code Playgroud)
请说服我,没有标签就有更可读/更好的版本.
我是Obj-C的新手,请原谅我,如果这是一个愚蠢的问题:
我如何以Javas枚举的方式实现一些?或者更确切地说:
我想要一个具有一些已知属性的类,这些属性在编译时修复并且每个实例都是唯一的.另外我只想要一种实例类型.
让我举一个Java的例子:
public enum MessageTypes {
DEFAULT("white", "standard", 1),
EXPRESS("red", "expressMessage", 2),
BORADCAST("green", "broadcast", 3);
String color; String tagName; int dbId;
MessageTypes(String color, String tagName, int dbId) {
// you get the idea
}
//some methonds like getEnumByTagName
}
Run Code Online (Sandbox Code Playgroud)
你会如何在Objective-C中做这样的事情?我错过了什么吗?这是一个糟糕的模式吗?
提前致谢!
编辑:对不起,如果我没有说清楚.我知道,obj-c枚举不是我想要的(因为它们只比int的typedef略多).
我想创建一组(特定的单例,不可变)特定类的实例.Apples Dev-Docs中的单例模式没有用,因为我想要一个类的多个不同实例,每个实例在其属性中都有单独的值.
这样做的目的是拥有多个可以作为属性分配给Message的消息类型(大约20个).我的每种消息类型都有(修复和预定义)颜色,属性值(以XML表示)和数字ID.
在Java中,我会在代码示例中使用枚举.但是如何创建不同的MessageType并将它们与Obj-C中的属性相关联?
创建20个MessageType的Sublcasses(每个都有一个包含属性的单例实例)对于这样一个简单的任务和完全的过度杀戮似乎很多工作.
我目前的方法是使用NSArray创建一个包含不同实例的类.首次访问类似+(id)messageTypeForId:NSInteger id_
NSArray 的方法是预先填充的.但这感觉完全笨拙而且根本不优雅......
有更令人满意的方法吗?
我知道一些改进目录的高级方法.pushd
和popd
(目录堆栈)或cd -
(更改为上一个目录).
但我正在寻找快速实现以下目标的方法:
说,我在一个相当深的目录:
/this/is/a/very/deep/directory/structure/with\ lot\ of\ nasty/names
Run Code Online (Sandbox Code Playgroud)
我想切换到
/this/is/another/very/deep/directory/structure/with\ lot\ of\ nasty/names
Run Code Online (Sandbox Code Playgroud)
是否有酷/快/极客的方式(没有鼠标)?
java ×4
label ×2
shell ×2
bash ×1
convention ×1
cygwin ×1
firefox ×1
git ×1
hamcrest ×1
interface ×1
junit ×1
matcher ×1
objective-c ×1
refactoring ×1
ssl ×1
static ×1
svn ×1
unix ×1
versioning ×1