页面开始:
$(document).ready(function(){
...
});

class="no_update" 下所有input操作

    var obj = $('.no_update input').each(function(){
           $(this).attr("disabled","disabled")
    });
    
    select:
    
    var obj = $('.no_update select').each(function(){
        $(this).attr("disabled","disabled")
    });

解析json:
var arr_link = <?php echo json_encode($arr_link)?>;

var arr = arr_link[id];
$.each(arr,function(key,val){
     alert(key+val);
});

隐藏:
$('#product').css("display","none");

去除样式:
$('#product').removeAttr("Style");

清空:
$("#category_id").empty();

追加:
$("<option value='0'>请选择</option>").appendTo("#category_id");

下一个节点
var obj = $(change_obj).next().next();

绑定事件:
$('#text_id').change(function(){
........
});

get by name:
var name = $('input[name^="start_day"]');
    $.each (name,function (key,val){
        alert(val.value);
    });

Select option:
var subregion_id = $('#subregion_id_'+ad_id).get(0);
    subregion_id.options.length = 0;
    subregion_id.options[0] = new Option('请选择',0);
subregion_id.options[i+1] = new Option(result[i].TypeName,result[i].TypeId);

var subregion_id = $('#subregion_id_'+ad_id).val();
var subregion_text=$('#subregion_id_'+ad_id).find("option:selected").text();

ajax 返回:
$.ajax({
            url: '/ajax/i.php',
            data: 'type=get_category&type_id='+type_id,
            type: 'GET',
            dataType: 'json',
            success: function(result){
            if(result){
                for(var i=0; i< result.length; i++){
                    $("<option value='"+result[i].category_id+"'>"+result[i].category_name+"</option>").appendTo("#category_id");
                }
            }
            }
        });
        
绑定时间框:
var cal = Calendar.setup({
        onSelect: function(cal) { cal.hide() },
        showTime: false
    });
    var start_day = $('input[name^="start_day"]');
    $.each (start_day,function (key,val){
        cal.manageFields(val.id, val.id, "%Y-%m-%d");
    });

关键字自动下拉框;
$("#keyword").autocomplete("getkeyword.php?type=get_names", {
        width: 363,
        autoFill: false,
        mustMatch: false,
        selectFirst: false,
        minChars: 0
    });
    $("#keyword").result(function(event, data, formatted) {
        if (data) {
            $("#keyword_id").val(data[1]);
        }
    });
    



来源:blog.sina.com.cn/s/blog_6b7d19300100pvxf.html
它是 $(document).ready(function(){...})的简写形式,或者: $().ready(function(){...})
意思就是页面载入后执行...的代码.是jq中最重要的一句话,基本上是必须的.所有页面载入有执行的代码都要写着里面
之所以要用到Json,很多时候是因为使用ajax对象时,程序与JS函数之间的数据交互。因为JS不认识PHP中的数组,PHP也不认识JS中的数组或对象。Json很好的解决了这个问题。阅读全文
缘起:
   发现一兄弟写的代码如下:我一查Jquery没有查到,Js没学好,哈,原来是Js的函数:



于是,探讨后他写出如下,我自己改造了下,这个call,


网上有博客说这个call,补充如下,原文URL丢失了,抱歉,粘贴如下:

阅读全文
今年春节时,我写了一篇《TDD并不是看上去的那么美》,在这篇文章中我列举了一些关于使用TDD的一些难点和对TDD的质疑,后来出现了一些争论(可参见那篇文章的评论),以及Todd同学的《TDD到底美不美》,还有infoQ中文上的那个几乎没有营养离线讨论。今天,有网友给我推来一个英文版infoQ的视频——“Coplien and Martin Debate TDD, CDD and Professionalism”,这是2008年2月18日的视频,视频的主角两个人争论TDD好还是不好,一个是敏捷社区的教主级的人物——Robert Martin(大家称之为“Bob大叔”),另一个是C++,OO,多范式编程的大师Jim Coplien(大家都叫他Cope)。这两个人对TDD的见解有分歧。Coplien的很多观点和我之前的不谋而合,而他自己称他是坚决强烈地站在TDD的对立面上。下面是Jim的原话:

