让你成为PHP开发高手的五种方法

国外著名站长blog开发者指南developertutorials.com发表了一篇《5种方法让您成为php开发高手》,笔者简单翻译了一下,有错误请批评指教。原文地址http://www.developertutorials.co ... r-php-developer-36/                  

    我们经常会在聊天室或论坛里遇到php初学者问各种各样的有关php的问题,如果问题过于简单,人们往往回复为“看手册”、“先学学PHP吧”、“我们可不能手把手教你”或者就一句“你应该学的差不多再来问”。怎样才能学的差不多?这篇帖子将教给初学者5种PHP的学习方法,可以提高效率,少写些代码,更佳的网络应用。用PHP开发程序总是要不断的学习:新的函数、新的框架、新的设计面版、新的代码文档样式。下面介绍一些最佳的PHP进阶方法。

1、读手册

    我确实不太注重这个,因为手册中的东西实在是太多了。特别是字符串、数组函数。手册用起来比较方便,当你阅读手册时你常常会发现一些核心函数可以替代以前的程序做的很多无用功。手册是你的好伙伴。  

2、浏览代码

    PHP有很多的开放代码资源,为什么不利用呢?下载一个共享的PHP应用程序并读代码。可能越大的工程越好,因为有着更完整的体系和结构,同时也有完整的文档可供参考。如果你无从起步不妨查看www.sourceforge.net这个网站。

3、学习新的框架  

    PHP框架数不胜数,很多都是开源而且多数网上可以查到。可以先上最全面的网站www.phpframeworks.com,其中有一个很好的PHP框架列表。对PHP框架的应用很多,你的下一个程序可能就需要一个新的框架,你一定会发现它在工程有着广泛的应用。

4、研究

    你一定听说过不少PHP术语,从OOP到MVC、KISS到DRY、YAML到INI、REST到XML-RPC,有数百科技概念与你的工作有关。你可能已经对他们有了一个基本的认识,可是你真的知道它们是什么或者对你有什么意义吗?花点时间研究一下,wikipedia是一个开始的好地方,一定可以让你学到一些新东西。

5、学习OOP

    可能接下来的这些方法与以前的略显不同,但OOP确实比想象的还重要。你知道PHP5的OOP吗?举例来说,抽象类、关键词、静态和属性,“保护的”接口修改?即使是资深的PHP程序员可能都不懂这些。如果你能够应用OOP就可以节省很多开发的时间。
这就是5条简单易懂但是意味深长的成为一个出色PHP开发人员的方法。

goosh 非官方Google Shell 很酷

今天发现了goosh这个很酷的东西:


goosh是由Stefan Grothkopp开发出一个超级酷的模拟命令行模式的Google,它模拟Linux的操作界面,目前可以在浏览器上执行,打开它以后输入关键词就可以进行搜索.


键入help还可以看到更多功能,除此之外它还支持Wikipedia的文字输出,当然,它不支持图片.试试看就知道,效果的确很棒.

访问很酷的:goosh.org

Linux常用命令名或缩写的由来

man: Manual
pwdPrint working directory
suSwith user
cdChange directory
lsList files
psProcess Status
mkdirMake directory
rmdirRemove directory
mkfs: Make file system
fsck:File system check
cat: Concatenate
uname: Unix name
df: Disk free
du: Disk usage
lsmod: List modules
mv: Move file
rm: Remove file
cp: Copy file
ln: Link files
fg: Foreground
bg: Background
chown: Change owner
chgrp: Change group
chmod: Change mode
umount: Unmount
dd: 本来应根据其功能描述“Convert an copy”命名为“cc”,但“cc”已经被用以代表“C Complier”,所以命名为“dd”
tar:Tape archive
lddList dynamic dependencies
insmodInstall module
rmmodRemove module
lsmodList module

文件结尾的"rc"(如.bashrc、.xinitrc等):Resource configuration
Knnxxx / Snnxxx(位于rcx.d目录下):K(Kill);S(Service);nn(执行顺序号);xxx(服务标识)
.a(扩展名a):Archive,static library
.so(扩展名so):Shared object,dynamically linked library
.o(扩展名o):Object file,complied result of C/C++ source file
RPMRed hat package manager
dpkgDebian package manager
apt
Advanced package tool(Debian或基于Debian的发行版中提供)

