小编Ale*_*lex的帖子

使用config.threadsafe时从lib /加载模块/类的正确方法是什么!选项?

我一直在努力让我们的Rails 2.3.8应用程序在JRuby下正常运行.一切正常,直到我启用config.threadsafe!为了实现JRuby提供的并发性.这导致lib /中的模块和类不再自动加载.

与config.threadsafe!启用:

$ ruby script/runner -e production 'p Sim::Sim200Provisioner'

/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in `const_missing': uninitialized constant Sim::Sim200Provisioner (NameError)
    from (eval):1
Run Code Online (Sandbox Code Playgroud)

与config.threadsafe!禁用:

$ ruby script/runner -e production 'p Sim::Sim200Provisioner'
Sim::Sim200Provisioner
Run Code Online (Sandbox Code Playgroud)

有问题的文件是LIB/SIM/sim200_provisioner.rb那里SIM卡应用程序/模型/ sim.rb.Rails通常可以轻松找到并加载文件.

我是否需要手动要求我们所有的库,或者是否有更多类似Rails的方法来处理它我缺少的?

ruby ruby-on-rails

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

在Ruby 1.9中使用andand时避免使用object_id警告?

当我加载并在Ruby 1.9中我收到警告

andand.rb:111: warning: undefining 'object_id' may cause serious problem
Run Code Online (Sandbox Code Playgroud)

有没有人知道一种方法,除了修改和不删除object_id,以避免这种警告?

谢谢!

ruby andand

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

UITableView在第一次加载时不响应滚动

我发现第一次加载UITableView时,它不会响应滚动触摸 - 如果它没有比屏幕上更多的行.如果我关闭视图,然后重新打开同一个对象 - 它现在将响应触摸 - 即使它包含相同数量的行.

除了响应行数的UITableViewDataSource方法并自己生成行之外,我没有做任何事情.每次出现视图时我都在重新加载表格.

谁能解释这种行为?


我正在创建像这样的单元格:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  static NSString *tableId = @"NewIndexTableId";
  Note *note = [notes objectAtIndex:[indexPath row]];

  UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:tableId];

  if (cell == nil)
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:tableId] autorelease];

  cell.textLabel.text = note.text;
  cell.detailTextLabel.text = [note changedDelta]; 
  cell.accessoryView = multipleAccounts ? [note.account imageView] : nil;

  return cell;  
}
Run Code Online (Sandbox Code Playgroud)

iphone iphone-sdk-3.0

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

是否可以创建一个Java UDP套接字来监听所有地址?

我想有一个DatagramSocket来监听单播和广播消息.这可能吗?

java networking

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

有没有办法在IE的输入框中获取所选文本的偏移量?

在Firefox中,您只需调用:

myInputTextField.selectionStart或myInputTextField.selectionEnd

获取输入框中所选文本的第一个和最后一个索引.

在IE中,我知道你可以调用document.selection.createRange()来调整选择.然而,对于我的生活,我没有找到任何代表选择中的字符偏移的值.

我错过了什么吗?有没有办法在IE中获得相同的价值?

谢谢!

亚历克斯

html javascript internet-explorer web-applications

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

用于查找表中代表性行的SQL查询

假设我有一个这样的支付表:

PaymentID INT,CustomerID INT,Value INT,PaidOn DATE

我想针对每个客户的最高付款运行查询.这是否可以使用单个SQL查询,以避免挖掘我不感兴趣的每一行 - 或者更糟糕的是,为每个客户运行查询?

我到目前为止所提出的最好的是:

SELECT CustomerID,MAX(Value)FROM Payments GROUP BY CustomerID;

但这并没有给我找到的行的PaymentId或PaidOn值.

sql

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

Java网络服务器和TIME_WAIT

我遇到了一个网络服务器的问题,该服务器接收来自我公司生产的设备的信号.该设备偶尔会重用它刚才使用的源端口.这会导致服务器删除SYN.然后,设备将重试,直到旧套接字在服务器上超出TIME_WAIT.然后服务器进行SYN-ACK.

服务器是用Java编写的.遗憾的是,修改设备以正确循环端口不是一种选择,因为该领域有许多,并且不能更新现有单元.旧的软件是用C++编写的,并以某种方式从Windows TCP堆栈的列表中清除了TIME_WAIT端口.

任何人都可以向我提供有关如何在Windows上绕过Java的TIME_WAIT的建议吗?

编辑:我确实在Wireshark中确认该设备正在重用最近使用的端口.

在服务器套接字上,我使用以下选项:

socket = new ServerSocket();
socket.setPerformancePreferences(3, 2, 1);
socket.setReuseAddress(true);
socket.setSoTimeout(CLIENT_READ_TIMEOUT);
socket.bind(new InetSocketAddress(group.getPort()), MAX_TCP_BACKLOG);
Run Code Online (Sandbox Code Playgroud)

并且客户端套接字在收到后具有以下设置:

Socket client = server.accept();
client.setKeepAlive(false);
client.setSoLinger(true, 0);
client.setReuseAddress(true);
client.setTcpNoDelay(true);
client.setSoTimeout(CLIENT_READ_TIMEOUT);
Run Code Online (Sandbox Code Playgroud)

我已经尝试了SO_LINGER作为true和false,具有完全相同的跟踪结果.CLIENT_READ_TIMEOUT设置为10秒.

java sockets networking

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