I have adopted a very strong position against what particularly the XP community is calling test driven development.阅读全文
分组信息输出有点意思:
console.group("第一组信息");console.log("%s,%d",string,int); console.groupEnd();
console.time() console.endTime()结合在一起能查看脚本执行时间
------
同时firebug也支持debugger关键字了:
firebug:  有了这个firebug的新的debugger后,就会停留在那儿,可以查看里面的参数(脚本-》监控)及函数(脚本-》堆栈)情况。
microsoft script editor: IE下的,不太用,可能用下。



------
http://ticket.cpcmuseum.cn/Home/Index
http://ticket.cpcmuseum.cn/Scripts/PageProtection.js?Math.random()


相减是微秒它这儿50微秒就认为是用F12打开调试了,会提示不让调试,且间隔1000毫秒进行检测(setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式):
Date Fri Aug 13 2021 22:35:27 GMT+0800 (中国标准时间)
PageProtection.js:94:17
Date Fri Aug 13 2021 22:35:27 GMT+0800 (中国标准时间)
PageProtection.js:95:17
673

开启 debugger ,代码在执行到第三行前终止。也就是说打开F12会终止,出现间隔大于50毫秒的情况,也就提示用户不让你调试哟,怎么办?Fiddler伺候替换文件即可。其实完全可以用fiddler直接替换掉这个页面里面的部分JS语句即可绕过:
https://jackxiang.com/post/8535/

   前言:Javascript自己有这样一个函数输出,其目的在于对变量的跟踪,而后端有FirePHP变量输出在Header头中,
见:http://jackxiang.com/post/1117/
而前端有Js的console.log()来实现输出到FireBug中,以提高快速开发和调试逻辑等错误的目的(如果对于多维数组一个一个去打印,没这个来得快),
也就是本文想要描述的话题,尽管陈旧,但还是值得借鉴和实用的价值。


在FireBug控制台中输出:

========
自己试了下果然有这个功能:

FireBug输出:


参考来源:
http://hi.baidu.com/%C4%AD%C4%AD%CF%C4a/blog/item/b5d197ae118209ecfaed501d.html
近在做项目时经常会用到jQuery,无意中获得了Dreamweaver的jQuery语法提示插件,在项目开发时带来了很多方便。下面来介绍一下。

其实该Dreamweaver CS5绿色版的jquery代码提示插件是提取于原版之中的,所以简单实用,无需安装,只需要覆盖相应的目录里即可。

点击此处下载插件,然后进行安装:
  目前最新的Jquery1.4.2:  
1、把shared、Extensions、codehints三个文件夹复制到:
WinXP:C:\Documents and Settings\Administrator\Application Data\Adobe\Dreamweaver CS5\zh_CN\Configuration
win7:C:\用户\Administrator\AppData\Roaming\Adobe\Dreamweaver CS5\zh_CN\Configuration
下即可。
注意:Administrator是你实际登录的用户的文件夹;AppData是隐藏文件夹。
我的是:C:\Documents and Settings\jackxiang\Application Data\Adobe\Dreamweaver CS5\zh_CN\Configuration
2.启动Dreamweaver CS5即可,语法提示功能如下:
盗链,去掉了。
发现一个问题:先建立的站点才行,以前建立的只能$提示,而$("#XXX"). 这儿还是老的提示,呵呵,自己再重新建立一次试试,发现已经Ok的html文件还是不行,只有自己新建立的.html才提示,得新建立,也就是得从刚开始就纳入管理才能提示,这个插件这块上处理不是很好,EOF。
Jquery一句话全选的代码,实践Ok:$("input[type='checkbox']").attr("checked","checked");


阅读全文
   为什么有些人能够白手起家而最终成就亿万富翁的梦想,而有些人虽然很努力但还是无法取得什么大的成就呢?
