小编Ric*_*mon的帖子

使用默认值读取bash中的变量

我需要在bash脚本中从终端读取一个值.我希望能够提供用户可以更改的默认值.

# Please enter your name: Ricardo^
Run Code Online (Sandbox Code Playgroud)

在此脚本中,提示符为"请输入您的姓名:",默认值为"Ricardo",光标将在默认值之后.有没有办法在bash脚本中执行此操作?

bash shell

163
推荐指数
7
解决办法
16万
查看次数

如何在html中对表行进行分组以使用jquery操作它们

我有一个包含许多行的html表.我目前正在div中分组几行(我知道这很难看),然后显示或隐藏div以显示或隐藏其中的行.有没有一种标准的方法来做到这一点.像rowgroup或多个tbody而不是这个丑陋的div分组?

html jquery dom

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

打印时触发调整大小事件

我有一个div,我使用protovis创建一个图表.div有width: 100%和,height: 100%并且创建图表的代码使用$('#chart').width()$('#chart').height()在渲染时获取div的大小,并用图表填充页面.我在窗口上捕获resize事件并调整div和图表,以便在窗口调整大小时调整大小.

现在我需要打印.我希望当浏览器呈现打印机的页面时,它会发出调整大小,但它不会,至少Safari和Firefox不会.Chrome做了一些奇怪的事情,它只调整高度但不调整宽度.有没有办法在打印之前触发此行为?

编辑.考虑以下html

<html>
  <head>
    <title>Resize</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
        $('#chart').resize(function() {
          $(this).html('chart size is ' + $('#chart').width() + ' x ' + $('#chart').height());
        })        
      });
      $(window).resize(function() {
        $('.resizable').resize();
      });
    </script>
    <style type="text/css">
      #chart { width: 100%; height: 100%; background: gray; border: 1px solid black;}
    </style>
  </head>
  <body>

    <div id="chart" class="resizable">
    </div>

  </body>
</html>        
Run Code Online (Sandbox Code Playgroud)

当我调整窗口大小时,div的内容会发生变化.当我打印它时,渲染过程不会触发resize事件.

html javascript printing jquery protovis

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

如何锁定java方法以保护多个调用

我有一个应用程序,每15分钟左右从远程数据库复制一次.它只是使两个存储库保持同步.一旦进行此复制,就不可能再次执行此操作.我已经设置了以下结构,但我不确定它是否是正确的方法.

public class ReplicatorRunner {

       private static Lock lock = new ReentrantLock();

       public replicate() {

           if (lock.tryLock()) {
               try {
                   // long running process
               } catch (Exception e) {                   
               } finally {
                   lock.unlock();
               }               
           } else {
               throw new IllegalStateException("already replicating");
           }

       }

}

public class ReplicatorRunnerInvocator {

