09 2013 档案

摘要:接触PHP第二天,要求PHP访问WCF服务着实痛苦,无从下手啊.在网上查了很多资料知道PHP访问WCF很方便如上即可访问但是报错,无法找到SoapClient 这个类,在网上找答案,说是要去掉php.ini中;extension=php_soap.dll的分号去掉,然后重启即可由于不熟悉,兄弟一直在apach中的php.ini-dist中改了又改,一直无效.看了很多网站,都是说没有去掉那个分号可是我就纳闷了,我去了咋就不行呢蛋痛了一下午,最后甚至怀疑是不是人品出了问题临近下班,无意间又打开了localhost这个熟悉的界面php.iniF:\PHP\php-5.2.14-Win32\php-a 阅读全文
posted @ 2013-09-29 09:36 郑文亮 阅读(3613) 评论(0) 推荐(0) 编辑
摘要:安装MongoDB可以参照我的C#操作MongoDB那篇文章。php的话首先从网上下载MongoDB的扩展包,https://github.com/mongodb/mongo-php-driver/downloads,选择对应的扩展包。这是我下的,然后解压,VC6适合apache,VC9适合IIS,ts(thread safe)指PHP以模块形式运行的。然后把其中的php_mongo.dll放在PHP中的ext文件夹中,然后在PHP.INI里面加入extension=php_mongo.dll,重启apache。至此PHP扩展MongoDB的包安装完毕。关于查询MongoDB一些使用函数可以查 阅读全文
posted @ 2013-09-28 08:19 郑文亮 阅读(964) 评论(0) 推荐(0) 编辑
摘要:事实上SVN的确是我用过的最好的源码管理工具,虽然我用过的这类工具并不多,只有VSS、CVS和SVN,其它像PVCS、 TeamSource、ClearCase之类的只有耳闻,因为它们都是商业产品,并且通常用于管理大型的项目,没有机会试用,所以也不知道它们如何。 VSS是我四年前在公司里用过的最早的一款源码管理工具,不过它实在是太一般了,而且也是商业产品。所以除了公司里工作需要,我自己是不用的。从那公司出来以后,我试用了CVS,这才开始对自己的源码进行管理。作为OSS圈里元老级的源码管理工具,CVS有多强我不用再多说。但是现在SVN这颗新星已经渐渐要盖过CVS的光芒了,可见SVN是有自己杀手锏 阅读全文
posted @ 2013-09-27 17:58 郑文亮 阅读(1809) 评论(0) 推荐(0) 编辑
摘要:先下载一个微信apk,以压缩包的形式打开,对比微信界面,找出我们需要的素材。以下两个模块的还原完全采用RelativeLayout相对布局。按钮效果的实现点击对应版块,将有点击效果。这可以通过修改点击背景图实现。在res目录下新建drawable目录,存放以下文件。单行:selector_single.xml[html]view plaincopy多行顶端:selector_first.xml[html]view plaincopy多行中部:selector_body.xml[html]view plaincopy多行底部:selector_last.xml[html]view plainco 阅读全文
posted @ 2013-09-27 14:21 郑文亮 阅读(3019) 评论(4) 推荐(1) 编辑
摘要:多国语言并存就意味着多字节,PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是1~3倍的差异了。采用PHP字符串mbstring可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到UTF-8的字符串$str长度,可以用mb_strlen($str,’UTF-8′)。如果省略第二个参数,则会使用PHP的内部编码。内部编码可以通过mb_internal_encoding()函数得到,设置有两种 阅读全文
posted @ 2013-09-26 18:39 郑文亮 阅读(18516) 评论(1) 推荐(1) 编辑
摘要:1.mysql是非持继连接函数而mysqli是永远连接函数也就是说mysql每次链接都会打开一个连接的进程,而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销有 些朋友在编程的时候,使用 newmysqli('localhost',usenamer','password','databasename');总是报 错,Fatalerror:Class'mysqli'notfoundind:...mysqli类不是php自带的吗?不是默认开启的,win下要改php.ini,去掉php_mysqli.d 阅读全文
posted @ 2013-09-26 17:22 郑文亮 阅读(1232) 评论(1) 推荐(0) 编辑
摘要:如果不想写到 ngnix.conf 中,那么可以在相同的目录下建立另外一个文件夹存放单独的文件,比如新建一个 proxy 的子目录,然后再在里面新建文件 prox.conf ,然后添加如下内容: server { resolver 8.8.8.8; access_log off; listen 8088; location / { proxy_pass $scheme://$host$request_uri; proxy_set_header Host $http_host; proxy_buffers 256 4k; proxy_max_temp_file_size 0k; ... 阅读全文
posted @ 2013-09-25 15:15 郑文亮 阅读(5876) 评论(1) 推荐(0) 编辑
摘要:正向代理的概念正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容 代理服务器去取回来,然后返回给我从网站的角度,只在代理服务器来取内容的时候有一次记录 有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站结论就是 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转 阅读全文
posted @ 2013-09-25 15:14 郑文亮 阅读(5822) 评论(0) 推荐(0) 编辑
摘要:这里做了些基准测试表明nginx打败了其它的轻量级的web服务器和代理服务器,同样也赢了相对不是那么轻量级的产品。有人说这些基准测试是不准确的,因为在这样那样的环境下,做的比较不一致。我倾向同意基准测试只是告诉了我们其中一部分情况,你能做的是消除偏见(有人见过所有人都同意一个基准测试是公平的吗?我是没见过。)不管怎样,这篇文章不是做基准测试来让人们争论(如果你喜欢,可以在Google上找到那样的文章),相反,下面的引述来自人们在现实世界中使用Nginx,在真实的负载下,服务于真正的应用和网站。引述我们投资的一些公司把web平台切换到Nginx后,可以显著的解决扩展问题。Nginx明显有效的实现 阅读全文
posted @ 2013-09-25 14:07 郑文亮 阅读(22088) 评论(2) 推荐(0) 编辑
摘要:搭建编译环境时为什么有时候要设置环境变量,而有时又设置用户变量?环境变量分为系统环境变量和用户环境变量。你所说的环境变量是指系统环境变量,对所有用户起作用而用户环境变量只对当前用户起作用。例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。这个问题在linux下面就相对好理解一些,系统变量都在/etc/profile文件里面,而用户的变量则在~/.bash_profile(如果 阅读全文
posted @ 2013-09-25 10:54 郑文亮 阅读(19536) 评论(1) 推荐(2) 编辑
摘要:Win2k在NTFS系统下可能会出现这样的错误提示,解决办法很简单,只要在网站所在系统盘根目录给ASPNET用户读取权限就可以了,因为原因就是 Server.MapPath() 这个方法,这个方法是让一个相对路径转为绝对路径,而在转换的过程序中,.NET框架需要得到当前硬盘的一些属性,如盘符等,而这个时候,如果将.Net用户对磁盘根目录的权限全部拒绝,从而导致程序无法正常运行。Server.MapPath() 这个方法却是创建目录或文件所必须的,如下面创建目录的代码:Directory.CreateDirectory(Server.MapPath("Test"));如果不给 阅读全文
posted @ 2013-09-22 19:36 郑文亮 阅读(2210) 评论(0) 推荐(1) 编辑
摘要:在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容。在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示。于是乎有了如下布局:[html]view plaincopy运行程序,如下结果,无论你如何调整layout_width,layout_height属性,ListView列表只显示一列!在查阅的各种文档和资料后,发现在ScrollView中嵌套ListView空间,无法正确的计算ListView的大小,故可以通过代码,根据当前的ListView的列表项计算列表的尺寸。实现代码如下:[java]view plaincopyp 阅读全文
posted @ 2013-09-22 18:01 郑文亮 阅读(49075) 评论(11) 推荐(7) 编辑
摘要:本实例弹出窗口主要是继承PopupWindow类来实现的弹出窗体,布局可以根据自己定义设计。弹出效果主要使用了translate和alpha样式实现,具体实习如下:第一步:设计弹出窗口xml:Xml代码第二步:创建SelectPicPopupWindow类继承PopupWindow:Java代码importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.drawable.ColorDrawable;importandroid.view.LayoutInflater;importandroid.v 阅读全文
posted @ 2013-09-22 10:18 郑文亮 阅读(56578) 评论(6) 推荐(4) 编辑
摘要:中午测试员在测试系统模块时发现无法通过WCF从服务器下载数据,检查配置文件后,建议开发人员修改站点的WEB.CONFIG文件,具体修改对比如下:旧的:新的:注意这里修改的主要是maxReceivedMessageSize这个属性,解决了从服务器通过WCF下载大容量数据的问题。下午测试人员继续测试,发现无法将数据通过WCF保存回服务器端。检查数据后发现,需要被保存的数据超过9K,而WCF服务器端使用的是binding="basicHttpBinding"这个数据绑定方式。思路打开,则应该是由于服务器端的接收的数据大小有限制。当初次引用服务后,显示的服务器端binding=&q 阅读全文
posted @ 2013-09-13 18:46 郑文亮 阅读(6629) 评论(1) 推荐(1) 编辑
摘要:在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则:1. 不要阻塞UI线程2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主线程通常又被叫做UI线程。在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行 阅读全文
posted @ 2013-09-11 09:17 郑文亮 阅读(518) 评论(1) 推荐(1) 编辑
摘要:json数据格式解析我自己分为两种;一种是普通的,一种是带有数组形式的;普通形式的:服务器端返回的json数据格式如下:{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}分析代码如下://TODO状态处理500200intres=0;res=httpClient.execute(httpPost).getStatus 阅读全文
posted @ 2013-09-10 20:46 郑文亮 阅读(641) 评论(1) 推荐(0) 编辑
摘要:1.术语和概念术语说明备注Screen size(屏幕尺寸)指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸摩托罗拉milestone手机是3.7英寸Aspect Ratio(宽高比率)指的是实际的物理尺寸宽高比率,分为long和nolongMilestone是16:9,属于longResolution(分辨率)和电脑的分辨率概念一样,指手机屏幕纵、横方向像素个数Milestone是854*480DPI(dot per inch)每英寸像素数,如120dpi,160dpi等,假设QVGA(320*240)分辨率的屏幕物理尺寸是(2英寸*1.5英寸),dpi=1 阅读全文
posted @ 2013-09-09 16:48 郑文亮 阅读(2441) 评论(0) 推荐(0) 编辑
摘要:做Android应用的人都知道,要一个apk适用多个不同的手机屏幕是很容易的,就是在项目的res文件夹下面有多套相关的资源文件。程序运行的时候,Android系统会根据当前设备的信息去加载不同文件夹下的资源文件。但是Android系统是怎么做到这一点的呢?上网上搜了一下,很少有这方便的介绍,只好自己研究下代码了。下面是我研究代码得到的结果(正确性有待确认),在这里分享一下。这里以ICS上在Activity的onCreate()方法里面调用setContentView(int resourceID)为例,介绍一下系统如何根据我们的id(R.layout.xxxx)找到合适的layout文件进行解 阅读全文
posted @ 2013-09-09 16:40 郑文亮 阅读(1200) 评论(2) 推荐(1) 编辑