问题列表 - 第17609页

如何使用Ruby创建类似".find_by_something_and_something_else"的方法?

使用Ruby我知道你可以通过命名方法获得相当的创意.例如,你有铁轨.find_by_this_and_that.

我怎样才能做到这一点?

例:

def get_persons_with_5_things
  res = []
  persons.each do |person|
    if person.number_of_things == %MAGICALLY GET THE NUMBER 5 FROM FUNCTION NAME%
      res << person
    end
  end
  return res
end
Run Code Online (Sandbox Code Playgroud)

我甚至不确定你怎么称呼这类东西所以任何指针都会受到赞赏.

ruby metaprogramming

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

任何人都有示例代码,可以直接将一个Web的"分块"HTTP流式下载内容上传到单独的Web服务器吗?

背景 - 我正在尝试使用C#中的HttpWebRequest/HttpWebResponse将现有网页流式传输到单独的Web应用程序.我引人注目的一个问题是我正在尝试使用文件下载的内容长度来设置文件上载请求内容长度,但是当源网页位于HttpWebResponse不具有的Web服务器上时,问题似乎就出现了问题.提供内容长度.

HttpWebRequest downloadRequest = WebRequest.Create(new Uri("downloaduri")) as HttpWebRequest;
 using (HttpWebResponse downloadResponse = downloadRequest.GetResponse() as HttpWebResponse)
 {
   var uploadRequest = (HttpWebRequest) WebRequest.Create(new Uri("uripath"));
   uploadRequest.Method = "POST";
   uploadRequest.ContentLength = downloadResponse.ContentLength;  // ####
Run Code Online (Sandbox Code Playgroud)

问题:我如何更新此方法以满足此情况(当下载响应没有设置内容长度时).是不是以某种方式使用MemoryStream呢?任何示例代码将不胜感激. 特别是有一个代码示例,有人会说,如何进行"分块"HTTP下载和上传,以避免源Web服务器的任何问题不提供内容长度?

谢谢

c# streaming http httpwebrequest chunked-encoding

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

读取Ogg/Flac文件的标签数据

我正在研究一个从音乐文件中读取标签信息的C库.我已经得到了ID3v2,但我无法弄清楚Ogg文件是如何构建的.

我在hexeditor中打开了一个.ogg文件,我可以找到标签数据,因为这是人类可读的.但是从文件开头到标签数据的所有内容都像垃圾一样.这些数据是如何编码的?

我在实际代码中不需要任何帮助,我只需要帮助可视化Ogg标题的样子以及它使用的编码,以便我可以阅读它.我想使用非hacky方法来读取Ogg文件.

我一直在看Flac格式,这很有帮助.

我正在查看的Flac文件在"fLac"标识符和人类可读的"注释"部分之间有大约350个字节,并且在我的十六进制编辑器中没有一个是人类可读的,所以我确信在那里必须有一些重要的东西.

我正在使用Linux,我无意移植到Windows或OS X.所以如果我需要使用glibc only函数来转换编码,我很好.

c oggvorbis metadata

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

IEquatable <T>,IComparable <T>应该在非密封类上实现吗?

任何人对是否有任何意见IEquatable<T>IComparable<T>一般应要求Tsealed(如果是class)?

这个问题发生在我身上,因为我正在编写一组旨在帮助实现不可变类的基类.基类要提供的部分功能是自动实现相等比较(使用类的字段以及可应用于字段来控制相等比较的属性).当我完成时它应该是相当不错的 - 我正在使用表达式树为每个动态创建一个编译的比较函数T,因此比较函数应该非常接近正则相等比较函数的性能.(我使用键入的不可变字典System.Type和双重检查锁定以合理的方式存储生成的比较函数)

尽管如此,有一件事是用来检查成员字段相等性的函数.我的初衷是检查每个成员字段的类型(我将调用X)是否实现IEquatable<X>.但是,经过一番思考后,除非X是这样,否则我认为这是不安全的sealed.原因在于,如果X不是sealed,我无法确定是否X正确地将等式检查委托给虚拟方法X,从而允许子类型覆盖相等比较.

这就提出了一个更普遍的问题 - 如果一个类型没有被密封,它是否应该真正实现这些接口?我想不会,因为我认为接口契约是比较两种X类型,而不是两种类型,可能是也可能不是X(虽然它们当然必须是X或者是子类型).

你们有什么感想?应该IEquatable<T>IComparable<T>避免对开封类?(也让我想知道是否有一个fxcop规则)

我现在的想法是让我产生比较功能只能用IEquatable<T>在成员字段,其Tsealed,而是用虚拟的Object.Equals(Object obj),如果T是密封的,即使T工具IEquatable<T>,因为该领域可能的潜在店亚型T和我怀疑的大多数实现IEquatable<T>适当设计的传承.

c# icomparable immutability sealed iequatable

36
推荐指数
2
解决办法
4313
查看次数

VS 控制台应用程序 - 将所有库编译成 exe

我在 Visual Studio 2008 中创建了一个基本的控制台应用程序,它引用外部程序集。

当我发布和安装项目时,可执行文件和外部程序集都安装在目标文件夹中。

是否可以编译该项目,并将所有引用的程序集包含在主可执行文件中 - 因此只有一个文件可供分发?

谢谢你的帮助,

弗兰科

c# console-application

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

使用用户密码加密数据库数据的最佳方法是什么?

假设一个应用程序具有属于用户的特定数据,除了所有者之外,任何人都不应看到它。我使用 MySQL 数据库和 DataMapper ORM 映射器。该应用程序是在 Sinatra 上用 Ruby 编写的。

应用行为:

  1. 用户注册一个帐户。创建用户名和密码。
  2. 登录到他的仪表板。
  3. 必须保护特定表中的某些字段。

基本上,我正在寻找模型属性的自动加密。像这样的东西:

class Transaction
  include DataMapper::Resource

  property :id, Serial
  property :value, String, :length => 1024, :encrypted => true
  ... etc ...
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

我认为动态加密/解密会导致性能问题,但这没关系。至少如果这有效的话——我很好。

有什么想法如何做到这一点?

ruby database encryption sinatra

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

如何确定Java中通用字段的类型?

我一直在尝试确定类中字段的类型.我已经看到了所有的内省方法,但还没有弄清楚如何做到这一点.这将用于从java类生成xml/json.我在这里看了很多问题,但还没找到我需要的东西.

例:

class Person {
    public final String name;
    public final List<Person> children;
}
Run Code Online (Sandbox Code Playgroud)

当我编组这个对象时,我需要知道该chidren字段是一个类型对象的列表Person,所以我可以正确地编组它.

我试过了

for (Field field : Person.class.getDeclaredFields()) {
    System.out.format("Type: %s%n", field.getType());
}
Run Code Online (Sandbox Code Playgroud)

但是,这只会告诉我,这是一个List,不是ListPerson小号

谢谢

java generics reflection types introspection

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

错误:无法将类型'void'隐式转换为'System.Collections.Generic.List'

我试图使用该控件从.aspx设置我的.ascx控件的属性.

所以在我的.aspx之一中有这个控件,我有以下代码试图设置我的嵌入式.ascx的ItemsList属性:

Item item = GetItem(itemID);
myUsercontrol.ItemList = new List<Item>().Add(item);
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置的.ascx中的属性如下所示:

public List<Item> ItemsList
{
   get { return this.itemsList; }
   set { this.itemsList = value; }
}
Run Code Online (Sandbox Code Playgroud)

错误:无法将类型'void'隐式转换为'System.Collections.Generic.List'

所以我不知道它作为财产的一部分而变得无效吗?......很奇怪.

c# asp.net

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

Apache ActiveMQ 5.3 - 如何配置队列以拒绝重复的消息?

我需要队列来强制执行不重复的策略.可能吗?如果是这样,怎么样?(我一直在谷歌搜索几个小时......)

编辑:

ActiveMQSession实现有以下几行:

        // transform to our own message format here
            ActiveMQMessage msg = ActiveMQMessageTransformation.transformMessage(message, connection);

        // Set the message id.
        if (msg == message) {
            msg.setMessageId(new MessageId(producer.getProducerInfo().getProducerId(), sequenceNumber));
        } else {
            msg.setMessageId(new MessageId(producer.getProducerInfo().getProducerId(), sequenceNumber));
            message.setJMSMessageID(msg.getMessageId().toString());
        }
Run Code Online (Sandbox Code Playgroud)

ActiveMQMessageTransformation是可插入的(您可以设置它),但以下if语句是一个相当无可争议的.

任何想法,除了改变他们的代码?

activemq-classic

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

C#decimal tostring格式

我想从十进制创建一个字符串,而不是小数点分隔符;

1,500.00应变为"150000".

这个的正确格式是什么?(Whithout string.replace,和.)

谢谢!

c# format decimal

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