问题列表 - 第1074页

如何在给定外接矩形的情况下找到椭圆长轴的旋转角度?

我有一个以 (0,0) 为中心的椭圆,边界矩形为 x = [-5,5],y = [-6,6]。椭圆与矩形相交于 (-5,3)、(-2.5,6)、(2.5,-6) 和 (5,-3)

我对椭圆一无所知,但我唯一需要知道的是长轴旋转的角度。

看起来答案一定很简单,但我只是没有看到它......感谢您的帮助!

rotation ellipse bounding

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

在不丢失监听器的情况下,对序列化和反序列化对象的最佳方法是什么?

我有一个可注册的对象,注册了侦听器.目前,侦听器列表存储在对象中transient.当对象被序列化然后反序列化时,显然不再注册侦听器.

一旦反序列化对象,自动重新注册侦听器的最安全和最好的方法是什么?有一个好的设计模式可以帮助到这里吗?

java serialization

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

实现C#yield语句的算法

我想自己弄明白,但我想知道将带有yield语句的函数转换为枚举器状态机的算法是什么?例如,C#如何转变:

IEnumerator<string> strings(IEnumerable<string> args)
 { IEnumerator<string> enumerator2 = getAnotherEnumerator();     
   foreach(var arg in arg) 
    { enumerator2.MoveNext();
      yield return arg+enumerator.Current;
    } 
 }
Run Code Online (Sandbox Code Playgroud)

进入这个:

bool MoveNext()
 { switch (this.state)
    {
        case 0:
            this.state = -1;
            this.enumerator2 = getAnotherEnumerator();
            this.argsEnumerator = this.args.GetEnumerator();
            this.state = 1;
            while (this.argsEnumerator.MoveNext())
            {
                this.arg = this.argsEnumerator.Current;
                this.enumerator2.MoveNext();
                this.current = this.arg + this.enumerator2.Current;
                this.state = 2;
                return true;

              state1:
                this.state = 1;
            }
            this.state = -1;
            if (this.argsEnumerator != null) this.argsEnumerator.Dispose();
            break;

        case 2:
            goto state1;
    }
    return …
Run Code Online (Sandbox Code Playgroud)

c# compiler-construction algorithm iterator state-machine

31
推荐指数
3
解决办法
3843
查看次数

java.io.IOException的可能原因是什么:"文件名,目录名称或卷标语法不正确"

我正在尝试使用以下代码复制文件:

File targetFile = new File(targetPath + File.separator + filename);
...
targetFile.createNewFile();
fileInputStream = new FileInputStream(fileToCopy);
fileOutputStream = new FileOutputStream(targetFile);
byte[] buffer = new byte[64*1024];
int i = 0;
while((i = fileInputStream.read(buffer)) != -1) {
    fileOutputStream.write(buffer, 0, i);
}
Run Code Online (Sandbox Code Playgroud)

对于某些用户targetFile.createNewFile,此异常中的结果为:

java.io.IOException: The filename, directory name, or volume label syntax is incorrect
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:850)
Run Code Online (Sandbox Code Playgroud)

文件名和目录名似乎是正确的.在targetPath执行复制代码之前,甚至检查目录是否存在,文件名如下所示:AB_timestamp.xml

用户具有写入权限,targetPath并且可以使用操作系统轻松复制文件.

因为我无法访问机器,但这种情况发生了,并且无法在我自己的机器上重现问题.我转向您提供有关此异常原因的提示.

java file-io exception

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

评估用户代码有哪些安全问题?

我想知道实现这样的安全问题PHP evaluator:

<?php eval($_POST['codeInput']); %>
Run Code Online (Sandbox Code Playgroud)

这是在对PHP sandbox消毒DB input等进行消毒等方面并不是一个大问题.

销毁托管文件的服务器的用户是.

我已经看到了Ruby simulators,我很好奇有什么安全明智(至少含糊不清的细节).


谢谢大家.我甚至不确定接受哪个答案,因为它们都很有用.

Owen的回答总结了我怀疑的东西(服务器本身会有风险).

arin的回答给出了潜在问题的一个很好的例子.

Geoff的答案randy的答案反映了一般意见,即您需要编写自己的评估程序来实现模拟类型功能.

php security

5
推荐指数
3
解决办法
1693
查看次数

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

键盘快捷键将剪贴板内容粘贴到命令提示符窗口(Win XP)

是否有键盘快捷键用于将剪贴板的内容粘贴到Windows XP的命令提示符窗口中(而不是使用鼠标右键)?

典型的Shift+ Insert似乎不适用于此.

