小编Jul*_*Lam的帖子

如何在JavaScript中比较数组?

我想比较两个阵列......理想情况下,有效率.没有什么花哨的,只要true它们是相同的,false如果不相同的话.毫不奇怪,比较运算符似乎不起作用.

var a1 = [1,2,3];
var a2 = [1,2,3];
console.log(a1==a2);    // Returns false
console.log(JSON.stringify(a1)==JSON.stringify(a2));    // Returns true
Run Code Online (Sandbox Code Playgroud)

每个数组的JSON编码都有,但有没有更快或更"简单"的方法来简单地比较数组而不必迭代每个值?

javascript arrays json

894
推荐指数
24
解决办法
81万
查看次数

SQL UPDATE中的str_replace?

这是一个示例表:

name       |   picture

John S.    |   http://servera.host.com/johns.png
Linda B.   |   http://servera.host.com/lindab.png
...
Run Code Online (Sandbox Code Playgroud)

比方说有几百条记录.

我们还说我们将服务器从"servera"转移到"serverb".

是否可以通过一个查询进入此表,以重命名"picture"列中的内容,以便每条记录读取正确的服务器名称?

mysql sql string

44
推荐指数
2
解决办法
8万
查看次数

当在WHERE子句中使用时,MySQL是否缓存了子查询?

在以下查询中:

SELECT column_a, column_b FROM table_a WHERE
    column_b IN (SELECT b_id FROM table_b)
Run Code Online (Sandbox Code Playgroud)

子查询是SELECT b_id FROM table_b由SQL解析器缓存的,还是事先更快地进行查询,将其保存为变量(例如,在PHP中),然后将这些值作为CSV字符串传递?

例如

SELECT column_a, column_b FROM table_a WHERE
    column_b IN (1,3,4,6,8,10,16,18)
Run Code Online (Sandbox Code Playgroud)

mysql sql database sql-server optimization

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

3月14日不是86400秒?

在我的Web应用程序中,我让用户在简单的文本框中输入日期.那个输入(当然是在被消毒之后),通过strtotime()运行,并且向它添加86399,以使该时间戳记在当天结束时(11:59:59).这是截止日期(因此如果日期过去,应用程序会引发一个标志)

在我测试的那些日子里,它起作用了......

1月5日保存为1月5日,当天结束.

3月13日保存为3月13日

3月15日保存为3月15日

无论出于何种原因,3月14日将自己保存为3月15日.

3月14日是神秘的几秒钟还是什么?


更新:感谢oezi的解决方案 - 像魅力一样工作.所要求的代码:

旧代码:

if ($_POST['dateto'] != '') {
    $dateto = strtotime(mysql_real_escape_string($_POST['dateto'])) + 86399;
}
Run Code Online (Sandbox Code Playgroud)

新代码:

# Offset to "end of day"
list($y,$m,$d) = explode('-',date("Y-m-d",strtotime($_POST['dateto'])));
$d++;
$dateto = strtotime($y . '-' . $m . '-' . $d) - 1;
Run Code Online (Sandbox Code Playgroud)

php

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

内部加入与自然加入,速度方面?

我正在与我的一位同事进行讨论,我们仍然坚持内部连接是否比自然连接更快,这仅仅是因为在内部连接中指定了ON子句,因此SQL引擎无需比较表结构来确定公共列.

请分享您的想法/答案.

mysql inner-join

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

npm是否尊重semver中较新的预发布版本?

在我的应用程序中,我让用户通过运行npm install-bog标准行为来安装依赖项.

但是,我有一个经常更改的软件包,并且为了不打算像一个可笑的大版本号0.1.12324,我偶然发现了预发布的概念.

npm如何在运行时处理预发布数字npm install

假设我的软件包packageA的版本号是0.1.1-r1234,并且我的用户有一个依赖关系semver ~0.1.1:

我知道没有packageA安装的新用户将自动安装该版本(0.1.1-r1234).

如果某人已packageA安装了版本,该0.1.1-r1233怎么办?不npm install知道要安装新的预发布?

node.js npm semantic-versioning

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

nl2br的对面?是str_replace吗?

因此功能nl2br很方便.除了在我的网络应用程序中,我想做相反的事情,将换行符解释为新行,因为它们将被回显为预先填充的表单.

str_replace可以<br />用我想要的任何东西取代它,但是如果我放入\n,它就会反复地反斜杠和n.它只有在我的脚本中间放置一个文字换行符并且打破缩进(因此没有尾随空格)时才有效.

看到:

    <?=str_replace('<br />','
',$foo)?>
Run Code Online (Sandbox Code Playgroud)

我错过了逃脱角色吗?我想我尝试过各种组合......

php

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

在PHP代码中存储SQL登录信息的安全风险?

第一次读者,第一次海报(喔!)

所以我一直在为非正式网站实现我的登录脚本.不太可能受到损害,但为了安全起见,我想问一下,如果我的MySQL数据库登录以明文形式存储在php代码中存在安全风险.

据我所知,代码本身是由Apache解析的,所以最终用户没有看到它(只是输出),这意味着它应该是安全的...但我想要第二个意见.

简介:通过mysql_connect,mysql_select_db,mysql_query访问数据库.登录信息存储在脚本的每次迭代中定义的局部变量中,并且(我认为)一旦脚本终止就转储.

安全漏洞?

php mysql security plaintext

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

Facebook的/我/权限是未记录的Graph API调用吗?

在寻找检查用户是否拥有给定权限的方法之后,我偶然发现了对/ me/permissions的一些模糊引用,这看起来很有用!

对于我的生活,我在Facebook文档中找不到文档 - 它是否已被弃用,或者仅仅是未记录的?

鉴于facebook改变事物的频率,我是否应该使用它?

facebook facebook-graph-api

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

云配置中 write_files 指令的正确语法?

我正在尝试让云配置脚本与我的 DigitalOcean Droplet 一起正常工作,但我在此期间正在本地 lxc 容器上进行测试。

我一直遇到的一个问题是,我永远无法让write_files指令对多个文件正常工作。它似乎以我无法理解的奇怪方式行事

比如这个配置不正确,只输出了一个文件(.tarsnaprc/tmp

#cloud-config
users:
  - name: julian
    shell: /bin/bash
    ssh_authorized_keys:
      - ssh-rsa myrsakeygoeshere julian@hostname
write_files:
  - path: /tmp/.tarsnaprc
    permissions: "0644"
    content: |
      cachedir /home/julian/tarsnap-cache
      keyfile /home/julian/tarsnap.key
      nodump
      print-stats
      checkpoint-bytes 1G
    owner: julian:julian
  - path: /tmp/lxc
    content: |
      lxc.id_map = u 0 100000 65536
      lxc.id_map = g 0 100000 65536
      lxc.network.type = veth
      lxc.network.link = lxcbr0
    permissions: "0644"
Run Code Online (Sandbox Code Playgroud)

但是,如果我交换write_files数组中的两个项目,它会神奇地工作,并创建两个文件.tarsnaprclxc. 我做错了什么,我有语法错误吗?

yaml lxc cloud-init ubuntu-cloud

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