小编Jak*_*raw的帖子

jQuery是否存在"存在"功能?

如何在jQuery中检查元素的存在?

我当前的代码是这样的:

if ($(selector).length > 0) {
    // Do something
}
Run Code Online (Sandbox Code Playgroud)

有更优雅的方式来解决这个问题吗?也许是插件或功能?

javascript jquery

2669
推荐指数
37
解决办法
73万
查看次数

INT和VARCHAR主键之间是否存在真正的性能差异?

使用INT与VARCHAR作为MySQL中的主键之间是否存在可衡量的性能差异?我想使用VARCHAR作为参考列表的主键(想想美国,国家代码),并且同事不会将INT AUTO_INCREMENT作为所有表的主键.

我的论点,详见这里,是INT和VARCHAR之间的性能差异可以忽略不计,因为每个INT外键引用将需要一个JOIN,使参考的意义上说,VARCHAR键则直接呈现的信息.

那么,有没有人有这个特定用例的经验以及与之相关的性能问题?

mysql performance myisam innodb primary-key

161
推荐指数
7
解决办法
10万
查看次数

我如何在Ruby中使用(n)curses?

我想创建一个进度条来指示批处理作业的状态Ruby.

我已经阅读了一些关于使用(n)curses的教程/,其中没有一个特别有助于解释如何在终端中创建"动画"进度条或使用curses .Ruby

我已经知道使用一个单独的线程来监视给定作业的进度,我只是不确定如何继续绘制进度条.


更新

ProgressBar课程非常直接,完美地解决了我的问题.

ruby unix curses

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

使远程目录保持最新

我非常喜欢Winscp中Keep Remote Directory最新功能.不幸的是,我在OS X或Linux中找不到任何简单易用的东西.我知道理论上可以使用changedfilesrsync完成同样的事情,但我总是发现这两个工具的教程缺乏和/或相互矛盾.

我基本上只需要一个在OSX或Linux中工作的工具,并在我更改本地目录时保持远程目录与本地目录同步(镜像).


更新

通过解决方案,我看到一对解决了手动保持远程目录与本地目录同步的一般问题.我知道我可以设置一个cron任务来每分钟运行rsync,这应该非常接近实时.

这不是我正在寻找的确切解决方案,因为winscp执行此操作以及更多:它检测目录中的文件更改(当我处理它们时),然后自动将更改推送到远程服务器.我知道这不是最好的解决方案(没有代码存储库),但它允许我在开发它时非常快速地在服务器上测试代码.有谁知道如何结合rsync与任何其他命令来获得此功能?

linux macos ssh sftp

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

jQuery自动完成图像

我想在我的网站上实现图像的自动完成功能.

我想使用jQuery自动完成插件.

我看了他们的示例代码.

任何人都可以解释下面代码在$(document).ready()事件中的含义:

$("#imageSearch").autocomplete("images.php", {
  width: 320,
  max: 4,
  highlight: false,
  scroll: true,
  scrollHeight: 300,
  formatItem: function(data, i, n, value) {
    return "<img src='images/" + value + "'/> " + value.split(".")[0];
  },
  formatResult: function(data, value) {
    return value.split(".")[0];
  }
});
Run Code Online (Sandbox Code Playgroud)

我的最终要求是当我在文本框中键入一些字母时,我希望选项附带与之关联的图像.

javascript jquery autocomplete

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

PHP面向对象与否?

我有一个webapp的开始,我没有使用PHP的面向对象的功能.

我真的不知道是否值得回去重写我已经完成的部分.面向对象的PHP是否值得重写全部或部分正常工作的应用程序?

php oop web-applications

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

memcache连接的数量永远不会下降,不断增长

我们为Web应用程序设置了三个memcache服务器.

其中两个做得很好,处理成千上万的读写操作,同时每个连接保持不超过12个连接(根据memcache-top).

我们有第三个memcache服务器,负责存储管理客户端会话数据(使用内置在memcache会话处理程序中的PHP)和一些随机应用程序数据.由于某种原因,此盒子上的连接数量永远不会下降,只会随着时间的推移而增加.例如,我们最近重新启动了服务器,一小时后memcache-top记录了~300个连接.