windows keyboard-shortcuts

301
推荐指数
7
解决办法
33万
查看次数

依赖注入容器有什么好处?

我理解依赖注入本身的好处.我们以Spring为例.我也了解其他Spring功能的好处,如AOP,不同类型的帮助等等.我只是想知道,XML配置有哪些好处,例如:

<bean id="Mary" class="foo.bar.Female">
  <property name="age" value="23"/>
</bean>
<bean id="John" class="foo.bar.Male">
  <property name="girlfriend" ref="Mary"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

与普通的旧java代码相比,例如:

Female mary = new Female();
mary.setAge(23);
Male john = new Male();
john.setGirlfriend(mary);
Run Code Online (Sandbox Code Playgroud)

这是更容易调试,编译时间检查,任何只知道java的人都可以理解.那么依赖注入框架的主要目的是什么?(或显示其好处的一段代码.)


更新:
如果是

IService myService;// ...
public void doSomething() {  
  myService.fetchData();
}
Run Code Online (Sandbox Code Playgroud)

如果有多个,IoC框架如何猜测我希望注入哪个myService实现?如果只有一个给定接口的实现,并且我让IoC容器自动决定使用它,它将在第二个实现出现后被破坏.如果故意只有一个可能的接口实现,那么你不需要注入它.

看到IoC的一小部分配置显示它的好处真的很有趣.我已经使用Spring一段时间了,我无法提供这样的例子.我可以展示单行,它们展示了我使用的hibernate,dwr和其他框架的好处.


更新2:
我意识到可以在不重新编译的情况下更改IoC配置.这真的是个好主意吗?我可以理解,有人想要在不重新编译的情况下更改数据库凭据 - 他可能不是开发人员.在您的实践中,开发人员以外的其他人更改IoC配置的频率如何?我认为对于开发人员来说,没有努力重新编译该特定类而不是更改配置.对于非开发人员,您可能希望让他的生活更轻松,并提供一些更简单的配置文件.


更新3:

接口与其具体实现之间的映射的外部配置

使它延伸有什么好处?你没有把你的所有代码都放在外部,而你绝对可以 - 只需将它放在ClassName.java.txt文件中,即时手动读取和编译 - 哇,你避免重新编译.为什么要避免编译?!

您可以节省编码时间,因为您以声明方式提供映射,而不是在过程代码中

我知道有时声明性方法可以节省时间.例如,我只声明bean属性和DB列之间的映射,并且hibernate在加载,保存,基于HSQL构建SQL等时使用此映射.这是声明性方法的工作原理.对于Spring(在我的示例中),声明具有更多行并且具有与对应代码相同的表达性.如果有一个例子,这种声明比代码短 - 我希望看到它.

控制反转原理允许简单的单元测试,因为您可以用假的替换实际的实现(比如用内存替换SQL数据库)

我确实理解控制优势的反转(我更喜欢将这里讨论的设计模式称为依赖注入,因为IoC更通用 - 有很多种控制,我们只反转其中一种 - 控制初始化).我在问为什么有人为了它需要的东西而不是编程语言.我绝对可以使用代码替换真假实现.并且此代码将表达与配置相同的内容 - 它将仅使用伪值初始化字段.

mary = new FakeFemale();
Run Code Online (Sandbox Code Playgroud)

我确实理解DI的好处.我不明白外部XML配置与配置执行相同操作的代码相比会带来哪些好处.我不认为应该避免编译 - 我每天编译,我还活着.我认为DI的配置是声明性方法的坏例子.如果声明一次并且以不同方式多次使用声明,则声明可能很有用 - 例如hibernate cfg,其中bean属性和DB列之间的映射用于保存,加载,构建搜索查询等.Spring DI配置可以很容易地转换为配置代码,就像在这个问题的开头,它可以吗?它只用于bean初始化,不是吗?这意味着声明式方法不会在这里添加任何内容,是吗?

当我声明hibernate映射时,我只是给hibernate一些信息,它基于它工作 - 我不告诉它该怎么做.在春天的情况下,我的宣言告诉春天应该做什么 - …

xml spring dependency-injection

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

37
推荐指数
6
解决办法
9万
查看次数

如何获取域的所有子域列表?

我想找出给定域的所有子域.我找到了一个提示,告诉我使用以下选项挖掘权威的Nameserver:

dig @ns1.foo.bar some_domain.com axfr
Run Code Online (Sandbox Code Playgroud)

但这永远不会奏效.有谁有更好的想法/方法

subdomain dns dig nameservers

223
推荐指数
9
解决办法
45万
查看次数