代码改变世界

随笔档案-2011年11月27日

《PHP与MySQL程序设计》第八章异常处理

2011-11-27 15:22 by htc开发, 223 阅读, 收藏,
摘要: 8.2 错误日志1. Web服务器进程所有者必须有足够的权限来写日志文件到某个目录。2. 确保这个文件存放在文档根之外,以减少遭到攻击的可能性。3. 可以写入操作系统的日志工具(Linux上是syslog,Windows上是Event Viewer)。<?php define_syslog_variables(); openlog("CHP8", LOG_PID, LOG_USER); syslog(LOG_WARNING, "Chapter 8 example warning"); closelog();?>int openlog(stri 阅读全文

《PHP与MySQL程序设计》面向对象的PHP

2011-11-27 15:19 by htc开发, 137 阅读, 收藏,
摘要: PHP对象的方法、属性的访问跟Java相似,有public, protected, private, final, static。6.3 构造函数和析构函数function __construct/destruct(args...) { ...}6.4 静态类成员class Visitor { private static $visitors = 0; function f() { self::$visitors++;} static function getVisitors() { return self::$visitors; }}6.5 instanceof和其... 阅读全文

《PHP与MySQL程序设计》第三章 PHP基础

2011-11-27 15:17 by htc开发, 215 阅读, 收藏,
摘要: 1. PHP标识Web服务器只向PHP解析器传递带有PHP标识的行,来提高效率。四种:<?php ?>, <? ?>, <script language="php">...</script>, <% %>2. 注释// 单行, /* */ 多行, # 单行3. 向浏览器输出print: 1表示输出成功。echo没有返回值所以略快。<?php $season ="summertime"; print "<p>I love the $season</p>&qu 阅读全文

Ubuntu上LAMP环境搭建

2011-11-27 15:15 by htc开发, 157 阅读, 收藏,
摘要: 1. 安装Apache 2sudo apt-get install apache2测试:firefox 127.0.0.12. 安装PHPsudo apt-get install php5 //安装PHP5sudo /etc/init.d/apache2 restart//重启APACHE测试:首先启用root(如果禁用的话)sudo passwd rootthen enter your password.然后切换到rootsu root最后在/var/www/里创建testphp.php在浏览器中访问:127.0.0.1/testphp.php3. 安装MySQLsudo apt-get i 阅读全文

Google AppEngine上部署PHP应用

2011-11-27 15:11 by htc开发, 210 阅读, 收藏,
摘要: 现在GAE已经支持java了,但不幸的是PHP任然毫无音讯。但是我们在google官方支持PHP之前我们可以使用基于java的Quercus。Quercus基本上可以100%的支持PHP语言(需要JDK1.5)。现在我们开始用GAE运行PHP:1) 注册一个免费的GAE帐户 。2)下载此文件到您的计算机(如果连接失效大家可以搜索phpwithgae便可以下载到它,如还不行就给我留言吧。)。3) 修改war\WEB-INF\appengine-web.xml ,将phpwithgae换成你自己的GAE名字。<?xml version="1.0" encoding=&qu 阅读全文

《锋利的jQuery》之jQuery与Ajax

