vim实用手册 - 基础篇(打开、关闭、移动、搜索)
作者:pakey 发布时间:March 17, 2012 分类:Linux
在linux中,常用的编辑器,大概有2个半,vi或者vim,emacs,还有个简单的nano。有人说程序猿分为三种,一种是使用vim的,还有一 种使用emacs的,剩下的都是第三种。用现在一个时髦的比方,普通程序猿用emacs或者类似的vs,文艺程序猿用vim,二逼程序猿用其他。由此可见 VIM的强大程度,这是一款非常适合程序员使用的,熟练了以后会上瘾的编辑器。vim设计了多种模式,常见的模式包括命令模式,编辑模式,命令行模式等, 这个也是和其他编辑器一个很不相同的地方,用习惯了ms的各种文本编辑器,可能会比较不习惯,但是如果将模式熟悉了就可以发现在不同的模式之间切换是很平 常的事情,而且带来的好处是更少的按键和更快的输入。
VIM是VI的优秀后裔,虽然VI的后裔中不仅仅包括VIM,但是VIM是实现对VI的兼容性最好的编辑器,其他的后裔还包括STEVIE, ELvis, NVi, Vile等。除了实现对VI的兼容性外,VIM还扩展了很多的功能,包括语法高亮,代码折叠,脚本扩展等等。
vim我也是初学乍练,开始也是因为在linux中,写shell用这个比较方便,同时也没有更多的选择,只是被迫的使用,可一来二去,当度过了记忆那 些头疼的键盘指令后,才开始渐入佳境。与windows种那些常用的文本编辑器如:vs,word,notepad比较,vim入门显然是比较难的,可如 果用习惯了以后,也许就会迷恋上这种不使用鼠标甚至小键盘的设计。废话少说,言归正传,把使用心得记录下来,供今后参考。
最近在学习vim编辑器,共享张神图。
作者:pakey 发布时间:March 16, 2012 分类:Linux
这vi确实不习惯,但是可以感觉出来如果用好了在别人面前一展示,绝对是大牛人
这犀利的操作,脱离了鼠标的方式,很是诱人,但是那么多命令,真心蛋疼
这是偶然发现的一张vi操作图,初见之下,惊为神作!
作为一个phper 有必要了解一下php的历史
作者:pakey 发布时间:March 15, 2012 分类:PHP
了解下PHP的历史, 有助于更加深刻的了解PHP发展到今天的轨迹, 下面的文字都是从» PHP手册中转载过来的.
PHP 在过去的几年里走过了漫长的道路。成长为处理 web 的最卓越的语言并非易事。如果对 PHP 如何发展到今天很感兴趣,那么请继续读下去吧。以前的 PHP 发行版可以在 » PHP 博物馆找到。
PHP/FI
PHP 继承自一个老的工程,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 创建,最初只是一套简单的 Perl 脚本,用来跟踪访问他主页的人们的信息。它给这一套脚本取名为“Personal Home Page Tools”。随着更多功能需求的增加,Rasmus 写了一个更大的 C 语言的实现,它可以访问数据库,可以让用户开发简单的动态 Web 程序。Rasmus » 发布了 PHP/FI 的源代码,以便每个人都可以使用它,同时大家也可以修正它的 Bug 并且改进它的源代码。
PHP/FI,一个专为个人主页/表单提供解释程序的程序,已经包含了今天 PHP 的一些基本功能。它有着 Perl 样式的变量,自动解释表单变量,并可以嵌入 HTML。语法本身与 Perl 很相似,但是它很有限,很简单,还稍微有些不协调。
到1997年,PHP/FI 2.0,也就是它的 C 语言实现的第二版在全世界已经有几千个用户(估计)和大约 50,000 个域名安装,大约是 Internet 所有域名的 1%。但是那时只有几个人在为该工程撰写少量当代码,它仍然只是一个人的工程。
PHP/FI 2.0 在经历了数个 beta 版本的发布后于 1997 年 11 月发布了官方正式版本。不久,PHP 3.0 的第一个 alpha 版本的发布,PHP 从此走向了成功。
CSS浏览器兼容问题集 相当的全
作者:pakey 发布时间:March 12, 2012 分类:WebDesign
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声名.
CSS技巧
1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行
2. margin加倍的问题 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上 display:inline; 例如: <#div id=”imfloat”> 相应的css为 #IamFloat{ float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/}
3.浮动ie产生的双倍距离 #box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略} 这里细说一下block与inline两个元素:block元素的特点是,总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline 元素的特点是,和其他元素在同一行上,不可控制(内嵌元素); #box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的效果 diplay:table;
4 IE与宽度和高度的问题 IE 不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。 比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样: #box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}
用星际快速入门PHP面向对象编程 oo入门的福音
作者:pakey 发布时间:March 5, 2012 分类:Develop
前言
面向对象博大精深,对于从未接触过得的人,会觉得一头雾水。
学习的资料很多,但大多比较抽象,所以我用经典的游戏-星际争霸来讨论PHP面向对象。
现在假设我们来用PHP开发星际争霸,从而接触PHP面向对象。
注意,为了便于学习,除了特殊说明,否则各部分代码之间没有关联。而且同一件事情往往用的是不同的代码。
另外我也不去考证各个兵种的属性数字,仅仅用来说明。
一、类和对象
如果玩家制造了一个机枪兵,那么我们怎么表示他呢,因为每个机枪兵有几个基本的数据要记录:剩余的血,杀敌数量,攻击力等等。
我们可以用一个数组来记录一个机枪兵剩余的血和杀敌数量,因为这对于每个机枪兵是独立的。
但攻击力比较麻烦,因为经过升级,攻击力会增加,这就必须要找出所有表示机枪兵的数组,然后进行修改,非常麻烦。
从这里我们可以看出一件事情,首先每个机枪兵有独立的数据需要记录和修改,比如剩余的血。同时他们有相同的数据需要共用,比如攻击力。
这时候面向对象就能帮上我们的忙了。
1.1、类的定义
我们先来处理一部分问题,也就是每个机枪兵独有的数据。
狮子分肉记
作者:pakey 发布时间:February 24, 2012 分类:Internet
狮子让一只豹子管理10只狼,并给他们分发食物。
豹子领到肉之后,把肉平均分成了11份,自己要了一份,其他给了10只狼。
这10只狼都感觉自己分的少,合起伙来跟豹子唱对台戏。
虽然一只狼打不过豹子,但10只狼豹子却没法应付了。
豹子灰溜溜的找狮子辞职。
狮子说,看我的。 狮子把肉分成了11份,大小不一,自己先挑了最大的一份,然后傲然对其他狼说:你们自己讨论这些肉怎么分。
为了争夺到大点的肉,狼群沸腾了,恶狠狠的互相攻击,全然不顾自己连平均的那点肉都没拿到。
豹子钦佩的问狮子,这是什么办法?
狮子微微一笑,听说过人类的绩效工资吗?……
第二天 狮子依然把肉分成11块,自己却挑走了2块,然后傲然对其他狼说:你们自己讨论这些肉怎么分。
10只狼看了看9块肉,飞快的抢夺起来,一口肉,一口曾经的同伴,直到最后留下一只弱小的狼倒在地上奄奄一息。
豹子钦佩的问狮子,这是什么办法?
狮子微微一笑,听说过末位淘汰法吗?……
第三天 狮子把肉分成2块,自己却挑走了1块,然后傲然对其他狼说:你们自己讨论这些肉怎么分。
群狼争夺起来, 最后一只最强壮的狼打败所有狼,大摇大摆的开始享用它的战利品。
狼吃饱以后才允许其它狼再来吃,这些狼都成了它的小弟,恭敬的服从它的管理,按照顺序来享用它的残羹。
从此狮子只需管理一只狼,只需分配给它食物,其它的再不操心 豹子钦佩的问狮子,这是什么办法?
狮子微微一笑,听说过竞争上岗吗?……
最后一天 狮子把肉全占了,然后让狼去吃草。因为之前的竞争,狼群已经无力再战了,于是只好逆来顺受。
豹子钦佩的问狮子,这是什么办法?
狮子微微一笑,听说过和谐社会吗?
gzdeflate、gzcompress、gzencode、压缩比比较
作者:pakey 发布时间:February 22, 2012 分类:PHP
PHP的自带的函数中,有三个压缩相关的函数:gzcompress、gzencode、gzdeflate,下面我们通过一段程序,来比较一下这三个函数的压缩比。
代码:
$string = "8aeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeer8aaaaa75zw.comaaaaaaaaaaaaaaaaaadasd456as
d456asd456asd456asd456aPTCMS.comsd456asd456asd456asd456asd456asd456fasdf45645645645645645
6456456456456456456456456456456456pakey.net456456456456456456456456456456456456456a56fs4s4s4s4s
4s4s4s4s4s4s4s4s4s4dsdga13333333333333333qshu.net3333w8etw7q9999999999999999999a23s1dfffffffff
fffffffffffffffa456ssssssssssssdv2sdddddddddddddddddddf";
echo "字符串长度:";
echo strlen($xx);
echo "<br/>gzcompress压缩后长度:";
echo strlen(gzcompress($string,9));
echo "<br/>gzencode压缩后长度:";
echo strlen(gzencode($string,9));
echo "<br/>gzdeflate压缩后长度:";
echo strlen(gzdeflate($string,9));
运行结果是:
字符串长度:388
gzcompress压缩后长度:80
gzencode压缩后长度:92
gzdeflate压缩后长度:74
由此可见,这三个函数按照压缩效果进行排序:gzdeflate、gzcompress、gzencode,gzdeflate压缩效果最好,gzcompress次之,gzencode最差。
分析:
查了下手册,gzcompress、gzencode、gzdeflate这三个函数,分别采用的是zlib、gzip、DEFLATE方式压缩格式。通过上面的运行结果,不知道是否可以这么认为,DEFLATE、zlib、gzip的压缩效果递减。
一句被五重密码保护的表白破译全记录
作者:pakey 发布时间:February 15, 2012 分类:Other
男主人公他向一个心仪的女生告白,
谁知道她给了一个摩斯密码给他,说解出来了才答应和他约会。
可是他用尽了所有方法都解不开这个密码。
郁闷之下,他只能求教于网友了。
****-/*----/----*/****-/****-/*----/---**/*----/****-/*----/-****/***--/****-/*----/----*/**---/-****/**---/**---/***--/--***/****-/
她唯一给他的提示就是这个是5层加密的密码..
也就是说要破解5层密码才是答案..
他在百度贴吧求助于众网友。
我把整个谜题都解密过程全程记录如下。
6楼 PorscheL :
首先要把摩斯密码给解开来.
应该是.
4194418141634192622374.
然后呢?
然后我再想想..
数字的话应该下一步是代入?
或者是哪个啥
12楼:他——男主人公:
经过昨天一晚的奋斗。
我还是破解不了。
不过今天我死磨她,叫她给提示的后,她说途中有一个步骤是"替代密码"而密码表则是我们人类每天都可能用到的东西.
我会再套多点讯息的..
希望大大帮忙解答阿..
毕竟我也希望不要她亲口说出来这个密码的答案..