问题列表 - 第20104页

抛出新异常vs将消息写回用户(避免异常)

如果参数不是正确的形式,或者其他什么,我看到很多代码写入了抛出异常的地方.基本上"扔新......".

这有什么好处?通过检查参数可以避免异常(例如,如果为null,则将消息写回webpage/winform).为什么在异常昂贵时不使用这种方法?

谢谢

language-agnostic exception-handling

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

Rails has_one vs belongs_to语义

我有一个模型表示Content包含一些图像的项目.图像的数量是固定的,因为这些图像参考非常特定于内容.例如,Content模型将模型引用Image两次(轮廓图像和背景图像).我试图避免泛型has_many,并坚持多个has_one.当前的数据库结构如下所示:

contents
  - id:integer
  - integer:profile_image_id
  - integer:background_image_id

images
  - integer:id
  - string:filename
  - integer:content_id
Run Code Online (Sandbox Code Playgroud)

我在这里无法弄清楚如何正确设置关联.该Content模型可以包含两个belongs_to对a的引用Image,但这似乎在语义上不正确,因为理想情况下图像属于内容,或者换句话说,内容具有两个图像.

这是我能想到的最好的(通过打破语义):

class Content
  belongs_to :profile_image, :class_name => 'Image', :foreign_key => 'profile_image_id'
  belongs_to :background_image, :class_name => 'Image', :foreign_key => 'background_image_id'
end
Run Code Online (Sandbox Code Playgroud)

我离开了,有更好的方法来实现这种关联吗?

model ruby-on-rails associations

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

本地化最佳实践

我开始修改我的应用程序,它使用所有硬编码字符串来处理错误,GUI等.我正在考虑这两种方法,但如果有更好的方法,请告诉我:

- 在ressource(.rc)文件中输入所有字符串.

- 定义文件中的所有字符串,每种语言一次.使用预处理器定义来决定编译哪些字符串.

通常首选这两种方法中的哪一种?

windows localization visual-c++

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

使用Jersey客户端进行POST操作

在Java方法中,我想使用Jersey客户端对象在RESTful Web服务上执行POST操作(也使用Jersey编写),但我不确定如何使用客户端发送将用作FormParam的值在服务器上.我能够发送查询参数就好了.

java jersey java-ee

55
推荐指数
4
解决办法
10万
查看次数

使用显式默认字符集创建mysql表,如果不这样做,该怎么办?

在mysql 5.x中,如果我做这样的事情会有什么区别:

CREATE TABLE aTable (
    id                       BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    aNumber          bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
Run Code Online (Sandbox Code Playgroud)

有了这个:

CREATE TABLE aTable (
   id                       BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   aNumber            bigint(20) DEFAULT NULL
) ENGINE=InnoDB CHARACTER SET=utf8;
Run Code Online (Sandbox Code Playgroud)

注意我没有在第一个中将字符集指定为默认值.我在mysql文档中找不到任何东西.

mysql default character-encoding

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

如何使用GVIM编辑远程文件?

我在Ubuntu 9.10上使用GVIM.我正在寻找配置GVIM的正确方法,以便能够通过例如ftp来编辑远程文件(HTML,PHP,CSS).

  • 当我使用:e scp://username@remotehost/./path/to/file我得到: error detected while processing BufEnter Auto commands for "*":E472: Command failed.
  • 当我通过Dolphin或Nautilus在远程打开文件时,我无法使用NERDTree的其他文件.
  • 最后,当我通过Dolphin在远程编辑文件时,权限正在改变以访问interdit.

那么如何使用GVIM编辑我本地主机上的远程文件呢?

ftp vim configuration

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

如何通过double值对List <T>进行排序?

这听起来很简单但不是那么多.

我想根据T的一个属性订购一个List,它是双重类型.

c# linq double linq-to-objects

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

5
推荐指数
3
解决办法
2845
查看次数

linux pthreads中2个线程之间的同步

在linux中,如何在2个线程之间进行同步(在linux上使用pthreads)?我想,在某些情况下,一个线程将阻塞自己,然后在以后,它将由另一个线程恢复.在Java中,有wait(),notify()函数.我在pthreads上寻找相同的东西:

我已经读过这个,但它只有mutex,有点像Java的synchronized关键字.这不是我想要的. https://computing.llnl.gov/tutorials/pthreads/#Mutexes

谢谢.

linux pthreads

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

C#继承自Dictionary,迭代KeyValuePairs

我有一个继承自的类Dictionary<string, string>.在一个实例方法中,我想迭代所有KeyValuePair<string, string>的.我尝试过以下方法:

foreach (KeyValuePair<string, string> pair in base)
Run Code Online (Sandbox Code Playgroud)

但是这失败了以下错误:

在此上下文中使用关键字"base"无效

如何KeyValuePair<string, string>在派生自的类中的实例方法中迭代Dictionary<string, string>

编辑: 我发现我可以执行以下操作:

var enumerator = base.GetEnumerator();
while (enumerator.MoveNext())
{
    KeyValuePair<string, string> pair = enumerator.Current;
}
Run Code Online (Sandbox Code Playgroud)

但是,我仍然想知道是否有办法通过foreach循环来做到这一点.

编辑: 感谢有关不继承的建议Dictionary<string, string>.我正在实施System.Collections.IEnumerable, ICollection<KeyValuePair<string, string>>, IEnumerable<KeyValuePair<string, string>>, IDictionary<string, string>.

c# foreach dictionary

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