Robert Jordan为了写成《他们是如何做到的》这本书,亲自采访了45位企业家。这些企业家都是白手起家最后取得巨大成功的典范。这45位企业家创造的财富总额高达410亿美元。究竟是什么让这些企业家取得了常人难以企及的成就呢?Jordan在他的这本书中给出了他的答案。阅读全文
一:
MySQL 发布了 5.5.17 GA 版本,下载地址:
http://dev.mysql.com/downloads/mysql/5.5.html
该版本主要还是 bug 修复,详情请看 Change History,
下载地址:http://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.5/mysql-5.5.17.tar.gz

二:
Firebug 1.9a4 发布:
Url 实用的Resend命令很不错,tooltip调试加强,AddWatch功能,还改进了 Firebug 的自动完成,修复了很多调试器上步进的bug等。
下载页面:http://getfirebug.com/downloads
下载地址:http://getfirebug.com/releases/firebug/1.9/
三:
Zend Studio 9 Beta发布,主要包含一下更新:
•Git和Github支持
•云开发部署
•深度Zend Framework和Zend Server集成
•更快、更精简的IDE
更多详细更新查看:
http://static.zend.com/topics/Zend-Studio-9-0-0-Beta-Release-Notes.txt
licence key注册码目前还没有找到。
备注:
DiffMerge,用来比较文件,merge svn文件用的,轻巧,下载地址:
http://download-us.sourcegear.com/DiffMerge/3.3.1/Windows/DiffMerge_3.3.1.1118_x86.msi

zend studio 9.0无限期试用的方法:
http://www.zendstudio.net/archives/zend-studio-9-0-unlimited-trials/

Zend Studio 9.0注册码与使用感受():
http://www.geekso.com/ZendStudio9/

licence key注册码找到一个,这是在官网论坛上找到的(亮点11月22号到期),如下:
34E606CF10C3E4CF202ABCEAA9B0B7A64DD2C5862A514B944AAAB38E3EB8A5F2CD735A2AB4CF9B952590EFA62BA0AB2B3E5D99C33C55309EE143165AC7F1817D626574615F3B32312F31312F323031313B392E303B3030313B313B3330
原注册码发布地址:http://forums.zend.com/viewtopic.php?f=108&t=27608&sid=529a1335307b71357867f75ce1a6d58e

Zend Studio 9.0.0 Final 发布:
Zend Studio 9.0 的最终正式版发布了,该版本主要改进包括:

支持 Git 版本控制系统和 Github
云开发部署
深度的 Zend Framework 和 Zend Server 集成
更快、更精简的IDE

好消息:zend studio 9.0注册破解版已完成,在测试中,如没有问题这几天发布。

破解发布:
写在前头
以下方法仅供技术交流学习,请勿非法使用,如长期使用请支持购买正版。
正版购买地址:http://shop.zend.com/en/zend-studio-for-eclipse.html
注册破解步骤
第一步:如果已经安装过Zend Studio 9.0的,请打开Zend Studio 9.0,在菜单中“help>Unregister”,如果显示是灰的跳过此步退出Zend Studio。如果显示可以点击的请点击,这时Zend Studio会重启,重启到要求你填注册码时点“QUIT”按钮

第二步:下载com.zend.php.core_9.0.0.201111081531.jar文件,下载成功后复制到你安装Zend Studio 9.0的plugins目录下,覆盖同名文件。

第三步:启动Zend Studio 9.0,输入如下注册码License key:
写在前头
以下方法仅供技术交流学习,请勿非法使用,如长期使用请支持购买正版。
正版购买地址:http://shop.zend.com/en/zend-studio-for-eclipse.html
注册破解步骤
第一步:如果已经安装过Zend Studio 9.0的,请打开Zend Studio 9.0,在菜单中“help>Unregister”,如果显示是灰的跳过此步退出Zend Studio。如果显示可以点击的请点击,这时Zend Studio会重启,重启到要求你填注册码时点“QUIT”按钮

第二步:下载com.zend.php.core_9.0.0.201111081531.jar文件,下载成功后复制到你安装Zend Studio 9.0的plugins目录下,覆盖同名文件。[DownLoad:]

第三步:启动Zend Studio 9.0,输入如下注册码License key:

34E606CF10C3E4CF202ABCEAA9B0B7A64DD2C5862A514B944AAAB38E3EB8A5F2CD735A2AB4CF9B952590EFA62BA0AB2B3E5D99C33C55309EE143165AC7F1817D626574615F3B32312F31312F323031313B392E303B3030313B313B3330
第四步:查看是否注册成功,在菜单中“help>About Zend Studio ”, 显示如下图。
过期时间9999年12月31日说明注册破解成功完成。

今天是延期的最后一天,我也亲自实践了一把,是可以的,破解来源:http://www.geekso.com/ZendStudio9-key/

发现:Zend Studio 9.0.1 的破解方法一样也成啊。
给jar文件换个名,同样地方替换即可:
com.zend.php.core_9.0.1.201112141951.jar  <-com.zend.php.core_9.0.0.201111081531.jar

也有破解文件提供:


主要是来自:http://www.geekso.com/ZendStudio9-key/1/1/
首发Zend Studio 9.0.2正式版注册破解(2012-03-05更新):
http://www.geekso.com/ZendStudio9-key/



zend studio 9.0.2发布及Aptana的整合:
http://my.oschina.net/u/197668/blog/35751
上面的中文包好像有问题,安后出现错误(最好不要安装中文)。
还得参考:http://blog.csdn.net/liwei3gjob/article/details/7371521
建立项目参考:
http://blog.csdn.net/liwei3gjob/article/details/7371521

一、打开zendstudio,点击菜单栏上面的help->install new software则跳出如下所示界面。

二、安装aptana 3 插件。

在上图中点击add,跳出对话框,里面填入如下内容。

name:aptana 3.0

location:http://download.aptana.com/studio3/plugin/install

三、一直点next,直到后面进行安装,因为服务器在国外,所以读取速率比较慢,大家耐心等待.

如果提示time requested out

错误,则从新安装,安装成功提示重启,restart!

不懂的朋友可以问我

(实践中有许多问题啊。!!!)

试一下汉化:
Zend Studio 9.0.2汉化方法
官方汉化包
在线下载语言包:help->Install new software->add 添加网址

http://download.eclipse.org/technology/babel/update-site/R0.9.1/helios
出现padding...字样,等待个几分钟,看网速度然后选择简体中文(注意在勾选简体中文的时候点一下checkbox框等待一下 有点卡。)
然后下一步。。。下一步。。下一步。。。
Zend Studo 9.0.0及Zend Studio 9.0.1的破解方法跟本文一制,但是破解文件及汉化地址不同,如果是9.0.0的,
请参考http://www.cnlamp.org/ide/329.html  9.0.1请参考http://www.cnlamp.org/ide/437.html


zend studio 9.0.3 破解与汉化
破解:http://www.geekso.com/ZendStudio9-key/
汉化:选择Help菜单->Install New Software…在Work with框中复制此地址:http://archive.eclipse.org/technology/babel/update-site/R0.9.1/helios/,(提示:最后一个/线不能少)复制完地址后按回车键确认,这时会提示pending…(等待…),等侍完成后会出来很多语言列表让你选择,请选择“Babel Language Packs in Chinese(Simplified)”简体中文包选择项,下一步选同意,再漫长的等待之后就汉化好了,提示重启zend studio。
由于访问http://archive.eclipse.org/technology/babel/update-site/R0.9.1/helios/网址时速度比较慢,所以我做了一个离线汉化版给大家下载。下载后将文件覆盖到zend studio9的安装目录,然后重启zend studio即可。

下载地址:http://115.com/file/dpkmxvm0
解压密码:www.235.cc

  直接下载汉化包的Url博客来自:
http://www.235.cc/?p=92
我试了一下,不行,查找到原因如下:
12.zend studio9在线汉化没有成功,有汉化离线包没?
还是在线汉化吧,经测试离线汉化包有问题,已不提供了。

DreamWeaver 配色:
  目前感觉zend studio自带的PHP代码着色方案不是很好,特别是关键字没有高亮,修改方法也很简单。Window->Preferences->PHP->Editor->Syntax Coloring。修改对应的颜色就可以了。下面提供一套仿dreamweaver的着色方案,仅供参考。


