Android模拟器不能上网的问题之解决方法 cloudy

Android模拟器默认的地址是10.0.2.3,默认的DNS也是10.0.2.3,但是一般电脑的IP都是192.168.*.*之类的,不在同一个网段。

所以就会出现电脑可以上网但是模拟器不能上网的情况。其实设置方法很简单,只要把模拟器的默认DNS设置成电脑的DNS地址即可。

以下步骤在命令提示符操作:

第一步:cd F:\Android\android-sdk\tools
第二步:emulator @Android_2.1   (其中为Android_2.1你的模拟器名称)
第三步:cd F:\Android\android-sdk\platform-tools
第四步:adb shell    (进入模拟器的linux系统)
第五步:#getprop    (getprop会列出系统当前的各项属性)
在结果里可以看到:
...

在CentOS中安装中文字体 cloudy

1、先从你本机 C:\Windows\Fonts 拷贝或者网络上下载你想要安装的字体文件(*.ttf文件)/usr/share/fonts/chinese/TrueType 目录下(如果系统中没有此目录,则自行mkdir创建,亦可重命名为自己喜欢的文件夹名)

2、修改字体文件的权限,使root用户以外的用户也可以使用

# cd /usr/share/fonts/chinese/TrueType
# chmod 755 *.ttf

3、建立字体缓存

# mkfontscale (如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale
# mkfontdir
# fc-cache -fv (如果提示 fc-cache: command not found,则需要安装# yum install fontconfig

4、重启计算机
# reboot

jQuery ajax 返回json数据格式的问题 suny

 今天在使用如下代码的时候,

   javascript代码
  1. $.get("/ajax", {"ran":Math.random(),"act":act,"id":id}, function(d) {  
  2.         alert(d.ret); 
  3.     },"json"); 

返回的数据是:{ret:0} ,发现无法直接把返回的数据转换为 json 对象,需要使用

var d = eval("("+data+")");  转换一下对象才可以。

...

Nginx fastCGI 模式PHP页面显示空白 suny

 今天帮朋友配置Nginx+PHP环境时,启动后访问php显示空白页面,经过搜索得知 fastcgi_params 文件(部分版本是fastcgi.conf,主要看 nginx.conf 的include路径),配置文件缺少一行:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

--------------------以下内容来自网络--------------------

...

mysql 安装常见问题 suny

 今天在CentOS下安装mysql碰见几个问题,发出来共享一下:

1、# mysql 命令报错:mysql: command not found
原因是系统找不到mysql的路径,即没有配置环境变量:

# vi /etc/profile

在 pathmunge /usr/local/sbin 下面新增一行:
pathmunge /usr/local/mysql/bin

蓝色字体是你的mysql安装路径。然后保存退出,使其立即生效:

方法1:# source /etc/profile
方法2:# . /etc/profile (注意: . 和 /etc/profile 有空格)

2、启动MySQL报错:Starting MySQL.Manager of pid-file quit without updating fi[FAILED]
查看数据库目录下的err文件内容有如下错误:
File './mysql-bin.index' not found (Errcode: 13)

其实当前目录mysql-bin.index是存在的,但是报错是因为没有写入权限。解决方法:

返回 data 的上一层目录,然后赋予写入权限:
...

Update from 子查询更新 suny

在更新表数据的时候,我们时常需要把另外一个表的关联值的数据更新到当前表,此时就需要用到子查询了:

MS SQL Server的写法:

update child set parent_name =p.name from child c,parent p where c.parent_id=p.id
或者
update child set parent_name =(select name from parent p where p.id=parent_id)

但是MySQL执行如上语句则会报错:
Error Code: 1093. You can´t specify target table ´xxx´ for update in FROM clause

MySQL不支持子查询更新,MySQL我们应该这样写:

update child c inner join parent p on p.id=c.parent_id set c.parent_name=p.name;

CentOS环境下把 Nginx 从0.8.54平滑升级至1.0.6 suny

      使用Nginx很久了,一直没有更新和升级,最近爆出低版本的nginx有安全漏洞,虽然当前版本没有受影响,但是本着追求新版和稳定的精神,今天把nginx顺利升级到了最新的1.0.6稳定版。

