问题列表 - 第4512页

重构的目标?

重构代码的目标是什么?它只是为了增强代码结构吗?它是为未来的变化铺平道路吗?

refactoring

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

ASP.NET MVC应用程序中MS Ajax与jQuery的优缺点?

现在RC1已经出来了,我需要一劳永逸地决定是使用MS Ajax库还是只使用jQuery来进行AJAX请求.该应用程序是一个新的应用程序 基本上我决定的方式是我是否从微软库中获得了任何我从jQuery无法获得的重大好处.我已经有了jQuery加载,我担心文件大小的额外开销比什么都重要.

据我所知 - 唯一的好处是有帮助器Ajax.BeginForm,但也许这些可能会在某些时候使用jQuery吗?我的一位政府员工朋友今天也告诉我,MS Ajax库中有很多错误 - 这让我很担心.

随着微软现在正式成为jQuery的朋友,我不会太担心他们将来做任何事情,通过增强自己的库来让jQuery陷入困境.

我真的不知道MS Ajax究竟为我做了什么.是否存在某些利弊.或者支持'更新面板'只有90%的膨胀?

我也觉得非常有趣的是,ASP.NET MVC in Action一书只是跳过MS Ajax库并直接跳转到jQuery:

在本章中,读者将研究如何以比Web窗体更无缝的方式将ajax技术应用于ASP.NET MVC.读者将看到如何利用一个越来越流行的轻量级javascript库jQuery.

(来自AJAX的免费样本章节)

非常感谢任何人听到他们在两者中工作的经历,尤其是以下其他问题:

  • 是否很容易在两个库之间转换代码 - 假设相对简单的ajax要求?
  • 在两个库中调试都明显更好或更快
  • 有谁知道ASP.NET 4.0的进展情况以及任何宣布的可能对MVC有益的AJAX库计划?
  • 简而言之,MS AJAX可以为MVC应用做更多的事情而不是发送请求并将响应粘贴在DIV中?
  • 我如何做相当于Ajax.BeginForm(...)和使用jQuery?
  • 什么是你的交易杀手一种方式或另一种?
  • 大多数人在那里使用什么?

ajax asp.net-mvc asp.net-ajax

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

String.Contains()比String.IndexOf()更快吗?

我有一个大约2000个字符的字符串缓冲区,如果它包含一个特定的字符串,需要检查缓冲区.
将针对每个webrequest在ASP.NET 2.0 webapp中进行检查.

有谁知道String.Contains方法是否比String.IndexOf方法表现更好?

    // 2000 characters in s1, search token in s2
    string s1 = "Many characters. The quick brown fox jumps over the lazy dog"; 
    string s2 = "fox";
    bool b;
    b = s1.Contains(s2);
    int i;
    i = s1.IndexOf(s2);
Run Code Online (Sandbox Code Playgroud)

有趣的事实

.net c# asp.net string performance

110
推荐指数
6
解决办法
10万
查看次数

如何在jquery UI中构建具有可保存状态的门户页面?

