小编Cra*_*lus的帖子

何时阻止调用flock会失败?

我在读关于羊群的文章.这个例子有这一行:
flock($fh, LOCK_EX) or die "Cannot lock mailbox - $!\n";
这个电话是阻塞电话吗?因此,如果已经锁定了呼叫块.
我假设如果调用返回锁定被授予.那么什么时候die会发生?

linux perl locking file flock

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

为什么SELECT FOR UPDATE仅在事务中起作用?

我认为我对SELECT FOR UPDATE构造感到困惑.
例:

mysql> select * from employees2;  
+-------+----------+--------+-----------+  
| EmpId | EmpName  | DeptId | EmpSalary |  
+-------+----------+--------+-----------+  
|     1 | John     |      1 |   5000.00 |  
|     2 | Albert   |      1 |   4500.00 |  
|     3 | Crain    |      2 |   6000.00 |  
|     4 | Micheal  |      2 |   5000.00 |  
|     5 | David    |   NULL |     34.00 |  
|     6 | Kelly    |   NULL |    457.00 |  
|     7 | Rudy …
Run Code Online (Sandbox Code Playgroud)

mysql perl innodb locking transactions

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

是每个DataBase引擎的Sql语法(jdbc)

假设有应用程序必须与多于类型的数据库(即MySql,MSSQL等)进行交互.去做这个.应用程序和DB之间有一个层(DB是什么类型),它负责处理与DB的交互.该层有一些部分具有类型的sql语句(硬编码):

`"SELECT "+ obj.getName()+ "FROM TABLE_X WHERE NAME=?"` etc (trivial sample sql).  
Run Code Online (Sandbox Code Playgroud)

我的问题是,所有数据库引擎(MySql,MSSQL等)中的SQL语法是否相同?哪个部分不同?

我问这个是因为我在一个旧项目中部分工作,并且据我所知它的工作原理.sql语句比包括连接和更新的示例复杂得多.
我一直认为,SQL语法因数据库类型而异.

java sql database jdbc

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

java安全套接字没有认证?

我有一个简单的安全套接字服务器 - 客户端程序.
对于服务器证书,我使用keytool创建了一个密钥库.
当我尝试通过我的客户端连接到服务器时,我得到以下异常:
在服务器中:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
Run Code Online (Sandbox Code Playgroud)

在客户端:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

如果我的理解是正确的,那么这些例外是由于我使用我创建的证书这一事实引起的.
我的问题如下:
如果我在服务器和客户端中设置启用的密码套件,所有*_anon*密码套件,这不应该解决问题吗?
我的意思是如果我启用*_anon_*密码套件,则不需要身份验证,因此没有例外.
它是否正确?
因为我仍然有例外.我尝试在启用的密码套件中启用所有已启用的+ _anon密码套件.没有成功.我尝试只设置anon并获得一个新例外:

Exception in thread "main" java.lang.IllegalArgumentException: Name must not be null
Run Code Online (Sandbox Code Playgroud)

有人可以用anon密码套件解释为什么我会得到这些例外吗?
注意:
如果我在客户端上设置javax.net.ssl.trustStore指向我创建并由我的服务器使用的密钥库的系统属性,则通信正常!
该程序无异常,数据从客户端发送到服务器.


更新:
这是我用来启用匿名密码的片段(我已经为服务器和客户端部分做了这个):

String[] supported = server.getSupportedCipherSuites();
String[] anonCipherSuitesSupported = new String[supported.length];
int count = 0;

