在线编程指南

Posted on 29th November 2005 by Nio in 程序人生

很久没有更新的 PHPEverywhere 列出了一些在线编程指南,有些已经看过,想想自己先前也收藏过许多,但实在是没有太多时间看,大多是用到的时候现找 :| 不管怎样,把链接复制下来再说。# How to be a Programmer: A Short, Comprehensive, and Personal Summary, Robert L Read
Not short, but excellent distillation of one man's programming wisdom. Covers handling difficult colleagues, management, coding, optimizing and the difficult task of debugging.

# The Art of Unix Programming, Eric Raymond
More than just a programming guide, an exposition of a design philosophy — the Unix way. Encyclopaedic in ambition and scope.

# Producing Open Source Software, Karl Fogel
A guide on how to run a successful open source software project. I like his introduction: "Most free software projects fail. We tend not to hear very much about the failures. Only successful projects attract attention, and there are so many free software projects in total that even though only a small percentage succeed, the result is still a lot of visible projects. We also don't hear about the failures because failure is not an event. There is no single moment when a project ceases to be viable; people just sort of drift away and stop working on it.".

# Worse is Better, Richard Gabriel
Still provocative and topical. The concept known as "worse is better" holds that in software making (and perhaps in other arenas as well) it is better to start with a minimal creation and grow it as needed. Further debates on "worse is better".

# Being A Better Programmer, Danny Burbol
Advice written from a game programmers perspective. I don't quite agree with his opinions on documentation (I think you need to think of documentation as teaching, not making notes; in a large project, there should be some programming overviews and tutorials so people can kickstart without bugging you), but overall it's good advice.

# Little Nybbles of Development Wisdom, Terence Parr
What one man learnt over the course of a 3 year software odyssey - a bit too preachy for me (some of the advice seems specific to his project) but still interesting.

# How To Write Unmaintainable Code, Roedy Green
Roedy is a dangerous man :)

# The archives of Joel On Software are a good read.

# Alan Cox, Linux coding master, on writing better software. ….

PHP6 特性,有值得你期待的吗?

Posted on 25th November 2005 by Nio in 程序人生

Derick 发布了 PHP 核心开发人员在巴黎的“会议纪要”:Minutes PHP Developers Meeting。讨论了很多关于 PHP6 的新特性,包括 unicode、摒弃 register_globals magic_quotes 等等,很值得了解一下,也有不少是值得期待的。但感觉更多的是 BC,破坏兼容性真的很令人讨厌。
1. Unicode
o 1.1 Unicode on/off modes
o 1.2 Different String Types
o 1.3 Extension upgrading
o 1.4 Bundling ICU
o 1.5 Filename Encoding
o 1.6 Collator Caching
o 1.7 Optimising []
o 1.8 Locale Sensitivity
o 1.10 Conversion Errors
* 2. Cleanup of Functionality
o 2.1 register_globals
o 2.2 magic_quotes
o 2.3 safe_mode
o 2.4 Deprecated Behaviour
o 2.5 zend.ze1_compatibility mode
o 2.6 Support for Freetype 1 and GD 1
o 2.7 open_basedir
o 2.8 dl()
o 2.9 CGI/FastCGI mode
o 2.10 Dynamic class inheritance
o 2.11 register_long_arrays, HTTP_*_VARS
o 2.12 old type constructors
o 2.13 Case sensitivity of identifiers
o 2.14 break $var
* 3. PECL
o 3.1 XMLReader / XMLWriter in the distribution, on by default
o 3.2 Move non-PDO DB extensions to PECL
o 3.3 Move ereg to PECL
o 3.4 Split ext/dba into a core extensions and sub-extensions in PECL
o 3.5 Fileinfo extension in the distribution
o 3.6 Other extensions to PECL?
o 3.7 Fix ext/soap and add support for wsse/secext
o 3.8 Allow files with an open stream to be deleted
o 3.9 ext/bitset
* 4. Engine Additions
o 4.1 Add a 64bit integer
o 4.2 Adding "goto"
o 4.3 ifsetor() as "replacement" for $foo = isset($foo) ? $foo : "something else"
o 4.4 Allow foreach syntax for multi-dimensional arrays
o 4.5 Cleanup for {} vs. []
o 4.6 Changes to the shut-up (@) operator that disallow (@ini_set(…))
o 4.7 Allow foreach() without "as" part (I guess for iterators)
o 4.8 Named Parameters
o 4.9 Make parameter order consistent over all functions
o 4.10 Minor function changes: microtime()
* 5. Changes to OO functionality
o 5.1 "function require __construct(" to force calling the parent's constructor
o 5.2 Allow interfaces to specify the __construct() signature
o 5.3 Implement inheritance rules for type hints
o 5.4 Late static binding using "this" without "$" (or perhaps with a different name)
o 5.5 Object casting to primitive types
o 5.6 name spaces
o 5.7 Using an undefined property in a class with defined properties should throw a warning
o 5.8 Type-hinted properties and return values
o 5.10 Method calls
o 5.11 ReflectionClass cache in zend_class_entry* and support "$this::class"
o 5.12 Delegates
* 6. Additions
o 6.1 Add an opcode cache to the distribution (APC)
o 6.2 Merge Hardened PHP patch into PHP
o 6.3 Sand boxing or taint mode
o 6.4 All non-fatal errors should be marked in extensions as E_RECOVERABLE_ERROR
o 6.5 All non-fatal errors should become exceptions
o 6.6 E_STRICT on by default
o 6.7 Remove support for and add ""
o 6.8 Rewrite build system
o 6.9 Added persistent flag to zval struct
o 6.10 Read-only properties

动态解决布局依赖

Posted on 22nd November 2005 by Nio in 程序人生

Dynamic Resolution Dependent LayoutsIntroduction

In my previous feature on CSS layouts, I talked a bit about the different CSS layout approaches available to a designer when building a web site. In this feature, I’d like to focus on a dynamic resolution dependent layout implementation that I think provides a strong alternative for those trying to find a balance between fluid and fixed layouts. With dynamic layouts, the possibilities really are quite endless. You can change 3-column layouts to 2-column layouts, provide appropriate font-sizes to increase legibility, and even reward higher resolution viewers with extra content and larger images. And no, you don’t have to put php in the CSS or lose the caching benefits of using external stylesheets to make it work. …

关于测试

Posted on 19th November 2005 by Nio in 程序人生

现在越来越离不开测试驱动了,在 Chris Shiflett 的 BLOG 上看到他将于今年的 ApacheCon 上做一个 PHP 测试教程。还列出了一些很有用的资源:
* PHPUnit
* PHPUnit Pocket Guide
* Simple Test
* Simple Test Tutorial
* phpt Tutorial
* Apache-Test
* Apache-Test Demo
* Apache-Test Skeleton
* Apache-Test Support for Simple Test

PHPUnit 比较流行,使用也比较普遍,而 CakePHP 则用了 Simple Test,这个也不错 ;)

据说我将要有个儿子!

Posted on 17th November 2005 by Nio in 日常生活

晚上 Shxll 打电话跟我说今天去她妈妈的医院检查了,做了 B 超,说是个男孩,本来我俩一直希望有个女孩的,连名字都取好了,叫“肖悦”。Shxll 有些失望,不过也无所谓了,男孩女孩都一样养活,只是担心他以后不好找老婆,当然要是像他老爸那样“优秀”的话应该问题不大,嘻嘻 :D 接下来的问题是给这个男孩取名字,要费不少心思了,先前还说如果是男孩也叫“肖越”的,音相同,字不一样,但现在觉得不是很好听,要不大家集思广益,帮忙想想,呵呵~~