我知道我应该花更多时间研究这个问题,然后再问一下这个问题,但我只用了2个星期就建立了一个门户网站风格的网站(很像http://www.bbc.co.uk).

我对jQuery相当不错并且过去使用过jQuery UI draggables,但我想知道是否有任何教程或最佳实践示例,说明如何构建具有多个放置区的门户以及能够记住哪些"portlet"具有被拖入某种状态对象中的dropzones.

我需要能够使用$ ajax()调用将状态对象保存到后端,并在用户重新登录到站点时以某种方式重新组织portlet,可能是通过从后端发送JSON状态对象.

只是一些从哪里开始的想法将是有用的.谢谢

javascript jquery drag-and-drop jquery-ui

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

创建一个my_printf,将数据发送到sprintf和普通printf?

我正在使用printf和想法来编写调用普通printf的my_printf(...)和将结果发送到特殊函数的sprintf.(我在考虑sprintf,因为在大多数平台上它的行为与printf一样).

我的想法是编写一个执行此操作的小宏:

#define my_printf(X, Y...) do{ printf(X, ## Y); \
    char* data = malloc(strlen(X)*sizeof(char)); \
    sprintf(data, X, ## Y); \
    other_print(data);\
    free(data);}while(0)

但是由于sprintf可以将字符串扩展到比X大得多的大小,因此这种方法几乎可以直接打破.

只是为了添加一个数字,malloc似乎是解决问题的错误方法,因为那时我只是将问题转移到未来,有一天我想要打印一个大表达......

有没有人对如何解决这个问题有更好的想法?或者我怎么知道sprintf结果会有多大?

谢谢约翰


更新:我忘记了printf返回它打印的字符数,因为我已经在宏中调用了printf,所以添加一个保存数字的int是一件非常容易的事情.

#define buf_printf(X, Y...) do{ int len = printf(X, ## Y); \
    char* data = malloc((len+1)*sizeof(char)); \
    sprintf(data, X, ## Y); \
    other_print(data);\
    free(data);}while(0)

更新:我正在考虑这个问题,并且可能使用一个看起来很像ephemient所建议的正常函数是一个好主意.关键似乎是不同printf函数的v版本(vprintf,vsprintf和vsnprintf).感谢您指出了这一点.

再次感谢约翰

c linux printf gcc

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

使用NHibernate持久保存Blob Streams

如果我有一个类声明为:

public class MyPersistentClass
{
     public int ID  { get; set; } 
     public Stream MyData  {get;set; }
}
Run Code Online (Sandbox Code Playgroud)

如何使用NHibernate的映射将MyData属性保存到数据库和从数据库中保存?

nhibernate stream binary-data blobs

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

在Delphi中连接Mysql数据库的最佳方法是什么?

在Delphi中连接到Mysql 5.1.x时使用的最佳组件是什么?为什么?

mysql delphi

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

Java,传值,引用变量

在以下示例中,我对理解Java的"pass-by-value"操作有疑问:

public class Numbers {

    static int[] s_ccc = {7};
    static int[] t_ccc = {7};

    public static void calculate(int[] b, int[] c) {

        System.out.println("s_ccc[0] = " + s_ccc[0]); // 7
        System.out.println("t_ccc[0] = " + t_ccc[0]); // 7

        b[0] = b[0] + 9;  
        System.out.println("\nb[0] = " + b[0]); // 16

        c = b;
        System.out.println("c[0] = " + c[0] + "\n"); // 16
    }

    public static void main(String[] args) {

        calculate(s_ccc, t_ccc);

        System.out.println("s_ccc[0] = " + s_ccc[0]);  // 16
        System.out.println("t_ccc[0] = " …
Run Code Online (Sandbox Code Playgroud)

java reference pass-by-value

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

Java,无限循环,增量

在Java的以下示例程序中,我得到无限循环,我无法理解为什么:

public class Time {

    public static int next(int v) {
        return v++;
    }

    public static void main(String[] args) {

        int[] z = {3, 2, 1, 0};

        int i = 1;

        while(i < 4) {
            System.out.println(z[i]/z[i]);
            i = next(i);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在while循环中,方法next()被调用,并且我应该每次递增1:next()应该返回i ++,而while循环中i的值应该递增1.

为什么可能是无限循环的原因?谢谢.

java increment infinite-loop

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

如何将特定的,可变的"订单"保存到数据库中

假设我有一些对象,我希望用户能够以他们希望的任何方式对它们进行重新排序,例如,通过拖动它们.所以我有

  • 起司
  • 松饼
  • 牛奶

然后用户将"牛奶"拖到顶部,进行新订单

  • 牛奶
  • 起司
  • 松饼

是否有最佳实践如何将这些对象的顺序存储在数据库中?天真的方法可能只是为每个对象存储一个称为"顺序"的数值,但这对我来说似乎太麻烦了,因为你必须在大多数时间里改变顺序值.

database sorting database-design

25
推荐指数
5
解决办法
5941
查看次数