问题列表 - 第23547页

我能正确理解课程是什么吗?

我很难找到一个清晰,简洁的外行定义.通常,他们提供一般性的想法,而不是特别拼写出来,我想知道我是否正确理解这一点.据我了解,类是控制对象的代码集.例如,在具有"是"按钮和"否"按钮以及输出文本框的应用程序中,告诉计算机当用户使用"是"按钮时要执行的操作的代码是一个类,用于命中No的代码是另一个类,一个对象是两个按钮以及它们共同影响输出框的内容.我是对的,还是我在这里混淆了条款?

谢谢

oop class object

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

如果以"ing"结尾,将"ly"添加到字符串结尾的Pythonic方法?

这是我第一次尝试解决这个问题.我得说,我有点喜欢Python.:d

# D. verbing
# Given a string, if its length is at least 3,
# add 'ing' to its end.
# Unless it already ends in 'ing', in which case
# add 'ly' instead.
# If the string length is less than 3, leave it unchanged.
# Return the resulting string.
def verbing(s):
  if len(s) >= 3:
    if s[-3:] == "ing":
      s += "ly"
    else:
      s += "ing"
    return s
  else:
    return s 

  # +++your code here+++
  return
Run Code Online (Sandbox Code Playgroud)

您觉得我在这里可以改进什么?

python

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

如何在Fluent NHibernate中映射IDictionary <string,object>?

我希望将用户首选项持久化为名称值对的集合,其中值可以是int,bool或string.

有几种方法可以给这只猫上皮,但我能想到的最方便的方法是这样的:

public class User
{
    public virtual IDictionary<string, object> Preferences { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

用途如下:

user.Preferences["preference1"] = "some value";
user.Preferences["preference2"] = 10;
user.Preferences["preference3"] = true;

var pref = (int)user.Preferences["preference2"];
Run Code Online (Sandbox Code Playgroud)

我不知道如何在Fluent NHibernate中映射这个,虽然我认为这是可能的.

通常,您可以将更简单的Dictionary <string,string>映射为:

HasMany(x => x.Preferences)
    .Table("Preferences")
    .AsMap("preferenceName")
    .Element("preferenceValue");
Run Code Online (Sandbox Code Playgroud)

但是对于一种'对象',NHibernate不知道如何处理它.我想可以创建一个自定义UserType,它将"对象"分解为表示其Type的字符串和表示该值的字符串.我们会有一个看起来像这样的表:

Table Preferences
    userId (int)
    preferenceName (varchar)
    preferenceValue (varchar)
    preferenceValueType (varchar)
Run Code Online (Sandbox Code Playgroud)

并且hibernate映射会这样:

<map name="Preferences" table="Preferences"> 
  <key column="userId"></key> 
  <index column="preferenceName" type="String" />
  <element type="ObjectAsStringUserType, Assembly">
    <column name="preferenceValue" /> 
    <column name="preferenceValueType"/> 
  </element> 
</map> 
Run Code Online (Sandbox Code Playgroud)

我不确定你会如何在Fluent NHibernate中映射它.

也许有更好的方法来做到这一点,或者我应该把它吸掉并使用IDictionary <string,string>.有任何想法吗?

mapping dictionary preferences fluent-nhibernate usertype

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

启发式以识别一系列4字节数据块是整数还是浮点数

什么是最好的启发式,我可以用来确定一个X 4字节的块是整数还是浮点数?人类可以轻松地做到这一点,但我想以编程方式进行.

我意识到,因为每个位组合都会产生一个有效的整数和(差不多?)所有这些组合也会产生一个有效的浮点数,所以没有办法确定.但我仍然想确定最有可能的候选人(这几乎总是正确的;或者至少,人类可以做到这一点).

例如,让我们先取一系列4字节的原始数据,然后先将它们作为整数打印出来然后再作为浮点数打印出来:

1           1.4013e-45
10          1.4013e-44
44          6.16571e-44
5000        7.00649e-42
1024        1.43493e-42
0           0
0           0
-5          -nan
11          1.54143e-44

显然他们将是整数.

现在,另一个例子:

1065353216  1
1084227584  5
1085276160  5.5
1068149391  1.33333
1083179008  4.5
1120403456  100
0           0
-1110651699 -0.1
1195593728  50000

这些显然是漂浮物.

PS:我使用的是C++,但您可以使用任何语言,伪代码或英语进行回答.

c++ language-agnostic algorithm floating-point artificial-intelligence

11
推荐指数
2
解决办法
706
查看次数

使用'var'来声明变量是可选的吗?

"var"是可选的吗?

myObj = 1;
Run Code Online (Sandbox Code Playgroud)

与...一样 ?

var myObj = 1;
Run Code Online (Sandbox Code Playgroud)

我发现它们都是我的测试,我认为var是可选的.是对的吗?

javascript

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

为什么在"打开太多文件"错误后Java VM无法恢复?

在某些易于理解的情况下,我们的应用程序将打开太多套接字(数据库连接)并达到操作系统允许的最大打开文件.我们理解这一点; 我们正在解决这个问题,并且还要提高限额.

我们无法解释的是,即使在连接数量减少之后,我们的部分应用程序也无法恢复,而且我们已经在极限范围内.

在这种情况下,它是在Tomcat下运行的应用程序.

发生这种情况时,我们首先看到"打开文件太多"错误:

SEVERE: Socket accept failed
java.net.SocketException: Too many open files
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
        at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)
        at java.lang.Thread.run(Thread.java:619)
Run Code Online (Sandbox Code Playgroud)

最终,我们开始NoClassDefFoundError在试图打开HTTP连接的应用程序线程中看到s:

java.lang.NoClassDefFoundError: org/apache/commons/httpclient/protocol/ControllerThreadSocketFactory
        at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:128)
        at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
        at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1349)
       [...]
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        ... 8 more
Run Code Online (Sandbox Code Playgroud)