2011-11-27 15:00 by htc开发, 224 阅读, 收藏,
摘要: jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是load()、$.get()、$.post()方法,第3层是$.getScript()和$.getJSON()方法。1. load()载入远程HTML代码并插入DOM中。无参数传递则是GET方式$("#send").click(function() {$("#resText").load("test.html");}有参数则是POST方式$("#resText").load("test.php", 阅读全文

《锋利的jQuery》之jQuery简介

2011-11-27 14:59 by htc开发, 221 阅读, 收藏,
摘要: 1.1 JavaScript简介JavaScript的缺点:复杂的文档对象模型(DOM),不一致的浏览器实现,缺乏便捷的开发、调试工具。Ajax(异步的JavaScript和XML)诞生,导火索是Google的一系列新型Web应用:Gmail、Google Suggest、Google Map等。涌现大量JS库:Prototype, Dojo, ExtJS, jQuery, YUI...1.2 jQuery优势轻量级:使用Min版并且在服务器端启用Gzip压缩后,大小只有18KB。强大的选择器:支持CSS1到3的所有选择器,还可以加入插件使其支持XPath选择器。DOM操作封装事件处理机制:可 阅读全文

Linux常用命令之文件管理

2011-11-27 14:58 by htc开发, 158 阅读, 收藏,
摘要: 1. ls-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出-r 将档案以相反次序显示(原定依英文字母次序)-t 将档案依建立时间之先后次序列出-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"-R 若目录下有档案,则以下之档案亦皆依序列出常用: 查看文件具体具体信息:ls -l *E* 阅读全文

《Linux C一站式编程》第八章 数组

2011-11-27 14:57 by htc开发, 396 阅读, 收藏,
摘要: 1. 数组的基本概念数组(Array)也是一种复合数据类型,它由一系列相同类型的元素(Element)组成。int count[4];和结构体成员类似,数组count的4个元素的存储空间也是相邻的。结构体成员可以是基本数据类型,也可以是复合数据类型,数组中的元素也是如此。根据组合规则,我们可以定义一个由4个结构体元素组成的数组:struct complex_struct { double x, y;} a[4];struct { double x, y; int count[4];} s;使用数组下标不能超出数组的长度范围,这一点在使用变量做数组下标时尤其要注意。C编译器并不检查coun... 阅读全文

《Linux C一站式学习》第七章 结构体

2011-11-27 14:57 by htc开发, 280 阅读, 收藏,
摘要: 1. 复合类型与结构体在编程语言中,最基本的、不可再分的数据类型称为基本类型(Primitive Type),例如整型、浮点型;根据语法规则由基本类型组合而成的类型称为复合类型(Compound Type),例如字符串是由很多字符组成的。struct complex_struct { double x, y;};struct complex_struct { double x, y;} z1, z2;struct complex_struct z3, z4;struct complext_struct z = { 3.0, 4.0 }Initializer中的数据依次赋给结构体的各成员。如.. 阅读全文

《Linux C一站式学习》第三章 简单的函数

2011-11-27 14:56 by htc开发, 171 阅读, 收藏,
摘要: 4. 全局变量、局部变量和作用域全局变量定义在所有的函数体之外,它们在程序开始运行时分配存储空间,在程序结束时释放存储空间,在任何函数中都可以访问全局变量。如果全局变量和局部变量重名了会怎么样呢?例3.6.作用域则第一次调用print_time打印的是全局变量的值,第二次直接调用printf打印的则是main函数局部变量的值。设想整个源文件是一张大纸,也就是全局变量的作用域,而main函数是盖在这张大纸上的一张小纸,也就是main函数局部变量的作用域。在小纸上用到标识符hour和minute时应该参考小纸上的定义,因为大纸(全局变量的作用域)被盖住了,如果在小纸上用到某个标识符却没有找到它的定 阅读全文

《Linux C一站式学习》第一章 程序的基本概念

2011-11-27 14:55 by htc开发, 187 阅读, 收藏,
摘要: 1. 程序和编程语言程序是由一系列指令(instruction)构成,指令包含:输入、输出、基本运算、测试和分支、循环。编程语言分为低级语言(机器语言和汇编语言,用计算机指令编写程序)和高级语言(C、C++、Java、Python,用语句编写程序)。表1.1.一个语句的三种表示编程语言表示形式C语言a=b+1;汇编语言mov0x804a01c,%eaxadd$0x1,%eaxmov%eax,0x804a018机器语言a11ca0040883c001a318a00408最早的程序员都是直接用机器语言编程,但是很麻烦,需要查大量的表格来确定每个数字表示什么意思,编写出来的程序很不直观,而且容易出错 阅读全文

《Windows程序设计》第一章 起步

2011-11-27 14:54 by htc开发, 206 阅读, 收藏,
摘要: 这些程式使用C语言撰写并原原本本的使用Windows API来开发程式。我将这种方法称作「古典」Windows程式设计。这是我们在1985年为Windows 1.0写程式的方法,它今天仍是写作Windows程式的有效方法。一般而言,Windows API自Windows 1.0以来一直保持一致,没什么重大改变。Windows API和它的语法的最大变化来自於从16位元架构向32位元架构转化的过程中。使用C语言和原始的API不是编写Windows 98程式的唯一方法。然而,这种方法却提供给您最佳的性能、最强大的功能和在发掘Windows特性方面最大的灵活性。可执行档案相对较小且运行时不要求外部程 阅读全文

软件开发中的经验主义和理性主义

2011-11-27 13:05 by htc开发, 295 阅读, 收藏,
摘要: 软件开发中的经验主义和理性主义读《设计原本》笔记理性主义和经验主义是典型的认识论理论。这两种类型的思想,从古到今,从中到外,互相对立,互相斗争,又互相影响,互相渗透。经验主义者认为人类知识起源于感觉,并以感觉的领会为基础。经验主义诞生于古希腊。距今已有2400余年的历史。理性主义者认为,感觉经验只能产生关于表象世界的意见,由于表象可能使人受到蒙蔽,所以这种得之于观察的经验是不可靠的,无法被确认为知识。经验主义的代表人物有弗.培根、洛克、巴克莱、休谟、霍布斯,他们都是英国哲学家,故常常称作“英国经验主义”;理性主义则以法国的笛卡尔、荷兰的斯宾诺莎、德国的莱布尼兹为主要代表,他们都是西欧大陆各国的 阅读全文