小编Mr.*_* 安宇的帖子

为什么使用元组而不是对象?

我工作的代码库有一个名为Pair的对象,其中A和B是Pair中第一个和第二个值的类型.我发现这个对象是冒犯性的,因为它被用来代替具有明确命名成员的对象.所以我发现这个:

List<Pair<Integer, Integer>> productIds = blah();
// snip many lines and method calls

void doSomething(Pair<Integer, Integer> id) {
  Integer productId = id.first();
  Integer quantity = id.second();
}
Run Code Online (Sandbox Code Playgroud)

代替

class ProductsOrdered {
  int productId;
  int quantityOrdered;
  // accessor methods, etc
}

List<ProductsOrderded> productsOrdered = blah();
Run Code Online (Sandbox Code Playgroud)

代码库中Pair的许多其他用途同样难闻.

我用谷歌搜索了元组,它们似乎经常被误解或以可疑的方式使用.对他们的使用是否存在令人信服的论据?我可以理解不想创建庞大的类层次结构,但是如果没有使用元组,那么类层次结构会爆炸吗?

c++ tuples

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

在Samsung Android浏览器上启用真正的固定定位

自2.2以来,Android浏览器支持固定定位,至少在某些情况下,例如关闭缩放时.我有一个没有JS的简单HTML文件,但我试过的三部三星手机的固定定位是完全错误的.不是真正的固定定位,标题滚动出视图,然后在滚动完成后弹回原位.

对于我测试过的任何配置,Android SDK仿真器都不会发生这种情况(2.2,2.3,2.3 x86,4.0.4).在三星手机上的应用程序中使用WebView时也不会发生这种情况:在这些情况下,定位按预期工作.

有没有办法让三星Android"股票"浏览器使用真正的固定定位?

我测试过:1.三星Galaxy 551,Android 2.2 2.三星Galaxy S,Android 2.3 3.三星Galaxy S II,Android 2.3

示例代码:

<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,user-scalable=no,width=device-width,height=device-height"> 
    <style>
    h1 { position: fixed; top: 0; left: 0; height: 32px; background-color: #CDCDCD; color: black; font-size: 32px; line-height: 32px; padding: 2px; width: 100%; margin: 0;}
    p { margin-top: 36px; }
    </style>
  </head>
  <body>
    <h1>Header</h1>
    <p>Long text goes here</p>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

预期的行为是灰色标题填充屏幕的顶部,无论你滚动多少,都会保持不变.在三星Android浏览器上,它似乎滚动出视图,然后在滚动完成后重新弹回到位,好像使用Javascript模拟固定定位,但事实并非如此.

编辑 根据评论和"答案"判断,似乎我不清楚我需要什么.我正在寻找一个元标记或css规则/黑客或javascript切换,关闭三星的破碎固定位置,并打开Android浏览器的工作固定位置.我不是在寻找一个Javascript解决方案,它将破坏的固定定位添加到没有任何支持的浏览器中; 三星固定定位已经做到了,它只是看起来很愚蠢.

css android webkit css-position samsung-mobile

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

如何在没有恼人的错误消息的情况下从HTTPS重定向到HTTP

我希望在HTTPS登录后将用户重定向到站点上的HTTP页面.对整个站点使用HTTPS不会发生.

到目前为止我所拥有的是以下内容:

  1. 用户将登录表单发布到安全站点
    • 安全服务器验证凭据
    • 安全服务器向客户端发送302重定向

这是有效的,除了在IE6中的我的机器上,用户收到错误消息,因为默认是在退出安全页面时发出警告.这些错误对我来说是一个可用性杀手,因而是一个显而易见的问题.我改变它,以便第3步

  • 服务器发送带有元刷新的html代码

但这很慢; 即使在我的本地机器上,它也明显慢于302重定向.

有没有更好的方法来实现人们使用的标准设置上无障碍重定向的目标?IE6占我们流量的20%-25%.此外,是否有人有任何关于哪些浏览器会发出警告以及哪些浏览器不会警告302重定向的好信息?我正在考虑黑名单IE6,以便只有它获得缓慢的元刷新,其他人获得快速302.

https redirect http http-status-code-302

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

JQuery模态框和iframe

我一直在使用Simple Modal,我觉得它不符合我现在所需要的.

是否有一个Modal Box支持加载外部文件,并允许这些外部文件关闭模式框并将父页面重定向到某个URL.

我想做的一个例子.你有一个用户列表,你可以点击"添加用户"和弹出表格的模态框,你填写并提交.这将关闭该框并重新加载用户列表页面,以便您在列表中看到该用户.

然后,您可以单击"编辑用户",弹出一个模板框,其中填写了表单字段中填写的用户信息,您可以编辑,提交,然后关闭并刷新.

我知道如果我将用户信息表格作为每个用户的隐藏div,但这不能很好地扩展,并且这是很多开销数据.

在Google Code上找到了一些关于此问题的代码,但却无法使其工作(可能是不同的简单模态版本

我也愿意换成另一个模态框工具.

更新:

从子IFrame元素关闭Thickbox或Fancybox支持吗?

javascript iframe jquery refresh modal-dialog

19
推荐指数
3
解决办法
6万
查看次数

Ecma-262(EcmaScript 5)将如何为您提供帮助?

EcmaScript Fifth Edition或Ecma-262已经公布,并包含对该语言的一些更改.新版本中的哪些功能可以帮助您编写更好的代码?

javascript ecma262 ecmascript-5

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

什么是Phonegap中的cordova.xml?

在尝试调试Phonegap错误消息("调用没有当前上下文的OpenGL ES api"时似乎没有引起任何问题)时,我遇到了一个随PhoneGap 1.6附带的更新版本的cordova.xml文件其中包含以下内容:

<preference name="classicRender" value="true" />
Run Code Online (Sandbox Code Playgroud)

将此行添加到的cordova.xml副本中没有做任何事情.但后来我也注意到该文件中有关访问来源的注释和其他行,我注意到我的应用程序的访问源设置为127.0.0.1,但我的所有代码都在远程服务器上,这似乎并不重要.

我搜索了文档但没有找到任何文档.

所以我要问:cordova.xml文件是什么,可以放入哪些指令,以及它们应该做什么?

android cordova

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

SQL将一个表连接到另一个表多次?(将产品映射到类别)

比方说,我有一个Product,CategoryProduct_To_Category表.产品可以分为多个类别.

    Product                     Category        Product_to_category
    ID   |   NAME               ID  | Name      Prod_id | Cat_id
    =====================       ============    ===================
        1| Rose                    1| Flowers          1| 1
        2| Chocolate Bar           2| Food             2| 2
        3| Chocolate Flower                            3| 1
                                                       3| 2

我想要一个SQL查询,它给我一个结果,如

    ProductName      | Category_1 | Category_2 | Category_3
    =======================================================
    Rose             | Flowers    |            |
    Chocolate Flower | Flowers    | Food       |

等等

我能够得到这个的最好方法是将一堆查询结合在一起; 对给定产品的每个预期数量的类别进行一次查询.

select p.name, cat1.name, cat2.name
from
  product p, 
  (select * from category c, producttocategory pc …
Run Code Online (Sandbox Code Playgroud)

sql join

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

JQuery表单验证

我的问题是,我有一个表单,我想使用jquery验证字段,如果数据是正确的我让提交继续,如果没有我通过返回false禁用默认行为(在教程中看到,这里).
所以我使用了我说的jquery语法,当文档准备就绪时,我注册了按钮的click事件,问题是代码永远不会被执行.我使用了萤火虫,但没有任何线索.没有任何反应,所以这是我的代码:

$('#submitBtn').click(function()
{
    var password1 = $('#form_password').val();
    var password2 = $('#form_password2').val();
    if( password1 != password2)
    {
        alert("the two passwords are not equal.");
    }
    return false; //to disable the default behavior of the submit btn
});
Run Code Online (Sandbox Code Playgroud)

jquery

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