??xml version="1.0" encoding="utf-8" standalone="yes"?> q个时候我们就需要针对不同的览器去写不同的CSSQ让它能够同时兼容不同的览器,能在不同的浏览器中也能得到我们想要的面效果?/p>
q个针对不同的浏览器写不同的CSS code的过E,叫CSS hack,也叫写CSS hack?/p>
CSS Hack的原理是什?br />
׃不同的浏览器对CSS的支持及解析l果不一Pq由于CSS中的优先U的关系。我们就可以Ҏ(gu)q个来针对不同的览器来写不同的CSS?/p>
比如IE6能识别下划线_和星?QIE7能识别星?Q当不能识别下划U_Q而firefox两个都不能认识。等{?/p>
书写序Q一般是识别能力强的浏览器的CSS写在后面。下面如何写里面说得更详l些?/p>
如何写CSS Hack 解释一下: 上面的css在firefox中,它是认识不了后面的那个带星号*的东东是什么的Q于是将它过滤掉Q不予理睬,解析得到的结果是:div{background:green},于是理所当然q个div的背景是l色的?/p>
在IE6中呢Q它两个background都能识别出来Q它解析得到的结果是:div{background:green;background:red;},于是Ҏ(gu)优先U别Q处在后面的red的优先高,于是当然q个div的背景颜色就是红色的了?/p>
CSS hack:区分IE6QIE7Qfirefox区别不同览器,CSS hack写法Q?/p>
?span style="color: #ff0000;">别IE6与FFQ?br />
background:orange;*background:blue; 区别IE6与IE7Q?br />
background:green !important;background:blue; 区别IE7与FFQ?br />
background:orange; *background:green; 区别FFQIE7QIE6Q?br />
background:orange;*background:green !important;*background:blue; 注: IE都能识别*;标准览?如FF)不能识别*Q?br />
IE6能识?Q但不能识别 !important, IE6 IE7 FF 另外再补充一个,下划U?_", 于是大家q可以这h区分IE6QIE7Qfirefox 注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中_IE6的写在最后面?/p>
附:CSS的各U浏览器兼容一栏表 【正文?/p>
ARM+LINUX路线Q主d入式Linux操作pȝ及其上应用Y件开发目标: Q?Q?掌握L嵌入式微处理器的l构与原理(初步定ؓarm9Q?/p>
Q?Q?必须掌握一个嵌入式操作pȝ Q初步定为uclinux或linux,版本待定Q?/p>
Q?Q?必须熟?zhn)嵌入式Y件开发流Eƈ臛_做一个嵌入式软g目?/p>
从事嵌入式Y件开发的好处是: Q?Q目前国内外q方面的人都很稀~。这一领域入门门槛较高Q所以非专业IT人员很难切入q一领域Q另一斚wQ是因ؓq一领域较新Q目前发展太快,大多Ch无条件接触?/p>
Q?Q与企业计算{应用Y件不同,嵌入式领域h才的工作强度通常低一些(但收入不低)?/p>
Q?Q哪天若惛_业,搞自已的产品Q嵌入式不像应用软g那样Ҏ(gu)被盗版。硬件设计一般都是请其它公司l订做(q叫“贴牌”QOEMQ,都是通用的硬Ӟ我们只管设计软g变成自q产品了?/p>
Q?Q兴所在,q是最主要的?/p>
从事嵌入式Y件开发的~点是: Q?Q?入门L(fng)较高Q所用到的技术往往都有一定难度,若Yg基础不好Q特别是操作pȝUY件功底不深,则可能不适于此行?/p>
Q?Q这斚w的企业数量要q少于企业计类企业?/p>
Q?Q有数公司l常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公怹q无此要求,只要有经验即可?/p>
Q?Q^C托强Q换q_比较辛苦?/p>
兴趣的由来: 1、成功观念不同,不虚度此生,是我的成功?/p>
2、喜Ƣ思考,挑战逻辑思维?/p>
3、喜ƢC C是一U能发挥思维极限的语a。关于C的精的一些方面可以被概述成短句如下: 怿E序员?/p>
不要LE序员做那些需要去做的?/p>
保持语言短小_ֹ?/p>
一U方法做一个操作?/p>
使得它运行的够快Q尽它q不能保证将是可UL的?/p>
4、喜Ƣ底层开发,讨厌vbcd发工Pq不是说vb不好Q?/p>
5、发展前景好Q适合创业Q不惌pM的时候还是一个工E师?/p>
Ҏ(gu)步骤Q?/p>
1、基知识Q?/p>
目的Q能看懂g工作原理Q但重点在嵌入式软gQ特别是操作pȝUYӞ那将是我的优ѝ?/p>
U目Q数字电(sh)路、计机l成原理、嵌入式微处理器l构?/p>
汇编语言、C/C++、编译原理、离散数学?/p>
数据l构和算法、操作系l、Y件工E、网l、数据库?/p>
Ҏ(gu)Q虽U目众多Q但都是较简单的基础Q且大部分已掌握。不一定全学,可根据需要选修?/p>
L书籍Qthe c++ programming languageQ一直没旉读)、数据结?C2?/p>
2、学?fn)linuxQ?/p>
目的Q深入掌握linuxpȝ?/p>
Ҏ(gu)Q用linux—〉linxupȝ~程开发—〉驱动开发和分析linux内核。先看深Q那主讲原理。看几遍后,看情景分析,对照qQ两本交叉,深是UԌ情是目。剖析则?.11版,适合学习(fn)。最后深入代码?/p>
L书籍Qlinux内核完全剖析、unix环境高~程、深入理解linux内核、情景分析和源代?/p>
3、学?fn)嵌入式linuxQ?/p>
目的Q掌握嵌入式处理器其及系l?/p>
Ҏ(gu)Q(1Q嵌入式微处理器l构与应用:直接arm原理及汇~即可,不要重复x86?/p>
Q?Q嵌入式操作pȝc:ucOS/II单,开源,可供入门。而后深入研究uClinux?/p>
Q?Q必L块开发板Qarm9以上Q,有条件可参加培训Q进步快Q能认识些朋友)?/p>
L书籍Q毛h的《嵌入式pȝ》及其他arm9手册与arm汇编指o{?/p>
4、深入学?fn)?/p>
A、数字图像压~技术:主要是应掌握MPEG、mp3{编解码法和技术?/p>
B、通信协议及编E技术:TCP/IP协议?02.11QBluetoothQGPRS、GSM、CDMA{?/p>
C、网l与信息安全技术:如加密技术,数字证书CA{?/p>
D、DSP技术:Digital Signal ProcessQDSP处理器通过g实现数字信号处理法?/p>
说明Q太多细节未说明Q可Ҏ(gu)实际情况调整。重点在??Q不必完全按照顺序作。对于学?fn)c++Q理由是c++不只是一U语aQ一U工P?
q是一U艺术,一U文化,一U哲学理c但不是拿来炫耀得东ѝ对于linux内核Q学?fn)编E,M些优U代码也是有必要的?/p>
注意Q 要学会D一反多Q有强大的基Q很多东西简单看看就能会。想成ؓ合格的程序员Q前提是必须熟练臛_一U编E语aQƈh良好的逻辑思维。一定要理论l合实践?/p>
不要一味钻研技术,虽然挤出旉是很隑ց到的Q但q是要留点余地去完善其他的爱好,比如宇宙Q素描、机械、管理,心理学、游戏、科qȝ(sh)影。还有一些不愿意做但必须要做的! 技术是通过~程~程在编E编出来的。永q不要梦想一步登天,不要做Qw的人,不要觉得路途O上。而是要编E编E在~程Q完了在~程Q在~程Q等Z来了在创业(不要怿有奇q发生,盲目创业很难成功Q即便成功了发展I间也不一定很大)?/p>
嵌入式书c推?/p>
Linux基础 1、《Linux与Unix Shell ~程指南?/p>
C语言基础 1、《C Primer PlusQ?th Edition》【美】Stephen Prata着 2、《The C Programming Language, 2nd Edition》【美】B(ti)rian W. Kernighan David M. RithieQK & RQ着 3、《Advanced Programming in the UNIX EnvironmentQ?nd Edition》(APUEQ?/p>
4、《嵌入式Linux应用E序开发详解?/p>
Linux内核 1、《深入理解Linux内核》(W三版) 2、《Linux内核源代码情景分析》毛h 胡希明着 研发方向 1、《UNIX Network Programming》(UNPQ?/p>
2、《TCP/IP详解?/p>
3、《Linux内核~程?/p>
4、《Linux讑֤驱动开发》(LDDQ?/p>
g基础 1、《ARM体系l构与编E》杜春雷着 2、S3C2410 Datasheet p基础 1、《计机与通信专业p?/p>
pȝ教程 1、《嵌入式pȝ――体pȝ构、编E与设计?/p>
2、《嵌入式pȝ――采用公开源代码和StrongARM/Xscale处理器》毛h 胡希明着 3、《Building Embedded Linux Systems?/p>
理论基础 1、《算法导论?/p>
2、《数据结构(C语言版)?/p>
3、《计机l织与体pȝ?性能分析?/p>
4、《深入理解计机pȝ》【美】Randal E. Bryant David O”Hallaron着 5、《操作系l:_N与设计原理?/p>
6、《编译原理?/p>
7、《数据通信与计机|络?/p>
8、《数据压~原理与应用?/p>
C语言书籍推荐 1. The C programming language 《EE序设计语言?/p>
2. Pointers on C 《E和指针?/p>
3. C traps and pitfalls 《E陷阱与缺陗?/p>
4. Expert C Lanuage 《专ӞE~程?/p>
5. Writing Clean Code ?#8211;Microsoft Techiniques for Developing Bug-free C Programs 《编E精_?#8211;Microsoft ~写优质无错Q程序秘诀?/p>
6. Programming Embedded Systems in C and C++ 《嵌入式pȝ~程?/p>
7.《C语言嵌入式系l编E修点{?/p>
8.《高质量C++/C~程指南》林?/p>
可能多的编码,要学好CQ不能只注重C本n。算法,架构方式{都很重要?/p>
的值改?strong>12M可以了 To change the memory limit for one specific script by including a line such as this at the top of the script: You can also make this change permanently for all PHP scripts
running on the server by adding a line like this to the server’s
php.ini file: Keep in mind that a huge memory limit is a poor substitute for good
coding. A poorly written script may inefficiently squander memory which
can cause severe problems for frequently executed scripts. However,
some applications are run infrequently and require lots of memory like
importing and processing a big data file.
IPD的关键要素包括:跨部门的团队、结构化的流E、一的子流E(如:目计划与监控、数据管理、共用模块、技术管理、管道管理等Q、基于^衡记分卡的考核体系、IT支持{?
CMM(Capability Maturity
Model)Q英文直译的意思是“能力成熟度模?#8221;。由卡内?梅隆大学的Y件工E协?Software Engineering
Institute, USEI)
提出q完善,目的是通过一个合理的体系模型来对软gl织开发能力进行合理有效的评估Q帮助Y件组l在模型实施的过E中提高软gq程理能力Q降低Y件系l?
开发风险,在预定的目周期和预内开发出高质量的软g产品?
CMM一共分?U,1U最低,5U最高,3U是一个比较重要的分界U?
]]>
比如要分辨IE6和firefox两种览器,可以q样写:
div{
background:green; /* for firefox */
*background:red; /* for IE6 */
}
</style>
<div>我在IE6中看到是U色的,在firefox中看到是l色的?lt;/div>
<style>
div{
background:green; /* for firefox */
*background:red; /* for IE6 */
}
</style>
<div>我在IE6中看到是U色的,在firefox中看到是l色的?lt;/div>
IE7能识?Q也能识?important;
FF不能识别*Q但能识?important;
* √ √ ×
!important × √ √
IE6支持下划U,IE7和firefox均不支持下划Uѝ?/p>
: background:orange;*background:green;_background:blue;
]]>
sudo mkdir fallback
cd fallback
sudo cp /usr/share/fonts/truetype/arphic/uming.ttc /usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/fonts/fallback
sudo mkfontdir
sudo mkfontscale
]]>
命o׃用说了?
]]>memory_limit = 8M ;
This error message can spring up in a previously functional PHP
script when the memory requirements exceed the default 8MB limit. Don’t
fret, though, because this is an easy problem to overcome.
ini_set("memory_limit","12M");
The 12M sets the limit to 12 megabytes (12582912 bytes). If this
doesn’t work, keep increasing the memory limit until your script fits
or your server squeals for mercy.memory_limit = 12M
]]>
2 var timstamp = (new Date()).valueOf();
3 if (url.indexOf("?") >= 0) {
4 url = url + "&t=" + timstamp;
5 } else {
6 url = url + "?t=" + timstamp;
7 }
8 return url;
9 }
q个旉戳的伪地址q用?一般web验证码刷C!
]]>
值得庆幸的是QUnix提供了全屏幕的Vi~辑器,q我们的工作轻松不。不DOS用户抱怨Vi~辑器不象DOS下的~辑器如edit那么好用Q这? 因ؓVi考虑到各U用L(fng)需要,没有使用某些通用的编辑键Q在各个不同的终端机上他们的定义是不同的Q在某些l端Z甚至没有q些键)。而是采用状态切? 的方法,但这只是?fn)惯的问题,一旦你熟练的用上了vi你就会觉得它其实也很好用。虽? Vi采用了状态切换的Ҏ(gu)Q但?sh)脑的硬件及操作pȝ多种多样Q某些电(sh)脑的键盘上没有特定的几个功能键!那麽不就有某些功能不能用了?q个问题? Unix pȝ上也一P几乎各大?sh)脑厂商都有自己的Unix pȝQ?vi 的操作方法也会随之有点出入。这里我们采?PC 的键盘来说明 vi 的操作,但在具体的环境中q要参考相应的资料Q这一Ҏ(gu)值得注意的?
二、Vi入门
Q一Q、进入vi
在系l提C字W???)下敲入vi Q档案名UͼQvi 可以自动帮你载入所要编辑的文g或是开启一个新文gQ如果该文g不存在或~少文g名)。进?vi 后萤q左方会出现波浪W号Q凡是列首有该符号就代表此列目前是空的?
(二)、两U模?
如上所qͼvi存在两种模式Q指令模式和输入模式。在指o模式下输入的按键做为指令来处理Q如输入aQvi卌为是在当前位|插入字W。而在输入 模式下,vi则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如a,AQ,而要从输入模式切换到指o模式Q则需 在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次 [ESC]Q系l如发出哔哔声就表示已处于指令模式下了?
付:有指令模式进入输入模式的指oQ?
新增 (append)
a Q从光标所在位|後面开始新增资料,光标後的资料随新增资料向後移动?
AQ?从光标所在列最後面的地方开始新增资料?
插入 (insert)
iQ?从光标所在位|前面开始插入资料,光标後的资料随新增资料向後移动?
I Q从光标所在列的第一个非I白字元前面开始插入资料?
开?(open)
o Q在光标所在列下新增一列ƈq入输入模式?
O: 在光标所在列上方新增一列ƈq入输入模式?
Q三Q、退出vi
在指令模式下键入:q,:q!,:wq?x(注意:PQ就会退出vi。其?wq?x是存盘退出,?q是直接退出,如果文g已有新的? 化,vi会提CZ保存文g?q命o也会失效Q这时你可以?w命o保存文g后再?q退出,或用:wq?x命o退出,如果你不想保存改变后的文Ӟ? 需要用:q!命oQ这个命令将不保存文件而直接退出vi?
Q四Q、基本编?
配合一般键盘上的功能键Q像是方向键、[Insert] 、[Delete] {等Q现在你应该已经可以利用 vi 来编辑文件了。当?vi q提供其他许许多多功能让文字的处理更为方ѝ?
何谓~辑Q一般认为是文字的新增、修改以及删除,甚至包括文字区块的搬UR复制等{。先q里介绍 vi的如何做删除与修攏V(注意Q在 vi 的原始观念里Q输入跟~辑是两码子事。编辑是在指令模式下操作的,先利用指令移动光标来定位要进行编辑的地方Q然後才下指令做~辑。)
删除与修Ҏ(gu)件的命oQ?
xQ?删除光标所在字W?
dd Q删除光标所在的列?
r Q修改光标所在字元,r 後接著要修正的字W?
RQ?q入取替换状态,新增文字会覆盖原先文字,直到?[ESC] 回到指o模式下ؓ止?
sQ?删除光标所在字元,q进入输入模式?
SQ?删除光标所在的列,q进入输入模式?/p>
其实呢,在PC上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删除字元Q直接按[Delete]
不就得了。而插入状态与取代状态可以直接用 [Insert]
切换Q犯不著用什麽指令模式的~辑指o。不q就如前面所提到的,q些指o几乎是每台终端机都能用,而不是仅仅在 PC 上?br />
在指令模式下Ud光标的基本指令是 h, j, k, l 。想来各位现在也应该能猜到只要直接用 PC 的方向键可以了Q而且无论在指令模式或输入模式下都可以。多Ҏ(gu)不是?br />
当然 PC 键盘也有不之处。有个很好用的指?u 可以恢复被删除的文字Q?U 指o则可以恢复光标所在列的所有改变。这与某些电(sh)脑上?[Undo] 按键功能相同?br />
三、附Ӟvi详细指o?br />
Q一Q、基本编辑指令:
新增 (append)
a Q从光标所在位|後面开始新增资料,光标後的资料随新增资料向後移动?
AQ?从光标所在列最後面的地方开始新增资料?
插入 (insert)
iQ?从光标所在位|前面开始插入资料,光标後的资料随新增资料向後移动?
I Q从光标所在列的第一个非I白字元前面开始插入资料?
开?(open)
o Q在光标所在列下新增一列ƈq入输入模式?
O: 在光标所在列上方新增一列ƈq入输入模式?
xQ?删除光标所在字W?
dd Q删除光标所在的列?
r Q修改光标所在字元,r 後接著要修正的字W?
RQ?q入取替换状态,新增文字会覆盖原先文字,直到?[ESC] 回到指o模式下ؓ止?
sQ?删除光标所在字元,q进入输入模式?
SQ?删除光标所在的列,q进入输入模式?
Q二Q、光标移动指令:
由於许多~辑工作是藉由光标来定位Q所?vi 提供许多Ud光标的方式,q个我们?br />
几张表来说明Q这些当然是指o模式下的指oQ:
指oK?K说?K�K�K� 功能?
0 Ud到光标所在列的最前面 [Home]K?br />
$ K?Ud到光标所在列的最後面 [End]
[CTRL][d] 向下半页 K?[PageDown]
[CTRL][f] 向下一?
[CTRL][u] 向上半页K?
[CTRL][b] 向上一?[PageUp]
指o 说明
H Ud到视H的W一?br />
M Ud到视H的中间?br />
L Ud到视H的最後列
b UdC个字的第一个字?br />
w U~细鲎值牡谝桓鲎帜?nbsp; K�
e UdC个字的最後一个字?br />
^ Ud到光标所在列的第一个非I白字元
指o 说明 K�K?br />
n- 减号UdC一列的W一个非I白字元前面加上数字可以指定UdC?n ?
n+ 加号UdC一列的W一个非I白字元前面加上数字可以指定UdC?n ?br />
nG 直接用数?n 加上大写 G Ud到第 n ?br />
指o 说明
fx
往右移动到 x 字元?
Fx 往左移动到 x 字元?K?br />
tx 往右移动到 x 字元前�K�
Tx 往左移动到 x 字元?br />
; 配合 f&t 使用Q重复一ơ�K?br />
,K� 配合 f&t 使用Q反方向重复一?br />
/string 往右移动到?string 的地?br />
?string 往左移动到?string 的地?br />
n K?配合 /&? 使用Q重复一?
N K?配合 /&? 使用Q反方向重复一?
指o 说明 K备?br />
n(
左括L(fng)动到句子的最前面句子是以前面加上数字可以指定往前移?n 个句?! . ? 三种W号来界?br />
n)K?xL(fng)动到下个句子的最前面前面加上数字可以指定往後移?n 个句?! . ? 三种W号来界?br />
n{ K� 左括弧移动到D落的最前面 D落是以D落间的I白列界?br />
n} 前面加上数字可以指定往前移?n 个段落右括弧UdC个段落的最前面前面加上数字可以指定往後移?n 个段?D落是以D落间的I白列界?
Q三Q、更多的~辑指o
q些~辑指o非常有弹性,基本上可以说是由指o与范围所构成。例?dw 怯缮境?nbsp;d 与范?w 所l成Q代表删除一个字 d(elete) w(ord) ?br />
指o列表如下Q?br />
d 删除(delete)
y 复制(yank)
p 攄(put)
c 修改(change)
范围可以是下列几个:
e 光晁谖恢玫C米值淖钺嵋桓鲎?br> w 光标所在位|到下个字的W一个字?br />
b 光标所在位|到上个字的W一个字?br />
$ 光标所在位|到该列的最後一个字?br />
0 光标所在位|到该列的第一个字?br />
) 光标所在位|到下个句子的第一个字?br />
( 光标所在位|到该句子的W一个字?br />
} 光标所在位|到该段落的最後一个字?br />
{ 光标所在位|到该段落的W一个字?br />
说实在的Q组合这些指令来~辑文g有一点点艺术气息。不怎麽P它们提供更多~辑文字的能力。值得注意的一Ҏ(gu)删除与复刉会将指定范围的内Ҏ(gu)到暂存区里,然後可以用指o p 贴到其它地方去,q是 vi 用来处理区段拯与搬Uȝ办法?br />
某些 vi 版本Q例?Linux 所用的 elvis
可以大幅化这一坨指令。如果稍微观察一下这些编辑指令就会发现问题其实是定范围的方式有点杂,实际上只有四个指令Ş了。指?v 非常好用Q只要按?
v 键,光标所在的位置׃反白Q然後就可以Ud光标来设定范_接著再直接下指oq行~辑卛_。对於整列操作, vi
另外提供了更方便的编辑指令。前面曾l提到过删除整列文字的指?dd 是其中一个;cc 可以修改整列文字Q?yy 则是复制整列文字Q指?D
则可以删除光标到该列l束为止所有的文字?br />
Q四Q、文件操作指?br />
文g操作指o多以 : 开_q跟~辑指o有点区别?br />
:q l束~辑(quit)
:q! 不存档而要攑ּ~辑q的文g?br />
:w 保存文g(write)其後可加所要存档的档名?br />
:wq 卛_档後d?br />
zz 功能?:wq 相同?br />
:x ?wq相同