当错误的连接消失时,服务器再次开始接受连接,一切似乎都没问题,但我们留下了后一个错误,不断向stderr发送.

虽然应用程序通常会将卸载的类记录到stdout,但我没有在"Too many open files"错误之前,期间或之后看到任何此类日志.

我最初的理论是Hotspot JVM在遇到"太多打开的文件"时会卸载看似未使用的类,但如果是这样,它就不会记录这个事实.

编辑:正如Stephen C在下面指出的那样,如果它正在卸载类,并且在第一次重新加载时遇到错误,这可以解释为什么它永远不会恢复.我认为这是一个很好的工作理论.它是否记录在Sun文档中?为什么不记录卸载类通常是卸载类的?

平台细节:

Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode) …
Run Code Online (Sandbox Code Playgroud)

java tomcat jvm noclassdeffounderror

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

如何更改在TeamCity中运行构建代理的用户标识?

我正在尝试在TeamCity 5中设置构建过程,并且在尝试复制某些文件时遇到访问被拒绝错误.我看到我的构建代理现在作为"SYSTEM"运行,我认为这是问题的一部分.我想改变那个用户身份.麻烦的是我无法弄清楚如何在构建代理上更改这些设置.如何更改构建用户身份?

teamcity teamcity-5.0

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

Python在if语句中等同于&&(logical-and)

这是我的代码:

def front_back(a, b):
  # +++your code here+++
  if len(a) % 2 == 0 && len(b) % 2 == 0:
    return a[:(len(a)/2)] + b[:(len(b)/2)] + a[(len(a)/2):] + b[(len(b)/2):] 
  else:
    #todo! Not yet done. :P
  return
Run Code Online (Sandbox Code Playgroud)

我在IF条件中遇到错误.我究竟做错了什么?

python if-statement keyword logical-operators and-operator

769
推荐指数
7
解决办法
186万
查看次数

jQuery在x个元素之后包装代码

我有一个包含任意数量LI的UL.我正在尝试创建一些jQuery代码,它将解析原始UL并在每5个原始LI之后包装UL和另一个LI.

开始HTML:

<ul id="original_ul">
    <li class="original_li">..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

必填HTML:

<ul id="processed_ul">

    <li class="new_wrap_li">

        <ul class="new_wrap_ul">

            <li class="original_li">..</li>
            <li>..</li>
            <li>..</li>
            <li>..</li>
            <li>..</li>

        </ul><!-- end new wrap ul -->

    </li><!-- end new wrap li -->

    <li class="new_wrap_li">

        <ul class="new_wrap_ul">

            <li class="original_li">..</li>
            <li>..</li>
            <li>..</li>
            <li>..</li>
            <li>..</li>

        </ul><!-- end new wrap ul -->

    </li><!-- end new wrap li -->

</ul><!-- end processed ul -->
Run Code Online (Sandbox Code Playgroud)

我一直在使用.each函数来浏览LI并将它们附加到临时div中保存的新处理的ul ...现在我只需要在每5个LI周围包装新的LI和UL.

提前致谢!!

javascript jquery

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

遗留代码 - 何时继续前进

我的团队并支持大量遗留应用程序,所有这些应用程序目前都在运行,但在支持和维护方面存在问题.它们都依赖于编译器制造商正式不支持的代码.

所以问题是我们应该按原样保留代码,并冒险让新编译器破坏我们的代码,或者我们应该咬紧牙关并更新所有代码?

legacy

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