小编Tru*_*oft的帖子

在Ruby on Rails中获取主机名或IP

我正在维护Ruby on Rails应用程序,我正在寻找一种简单的方法来查找我所在的盒子的主机名或IP地址(因为它是一个VM,新实例可能有不同的主机名或IP地址) .在Ruby on Rails中有一种快速简便的方法吗?

编辑:下面的答案是正确的,但克雷格提供的澄清是有用的(参见答案中提供的链接):

[下面]代码不会建立连接或发送任何数据包(到64.233.187.99,这是谷歌).由于UDP是无状态协议,因此connect()仅进行系统调用,该系统调用根据地址和应绑定的接口(以及IP地址)来确定如何路由数据包.addr()返回一个数组,其中包含套接字的系列(AF_INET),本地端口和本地地址(我们想要的).

ruby networking

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

如何在Linux上配置多线程C++应用程序?

我曾经用gprof做我所有的Linux分析.

但是,对于我的多线程应用程序,它的输出似乎不一致.

现在,我挖了这个:

http://sam.zoy.org/writings/programming/gprof.html

但是,从很久以前开始,在我的gprof输出中,看来我的gprof列出了非主线程使用的函数.

所以,我的问题是:

1)2010年,我可以轻松使用gprof来分析多线程Linux C++应用程序吗?(Ubuntu 9.10)2)我应该研究哪些其他工具进行性能分析?

c++ multithreading gprof

46
推荐指数
6
解决办法
5万
查看次数

AspectJ有什么用?

首先让我注意一下,我使用AspectJ,我喜欢它,但我还能做些什么呢.

我知道AspectJ可以用于日志记录.在某些情况下,它用于事务控制 - 主要与注释一起实现.AspectJ也可以用于增强类(代码生成)方法,就像Spring Roo一样.

但我相信AspectJ和AOP一般可以用于:日志记录,事务控制和模拟部分类.

那么AspectJ和AOP的其他有用用例是什么?

java aop aspectj aspects

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

C#,不变性和公共只读字段

我已经在许多地方读过,公开公开字段并不是一个好主意,因为如果你以后想要更改属性,则必须重新编译使用你的类的所有代码.

但是,在不可变类的情况下,我不明白为什么你需要更改为属性 - 毕竟你不会在'set'中添加逻辑.

对此有任何想法,我错过了什么吗?

差异的例子,对于那些比文本更容易阅读代码的人:)

//Immutable Tuple using public readonly fields
public class Tuple<T1,T2>
{
     public readonly T1 Item1;
     public readonly T2 Item2;
     public Tuple(T1 item1, T2 item2)
     {
         Item1 = item1;
         Item2 = item2;
     }
}

