适合阅读范围:对JavaScript一无所知~离精通只差一步之遥的人  
基础知识:HTML  


JavaScript就这么回事1:基础知识  

1 创建脚本块  

1: <script language=”JavaScript”>  
2: JavaScript code goes here  
3: </script>  

阅读全文

由于gd2才开始支持真彩图片的创建,所以,,升级服务器,因为原来的安装都是默认的系统安装,也更因为是个菜鸟,所以,安装很困难,起初根据网上一些文章在我的red hat A 3 上安装测试,不过,测试了安装php4.3.X 和php5.0.X都没有成功,最后,根据其他人的文章,自己搞了将近3天,终于安装上了,下面就我安装中出现的错误和过程写出来和大家分享,以免有像我一样的菜鸟们走弯路! (我可是两天多的时间,安装php的次数不下50次得来的经验,希望大家多多支持,有错误当然欢迎给我指正!转载请注明来自中国智慧在线(http: //article.21e.cn ,谢谢!),以下经过测试在red hat 9 和red hat A 3上通过!

如果你机器里原来装有了PHP或者APACHE的RPM或者低版本.你可以现删除,删除安装简洁一些,不过我的实际操作过程是煤油删除,而直接安装的.当然你也可以跟我一样!
首先,服务器GCC要有,不然什么都不能做.可以用gcc -v来查看是否安装了GCC,

#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)

有以上类似信息说明已有GCC,没有就现安装吧,至于如何安装,我就不说了,可以用光盘安装或者是下载源文件都可以,当然你的版本不一定是3.2.3! 阅读全文

sync详解

WEB2.0 jackxiang 2008-9-10 15:20
LINUX—rsync
rsync 官方站点
http://rsync.samba.org/
http://samba.anu.edu.au/rsync/download.html

[ WINDOWS 2003 RSYNC 服务端 ]
rsync for windows download :
http://switch.dl.sourceforge.net/sourceforge/sereds/cwRsync_Server_2.0.10_Installer.zip
阅读全文
从前,有这样一个sql:
SELECT v.*,v2s_subject,v2s.v2s_vid, s.s_views FROM video2sites v2s
    LEFT JOIN videos v USING(v_id)
    LEFT JOIN stats s USING(v2s_id)
    WHERE m_id='$uid' AND v_censor IN(2,3,4) GROUP BY v.v_id
它一直工作得很正常,但有一天,它突然报错了。

报的错是说不能确定v2s_id,仔细检查一下,原来是videos表中为了查询方便也加入了一个“v2s_id”字段,using就傻了。

抛开数据库设计的因素不谈,其实这样的问题是可以避免的。方法很简单,就是用“ON”来代替“USING”。相信很多人像我一样,写程序的时候能少写一点就少写一点,这样做的后果就是往往会带来一些莫名其妙的麻烦。

改过之后的sql是这样的:
SELECT v.*,v2s_subject,v2s.v2s_vid, s.s_views FROM video2sites v2s
    LEFT JOIN videos v ON v.v_id= v2s.v_id
    LEFT JOIN stats s ON s.v2s_id=v2s.v2s_id
    WHERE m_id='$uid' AND v_censor IN(2,3,4) GROUP BY v.v_id
这么写虽然麻烦了些,但起码可以保证在某个表中添加字段的时候不会引起冲突。
来看一下foreach的语法:
foreach ($array as $key=>$value)
{
……
}阅读全文

PHP命名规则

WEB2.0 jackxiang 2008-9-10 12:11
PHP命名规则
合适的命名 命名是程序规划的核心。古人相信只要知道一个人真正的名字就会获得凌驾于那个人之上的不可思议的力
量。只要你给事物想到正确的名字,就会给你以及后来的人带来比代码更强的力量。别笑!

名字就是事物在它所处的生态环境中一个长久而深远的结果。总的来说,只有了解系统的程序员才能为系
统取出最合适的名字。如果所有的命名都与其自然相适合,则关系清晰,含义可以推导得出,一般人的推
想也能在意料之中。

如果你发觉你的命名只有少量能和其对应事物相匹配的话, 最好还是重新好好再看看你的设计吧。

阅读全文
gcc和g++都是GNU(组织)的一个编译器。

误区一:gcc只能编译c代码,g++只能编译c++代码
两者都可以,但是请注意:
1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。
2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。

误区二:gcc不会定义__cplusplus宏,而g++会
实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所述,如果后缀为.c,并且采用gcc编译器,则该宏就是未定义的,否则,就是已定义。
阅读全文
1.EZ-USB FX系列单片机USB外围设备设计与应用
出版社 : 北京航空航天大学出版社
作者  : 许永和/  

出版日期:2002年11月
版别版次:2002年11月第一版第一次印刷

2.8051单片机USB接口Visual Basic程序设计

【作 者】许永和 [同作者作品]  
【丛 书 名】 USB接口完全解决方案系列三  
【出 版 社】 北京航空航天大学出版社     【书 号】 9787810774796  

基于LM3S615的特定温度曲线加热控制系统.到cnki查询一下!

性价比最高的EZ-USB FX2开发板-CY7C68013A
http://bbs.cechinamag.com/?url=http://bbs.cechinamag.com/ShowTopic.aspx?id=4033

直接联系:



联系人:   雷先生
电话:     13975822093
QQ:        19208093    406291081
MSN:       chinaycltech@hotmail.com
E_MAIL:    chinaycltech@163.com
转:http://www.phpe.net/articles/399.shtml

<?php
   class ObjectTracker //对象跟踪器
   {
       private static $nextSerial = 0;
       private $id;
       private $name;

       function __construct($name) //构造函数
       {
           $this->name = $name;
           $this->id = ++self::$nextSerial;
       }

       function __clone()  //克隆
       {
           $this->name = "Clone of $that->name";
           $this->id = ++self::$nextSerial;
       }

       function getId() //获取id属性的值
       {
           return($this->id);
       }

       function getName() //获取name属性的值
       {
           return($this->name);
       }
   }

   $ot = new ObjectTracker("Zeev's Object");
   /*
    * $ot2 = $ot->__clone();
  这一行应当改为
  $ot2 = clone$ot;
    *
    */
   $ot2 = clone$ot;

   //输出: 1 Zeev's Object
   print($ot->getId() . " " . $ot->getName() . "<br>");

   //输出: 2 Clone of Zeev's Object
   print($ot2->getId() . " " . $ot2->getName() . "<br>");
?>
用栈的先进后出:

#include <stdio.h>

int main() {
    int i,j;

    printf("please input two numbers:\n");
    scanf("%d %d",&i,&j);

    printf("the first number i is: %d \n",i);
    printf("the second number j is: %d \n",j);
  
  
    asm ("pushl %%eax\n\t"
         "pushl %%ebx\n\t"
         "popl  %%eax\n\t"
         "popl  %%ebx"
         :"=a"(i),"=b"(j)
         :"a"(i), "b"(j));
  
  
    printf("after swap \n");
    printf("the first number i is: %d \n",i);
    printf("the first number j is: %d \n",j);
  
}


用异或:(RAID里面就用到了这技术。三个里面知道任意两个就可以恢复第三个)阅读全文
0.linux理论

1.计算机体系结构
2.CPU结构
3.内存管理
4.文件系统
5.进程调度

1.linux驱动

1.i2c驱动添加使用                 (inno,摄像头)
2.spi驱动添加和读写               (inno,spi的flash)
3.io驱动                         (led的控制,io操作)
4.dma驱动                        (lcd和ac97 alsa和网卡)
5.中断源                         (inno,摄像头)
6.竞争,并发,阻塞,异步,线程,内存,io,调试(ldd3)
7.usb                            (libusb,skeleton.c)
8.flash,文件系统                 (u-boot,kernel source)

阅读全文
其实做什么框架都是一样,只要适合自己的项目要求的就可以了,用太强的框架,反而影响自己项目的开发效率,适合自己的就是最好的
Mysql Explain 详解

mysql> explain select relation.id as id, relation.infoid as infoid from relation left join information on relation.infoid=information.infoid where relation.owneruid = 1 \G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: relation
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 50
        Extra: Using where
*************************** 2. row ***************************
           id: 1
  select_type: SIMPLE
        table: information
         type: eq_ref
possible_keys: PRIMARY
          key: PRIMARY
      key_len: 4
          ref: public.relation.infoid
         rows: 1
        Extra: Using index
2 rows in set (0.00 sec)


一.语法

explain < table_name >

例如: explain select * from t3 where id=3952602;

二.explain输出解释

+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+
| id | select_type | table | type  | possible_keys     | key     | key_len | ref   | rows | Extra |
+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+

1.id
  我的理解是SQL执行的顺利的标识,SQL从大到小的执行.

例如:
mysql> explain select * from (select * from ( select * from t3 where id=3952602) a) b;
+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+
| id | select_type | table      | type   | possible_keys     | key     | key_len | ref  | rows | Extra |
+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+
|  1 | PRIMARY     | <derived2> | system | NULL              | NULL    | NULL    | NULL |    1 |       |
|  2 | DERIVED     | <derived3> | system | NULL              | NULL    | NULL    | NULL |    1 |       |
|  3 | DERIVED     | t3         | const  | PRIMARY,idx_t3_id | PRIMARY | 4       |      |    1 |       |
+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

很显然这条SQL是从里向外的执行,就是从id=3 向上执行.
阅读全文
Linux下GUI开发:GTK+ 2.0 + anjuta + glade
在Linux,可以考虑用GTK(The GIMP Toolkit)来做GUI(Graphic User interface)开发,开发工具建议使用anjuta + glade(貌似eclipse+cdt也可以)。
阅读全文
http://bbs.51shebao.com/thread-3848-1-1.html
where id=2 and name=“向东” (如果id做了索引先对id,然后对name做索引,先后顺序是不一样的,如果id是唯一性索引,关注一下索引问题)
和:
where name=“向东” and id=2   (刚好相反)
expain就是显示如何处理类似问题!

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。

使用方法,在select语句前加上explain就可以了:

如:explain select surname,first_name form a,b where a.id=b.id

分析结果形式如下:

table
type
possible_keys
key
key_len
ref
rows
Extra

a
range
id

first_name
First_name
9
NULL
23112
Using where

Using temporary

Using filesort

b
ref
id

first_name
id
4
id
2
Using where




EXPLAIN列的解释:

table
显示这一行的数据是关于哪张表的

type
这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL

possible_keys
显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句

key
实际使用的索引。如果为NULL,则没有使用索引。很少的情况下,MYSQL会选择优化不足的索引。这种情况下,可以在SELECT语句中使用USE INDEX(indexname)来强制使用一个索引或者用IGNORE INDEX(indexname)来强制MYSQL忽略索引

key_len
使用的索引的长度。在不损失精确性的情况下,长度越短越好

ref
显示索引的哪一列被使用了,如果可能的话,是一个常数

rows
MYSQL认为必须检查的用来返回请求数据的行数

Extra
关于MYSQL如何解析查询的额外信息。将在表4.3中讨论,但这里可以看到的坏的例子是Using temporary和Using filesort,意思MYSQL根本不能使用索引,结果是检索会很慢




extra列返回的描述的意义

Distinct
一旦MYSQL找到了与行相联合匹配的行,就不再搜索了

Not exists
MYSQL优化了LEFT JOIN,一旦它找到了匹配LEFT JOIN标准的行,

就不再搜索了

Range checked for each

Record(index map:#)
没有找到理想的索引,因此对于从前面表中来的每一个行组合,MYSQL检查使用哪个索引,并用它来从表中返回行。这是使用索引的最慢的连接之一

Using filesort
看到这个的时候,查询就需要优化了。MYSQL需要进行额外的步骤来发现如何对返回的行排序。它根据连接类型以及存储排序键值和匹配条件的全部行的行指针来排序全部行

Using index
列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候

Using temporary
看到这个的时候,查询需要优化了。这里,MYSQL需要创建一个临时表来存储结果,这通常发生在对不同的列集进行ORDER BY上,而不是GROUP BY上

Where used
使用了WHERE从句来限制哪些行将与下一张表匹配或者是返回给用户。如果不想返回表中的全部行,并且连接类型ALL或index,这就会发生,或者是查询有问题




不同连接类型的解释(按照效率高低的顺序排序)

system
表只有一行:system表。这是const连接类型的特殊情况

const
表中的一个记录的最大值能够匹配这个查询(索引可以是主键或惟一索引)。因为只有一行,这个值实际就是常数,因为MYSQL先读这个值然后把它当做常数来对待

eq_ref
在连接中,MYSQL在查询时,从前面的表中,对每一个记录的联合都从表中读取一个记录,它在查询使用了索引为主键或惟一键的全部时使用

ref
这个连接类型只有在查询使用了不是惟一或主键的键或者是这些类型的部分(比如,利用最左边前缀)时发生。对于之前的表的每一个行联合,全部记录都将从表中读出。这个类型严重依赖于根据索引匹配的记录多少—越少越好

range
这个连接类型使用索引返回一个范围中的行,比如使用>或<查找东西时发生的情况

index
这个连接类型对前面的表中的每一个记录联合进行完全扫描(比ALL更好,因为索引一般小于表数据)

ALL
这个连接类型对于前面的每一个记录联合进行完全扫描,这一般比较糟糕,应该尽量避免
Smarty编译是编译,缓存是缓存,静态是静态.,
编译:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)
关于编译原理:
当接到request后,先判断是否第一次请求该url,如果是,将该url所需的模板文件"编译"成php脚本,然后redirect;如果不是,就是说该url的模板已经被"编译"过了,检查不需要重编译后可以马上redirect,重编译条件可以自己设定为固定时限,默认的是模板文件被修改。
关于缓存:
缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。
缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。


分页: 240/271 第一页 上页 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 下页 最后页 [ 显示模式: 摘要 | 列表 ]