Submitted by gouki on 2010, February 23, 11:11 AM
今天上来看了看浏览量之后,发现一些问题,大量的分类充斥,让我的博客左侧 栏显得特别的长,因此,我对分类等做了调整,把一些文章较少的分类与较类似的分类进行整合,虽然整合后的数据还是很少,但毕竟比原来仅4、5篇那样的分类好多了。
其实,我还想把PHP再细分,或者再加一些分类,比如,我读别人的架构设计类的文章,这些放到哪里比较合适呢?慢慢先考虑。
sablog2远没有我想的那样优秀,暂时还是先用Sablog,不过,可能会往wordpress上面转。但文章也有点多,而且,原来的收录舍不得啊?
wordpress也可以自定义一些链接,估计可以用,show-%id-1.shtml,这样好象就差不多了。
值得思考的是文章中的代码,如果没有合适的代码编辑器,却不是特别敢转换。sablog2中的那个好象很简单只需要放在<pre>标签里就行了。有点心动。
慢慢来吧,删除了:smarty,Catchword,Learnenglish和android
smarty的新闻和学习资料太少了,就扔进了php分类里
catchword扔到了ideas里,learnenglish放进了literature中
android。。。本来想删除的,后来扔进了misc分类里,主要还是因为我已经有了另一个博客,专门用来记录android相关的资料以及我拍的照片等,它就是:http://g.52cd.net【手机记录生活】


Tags: 数据整合
Misc | 评论:0
| 阅读:15489
Submitted by gouki on 2010, February 23, 9:01 AM
以下内容均来自老王。说实话,simplexml的这些问题我以前遇到过,而且还是非常强烈的遇到了。
那时候是08年的事了,项目中与SOAP在交互,返回的都是XML,所以就直接采用了simplexml_load_string了。这时候就会遇到这种问题,比如我拉一个列表,但会有三种情况:1、没数据,2、1条数据,3、正常数据
1、没数据的时候,返回一个空的simplexml Object,
2、一条数据的时候,返回的也是一个simplexml Object,结果集成了这个object的元素
3、数据列表,这时候返回的却是一个Array,每一个元素是simplexml Object,等同于2。
后来我是没办法,就多写了一个函数判断,如果是object,并且不为空,直接把object强制转为array,因为,如果是空的simplexml Object,强制转的话,还是Object,转不了。。。
当时还有一个可恨的事情,我以前可能介绍过,xml在返回的时候,他的形式可能是这样的<test-name>gouki</test-name>,在返回这样的形式时,生成object时,却是test_name,在没有print_r出来时,我死活搞不定。。。后来才发现这个问题,郁闷啊
好了,说了半天,该说说老王的内容了:
这个问题遇到好几次了,今天翻看以前代码的时候看到,便记下来,先用一段代码重现一下问题:
PHP代码
- <pre>
- <?php
- $string = <<<EOF
- <data>
- <foo><bar>hello</bar></foo>
- <foo><bar>world</bar></foo>
- </data>
- EOF;
-
- $data = simplexml_load_string($string);
-
- print_r($data);
- print_r($data->foo);
- ?>
- </pre>
乍一看,结果很让人费解:
XML/HTML代码
- SimpleXMLElement Object
- (
- [foo] => Array
- (
- [0] => SimpleXMLElement Object
- (
- [bar] => hello
- )
- [1] => SimpleXMLElement Object
- (
- [bar] => world
- )
- )
- )
- SimpleXMLElement Object
- (
- [bar] => hello
- )
明明print_r显示foo是一个有两个bar元素的数组,但是最后却仅仅显示了一个bar元素!
原因其实很简单,在如上所示simplexml_load_string的结果里,foo并不是数组,而是一个迭代对象!
可以这样确认:
PHP代码
- foreach ($data->foo as $v) print_r($v);
- foreach ($data->children() as $v) print_r($v);
看来,print_r或者var_dump之类的表象并不完全可信,自己多留心吧。
原文来自:http://hi.baidu.com/thinkinginlamp/blog/item/9dbb15ce7a621632b700c86a.html
Tags: simplexml, 老王
PHP | 评论:1
| 阅读:37154
Submitted by gouki on 2010, February 22, 1:47 PM
关于版本控制
什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着 软件源代码的文本文件作版本控制管理,而实际上,你可以对任何类型的文件进行版本控制。
如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本。采用版本控制系统(VCS)是个明智的选择。有了它你就可以 将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出是谁最后修改了什么地方从而造成某些怪异问 题,又是谁在何时报告了某个功能缺陷,等等。使用版本控制系统通常还意味着,就算你胡来搞砸了整个项目,把文件改的改,删的删,你也可以轻松恢复到原先的 样子。而由此额外增加的工作量却微乎其微。
本地版本控制系统
许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单,不过坏处却不少:有时候会混 淆所在的工作目录,弄错了文件丢了数据就没了后退的路。
。。。。。。更多看全文
» 阅读全文
Tags: git, svn, cvs
Software | 评论:3
| 阅读:30940
Submitted by gouki on 2010, February 22, 1:18 PM
一大早到单位,终于摒不住。还是安装了win7,成了地板人物,家里的正版win7还是留给我的笔记本吧。
现在说说安装的感觉吧。
与以前的windows 2008比起来,外观很像。安装的过程也差不多。安装速度也挺快,基本上半小时就解决了。
安装完毕后,基本上所有的硬件都能认出来,Except显卡。然后装了一个“驱动人生”软件,基本上所有的驱动也认出来了。本来是装的“驱动精灵”,但是显卡还是认不出,所以才换成了“驱动人生”。
当然安装之前,我也做了很多工作,不然我也不敢安装系统。毕竟我原来的一些配置文件还是很重要的,在那么多重要的环节中,我保留了几样最重要的工具的配置信息:
- cuteftp的站点信息,filezilla的站点信息
- firefox的全配置
- netbeans的配置
这几个是工作中必备的东西,FTP嘛,就不用说了,还有我自己的一些信息;firefox是我最常用的浏览器,也有一大堆的插件。如果每次都重装,很可能会有遗漏。所以找资料,做了一个profile启动的版本【当然,事先我还是用profile manager and synchronizer插件把profile信息备份了下来】;netbeans嘛就不用说了,这是开发工具,工作必备。
当然由于一些其他软件是可以装在D盘的,所以我就没有备份,如editplus之类的【可以设置信息留在安装目录里,当然还要留着keygen】。
总体来说,安装完后,基本上能够很快恢复正常工作。
不过,如果您要安装的话,建议还是先把网卡驱动备份一下,以防万一。【驱动精灵好象有一个版本是带了N多网卡驱动的】这样,即使没有驱动还能上网找,不然就全完了。。
Tags: win7, firefox, portable
Misc | 评论:0
| 阅读:18370
Submitted by gouki on 2010, February 21, 2:15 PM
前段时间有人问,如何统计自己的项目一共写了多少行代码,当时我说的是,遍历目录,然后用files函数读取每个要统计的文件【根据后缀名过滤】,并去掉空行,最后就把数字累加起来就可以了。
后来,他是google到一个专门统计代码的程序后搞定了。
刚才,看到cnitblog,有人这样写道:
XML/HTML代码
- find . -name "*.代码文件后缀" | xargs wc -l
当然,这是在linux下面。。如果有SVN,还需要加上:
XML/HTML代码
- $find . -name "*.代码文件后缀" | grep -v "./svn" | xargs wc -l
一切都是这么的自然。。。
linux下面的方法来自:http://www.cnblogs.com/maczpc/archive/2010/01/28/1658371.html
PHP | 评论:0
| 阅读:21744