To be continued...                                  

一台机器上多操作系统安装的原理

一、基本概念
主引导记录(Master Boot Record,MBR):512字节,位于硬盘的第一个扇区;可存放一小段程序及主分区表。
扩展引导记录(Extended Boot Record,EBR):512字节,位于扩展分区的第一个扇区,存放逻辑分区信息。
分区引导区(Partition Boot Record,PBR):512字节,位于每个非扩展主分区及每个逻辑分区的第一个扇区;可存放小段程序。
活动分区(Active Partition):可将所有主分区和逻辑分区中的一个标识为Active,表示系统启动时即加载运行其PBR程序的分区。
  
二、一般单操作系统启动过程
1. BIOS加载并启动保存在硬盘MBR中的引导程序,该引导程序一般在操作系统安装时写入
2. MBR引导程序扫描所有分区表,找出活动分区(Windows MBR程序只会在MBR中的分区表中查找活动分区,即Windows只能安装在主分区;Linux无此限制)

 
3. MBR引导程序加载并启动保存在活动分区PBR中的引导程序
4. 活动分区PBR中的引导程序加载并启动安装在其上的操作系统(例如对Win98,定位并执行io.sys;对WinXP,定位并执行 ntoskrnl.exe;对于Linux,定位并执行vmlinuz-xxx内核映像)。显然PBR引导程序与操作系统密切相关,一般在操作系统安装时 写入。
总结为:BIOS --> MBR code -- > PBR code --> OS files
  
三、修改标准过程实现按需启动指定操作系统
使用Boot Loader软件置换MBR中的引导程序或PBR中的引导程序,如Windows的NT Boot Loader,Linux下的Lilo、Grub等。Windows NT Boot Loader一般用于在一台机器上安装多个Windows系统;Lilo或Grub用于在一台机器上安装多个Linux系统或同时安装Linux和 Windows系统。
Lilo:http://www.linux.org/docs/ldp/howto/LILO.html
Grub:http://www.gnu.org/software/grub/
Windows NT Loader:http://www.tburke.net/info/ntldr/ntldr_hacking_guide.htm
  
四、具体步骤
Google "dual-boot"或"multibooting"(http://www.google.com/search?hl=en&newwindow=1&q=dual-boot+%7C+multibooting&btnG=Search)。了解基本原理后,对具体操作步骤自然会得心应手。

支持新款表情的LumaQQ个人修改版

来自LDCN的消息,LumaQQ Java版已经停止开发很久了,因此表情也是旧版QQ的。不过上周作者TualatriX 在闲暇之余,对LumaQQ_2006M2的源码进行了少许修改,使其支持了当前新式的表情款式,其他地方作者并没有没有改动。因为此项修改并未在实质上改善LumaQQ,作者起初并没有打算放出来。但作者TualatriX考虑到如果放出来后这点改进能改善大家的使用效果,何尝不是件好事。因此打了下包,放在网上供大家下载。十分感谢作者TualatriX所做的修改。

 

针对修改的patch也在整理当中,修改前后的效果可见以下两图:

修改前

修改后

下面是下载地址,因为软件包较大,所以放在网络硬盘上。

deb软件包不检测任何依赖性,用户需要自己安装JRE(5和6均可)。同样zip压缩包也不包括JRE。

适合Debian/Ubuntu的deb软件包

http://www.fs2you.com/zh-cn/files/a7226f38-2240-11dd-94d8-00142218fc6e/

适合所有Linux发行版的压缩包(直接解压运行)

http://www.fs2you.com/files/614ec3ee-2242-11dd-afb2-0014221f4662/

查看作者原文:

LumaQQ个人修改版下载(支持新款表情)

Debian下彻底删除Gnome和KDE的方法

删除 KDE
apt-get --purge remove   libqt3c102-mt

删除 Gnome

apt-get --purge remove liborbit2