预览模式: 普通 | 列表

 jQuery的方式实现ajax并发同步

 之前在一篇文章中有讲到js的异步协作,那时候讲的是用了一个库EventProxy(参考: http://www.zeroplace.cn/article.asp?id=859)。这次我说,有实际上jQuery就自带了一个工具就可以很简单的实现类似的功能。

同样是上次说的例子,在网页中数据是ajax的,模板也是ajax获取。

 

$(function(){
// from http://www.zeroplace.cn
	$.when($.getJSON("data.js"), $.get("data.tpl"))
	.done(function(arg1, arg2){
		var title = arg1[0].title;
		var tpl = arg2[0];

		var html = tpl.replace("{$title}", title);
		$("body").html(html);
	});
})

JS的代码还是相当简单的

查看更多...

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 3180

PHP中的错误处理、异常处理机制

 在编写php程序时,错误处理是一个重要的部分。如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门

 
 
例:
<?php 
    $a = fopen('test.txt','r');
    //这里并没有对文件进行判断就打开了,如果文件不存在就会报错
?>
 
那么正确的写法应该如下:
<?php
    if(file_exists('test.txt')){
        $f=fopen('test.txt','r');
        //使用完后关闭
        fclose($f);
    } 
?>
 
一、PHP错误处理的三种方式
A、简单的die()语句;
    等价于exit();
例:
    if(!file_exists('aa.txt')){
        die('文件不存在');
    } else {
        //执行操作
    }
    //如果上面die()被触发,那么这里echo接不被执行
    echo 'ok';
 
    简洁写法:
    file_exits('aaa.txt') or die('文件不存在');
    echo 'ok';
 
B、自定义错误和错误触发器
 
1、错误处理器(自定义错误,一般用于语法错误处理)
        创建自定义错误函数(处理器),该函数必须有能力处理至少两个参数(error_level和errormessage),但是可以接受最多五个参数(error_file、error_line、error_context)
        语法:
        function error_function($error_level,$error_message,$error_file,$error_line,$error_context)
        //创建好后还需要改写set_error_handler();函数
        set_error_handler('error_function',E_WARNING);//这里error_function对应上面创建的自定义处理器名,第二个参数为使用自定义错误处理器的错误级别;
错误报告级别(了解即可)
 
这些错误报告级别是错误处理程序旨在处理的错误的不同的类型:
 

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 2774

Linux下ssh登录速度慢的解决办法

 相信很多朋友在使用Linux系统的时候因为安全性的原因摒弃了telnet rlogin 或者 X-window,而把openssh作为自己默认的远程登录方式。

  然而经常会遇到的一个情况是telnet到server速度很快,但是ssh连接的时候却很慢,大概要等半分钟甚至更久。ping的速度也非常好,让人误以为是ssh连接不上。

  下面说下如何解决这样的问题,

  最为常见的原因是因为server的sshd会去DNS查找访问client IP的hostname,如果DNS不可用或者没有相关记录,就会耗费大量时间。

  1, 在server上/etc/hosts文件中把你本机的ip和hostname加入

  2, 在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no

  3, 注释掉server上/etc/resolv.conf中所有行

  4, 修改server上/etc/nsswitch.conf中hosts为hosts: files

  5, reboot server使配置生效

  另外在

  authentication gssapi-with-mic

  也有可能出现问题,在server上/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no.

  /etc/init.d/sshd restart重启sshd进程使配置生效

  如果以上两招还不能解决问题,善于使用DEBUG MODE  ssh -v来查看log,找到停滞时间最长的步骤,然后针对性的修改配置解决。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

PS: 我解决这个问题的方法,在上面标红了。

分类:linux教程 | 固定链接 | 评论: 0 | 查看次数: 5139

小谈"什么是MVC"

 MVC就是三个字母的组合,M-模型, V-视图, C-控制器。 这些在百度上随便一索就可以索到,而且网上对这三个部分的解释又过于笼统,使人没法完全理解MVC的含义。

这里我简单的谈谈我对MVC这三个部分的一个理解并说明它们的具体职责是什么。我以网页脚本PHP为例。

我们知道在网站的访问过程中在浏览器和web服务器之间传输的最多的就是数据,所以我认为MVC这三个部分就是为了数据的产生,传输,和显示和产生的。

M-模型负责了数据的产生和处理。它可以自己产生数据,它也可以从其它的存储介质如文件、数据库等地方取得数据。它还负责数据的处理,包括将数据打包存储。还还可以是这些动作的一些组合。

查看更多...

分类:WEB服务器 | 固定链接 | 评论: 0 | 查看次数: 3003

vim(gvim)相关插件整理

 之前有朋友在博客里希望我能列出自己使用的所有Vim插件,一直没有时间,趁周末的最后的几个小时,就给大家列一下,大家可以实行拿来主义,取自己需要的,呵呵~

OK,一个个来说吧~~

 

查看更多...

分类:智慧人生 | 固定链接 | 评论: 0 | 查看次数: 3085

Android 自启动管理原理

标 题: Android 自启动管理原理
作 者: web开发网[http://www.zeroplace.cn]

时 间: 2013/10/22 10:15:00
链 接: http://www.zeroplace.cn/article.asp?id=875
说 明: 转载请保留本段文字 

 垃圾手机,用网上那种优化软件很多功能我用不到,还太占用内存,准备自己写一个自启动管理的软件。

网上搜索了一下,大致是说可以用PackageManager这个包来取得所有的应用列表,然后再来进行筛选。

因为安卓下面自启动大多是通过接收ACTION_BOOT_COMPLETED这个广播来完成的,所以我只要找到所有含有接收这个广播的BroadcastReceiver的包就可以了。

查看更多...

分类:linux教程 | 固定链接 | 评论: 0 | 查看次数: 8061

手动删除android自带应用

标 题: 手动删除android自带应用
作 者: web开发网[http://www.zeroplace.cn]

时 间: 2013/10/21 10:15:00
链 接: http://www.zeroplace.cn/article.asp?id=874
说 明: 转载请保留本段文字 

 前两天刷了一次机,那系统里面自带了"有你短信"和"卓锋市场"这两个应用,还经常会弹出广告。像我这种有“软件洁癖”的人是不能容忍的。开始删除...

首先想到的是打开QQ的手机管家,试图通过他的应用管理功能来卸载这两个应用。结果是不管怎么尝试都显示卸载失败...

这样我就只能手动删除它了,打开手机中的re管理器,到/system/app目录中找了一下,没有发现Youni这个字样...

查看更多...

分类:智慧人生 | 固定链接 | 评论: 0 | 查看次数: 2949

高灰白话Com组件

 什么是Com组件,首先给出百度百科的解释

COM component(COM组件)是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块。

 简单的说就是微软搞出来的一种软件开发技术。这种软件开发技术的好处之一就是机器码级别的代码共享。

这个世界上有很多用不同的语言写程序的程序员,但不管是什么语言最终是被转化成机器可以识别的二进制代码来给计算机执行,所以机器码级别的代码共享就可以跨越开发语言的界线。

查看更多...

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 4777

让ubuntu支持GBK编码

 (1 )首先安装中文版ubuntu

 

装完后echo $LANG 默认是utf-8

1.修改/var/lib/locales/supported.d/local文件,在文件中添加

zh_CN.GBK GBK

zh_CN.GB2312 GB2312

2.sudo dpkg-reconfigure --force locales

然后在输出的结果中会出现

zh_CN.GB2312 done

zh_CN.GBK done

出现done就成功了,然后再在用户的配置文件.profile中设置

Export LANG=zh_CN.gbk

 

查看更多...

分类:linux教程 | 固定链接 | 评论: 0 | 查看次数: 4780

DNS预获取(dns-prefetch)

今天翻看twitter的源码的时候看到了一下内容:

<link rel=”dns-prefetch” href=”http://a0.twimg.com”/>

<link rel=”dns-prefetch” href=”http://a1.twimg.com”/>

查看更多...

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 16115

vmware 10的注册码生成器

分类:下载专区 | 固定链接 | 评论: 0 | 查看次数: 3215

 gcc/g++命令参数 

 gcc/g++ 命令的常用选项

格式(选项 && 解释 )
linux gcc常用命令集合:
-o FILE      &&     指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out.
-c           &&     只编译生成目标文件,不链接
-m486        &&     针对 486 进行代码优化。
-O0          &&     不进行优化处理。
-O 或 -O1 &&     优化生成代码。
-O2          &&     进一步优化。
-O3 比 -O2 &&     更进一步优化,包括 inline 函数。
-w           &&     关闭所有警告,建议不要使用此项
-Wall        &&     允许发出gcc能提供的所有有用的警告,也可以用-W(warning)来标记指定的警告
-werror      &&     把所有警告转换为错误,以在警告发生时中止编译过程                             
-MM          &&     输出一个make兼容的相关列表
-v           &&     显示在编译过程的每一步中用到的命令
-E           &&     只运行 C 预编译器。
-shared      &&     生成共享目标文件。通常用在建立共享库时。
-static      &&     链接静态库,即执行静态链接
-lFOO        &&     链接名为libFOO的函数库
-g           &&     在可执行程序中包含标准调试信息
-ggdb        &&     在可执行程序中包含只有GNU debugger才能使别的达两条是信息
-O           &&     优化编译过的代码
-ON          &&     指定代码优化的级别为N,o<=N<=3
-ansi        &&     支持ANSI/ISO C的标准语法,取消GNU的语法扩展中与该标准有冲突的部分(但这一选项并不能保证生成ANSI兼容的代码) 这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。
 
-pedantic &&     允许发出ANSI/ISO C标准所列出的所有警告
-pedantic -errors      &&     允许发出ANSI/ISO C标准所列出的所有错误
-traditional           &&     支持Kernighan & Ritchie C语法(如用旧式语法定义函数);如果不知道这个选项的含义,也没有关系

-IDIRECTORY      &&     指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY      &&     指定额外的函数库搜索路径DIRECTORY。
-DFOO=BAR &&     在命令行定义预处理宏FOO,其值为BAR
-IDIRNAME &&     将DIRNAME加入到头文件的搜索目录列表中
-LDIRNAME &&     将DIRNAME加入到库文件的搜索目录列表中,缺省情况下gcc 只链接共享库
-DMACRO      &&     以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN     &&     以字符串“DEFN”定义 MACRO 宏。
-UMACRO      &&     取消对 MACRO 宏的定义。

个人使用:
使用gcc生成可执行文件后使用 ./filename执行
分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 5133

 想要在Javascript中调用C++的方法,只要实现CHtmlView的OnGetExternal方法就可以,OnGetExternal要返回一个IDispatch的指针。关于如何实现取得这个IDispatch我研究了几天,甚至把那本《Com技术内幕》都看了一遍。

我最开始尝试的方法是直接实现一个直接继承于IDispatch的类,实现它的GetIDsOfNames和Invoke等等。不知道这是不是一个最原始的方法了,虽然可以实现,但是实现的过程非常的繁琐,而且在实现Invoke的时候还要处理各种类型的变量问题。

后来尝试的是再建立一个新的atl工程,然后实现一个标准的COM组件,最后在MFC中用标准的COM组件的调用方式来取得一个接口的IDispatch指针。虽然相对上面的这个方法,在需要写的代码量上已经减少了很多了,但要生成一个dll。

最后在网上发现了一个方法,应该算算得上是最简单的方法了吧。通过CCmdTarget实现自动化服务器。

查看更多...

Tags: javascript MFC

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 11857

CHtmlView中添加NewWindow3

 头文件的中 

.h 
public: 
DECLARE_EVENTSINK_MAP()
void  NewWindow3(            
IDispatch  **ppDisp, 
VARIANT_BOOL  *Cancel, 
DWORD  dwFlags, 
BSTR  bstrUrlContext, 
BSTR  bstrUrl 
) ; 

.cpp 
#include  <exdisp.h> 
#include  <exdispid.h> 
#include  <Mshtml.h> 
#include  <Mshtmdid.h> 
#include  <shobjidl.h> 

BEGIN_EVENTSINK_MAP(CHtmlInExeView,  CHtmlView)
ON_EVENT(CHtmlInExeView,  AFX_IDW_PANE_FIRST,DISPID_NEWWINDOW3,NewWindow3,VTS_PDISPATCH  VTS_PBOOL  VTS_I4  VTS_BSTR  VTS_BSTR)

//或者

//ON_EVENT(CCometWebBrowser,  AFX_IDW_PANE_FIRST,273,NewWindow3,VTS_PDISPATCH  VTS_PBOOL  VTS_I4  VTS_BSTR  VTS_BSTR) 

//273 就是DISPID_NEWWINDOW3 
END_EVENTSINK_MAP()


void CHtmlInExeView::NewWindow3(IDispatch  **ppDisp, 
  VARIANT_BOOL  *Cancel, 
  DWORD  dwFlags, 
  BSTR  bstrUrlContext, 
  BSTR  bstrUrl 
  ) 
{  
MessageBox(_T("拦截测试"),_T("提示"),MB_OK);
}

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 4600

关于蓝韵网络 

蓝韵网络是杭州网骥文化艺术策划有限公司的一个品牌,注册于2009年8月,是一家大学生创业公司。早在大学,就已组建了JPG技术团(JPG学生技术团队|JPG技术团队),服务于院校和企业。

蓝韵网络的服务

蓝韵网络专注于网站建设;成立四年来为300多家企业提供高性价比网站建设服务

查看更多...

分类:智慧人生 | 固定链接 | 评论: 0 | 查看次数: 4663

go下载

 http://code.google.com/p/go/downloads/list

分类:下载专区 | 固定链接 | 评论: 0 | 查看次数: 2560

人人都能用的10条网站易用性技巧

嗯,WebAIM团队博客的一篇关于网站易用性的文章,比较基础,简单翻译一下:

1. 给你的logo添加替代文本

这样有两个好处:屏幕阅读器能识别logo图片代表的含义,图片未加载到时,也能告诉非视障用户那里是你的logo。

几种方法:

1  
<img src="logo.png" alt="前端界">

或者,你用背景图来实现logo的话,也可以添加title属性来实现:

1  2  
<span title="前端界"></span>  </code>

查看更多...

分类:智慧人生 | 固定链接 | 评论: 0 | 查看次数: 2846

GCC 命令行详解 

 1。gcc包含的c/c++编译器
gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什
么意思:))一般c程序就用gcc编译,c++程序就用g++编译

2。gcc的基本用法
gcc test.c这样将编译出一个名为a.out的程序
gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 4511

下载chrome代码并编译

做好发掘工作的第一步就是获取代码并能成功编译调试,我这里只谈在windows环境下的编译,我的操作系统是Windows Server 2008 企业版,其他windows 环境应该没有什么大的区别。其实我写此文的目的可能更多的是加深印象,做个备忘,因为官方描述的编译过程已经比较清楚了,如果你对官方的文档描述更感兴趣,请参考这里

查看更多...

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 6785

sed命令详解

 sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。

sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。

查看更多...

分类:linux教程 | 固定链接 | 评论: 0 | 查看次数: 4381
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