Submitted by gouki on 2008, August 3, 1:54 PM
一直让我最郁闷的就是自己的英文水平了,看吧,能看得懂一点点,听吧,一点点也听不懂,连哑巴英语也算不上。
看到新东方上有林语堂老先生的心得,不禁摘录下来,也可以多学习一些前辈的先进经验吧。
林语堂先生(1895-1976),现代文学家、翻译家和英语大师。他一生共出版中文集3种,英文著作36种。他从中国人学习英语的实际出发,提出了一系列的英语教学方法和英语学习方法,至今仍然值得我们借鉴。
一、学英文时须学全句,勿专念单字。学时须把全句语法、语音及腔调整个读出来。
二、学时不可以识字为足。识之必然兼用之。凡遇新字,必至少学得该字之一种正确用法。以后见有多种用法,便多记住。
三、识字不可强记。得其句中用法,自然容易记得。
四、读英文时须耳目口手并到。耳闻、目见、口讲、手抄,缺一不可。四者备,字句自然记得。
五、“四到”中以口到为主要。英语便是英国话,如果不肯开口,如何学得说话?
六、口讲必须重叠练习,凡习一字一句必须反复习诵十数次至数十次,到口音纯熟为止。学外国语与学古文同一道理,须以背诵为入门捷径。每谋取一二句背诵之。日久必有大进。
七、口讲练习有二忌。
(一)忌怕羞。学者在课堂上怕羞,则他处更无练习机会。
(二)忌想分数。一想到分数,便怕说错,怕说错,便开口不得。最后的胜利者,还是不怕羞、不怕错、充分练习的学生。若得教员随时指正,自然可由多错而少错,由少错而纯正,由纯正而流利,甚至由流利而精通。此是先苦后甘之法。
八、读节要精。读音拼写,皆须注意。马马虎虎,糊涂了事,不但英文学不好,任何学问也学不好。
原文:http://www.neworiental.org/Default.aspx?TabID=1130&InfoID=241419&SettingModuleID=2483
Tags: 英语学习, 林语堂, 技巧
Literature | 评论:0
| 阅读:26637
Submitted by gouki on 2008, August 2, 8:36 PM
今天看到一个好东西,是jquery的API,这次的API不是象以前那样用XML的,也不是那种根据官方的数据简单的汉化而来的,这次。。。。阿健同学编译成了CHM文件(虽然以前的也是CHM文件),并且有索引和搜索功能哦。只是由于编译方式的问题吧?不支持中文搜索,不过也总比以前那种纯粹的一个页面来的爽。OH YEAH。。。
剩下一个嘛,就是传统的CSS手册了,这个手册估计只要是WEB开发人员就会人手一份,苏沈小雨同学实在是太让人尊敬了,估计国内开发人员提到CSS手册,都会说,哦,就是那个苏沈小雨的呀。。。
不多说,放上链接。黑黑
注意:jqueryApi文件打开后会生成一个chw的文件,如果你看不顺眼可以每次删掉
附件: jqueryapi_chm.chm (210.1 K, 下载次数:6002)
附件: cascading style sheet 2.0 中文手册.chm (258.56 K, 下载次数:3351)
Tags: chm, css, style, jquery, api
Software | 评论:0
| 阅读:22657
Submitted by gouki on 2008, August 2, 8:30 PM
虽然 LAMP 组合很不错,但是如果想要架设一台同时支持 PHP、ASP、ASP.NET、JSP、Perl 的 Web 虚拟主机服务器,还是用 Windows 2003 的 IIS 6 最好。网上有很多介绍在 IIS 6 上配置 PHP 的文章,但是那些方法不是性能不好,就是升级麻烦。下面的方法可以让你在第一次配置好后,能够非常方便的进行升级。
这里所说的升级,是指从某个 php4 版本升级到另一个 php4 版本,或者从某个 php5 版本升级到另一个 php5 版本,而不是指从 php4 升级到 php5。
准备:
一台安装好的 Windows 2003 服务器,并且已经安装了 IIS 6。
下载 Windows 版的 PHP 二进制压缩包。
安装:
解压缩 PHP 二进制压缩包到 C:\php 目录下(这里假设 C: 盘是系统盘,即安装了Windows 系统的盘,如果系统盘是 D: 盘,则解压缩到 D:\php 目录下,以此类推,下同)。
然后打开“我的电脑”->“属性”->“高级”->“环境变量”->“系统变量”->“path”,编辑其值,在前面增加下面的路径地址:
C:\php;C:\php\dlls;C:\php\extensions;C:\php\sapi;
将 php.ini-dist 或 php.ini-recommended 复制到 C:\Windows 目录下,并改名为 php.ini,一般正式发布网站的服务器用 php.ini-dist,而作为调试用的服务器用 php.ini-recommended 更好。当然一般情况下,这个 php.ini 还是需要根据实际情况来修改的。
下面来介绍一下几个必要的修改选项:
extension_dir = "C:\php\extensions"
这个是 PHP 扩展所放置的目录,请确保跟你实际安装的目录相同。
PHP常用扩展
- extension=php_mbstring.dll
- ;extension=php_big_int.dll
- extension=php_bz2.dll
- extension=php_cpdf.dll
- extension=php_crack.dll
- extension=php_curl.dll
- extension=php_db.dll
- extension=php_dba.dll
- extension=php_dbase.dll
- extension=php_dbx.dll
- extension=php_domxml.dll
- ;extension=php_exif.dll
- ;extension=php_fdf.dll
- ;extension=php_filepro.dll
- extension=php_gd2.dll
- extension=php_gettext.dll
- extension=php_hyperwave.dll
- extension=php_iconv.dll
- ;extension=php_ifx.dll
- ;extension=php_iisfunc.dll
- extension=php_imap.dll
- ;extension=php_interbase.dll
- extension=php_java.dll
- extension=php_ldap.dll
- ;extension=php_mcrypt.dll
- extension=php_mhash.dll
- extension=php_mime_magic.dll
- extension=php_ming.dll
- extension=php_mssql.dll
- extension=php_msql.dll
- ;extension=php_oci8.dll
- extension=php_openssl.dll
- ;extension=php_oracle.dll
- extension=php_pdf.dll
- extension=php_pgsql.dll
- ;extension=php_printer.dll
- extension=php_shmop.dll
- ;extension=php_snmp.dll
- extension=php_sockets.dll
- ;extension=php_sybase_ct.dll
- extension=php_w32api.dll
- extension=php_xmlrpc.dll
- extension=php_xslt.dll
- extension=php_yaz.dll
- extension=php_zip.dll
上面这些,开头没有加分号的是打开的扩展,加了分号的是没有打开的扩展。上面的设置包含了在 Windows 2003 上默认安装情况下可以打开所有扩展(这里列出的是 php 4 的)。
session.save_path = b:\sessions
这个是 session 文件默认保存的目录,这个目录必须是一个存在的目录,不然默认的 session 功能会无效。我这里设置的是一个 ramdisk 上的一个目录。将 session.save_path 设置在 ramdisk 上可以加快 session 处理的速度。如果你没有安装 ramdisk,你可以把它指定到其他盘的任何一个目录下,如 C:\sessions 目录、C:\Windows\Temp 目录等。
OK,基本工作作完了,现在该配置 IIS 了。
打开“ Internet 信息服务(IIS)管理器”,在“ Web 服务扩展”里,选择“添加一个新的 Web 服务扩展”,扩展名可填写“PHP ISAPI 扩展”,要求的文件选择:C:\php\sapi\php4isapi.dll(如果安装的是 PHP5,则此处是 C:\php\sapi\php5isapi.dll,下同),并设置扩展状态为允许。
打开“网站”->“属性”->“主目录”->“应用程序设置”->“配置”->“应用程序扩展”->“添加 ”,可执行文件还是选择 C:\php\sapi\php4isapi.dll。扩展名填写“.php”,动作限制为“HEAD,GET,POST”。
打开“网站”->“属性”->“文档”->“启用默认内容文档”->“添加”,可以将 index.php 添加为默认内容文档。
然后选择“服务器机器名”->“所有任务”->“重新启动 IIS”来重启 IIS。
测试
在默认网站发布目录下,建立一个测试页面:
PHP代码
- <?php
- phpinfo();
- ?>
如果打开这个页面能够看到 php 安装配置信息,就算是安装成功了。
如果想要更优化的执行 php 程序,可以安装 ZendOptimizer-3.0.1-Windows-i386.exe,这个东西安装非常简单,这里就不介绍了。
升级
现在升级就非常简单了。只需要将新版本的 PHP 二进制压缩包下载下来,将原来的 C:\php 目录删除,将新版本解压缩到 C:\php 目录中,然后重新启动一下 IIS 就可以了。不需要修改任何配置,也不需要往 System32 目录中复制任何文件。是不是很方便啊?
膘叔的小技巧:
由于在IIS下面建立站点和关闭站点都比较方便,但是象上面说的升级就不是很方便了。我是指启用站点,虽然直接点击控制台上的restart按钮很方便,但。。。WINDOWS有时候会突然卡死,那时候是关也不能关,开也不能开,只能注销,在这里,我提供一个小小的批处理文件,只要放在桌面上,想重启的时候运行一下就行了。。
文件内容如下:
XML/HTML代码
- net stop w3svc
- net start w3svc
是不是很简单?但不要小看这两行,WINDOWS好象是对命令行的处理有一定的优先级,而且用命令行不会被卡死。
Tags: iis, php, setup, config
Software | 评论:0
| 阅读:20448
Submitted by gouki on 2008, August 2, 8:23 PM
作者:andot,来自:www.coolcode.cn,出处:http://www.coolcode.cn/show-41-1.html
原文如下
- 昨天在调试 WAP 网站时发现,在增加了 GB2312 到 UTF-8 转化以后,有些页面显示不正常了——有些页面只有一半的内容,另一半被截掉了。因为被截掉的部分包含了<p>的后半个标签</p>,因此整个页面都显示不出来,而报告错误。经过猜测、尝试,最后终于把问题集中在了 iconv 函数上。在经过高人指点以后,发现这个函数的第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。但是我尝试了//TRANSLIT 和 //IGNORE 这两个后缀,效果还是不对。于是我想问题可能不是出在这里。从 GB2312 到 UTF-8 转化应该不会有不能转化的字符,因为 UTF-8 的字符集完全包含了 GB2312 中的字符,所以我想大概是前面要转化的字符集指定错了,于是我尝试着把 GB2312 改成 GBK,问题解决!虽然那两个后缀在这里没派上用场,不过也算学了一招,以后肯定会用到的。补记:改成 GBK 后,发现仍然有一封邮件的内容解析不正确。在另一位高人指点下,先换成 GB18030,问题依旧,然后改用 mb_convert_encoding 进行转换,问题解决!不知道是 mb_convert_encoding 问题,还是我的系统问题,我用 mb_convert_encoding 时不支持 GB18030 编码。另外,用 GBK 或者GB18030 作为输入编码,并在输出编码中加上 //IGNORE 后缀,用 iconv 函数也能解决那封含有错误编码的邮件内容解析不正确的问题。不过用 mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,这个比 iconv 要好的多。
其实,同事在生成图片文字水印的时候也遇到了这种问题,同事最初用的是GB2312字符集,结果直接报错,说是字符串的offset有问题,但仔细检查后却没有这种问题。后来才发现是直接调用的这个iconv转换出错了。
原来的转换是从gb2312往 UTF8转换,表面上确实没有什么问题,然而,现在的人特别爱装酷,受影响的那位同志,用的是繁体字,繁体字的字库大多情况是属于GBK的,所以后来换成GBK后就正常了。
估计以后再遇上用火星文的朋友,就真的只能使用andot提出的这种方法了。转换成18030,再使用ignore参数。哈哈
mbstring好象最初的版本里没有使用,如果换成这个,估计代码工作量非常大,先将就着点了
Tags: 字符转换, php, iconv, mbstring, convert
PHP | 评论:0
| 阅读:23445
Submitted by gouki on 2008, August 2, 8:14 PM
目的:
对目前已有的 Web 应用系统,和将来待开发的 Web 应用系统进行集成,实现单点登录。
要求:
- 对已有的 Web 应用系统不作大规模改造。
- 不限制待开发的 Web 应用系统的开发工具。
- 不增加待开发系统的开发难度。
分析:
- 目前,已有的系统都各自维护自己的一套用户库,每个系统中的用户数、用户名、密码几乎都各不相同。要将已有的用户库进行统一是不现实的。因此,我们可以通过将单点登录系统中的用户与其它个系统中的用户建立映射,来实现用一个帐号来管理多个系统的目的。
- 已 有的 Web 应用系统、以及待开发的 Web 应用系统,可能不在同一个域下,虽然会话本身是保存在服务器端,但是会话 id 是需要 cookie 来传递的,而 cookie 不允许跨域访问,而且考虑到各个系统的开发工具也各不相同,即使在同一个域下,不同的开发工具所开发的应用程序之间也很难共享会话,因此要用共享会话的方 式来实现单点登录也不现实。因此我们通过在客户端浏览器、单点登录系统和 Web 应用系统之间传递临时会话,并让 Web 应用系统直接到单点登录系统中获取认证信息来实现单点登录。为保证不同开发工具都能够到单点登录系统获取认证信息,我们采用 xml-rpc 在 Web 应用系统和单点登录系统之间进行通讯。
实现:
单点登录系统中设置 4 个表:
- 单点登录系统用户表,包含 user_id,name,password 3 个字段。
- Web 应用系统表,包含 app_id,name(Web 应用系统名称),checkurl(Web 应用系统中用来验证用户登录的程序地址) 3 个字段。
- 单点登录系统用户到各个 Web 应用系统的用户映射表,包含id,user_id,app_id,name,password 5 个字段。
- 临时会话表,包含 hash(临时会话的 hash 编号),id(对应单点登录系统用户到各个 Web 应用系统的用户映射表中的 id 字段) 2个字段。
用户登录单点登录系统时,通过单点登录系统用户表中的字段来验证用户身份。登录以后,用户可以设置各个系统到该系统用户的映射关系。设置好以后,当通过该 系统进入其他某个 Web 应用系统时,该系统会为该用户和该系统生成一个临时会话编号(hash),并转到 Web 应用系统中的登录检测页面,登录检测页面通过获取到的临时会话编号,来调用单点登录系统的获取用户名和密码的 xml-rpc API,如果用户名密码如果正确,则转到正常登录后的页面,如果不正确,则转到登录错误的页面。这里,xml-rpc API 在返回用户名和密码后,将删除单点登录系统数据库中相应的临时会话,这样不但用户名、密码都是在服务器之间进行传递的,并且临时会话存在的时间也是尽可能 的短,因此只要保证服务器之间的对话不能被监听,即可保证安全性。 已有系统需要增加一个用于单点登录系统的登录验证页面,该页面工作过程大致如下:
- 获取 客户端 hash 值
- 通过 hash 值得到用户名和密码(xml-rpc 调用)
- 通过用户名和密码进行身份验证
- 返回身份验证后的页面
原作者:andot,来源coolcode.cn,原文:http://www.coolcode.cn/show-89-1.html
Tags: 登录, 设计, 通行证
PHP | 评论:0
| 阅读:23439