代码库使用持久连接和动态连接的混合,但我无法想出一个简单的例子来重新创建连接永远不会死的情况.第三个memcache服务器实际上托管了我们Web应用程序中活动最少的部分,正如您在memcache-top中看到的那样:

memcache-top v0.6  (default port: 11211, color: on, refresh: 3 seconds)

INSTANCE         USAGE  HIT %  CONN  TIME   EVICT/s READ/s  WRITE/s  
memcache1:11211  15.7%  83.5%    10  1.2ms      0.0  24.9K    34.5K  
memcache2:11211  15.8%  81.3%    10  1.0ms      0.0  19.1K    31.6K  
memcache3:11211  0.1%   0.0%    354  1.1ms      0.0      4      321  

AVERAGE:    10.5%  55.0%  124  1.1ms  0.0  14.7K  22.1K  

TOTAL:    0.6GB/  6.0GB    374  3.2ms  0.0  44.0K  66.4K
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:为什么这个memcache实例的连接永远不会死?

php memcached

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

使用主键和唯一键对表进行意外锁定

我遇到了一个innodb锁定问题,用于表上具有主键和单独唯一索引的事务.似乎TX使用唯一键删除记录,然后重新插入相同的记录,这将导致下一键锁定而不是预期的记录锁定(因为该键是唯一的).请参阅下面的测试用例以及我希望锁定哪些记录的细分:

DROP TABLE IF EXISTS foo; 
CREATE TABLE `foo` ( 
  `i` INT(11) NOT NULL, 
  `j` INT(11) DEFAULT NULL, 
  PRIMARY KEY (`i`), 
  UNIQUE KEY `jk` (`j`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; 
INSERT INTO foo VALUES (5,5), (8,8), (11,11); 
Run Code Online (Sandbox Code Playgroud)

(注意:只需在TX1 sql之后运行TX2 sql,在单独的连接中)

TX1

START TRANSACTION; 
DELETE FROM foo WHERE i=8; 
Run Code Online (Sandbox Code Playgroud)

导致i = 8的独占锁定(没有间隙锁定,因为我是主键并且是唯一的)

INSERT INTO foo VALUES(8,8); 
Run Code Online (Sandbox Code Playgroud)

导致i = 8&j = 8的独占锁定,i = 6&i = 7的共享意图锁定,以及j = 6&j = 7

TX2

START TRANSACTION; 
INSERT INTO foo VALUES(7,7); 
Run Code Online (Sandbox Code Playgroud)

导致i = 7&j = 7的排他锁定,以及i …

mysql database performance innodb locking

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

JavaScript小书签和URL编码

完全透露我不知道Javascript,我试图得到这个Javascript:

javascript:location = 'http://validator.w3.org/check?uri=' +escape(location)&doctype=Inline&charset=detect+automatically&ss=1&group=0&user-agent=W3C_Validator/1.654';
Run Code Online (Sandbox Code Playgroud)

作为Bookmarklet工作,以发送此格式的URL:

http://validator.w3.org/check?uri=http://www.wordpress.org&charset=%28detect+automatically%29&doctype=Inline&ss=1&group=0&user-agent=W3C_Validator%2F1.654
Run Code Online (Sandbox Code Playgroud)

到W3C的指挥官.

我是用这个编码器对Javascript进行URL编码的,但当然,我做错了,无论是在我的Javascript中还是在编码过程中.

任何人都有一些关于Javascript bookmarklet和URL编码的特别或一般的想法?谢谢.

javascript url encoding bookmarklet

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

在没有用户提示的情况下安装PHP Pear

是否有一个命令行参数,允许您在没有用户提示的情况下安装PHP Pear?我想自动执行以下执行:

wget http://pear.php.net/go-pear.phar
php go-pear.phar
pear config-set preferred_state beta
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear install --alldeps phpunit/PHPUnit
rm go-pear.phar
Run Code Online (Sandbox Code Playgroud)

php go-pear.phar提示用户输入安装/配置信息.

php pear automation

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