小编Mik*_*rov的帖子

隐秘的"脚本错误".在Chrome和Firefox的Javascript中报告

我有一个脚本可以检测我网站上的Javascript错误,并将它们发送到我的后端进行报告.它报告遇到的第一个错误,假设的行号和时间.

编辑包含doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml">
Run Code Online (Sandbox Code Playgroud)

...

<script type="text/javascript">
//<![CDATA[
// for debugging javascript!
(function(window){
    window.onerror = function(msg, url, ln) {
        //transform errors
        if (typeof(msg) === 'object' && msg.srcElement && msg.target) {
            if(msg.srcElement == '[object HTMLScriptElement]' && msg.target == '[object HTMLScriptElement]'){
                msg = 'Error loading script';
            }else{
                msg = 'Event Error - target:' + msg.target + ' srcElement:' + msg.srcElement;
            }
        }

        msg = msg.toString();

        //ignore errors
        if(msg.indexOf("Location.toString") > -1){
            return; …
Run Code Online (Sandbox Code Playgroud)

javascript error-handling firefox google-chrome

196
推荐指数
4
解决办法
7万
查看次数

每个版本的iOS都附带什么版本的移动Safari?

我正在试图弄清楚我可以用什么Javascript API来支持Mobile Safari回iOS2.我没有在任何地方找到一个列表,显示每个新版本的iOS随附的Mobile Safari版本.我正在寻找一个全面的列表,一直回到iOS2.

谢谢!

[编辑:是的,我知道并喜欢功能检测.但是,我需要支持一组有针对性的浏览器,我只需要验证我提供的回退覆盖了我的目标受众,而且我不需要提供额外的后备,这些都是繁琐的黑客攻击.)

javascript webkit mobile-safari ios

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

如何在节点中要求除npm主文件以外的文件?

的package.json:

...
"name": "mypackage",
"main": "src/index.js"
...
Run Code Online (Sandbox Code Playgroud)

目录结构:

|- src/
|--- index.js
|--- other.js
Run Code Online (Sandbox Code Playgroud)

我可以要求src/index.jsrequire('mypackage');,但我怎么能要求src/other.js

如果答案是require('mypackage/src/other');,有没有办法让它成为我可以要求它require('mypackage/other');(即教学节点源文件目录是什么模块?

javascript node.js npm

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

MySQL JOIN查询帮助:对于最左边的表中的每一行,只从最右边的表中返回一行

我有两张桌子.我希望以这样的方式加入它们:对于最左边的表中的每个记录,只返回右表中的一个记录.我在下面列举了一个例子.我想避免使用子查询和临时表,因为实际数据大约是4M行.我也不关心最右边的表中哪个记录匹配,只要匹配一个或没有.谢谢!

表用户:

-------------
| id | name |
-------------
| 1  | mike |
| 2  | john |
| 3  | bill |
-------------
Run Code Online (Sandbox Code Playgroud)

表交易:

---------------
| uid | spent | 
---------------
| 1   | 5.00  |
| 1   | 5.00  |
| 2   | 5.00  |
| 3   | 5.00  |
| 3   | 10.00 |
---------------
Run Code Online (Sandbox Code Playgroud)

预期产量:

---------------------
| id | name | spent |
---------------------
| 1  | mike | 5.00  |
| 2  | john …
Run Code Online (Sandbox Code Playgroud)

mysql sql join

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

我应该在PHP PERFORMANCE-WISE中使用MySQL的预处理语句吗?

我理解MySQL中预准备语句的安全性好处.这里不需要涉及这个主题.我想知道它们的性能方面.

现在,我知道当使用预准备语句的查询在单个PHP脚本中执行两次时,它更快,因为查询只被解析一次,每次查询一次.客户端进行一次准备,然后使用二进制协议发送数据两次.二进制协议速度更快,而且您不必再次进行解析.

但是,我只想在一个PHP脚本中执行一次查询的情况呢?看起来使用准备好的声明会更糟糕,因为你要两次前往服务器,一次准备,一次发送数据.只需要解析一次的好处就丢失了,你第二次旅行就受到了惩罚.如果数据的二进制格式不够小,那么使用准备好的语句会丢失,对吗?

但是,我已经阅读了一些关于PHP的mysqli或PDO库做什么的相互矛盾的报道?它们中的任何一个是否跨脚本执行缓存预准备语句?服务器是否必须在后续页面加载时再次解析预准备语句?如果答案是否定的,那么语句不必在第二个页面加载上进行解析,那么即使您每页面加载仅执行一次查询,看起来准备好的语句也会更好.

请考虑MySQL版本之间是否有任何相关变化.您可以放心地假设我使用的是PHP 5.2

编辑:只是为了说清楚,我想要专门针对MySQL和PHP的答案,指定MySQL版本,如果这是不同的,并且只考虑性能,而不是易用性或安全性.

更新:我接受了我的答案,因为后续评论有一些好主意.我仍然有点失望,似乎没有人能够回答我提出的实际问题的症结.我猜有时答案真的是"这取决于".

php mysql performance pdo prepared-statement

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

MySQL优化:EXPLAIN"Extra"列包含"Using Where"

所以我一直认为在Extra栏中看到"Using Where"是一件好事.然而,我正计划为我的同事准备一个棕色的包午餐来解释EXPLAIN,现在我不太确定.MySQL文档在关于"使用位置"的说明中说明了这一点:

WHERE子句用于限制哪些行与下一个表匹配或发送到客户端.除非您特意打算从表中获取或检查所有行,否则如果Extra值不是Using where并且表连接类型为ALL或index,则查询可能会出错.即使您正在为WHERE子句的所有部分使用索引,您也可以看到如果列可以为NULL则使用where.

这使我相信即使我的WHERE子句只包含索引的一部分,如果列可以具有NULL值,MySQL仍将检查行.

真的吗?如果是这样,如果我不需要它,我应该将列更改为不包括NULL吗?我会看到提速吗?

mysql database-optimization database-indexes

7
推荐指数
1
解决办法
8320
查看次数

memcached:哪个更快,执行添加(和检查结果),或者执行get(并在返回false时设置)

这个问题的标题不是那么清楚,但代码和问题很简单.

假设我想每天向用户展示一次广告.为了实现这一点,每次他们访问我网站上的页面时,都会检查某个memcache密钥是否存储了任何数据.如果是这样,请勿展示广告.如果没有,请将值"1"存储在该密钥中,到期时间为86400.

我可以用两种方式做到这一点:

//version a
$key='OPD_'.date('Ymd').'_'.$type.'_'.$user;
if($memcache->get($key)===false){
 $memcache->set($key,'1',false,$expire);
 //show ad
}

//version b
$key='OPD_'.date('Ymd').'_'.$type.'_'.$user;
if($memcache->add($key,'1',false,$expire)){
 //show ad
}
Run Code Online (Sandbox Code Playgroud)

现在,似乎很明显b更好,它总是进行1个memcache调用.但是,"添加"与"获取"的开销是多少?这些并不是真正的比较...而我只是编写了这些数字,但是假设1加〜= 1集〜= 5得到努力,平均用户每天查看5页:

a: (5 get * 1 effort) + (1 set * 5 effort) = 10 units of effort

b: (5 add * 5 effort) = 25 units of effort
Run Code Online (Sandbox Code Playgroud)

总是进行添加呼叫会有意义吗?这是不必要的微优化吗?

optimization memcached

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

PHP变量在Wordpress标题和索引文件中不起作用?

我在header.php中有以下代码来回显正文的id:<body id="<?php echo $body; ?>">它取自index.php中的变量:$ body ="home";

输出结果为:body id =""

有什么建议来解决这个问题

(我创建了var_dump($ body),值为"home",因此变量正常工作)

header.php:

<?php
/**
 * The Header for our theme.
 *
 * Displays all of the <head> section and everything up till <div id="main">
 *
 * @package WordPress
 * @subpackage Starkers
 * @since Starkers 3.0
 */
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<title><?php
    /*
     * Print the <title> tag based …
Run Code Online (Sandbox Code Playgroud)

php variables wordpress

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

什么条件导致马拉松领袖选举?

我正在使用Mesos和Marathon来管理应用程序部署,并在Marathon https://github.com/mesosphere/marathon/issues/3783中遇到了这个错误,也就是说部署期间的领导者选举会扩展实例领导选举经常发生(大约每30分钟一次),所以我经常会遇到这个问题.

我知道每30分钟一次是非常不规律的,因为我已经升级到Marathon 1.3.10并且过去2天没有选举,但是多久一次是"正常"?领导人退位/选举是否在正常情况下发生,或者除非存在潜在问题,否则我应该期待0次选举?一位同事向我建议"领导人选举是正常的","一定数量的选举是正常的,也是可以预期的".我只是不相信,并且想肯定地知道.

marathon mesos mesosphere apache-zookeeper

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