中文  英文  HEX  RGB
变量            Variable  #0066FF  0,102,255
字符串  String  #CC0000  0,12,0
常数/内部常数  constants/internal constants  #552200  85,34,0
数字  Number  #FF0000  255,0,0
保留关键字  Keyword  #006600  0,102,0
块分隔符  PHP tags  #FF0000  255,0,0
注释  PHPDoc comment  #FF9900  255,135,0
注释  PHPDoc  #FF4400  255,68,0
单/多行注释  Single/Multi-line comment  #FF9900  255,135,0
1.PHP实现,Json.php:


php json.php

Js实现json.html:
para:

2.Json,html代码如下:


这个Typeof很有作用,如下:
“Debug模式给MySQL带来的性能损失是比较大的。”
“保持Key_reads/Key_read_requests至少1/100以上,越小越好。”
“大的文件提供更高的性能,但数据库恢复时会用更多的时间。”

没做单独测试,, 不过用where id>100000 limit 10 的速度是0.0007秒 直接用 order by id desc limit 100000,10 的速度是162秒
用select id,v_1,v_2 from max_num where id>(select `id` order by desc limit ($page-1)*$pagesize,1) limit 10;的速度 是5-8秒之间
ORDER BY ID(主键)
select id(主键递增),title from table where id in(select id from table order by id desc limit ($page-1)*$pagesize,$pagesize)这个 方法的速度 和WHERE id>(select `id` order by desc limit ($page-1)*$pagesize,1)的速度相 接近 ,,不过 也还是很不乐观

===阅读全文
Linux下运行一个PHP程序去执行一项艰巨的串口查询任务,读出串口值,但从来不推出,Ps进程时,发现进程出现两个状态,如下:

上面两行,出现了D,和S的进程状态,于是查询网络上的解释如下:
D Uninterruptible sleep (usually IO)
不可中断的深度睡眠,一般由IO引起,同步IO在做读或写操作时,此进程不能做其它事情,只能等待,这时进程处于这种状态,如果程序采用异步IO,这种状态应该就很少见到了

S Interruptible sleep (waiting for an event to complete)
可接收信号的睡眠状态,sleep函数可演示这种状态

主要是想对D进程做下研究,如下:
  S其实很正常,但是那个D,有一类垃圾却并非这么容易打扫,那就是我们常见的状态为 D (Uninterruptible sleep) ,这些垃圾进程要么是求而不得,像怨妇一般等待资源(D),这种垃圾进程偏偏是刀枪不入的,不管换哪种枪法都杀不掉它们。无奈,只好reboot,像剿灭禽流感那样不分青红皂白地一律扑杀!