升级步骤:

1、下载安装包:# wget http://nginx.org/download/nginx-1.0.6.tar.gz

2、解压文件:# tar xzvf nginx-1.0.6.tar.gz

3、查看原版本的安装配置:# /usr/local/nginx/sbin/nginx -V
nginx: nginx version: nginx/0.8.54
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
nginx: TLS SNI support disabled
nginx: configure arguments: --with-http_stub_status_module --with-http_ssl_module
拷贝你的红色字体的安装配置参数

4、安装配置:# ./configure --with-http_stub_status_module --with-http_ssl_module

5、然后make但是不要make install:# make

6、编译完,在objs目录下有一个nginx执行文件,备份下原来老的nginx文件:
...

myBatis 使用Select top 动态参数出现“´@P0´ 附近有语法错误”的解决 cloudy

今天在使用myBatis使用 select top #{num} * from tableName... 传递动态参数的时候会无法执行SQL语句,报错:'@P0'附近有语法错误

最后寻得解决方法应该为:select top ${num} * from tableName...

iBatis2对应语法是:#num# 和 $num$。

具体解释如下:(转自:wangkuoguang的“成长”空间)

1、#是把传入的数据当作字符串,如#field#传入的是id,则sql语句生成是这样,order by "id",这当然会报错。
2、$传入的数据直接生成在sql里,如#field#传入的是id,则sql语句生成是这样,order by id, 这就对了。
3、#方式能够很大程度防止sql注入。
4、$方式无法方式sql注入。
5、$方式一般用于传入数据库对象,例如传入表名。
6、一般能用#的就别用$。


...

httpClient4.x中,MultipartEntity中附加中文信息时的乱码解决 cloud

今天在开发腾讯微博应用的时候,发现部署在Linux上面的jsp无法同时发送图片和汉字,会出现鉴权失败的错误,原因是参数中的中文汉字乱码了!但是在本地winxp环境使用eclipse调试却可以正常发送!

经过调试,发现是httpClient中的MultipartEntity参数编码出现了异常,修改如下:
MultipartEntity reqEntity = new MultipartEntity();
..........
reqEntity.addPart(param[0], new StringBody(value));
改为
MultipartEntity reqEntity = new MultipartEntity();
...

jQuery.getJSON 跨域访问远程数据源“拒绝访问”的解决方法 cloudy

昨天在开发一个腾讯微博API的时候,遇到jQuery.getJSON跨域名远程访问json数据源的时候,报“拒绝访问”的脚本错误。

修改前:

   javascript代码
  1. $.getJSON(apiURL+"gethtlist.jsp"
  2.       {"page":page,"pageSize":pageSize,"pageinfo":pageinfo}, 
  3.       function(json){ 
  4.             alert(json); 
  5.       }); 

修改后:

   javascript代码
  1. $.getJSON(apiURL+"gethtlist.jsp?jsoncallback=?"
  2.       {"page":page,"pageSize":pageSize,"pageinfo":pageinfo}, 
  3.       function(json){ 
  4.             alert(json); 
  5.       }); 

URL后面多了:?jsoncallback=?

当然,jsoncallback可以改为其它你想要的名字,然后在服务端(本例指gethtlist.jsp)应该获取这个参数,并且封装一下json数据。

修改前只是一个json数据对象:
{"data":{id:1,title:'javawind'},msg:"ok",ret:0}

那么我们应该修改成:
jsoncallback({"data":{id:1,title:'javawind'},msg:"ok",ret:0})

其中jsoncallback是获取的jsoncallback的参数,这里是jsp,所以应该是:
<%=request.getParameter("jsoncallback")%>({"data":{id:1,title:'javawind'},msg:"ok",ret:0})

jsoncallback=? 表示参数由jQuery自动生成,最终它会生成一个jsonp1294882912998这样格式(jsonp+时间戳)的参数,你也可以指定jsoncallback=xxxyyy参数给他,服务器端就可以不用动态获取了。

参考文档:
jQuery 1.3 API 参考文档中文版
Remote JSON - JSONP


...

Total:71123456788 Pages