    public void someMethod() {

        try {
            ReplicatorRunner replicator = new ReplicatorRunner();
            replicator.replicate();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

ReplicatorRunner是类拥有该方法replicate只能运行一次一个.

编辑.如果方法已在任何实例上运行,我需要下一次调用失败(不阻止).

java concurrency

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

如何使用Spring MySQL和RowCallbackHandler管理大型数据集

我正在尝试使用Spring和JdbcTemplate遍历MySQL中的每一行表.如果我没有弄错,这应该是这样简单:

JdbcTemplate template = new JdbcTemplate(datasource);
template.setFetchSize(1);
// template.setFetchSize(Integer.MIN_VALUE) does not work either            
template.query("SELECT * FROM cdr", new RowCallbackHandler() {
  public void processRow(ResultSet rs) throws SQLException {
    System.out.println(rs.getString("src"));
  }
});
Run Code Online (Sandbox Code Playgroud)

我得到一个OutOfMemoryError,因为它试图读取整个事情.有任何想法吗?

java mysql spring jdbc

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

在特定时间运行java线程

我有一个Web应用程序,每小时四次与中央数据库同步.这个过程通常需要2分钟.我想将此过程作为X:55,X:10,X:25和X:40的线程运行,以便用户知道在X:00,X:15,X:30和X:45他们有一个干净的数据库副本.这只是关于管理期望.我已经完成了执行程序,java.util.concurrent但调度已完成scheduleAtFixedRate,我相信并不能保证何时实际按小时运行.我可以使用第一次延迟启动,Runnable以便第一次延迟接近发射时间和每15分钟的时间表,但似乎这可能会在时间上发生分歧.是否有更简单的方法来安排线程在每个季度之前5分钟运行?

java concurrency multithreading

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

Hibernate多态查询

我有两个类,Person和Company,来自另一个类Contact.它们在两个表(Person和Company)中以多态形式表示.简化的类看起来像这样:

public abstract class Contact {

  Integer id;

  public abstract String getDisplayName();

}

public class Person extends Contact {

  String firstName;
  String lastName;

  public String getDisplayName() {
    return firstName + " " + lastName;
  }

}

public class Company extends Contact {

  String name;

  public String getDisplayName() {
    return name;
  }

}
Run Code Online (Sandbox Code Playgroud)

问题是我需要查询查找包含某个字符串的displayName的所有联系人.我不能使用displayName进行查询,因为它不是任何一个表的一部分.有关如何进行此查询的任何想法?

java polymorphism hibernate hql

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

有效用户的Tomcat安全约束

我正在尝试保护tomcat中的资源,以便只有"有效用户"(在域中具有有效登录名和密码的用户)才能访问它.它们不一定属于该领域的一个群体.我已尝试使用该<security-constraint>指令的许多组合但未成功.有任何想法吗?

java tomcat web-applications security-constraint

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

用另一个文件的内容替换文件中的分隔文本块

我需要编写一个简单的脚本,用另一个文件的内容替换配置文件中的文本块.

让我们假设有以下简化文件:

server.xml

<?xml version='1.0' encoding='UTF-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="80" protocol="HTTP/1.1"/>
    <Engine name="Catalina" defaultHost="localhost">
      <!-- BEGIN realm -->
        <sometags/>
        <sometags/>
      <!-- END realm -->
      <Host name="localhost" appBase="webapps"/>
    </Engine>
  </Service>
</Server>
Run Code Online (Sandbox Code Playgroud)

realm.xml

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
       resourceName="UserDatabase"/>
Run Code Online (Sandbox Code Playgroud)

我想运行一个脚本并realm.xml替换<!-- BEGIN realm --><!-- END realm -->行之间的内容.如果realm.xml更改,则每当脚本再次运行时,它将使用新内容再次替换行realm.xml.这是为了/etc/init.d/tomcat在多个安装的服务启动时运行,在这些安装上领域将是不同的.

我不太确定我怎么能用awk或简单地做到这一点sed.

bash shell scripting awk sed

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

在couchdb中建模图形的含义

我一直在使用couchdb中的图形结构(具有命名关系的属性图)建模,并想知道我会发现什么是性能的潜在瓶颈.

我使用以下原则:

  • 保持文件小.
  • 尝试尽可能少地嵌入.
  • 将文档之间的所有关系记录为新文档(链接).

似乎所有这些原则都与CouchDB哲学相矛盾,

例如,有了这个原则,标记一个人就成了三个文件:

{ _id: '10', type: 'person', 'name': 'John Doe' }
{ _id: '20', type: 'tag', 'name': 'Important' }
{ _id: '30', type: 'link', from: 10, to: 20, name: 'tag' }
Run Code Online (Sandbox Code Playgroud)

我还在一个_design名为的文档中创建了以下视图links:

{
  outgoing: {
    map: function(doc) {
      if (doc.type == 'link') {
        emit([doc.from, doc.name], {_id: doc.to});
      }
    }
  },
  incoming: {
    map: function(doc) {
      if (doc.type == 'link') {
        emit([doc.to, doc.name], { _id: doc.from });
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以通过这些网址获取文档传入或传出的所有链接: …

couchdb graph data-modeling

6
推荐指数
0
解决办法
1525
查看次数