//Immutable Tuple using public properties and private readonly fields
public class Tuple<T1,T2>
{
     private readonly T1 _Item1;
     private readonly T2 _Item2;
     public Tuple(T1 item1, T2 item2)
     {
         _Item1 = item1;
         _Item2 = item2;
     }
     public T1 Item1 { get { return _Item1; …
Run Code Online (Sandbox Code Playgroud)

c# field properties immutability

34
推荐指数
2
解决办法
4779
查看次数

Android:转换为Dalvik格式失败:无法执行dex:null

我正在尝试在Android上使用SmugFig SmugMug API.它是为我想象的J2SE而设计的,所以我不确定它是否可以在Android上运行,但我认为它值得尝试而不是试图创建我自己的API.

当我加载项目时,我收到以下错误:

Conversion to Dalvik format failed: Unable to execute dex: null
Run Code Online (Sandbox Code Playgroud)

它没有说明它失败了什么包,只是"Android包装问题",但是在我添加SmugFig并且它的依赖JARS到构建路径之前它没有这样做.

我应该在哪里看?或者这主要是因为它不适用于那些库?

java eclipse android dalvik

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

如何在rails中禁用select选项?

<%=f.select :action_item_status,action_item_status%> 
Run Code Online (Sandbox Code Playgroud)

如何禁用此选择选项中的所有选项.

ruby-on-rails

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

SVN无法在Eclipse中工作

有一天,我在Eclipse中按下了Help- > Check for Updates(我知道我永远不应该更新一个工作正常的软件.)

然后在我与SVN一起使用的项目中,"Team"的整个子菜单以及显示某些文件未被提交的小图标,它们都消失了.

我尝试了一切:

  • Instalation History标签恢复
  • Installed Software标签中卸载
  • 替换该文件夹eclipseProgram Files有一个新的日食从网站上下载,并试图重新安装
  • 搜索了如何在网上安装它

但是,如果我按下,Ctrl+N则没有上述情况.没有SVN组; 如果我右键单击项目并选择Team- > Share project,则会出现带有CVS的窗口,但没有SVN.如果我选择File- > Import我无法在任何地方找到SVN.

如果我去Help- > About Eclipse- > Instalation details我在2009 Instalation History年6月25日09:59:08 GMT + 03:00(当SVN工作时)看到

Eclipse IDE for Java EE Developers  1.2.0.20090621-0820
Subclipse (Required)    1.6.2
Subversion JavaHL Native Library Adapter (Required) 1.6.3
SVNKit Library  1.3.0.5847
Run Code Online (Sandbox Code Playgroud)

Installed Software …

eclipse subclipse svn subversive

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

在带有rails的select中将选项值设置为数组索引

我想使用rails collection_select或者options_for_select不是基于模型的数组项来创建一个select标签.选项的值应该是每个项的数组索引.

示例:所需的输出['first', 'second', 'third']:

<select id="obj_test" name="obj[test]">
    <option value="0">first</option> 
    <option value="1">second</option> 
    <option value="2">third</option> 
</select> 
Run Code Online (Sandbox Code Playgroud)

html-select ruby-on-rails

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

Java 8 Stream过滤列表中列表的值

我有一个看起来如下的对象

class MyObject {

    String type;
    List<String> subTypes;

}
Run Code Online (Sandbox Code Playgroud)

是否有可能,给定MyObject的列表,使用Java 8流来过滤类型和子类型?

到目前为止我有

myObjects.stream()
    .filter(t -> t.getType().equals(someotherType)
    .collect(Collections.toList());
Run Code Online (Sandbox Code Playgroud)

但在此范围内,我还希望对每个子类型上的另一个过滤器过滤特定子类型上的过滤器.我无法弄清楚如何做到这一点.

一个例子是

myObject { type: A, subTypes [ { X, Y, Z } ] }
myObject { type: B, subTypes [ { W, X, Y } ] }
myObject { type: B, subTypes [ { W, X, Z } ] }
myObject { type: C, subTypes [ { W, X, Z } ] }
Run Code Online (Sandbox Code Playgroud)

我会传入matchType B和subType Z,所以我希望得到一个结果 - > myObject type …

java java-8

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

使用子选择的MySQL查询选择花费的时间太长

从2个表执行select时我发现了一些奇怪的东西:

SELECT * FROM table_1 WHERE id IN (
    SELECT id_element FROM table_2 WHERE column_2=3103);
Run Code Online (Sandbox Code Playgroud)

此查询大约需要242秒.

但是当我执行子查询时

SELECT id_element FROM table_2 WHERE column_2=3103
Run Code Online (Sandbox Code Playgroud)

它花了不到0.002s(并产生了2行).
然后,当我做的时候

SELECT * FROM table_1 WHERE id IN (/* prev.result */)
Run Code Online (Sandbox Code Playgroud)

它是相同的:0.002s.

我想知道MySQL为什么会这样做第一个查询,比最后两个查询分别花费更多的时间?它是根据子查询结果选择内容的最佳解决方案吗?

其他细节:table_1约有.9000行,并table_2有90000行.

在我添加索引column_2table_2,第一个查询花了0.15秒.

mysql optimization select

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