问题列表 - 第15516页

什么是使用合同设计最广泛使用的开源项目?

我很好奇在埃菲尔社区之外的实践中使用了多少合同设计.是否有任何使用按合同设计的活跃开源项目?

或者,将问题重新整合为一个具有单一答案的问题:什么是使用最广泛的(非埃菲尔)开源项目?

design-by-contract

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

C#中的数据类型

在C#中是否有一个数据类型,如果你把例如0001,加上1,将是0002?

c# types

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

单击JQuery UI选项卡时刷新选项卡内容

TAB1的内容由来自远程URL的ajax加载.选择TAB1时,我必须切换到TAB2,然后返回到TAB1以刷新加载的内容.

如何在单击其选项卡时使TAB1刷新加载的内容?

编辑: HTML代码如下

<div id="tabs">
    <ul>
        <li><a href="url1">Tab1</a></li>
        <li><a href="url2">Tab2</a></li>
    </ul>
</div>
<script type="text/javascript"> 
    $(document).ready(function(){
        $tabs = $("#tabs").tabs({
            select: function(event, ui) {
                $('a', ui.tab).click(function() {
                    $(ui.panel).load(this.href);
                    return true;
                });
            }
        });
});
</script>
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui-tabs

12
推荐指数
3
解决办法
10万
查看次数

LiftM可以与liftA不同吗?

根据Typeclassopedia(以及其他来源),Applicative逻辑上属于类型层次结构之间MonadPointed(因此Functor),所以如果今天编写Haskell前奏,我们理想情况下会有这样的东西:

class Functor f where
    fmap :: (a -> b) -> f a -> f b

class Functor f => Pointed f where
    pure :: a -> f a

class Pointed f => Applicative f where
    (<*>) :: f (a -> b) -> f a -> f b

class Applicative m => Monad m where
    -- either the traditional bind operation
    (>>=) :: (m a) -> (a -> m b) …
Run Code Online (Sandbox Code Playgroud)

theory haskell typeclass category-theory

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

Ruby中有goto语句吗?

有没有办法从指定的行开始,比如goto语句?

ruby goto

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

如何使用Rails保护数据库中的用户数据?

我正在创建一个需要存储大量敏感数据的rails应用程序.为了向我的客户保证数据受到保护,我想基于每个用户对其进行加密.我已经研究过寻找可以实现这一目标的宝石.到目前为止,我发现了保险箱安全.总之,这似乎为我提供了一个解决方案.

但是,我想知道这是否是一种常见做法.似乎大多数rails应用程序都有一些关于其用户的敏感数据存储. AuthLogic正在处理我的密码加密,但电子邮件和其他个人数据同样敏感.通常的做法是将这些项目未加密保留在数据库中并假设它永远不会受到损害吗?我知道数据库位于一个无法与外界通信的区域,但是一个坚定的攻击者可能很容易对此进行攻击.Rails开发人员通常的做法是不加密数据并只是信任其Web服务器的安全性吗?

database security encryption ruby-on-rails

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

C#会受益于各种枚举器之间的区别,比如C++迭代器吗?

我一直在想这个IEnumerator.Reset()方法.我在MSDN文档中读到它只适用于COM互操作.作为一个C++程序员,它看起来像我IEnumerator支持的Reset是我称之为前向迭代器,IEnumerator而不支持Reset的实际上是一个输入迭代器.

所以我的问题的第一部分是,这种理解是正确的吗?

我的问题的第二部分是,如果在输入迭代器和前向迭代器(或者如果你愿意的话,"枚举器")之间有区别,那么在C#中是否有任何好处?它是否有助于消除程序员之间的一些混淆,比如在这个关于克隆迭代器的SO问题中找到的那个?

编辑:前向和输入迭代器的澄清.输入迭代器仅保证您只能枚举集合(或生成器函数或输入流)的成员一次.这正是IEnumerator在C#中的工作方式.您是否可以第二次枚举,取决于是否Reset支持.一个前向迭代器,没有这个限制.您可以根据需要随时枚举成员.

一些C#程序员不会感到不安,以及为什么IEnumerator无法在多通道算法中可靠地使用它.考虑以下情况:

void PrintContents(IEnumerator<int> xs)
{
  while (iter.MoveNext())
    Console.WriteLine(iter.Current); 
  iter.Reset();
  while (iter.MoveNext())
    Console.WriteLine(iter.Current); 
}
Run Code Online (Sandbox Code Playgroud)

如果我们PrintContents在这种情况下打电话,没问题:

List<int> ys = new List<int>() { 1, 2, 3 }
PrintContents(ys.GetEnumerator()); 
Run Code Online (Sandbox Code Playgroud)

但请看以下内容:

IEnumerable<int> GenerateInts() {   
  System.Random rnd = new System.Random();
  for (int i=0; i < 10; ++i)
    yield return Rnd.Next();
}

PrintContents(GenerateInts());
Run Code Online (Sandbox Code Playgroud)

如果IEnumerator支持Reset,换句话说支持多遍算法,那么每次迭代集合时它都会有所不同.这将是不可取的,因为这将是令人惊讶的行为.这个例子有点伪造,但它确实发生在现实世界中(例如从文件流中读取).

c# c++ ienumerable iterator

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

vimdiff和MacVim

我想在MacVim上运行vimdiff.有没有一种简单的方法可以做到这一点?

vim vimdiff macvim

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

从列表中获取最新和最早的日期 - Ruby

我有一组Ruby Date对象.如何找到最新的日期时间和最早的日期时间?

ruby sorting datetime

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

Linq to SQL Int16在SQL命令中转换为Int32

使用方法参数

Int16? id
Run Code Online (Sandbox Code Playgroud)

而Linq to SQL where子句

where !id.HasValue || m.Id == id
Run Code Online (Sandbox Code Playgroud)

生成的数据上下文中的条件的命令文本是

来自可视化器:

SELECT [t0].[Id], [t0].[Name], [t0].[IsActive]
FROM [Model] AS [t0]
WHERE (CONVERT(Int,[t0].[Id])) = @p0
-------------------------------
@p0 [Int32]: 5
Run Code Online (Sandbox Code Playgroud)

我的映射类将Id作为Int16,数据库本身的列类型为smallint,那么为什么幕后的sql认为参数是整数(Int32)而不是smallint(Int16)?


列映射:

    [Column(IsPrimaryKey = true, DbType="SmallInt NOT NULL", CanBeNull=false)]
    public Int16 Id { get; set; }
Run Code Online (Sandbox Code Playgroud)

c# type-conversion linq-to-sql

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