怨妇 D,往往是由于 I/O 资源得不到满足,而引发等待,在内核源码 fs/proc/array.c 里,其文字定义为“ "D (disk sleep)", /* 2 */ ”(由此可知 D 原是Disk的打头字母),对应着 include/linux/sched.h 里的“ #define TASK_UNINTERRUPTIBLE 2 ”。举个例子,当 NFS 服务端关闭之时,若未事先 umount 相关目录,在 NFS 客户端执行 df 就会挂住整个登录会话,按 Ctrl+C 、Ctrl+Z 都无济于事。断开连接再登录,执行 ps axf 则看到刚才的 df 进程状态位已变成了 D ,kill -9 无法杀灭。正确的处理方式,是马上恢复 NFS 服务端,再度提供服务,刚才挂起的 df 进程发现了其苦苦等待的资源,便完成任务,自动消亡。若 NFS 服务端无法恢复服务,在 reboot 之前也应将 /etc/mtab 里的相关 NFS mount 项删除,以免 reboot 过程例行调用 netfs stop 时再次发生等待资源,导致系统重启过程挂起。

  ps 的手册里说D状态是uninterruptible sleep,Linux进程有两种睡眠状态,一种interruptible sleep,处在这种睡眠状态的进程是可以通过给它发信号来唤醒的,比如发HUP信号给nginx的master进程可以让nginx重新加载配置文件而 不需要重新启动nginx进程;另外一种睡眠状态是uninterruptible sleep,处在这种状态的进程不接受外来的任何信号,这也是为什么之前我无法用kill杀掉这些处于D状态的进程,无论是”kill”, “kill -9″还是”kill -15″,因为它们压根儿就不受这些信号的支配。

  进程为什么会被置于uninterruptible sleep状态呢?处于uninterruptible sleep状态的进程通常是在等待IO,比如磁盘IO,网络IO,其他外设IO,如果进程正在等待的IO在较长的时间内都没有响应,那么就很会不幸地被 ps看到了,同时也就意味着很有可能有IO出了问题,可能是外设本身出了故障,也可能是比如挂载的远程文件系统已经不可访问了。

  正是因为得不到IO的相应,进程才进入了uninterruptible sleep状态,所以要想使进程从uninterruptible sleep状态恢复,就得使进程等待的IO恢复,比如如果是因为从远程挂载的NFS卷不可访问导致进程进入uninterruptible sleep状态的,那么可以通过恢复该NFS卷的连接来使进程的IO请求得到满足,除此之外,要想干掉处在D状态进程就只能重启整个Linux系统了。

  看到有人说如果要想杀掉D状态的进程,通常可以去杀掉它的父进程(通常是shell,我理解的这种情况是在shell下直接运行的该进程,之后该进 程转入了D状态),于是我就照做了,之后就出现了上面的状态:他们的父进程被杀掉了,但是他们的父进程PID都变成了1,也就是init进程,这下可如何 是好?此时我这些D状态的进程已经影响到其他一些进程的运行,而已经无法访问的NFS卷又在段时间内无法恢复,那么,只好重新启动了,root不是玉皇大 帝,也有无奈的时候。

  跟czhang说起这个事,觉得Linux如果有这么一个专用的垃圾回收进程就好了:系统自动或者用户手动把僵尸进程,和比如之前我遇到的D状态进程的PPID设为这个垃圾回收进程,那么通过干掉这个垃圾回收进程来清理这些僵尸们,这样该有多美好…
总结:我估计是我的PHP代码正在等待串口的温度数据返回罢,一直没有等着吧,就等呀等,其实是那一瞬间给我用Ps命令监控到了,呵呵。EOF
来源:
http://www.blogjava.net/fhtdy2004/archive/2009/07/05/285515.html
http://hi.baidu.com/xuwanbest/blog/item/45f18f3dbce0aece9e3d6255.html
点评:
Limit 1,111 数据大了确实有些性能上的问题,而通过各种方法给用上where id >= XX,这样用上索引的id号可能速度上快点儿。By:jack
阅读全文
加密日志
这篇日志被加密了。请输入密码后查看。
密码
mysql中insert into和replace into以及insert ignore用法区别:
mysql中常用的三种插入数据的语句:
insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据;
下面通过代码说明之间的区别,如下:
create table testtb(
id int not null primary key,
name varchar(50),
age int
);
insert into testtb(id,name,age)values(1,"bb",13);
select * from testtb;
insert ignore into testtb(id,name,age)values(1,"aa",13);
select * from testtb;//仍是1,“bb”,13,因为id是主键,出现主键重复但使用了ignore则错误被忽略
replace into testtb(id,name,age)values(1,"aa",12);
select * from testtb; //数据变为1,"aa",12

来源:http://mxdxm.iteye.com/blog/1153513
乔布斯从1975年出道到今天,干了35年,但最近这三年仿佛是把35年的功力一掌击出-他用一款iPhone甩掉了诺基亚,再回过身来用iPad对微软和英特尔发起猛烈冲击,之前用iPod超越了索尼。如果孤立地看这几个产品,或许你会觉得也没什么,但乔布斯就好像真的进入了“飞花摘叶,即可伤人”的境界。现在我觉得乔布斯很伟大,跟他的这些创新相比,我们做事的格调都还不够理想。



阅读全文
分页: 124/339 第一页 上页 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 下页 最后页 [ 显示模式: 摘要 | 列表 ]