for(int …
Run Code Online (Sandbox Code Playgroud)

java ssl jsse keytool truststore

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

加载DOM的库时,log4j中的冲突?(不允许在classpath中实现dom的其他实现?)

我试图将log4j放在Tomcat 7中的Web应用程序中.
我的web应用程序中有log4j库WEB-INF\lib.
我有以下log4j.xmlWEB-INF\classes

<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

      <!-- Log output to Console -->
      <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
        <param name="Target" value="System.out"/> 
        <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> 
        </layout> 
      </appender>  

      <appender name="rolling" class="org.apache.log4j.RollingFileAppender"> 
        <param name="file" value="myLogfile.log"/>    
        <param name="append" value="true" />
        <param name="encoding" value="UTF-8" />  
        <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> 
        </layout> 
      </appender> 

      <!-- Log to both Console and File -->
      <root> 
        <priority value ="debug" /> 
        <appender-ref …
Run Code Online (Sandbox Code Playgroud)

java log4j java-ee tomcat7

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

比较JUnit中的列表.它成功但我没有覆盖平等.它是如何工作的?

我有一个具有原始字段的类,如下所示:

public class Person{  
  String name;  
  int age;  
  int id;  
  int height;  
  public Person(String name, int age, int id, int height){  
      this.name = name;
      this.age = age;  
      this.id = id;  
      this.height = height;  
  } 
  //other methods
}  
Run Code Online (Sandbox Code Playgroud)

我有各种各样的人,我想按年龄排序:

Person p87 = new Person("John", 87, 123, 185);  
Person p22 = new Person("George", 22, 12, 180);  
//etc  ....for other persons. Then I create a list of them
List<Person> persons= Arrays.asList(p87, p22, p45, p31, p55, p62 );  
Collections.sort(persons, new Comparator<Person>() {

            @Override
            public …
Run Code Online (Sandbox Code Playgroud)

java collections junit unit-testing list

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

如何验证SWT窗口小部件的输入(文本)

如何为SWT小部件添加验证?比如Text
我尝试了以下两种方法(在网上找到):

txtPort.addListener(SWT.Verify,new Listener() {  
  @Override  
  public void handleEvent(Event event) {  
      String port = ((Text)event.widget).getText();  
      try{  
          int portNum = Integer.valueOf(port);  
          if(portNum <0 || portNum > 65535){  
                event.doit = false;  
         }  
      }  
      catch(Exception ex){  
         event.doit = false;  
      }                 
   }  
});  
Run Code Online (Sandbox Code Playgroud)

也:

txtPort.addVerifyListener(new VerifyListener() {  
   @Override  
   public void verifyText(VerifyEvent e) {  
     String port = ((Text)e.widget).getText();  
      try{  
         int portNum = Integer.valueOf(port);  
         if(portNum <0 || portNum > 65535){  
             e.doit = false;  
          }  
      }  
      catch(Exception ex){  
          e.doit = false;  
      }  
   } …
Run Code Online (Sandbox Code Playgroud)

java eclipse swt jface eclipse-rcp

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

试图找出经典的背包再现

我正在阅读Knapsack Problem(无界),正如我理解DP中的经典之作.
虽然我认为我在阅读时理解了解决方案,但我不清楚如何将其转换为实际代码.
例如,在以下重复"公式"中:

M(j) = MAX {M(j-1), MAX i = 1 to n (M(j - Si) + Vi) } for j >=1

我不知道如何将其转换为代码,因为我不清楚内部MAX应该在那里还是应该只是代替:
M(j) = MAX {M(j-1), M(j - Si) + Vi } for j >=1

有什么帮助找出公式并编码吗?

java algorithm knapsack-problem dynamic-programming

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

依赖于多个表的可更新视图

Updateable ViewMySQL 中阅读:

更具体地说,如果视图包含以下任何一项,则该视图不可更新:....

某些连接(请参阅本节后面的其他连接讨论)

在那之后:

假设可以使用 MERGE 算法处理多表视图,有时可能会更新多表视图。为此,视图必须使用内连接(不是外连接或 UNION)。

但是没有明确的例子,我没有成功更新我创建的涉及NATURAL JOIN.

取决于multi-tables可更新的视图的示例是什么?什么时候不呢?

mysql sql join view

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

我们如何在Perl中提取字符串的一部分?

我是新人Perl.我有一个这种格式的字符串:
[ timestamp | integer | string ] Some other string here

示例字符串:

[ 2013/05/28 21:39:02 | 2212 | MALFUNCTION  ] Please check for malfunction
Run Code Online (Sandbox Code Playgroud)

timestamp实际上是一个时间戳例如2013/05/28 20:38:02
整数是一个数字,并且字符串可以是一个特定的单词出单词序列的.
我有兴趣提取这部分的字符串部分.

Java我会做简单:

String s = sentence.substring(line.lastIndexOf("|") + 1, line.lastIndexOf("]")).trim();  
Run Code Online (Sandbox Code Playgroud)

这只是逐字符串地循环字符串并获得感兴趣的部分.
但我不知道如何解决这种"问题" Perl.
我该怎么做?只能通过正则表达式?

regex string perl

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