分类目录归档:研究

喜欢研究不同的东西,也许是经济,也许是文化,有兴趣就研究下

iOS程序完成后如何生成ipa进行真机测试

1.identifier com.for.ever(自定义,与证书相同)

2.build setting -code signing 全选证书

3.clean project

4.iOS device -build

5.生成app

6.app-show in finder

7.itunes-拖进来(iPad应用程序)-show in finder

 

 

 

如何进行真机测试?

 

需要得到apple官方的development授权,过程如下

1、访问https://developer.apple.com/devcenter/ios/index.action 并登录;

2、登录后点击页面右侧的“iOS Provisioning Portal ”,如图

3、进入“iOS Provisioning Portal ”后,点击左侧的“Certificates”,如图

4、点击页面中的“click here to download now ”下载(这个只用下载一次即可),如图

5、双击下载的文件“AppleWWDRCA.cer”,就会打开“钥匙串访问”,点击左上侧的“登录”,左下侧的“证书”,如图

右侧就会出现下图

6、焦点窗口切换为“钥匙串访问”,选择菜单“钥匙串访问”–》“证书助理”–》“从证书颁发机构请求证书…”,如图

再打开的窗口中,输入邮件地址(apple ID邮箱)及常用名称(貌似没有什么要求,应该是随便输入的),选择“存储到磁盘”及“让我指定钥匙串信息”,如图

点击“继续”,弹出保存框,选择保存在桌面,在新的窗口中点击“继续”,会生成“CertificateSigningRequest.certSigningRequest”文件。

7、切回浏览器,在“Development ”选项卡中点击“Request Certificate”按钮,如图

8、在新的页面中点击“选择文件”,选择刚刚生成的“CertificateSigningRequest.certSigningRequest”文件并点击“submit”,如图

9、进入页面

F5刷新,直到出现页面

点击“Download”按钮,下载到“ios_development.cer”文件,双击该文件会在“钥匙串访问”中出现如图

注意,若没有出现图中的钥匙

则可能是中间操作有问题,后面应该会不成功。

10、切回浏览器,选择“Devices”,如图

11、在页面中点击右侧的按钮,在出现的页面中输入设备名称(随便起个名字)及手机唯一码

获取手机唯一码方式:当手机插入到mac上时,打开xcode的organizer,选中devices,就会出现***’s iPhone4S或者其他名称,选中机器就会在右侧出现,如下图,红框内的就是唯一码

12、在浏览器中,选择“App IDs”,如图

13、点击右侧的按钮,在Description中输入一个名称(随便,但最好特定),在Bundle Identifier (App ID Suffix)中输入app的Bundle identifier,如:com.abc.iphone

14、在左侧选择“Provisioning”,如图

15、在右侧点击按钮

16、页面进入“Create iOS Development Provisioning Profile”,Profile Name是名称(随便,但最好特定),Certificates选择一个证书即可,App ID选择你刚刚创建的app id,Devices选择你添加的Device。点击submit,你创建的provisioning profile的status会是pending 刷新页面,知道status为Active,点击右侧的按钮 下载*****.mobileprovision,并双击 添加到xcode的Provisioning Profiles中在organizer中选中你的手机dervice展开,选择Provisioning Profiles 点击右侧窗口下的按钮,选择到刚才下载的“*****.mobileprovision”文件,就会对该手机授权

17、配置app,使之可以在手机上调试,如下图

(1)在info的Bundle identifier项中填写之前第13步写的内容,Bundle identifier,如:com.abc.iphone,或在Supporting Files文件夹下选中ProjectName-Info.plist,对右侧视图中的Bundle Identifier选项进行修改,和你自己创建的App ID保持一致(形如:com.abc.iphone)。

(2).在左侧的菜单中选中刚创建的project文件,在下面找到Build Settings然后搜索Code Signing Identity。

(3).将对应provisioning profile的所有的值全部设置好。

(4).选择左手边Targets下面的项目名称,再次找到Build Settings,来到Code Signing Identity区域,确保所有的值都和新的provisioning profile保持一致。

如果右侧红框内的授权信息不能选择,则说明中途操作有问题。重新操作吧,我弄了5次才搞好。如下图,选择iOS Device     

 

18.先在菜单栏product中对项目clean一下,然后build,把products文件夹下生成的app文件show in finder,然后拖入iTunes中即可生成ipa,在文件中显示即可得到ipa。

19.连接上自己的设备,选择同步把程序安装到设备上,就可以进行真机测试了。

 

来源http://blog.csdn.net/why_ios/article/details/7798030

“按需加载”的应用

按需加载是前端性能优化中的一项重要措施,按需加载是如何定义的呢?顾名思义,指的是当用户触发了动作时才加载对应的功能。触发的动作,是要看具体的业务场景而言,包括但不限于以下几个情况:鼠标点击、输入文字、拉动滚动条,鼠标移动、窗口大小更改等。加载的文件,可以是JS、图片、CSS、HTML等。后面将会详细介绍“按需”的理解。

按需解析HTML

按需解析HTML,就是页面一开始不解析HTML,根据需要来解析HTML。解析HTML都是需要一定时间,特别是HTML中包含有img标签、引用了背景图片时,如果一开始就解析,那么势必会增加请求数。常见的有对话框、拉菜单、多标签的内容展示等,这些一开始是不需要解析,可以按需解析。实现按需解析,首先用html 这个标签来对忽略对HTML的解析。然后根据触发的动作,把script里面的HTML获取出来,填充到对应的节点中。

示例代码如下:

我们一起来看下demo,当运行demo并抓包发现:当页面加载结束时,并没有看到图片的请求;当点“点我展示HTML”按钮时,通过抓包发现有图片请求。

曾经做个demo并经过测试发现,如果是直接解析HTML(不包含有请求CSS图片和img标签),耗费的时间要比用html大约慢1-2倍,如果是还包括请求有CSS图片、img标签,请求连接数将会更多,可见按需解析HTML,对性能提升还是有一定效果。

按需加载图片

按需加载图片,就是让图片默认开始不加载,而且在接近可视区域范围时,再进行加载。也称之为懒惰加载。大家都知道,图片一下子全部都加载,请求的次数将会增加,势必影响性能。

先来看下懒惰加载的实现原理。它的触发动作是:当滚动条拉动到某个位置时,即将进入可视范围的图片需要加载。实现的过程分为下面几个步骤:

生成标签时,用data-src来保存图片地址;
记录的图片data-src都保存到数组里;
对滚动条进行事件绑定,假设绑定的函数为function lazyload(){};
在函数lazyload中,按照下面思路实现:计算图片的Y坐标,并计算可视区域的高度height,当Y小于等于(height+ scrollTop)时,图片的src的值用data-src的来替换,从而来实现图片的按需加载;
下面看一个示例代码:

运行上述的示例代码,并抓包会发现:一开始并没有看到图片的请求,但当拉动滚动条到页面下面时,将会看到图片发送请求。目前很多框架都已经支持图片的懒惰加载,平时在开发中,大家可以对图片实现懒惰加载,这是有效提升性能的一个方法,特别是网页图片比较多时,更加应该使用该方法。

按需加载除了上述场景外,还有更多的场景。如下图:

页面一开始,加载的是“全部”标签里面的内容,但在点击“指定商品折扣券”标签时,才去加载对应的图片。实现思路如下:

生成标签时,用data-src来保存图片地址;
在点击标签事件时,获取所有图片,图片的src的值用data-src的来替换;
示例代码如下:

运行上述代码并抓包并发现:一开始没有看到有图片的请求,但点击“指定商品折扣券”标签时,看到有图片的请求发送。需要注意的是,为了确保体验,首屏的图片不建议懒惰加载,而应该直接展示出来;避免一开始用户就无法看到图片,在IE下看到一个虚线框,这样体验反而不好。

按需执行JS

按需执行JS和懒惰加载图片比较类似。当打开网页时,如果等所有JS都加载并执行完毕,再把界面呈现给用户,这样整体上性能会比较慢,体验也不友好。就是当某个动作触发后,再执行相应的JS,以便来渲染界面。按需执行JS,可以应用在下列场景:执行一些耗时比较久的JS代码,或执行JS后,需要加载比较多图片、加载iframe、加载广告等。在一些webapp的应用中,或比较复杂的页面时,更加应该使用这种方法。

实现思路和按需加载比较类似:

对滚动条进行事件绑定,假设绑定的函数为function lazyExecuteJS(){};
在函数lazyExecuteJS中,按照下面思路实现:选择一个元素作为参照物,当滚动条即将靠近时该元素位置,开始执行对应的JS,从而实现对界面的渲染;
示例代码如下(以YUI3框架为例):

首先下载最近封装的异步滚动条加载组件:Y.asyncScrollLoader,然后运行下面的代码(需要把页面和Y.asyncScrollLoader.js 放在同一个目录):

运行上述代码并抓包发现:打开页面时,是不没有看到有对应的图片请求,但当滚动条拉到一定位置时,loadAD的函数被执行。

按需加载JS

JavaScript无非就是script标签引入页面,但当项目越来越大的时候,单页面引入N个js显然不行,合并为单个文件减少了请求数,但请求的文件体积却很大。这时候比较合理的做法就是按需加载。按需加载和按需执行JS比较类似,只不过要执行的JS变成了固定的“实现加载JS”的代码。按需加载实现的思路如下:

对滚动条进行事件绑定,假设绑定的函数为function lazyLoadJS(){};
在函数lazyLoadJS中,按照下面思路实现:选择一个元素作为参照物,当滚动条即将靠近时该元素位置,开始执行加载对应JS;
在JS加载完毕后,开始执行相应的函数来渲染界面;
在实际项目中,可以根据需要设置一个目标距离,比如还有200像素该元素即将进入可视区域;按需加载JS和按需执行JS比较类似,这里就不再单独提供示例代码了;大家可以在按需执行JS的中示例中,把loadAD函数更改为动态加载JS即可;
分屏展示

当一个网页比较长,有好几个屏幕,而且加载了大量的图片、广告等资源文件时,分屏展示,可提升页面性能和用户体验。其实分屏展示也可以从按需加载的的角度来看待,默认是加载第一屏幕的内容,当滚动条拉动即将到达下一个屏幕时,再开始渲染下个屏的内容。换言之,是把图片、背景图片、HTML一起按需加载,一开始不对HTML进行解析,那么背景图、img图片也不会进行加载。

分屏展示的思路如下:

根据具体业务情况,收集主流最大的分辨率的高度;假设这里是用960px;
按照这个高度进行分屏,依次把下一个屏幕内的HTML用来表示;
为了让页面的高度不变,需要让textarea占据一定的页面空间,也就是让页面出现对应的滚动条;因此需要指定样式visility:hidden,并指定它的高度和宽度。
利用上述讲的按需执行JS,把里面的HTML代码提取出来,重新填充到textarea的父节点上,便可实现解析对应HTML,从而实现分屏展示。
示例代码如下(需要把页面和Y.asyncScrollLoader.js 放在同一个目录):

运行上面代码并抓包发现:在默认首屏,并没有去解析textarea里面的代码,但当拉动滚动条到一定位置时,textarea里面的HTML依次被解析,从而实现了网页分屏展示。

使用“按需加载”进行性能优化时,需要合理选择触发的动作。“按需加载”的最大优势在于减少了不必要的资源请求,节省流量,真正实现“按需所取”。但是“按需加载”本身如果使用不当也会影响用户体验,因为“按需加载”的时机在用户触发某动作之后,如果用户的网速比较慢的话,加载脚本或执行脚本可能需要等候较长的时间,而用户则不得不为此付出代价。因此,如果要使用“按需加载”则需要选择正确的触发动作,如果是根据滚动条来触发,可考虑一个目标距离,假设目标距离还有200像素即将进入可视区域,则就开始加载,而不是等到进入了可视区域才加载。以上所讲的各种“按需加载”类型,都可以封装成相应的组件,然后就可以在项目中进行应用。

PHP硬盘计算函数


function sizeDisk($filesize)
{
if($filesize >= 1073741824)
{
$filesize = round($filesize / 1073741824 * 100) / 100 . ' GB';
}
elseif($filesize >= 1048576)
{
$filesize = round($filesize / 1048576 * 100) / 100 . ' MB';
}
elseif($filesize >= 1024)
{
$filesize = round($filesize / 1024 * 100) / 100 . ' KB';
}
else
{
$filesize = $filesize . ' Bytes';
}
return $filesize;
}

临时笔记

临时笔记

vi /etc/ssh/sshd_config

/etc/init.d/sshd restart
/etc/init.d/httpd restart

vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1922 -j ACCEPT

42.121.123.229

1.iptables -F
service iptables save
service iptables restart

/string

#test

ServerAdmin code@zmq.cc
DocumentRoot /var/www/html/test
ServerName test.upadd.cn
ErrorLog logs/test.upadd.cn-error_log
CustomLog logs/test.upadd.cn-access_log common

#test

ServerAdmin code@zmq.cc
DocumentRoot /var/www/html/test
ServerName test.upadd.cn
ErrorLog logs/test.upadd.cn-error_log
CustomLog logs/test.upadd.cn-access_log common

/etc/init.d/httpd restart

#error

ServerAdmin code@zmq.cc
DocumentRoot /error
ServerName upadd.cn

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

富兰克林的十三项美德修养

1 、节制。食不过饱,饮酒不醉。

2、 沉默。说话必须对别人或你自己有益;要避免无益的聊天。

3 、生活秩序。将每一样东西放在它们应该放的地方;每件日常事务应当有一定的时间。
4、 决心。做应该做的事情;决心要做的事应坚持不懈。
5、 俭朴。花钱必须于人于己有益;换言之,切忌浪费。
6 、勤勉。不浪费时间,只做那些有用的事情,戒掉一切不必要的行动。
7 、诚恳。不欺骗人;思想纯洁公正;说话也要如此。
8 、公正。不做害人的事情,不要忘记履行对人有益而且又是你应尽的义务。
9、 中庸适度。避免极端;要容忍别人对你应得的处罚。
10、 清洁。身体、衣服和住所力求清洁。
11 、镇静。不要因为小事或普通的、不可避免的事故而惊慌失措。
12 、贞节。除非为了健康或生育后代,不常进行房事,永远不要房事过度、伤害身体或损害你自己或他人的安宁或名誉。
13、 谦虚。仿效耶稣和苏格拉底。
个人非常喜欢的,值得思考和行为准则

PHP(authcode)加密解密 研究之一

<?php
//************************加密解密*************************/
/*
* $string: 明文 或 密文
* $operation:DECODE表示解密,其它表示加密
* $key: 密匙
* $expiry:密文有效期
* */
function authcode($string, $operation = ‘DECODE’, $key = ”, $expiry = 0)
{
// 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙
$ckey_length = 4;

// 密匙
$key = md5($key ? $key : ‘livcmsencryption ‘);
// 密匙a会参与加解密
$keya = md5(substr($key, 0, 16));
// 密匙b会用来做数据完整性验证
$keyb = md5(substr($key, 16, 16));
// 密匙c用于变化生成的密文
$keyc = $ckey_length ? ($operation == ‘DECODE’ ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : ”;
// 参与运算的密匙
$cryptkey = $keya.md5($keya.$keyc);
$key_length = strlen($cryptkey);
// 明文,前10位用来保存时间戳,解密时验证数据有效性,10到26位用来保存$keyb(密匙b),解密时会通过这个密匙验证数据完整性
// 如果是解码的话,会从第$ckey_length位开始,因为密文前$ckey_length位保存 动态密匙,以保证解密正确
$string = $operation == ‘DECODE’ ? base64_decode(substr($string, $ckey_length)) : sprintf(‘%010d’, $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
$string_length = strlen($string);
$result = ”;
$box = range(0, 255);
$rndkey = array();
// 产生密匙簿
for($i = 0; $i <= 255; $i++) {
$rndkey[$i] = ord($cryptkey[$i % $key_length]);
}
// 用固定的算法,打乱密匙簿,增加随机性,好像很复杂,实际上对并不会增加密文的强度
for($j = $i = 0; $i < 256; $i++) {
$j = ($j + $box[$i] + $rndkey[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
}
// 核心加解密部分
for($a = $j = $i = 0; $i < $string_length; $i++) {
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
// 从密匙簿得出密匙进行异或,再转成字符
$result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
}
if($operation == ‘DECODE’) {
// substr($result, 0, 10) == 0 验证数据有效性
// substr($result, 0, 10) – time() > 0 验证数据有效性
// substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16) 验证数据完整性
// 验证数据有效性,请看未加密明文的格式
if((substr($result, 0, 10) == 0 || substr($result, 0, 10) – time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {
return substr($result, 26);
} else {
return ”;
}
} else {
// 把动态密匙保存在密文里,这也是为什么同样的明文,生产不同密文后能解密的原因
// 因为加密后的密文可能是一些特殊字符,复制过程可能会丢失,所以用base64编码
return $keyc.str_replace(‘=’, ”, base64_encode($result));
}
}
//************************加密解密结束***********************/
?>

SQL语句优化技术分析

一、操作符优化

1、IN 操作符

用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:

ORACLE 试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用 IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。

推荐方案:在业务密集的SQL当中尽量不采用IN操作符,用EXISTS 方案代替。

2、NOT IN操作符

此操作是强列不推荐使用的,因为它不能应用表的索引。

推荐方案:用NOT EXISTS 方案代替

3、IS NULL 或IS NOT NULL操作(判断字段是否为空)

判断字段是否为空一般是不会应用索引的,因为索引是不索引空值的。

推荐方案:用其它相同功能的操作运算代替,如:a is not null 改为 a>0 或a>’’等。不允许字段为空,而用一个缺省值代替空值,如申请中状态字段不允许为空,缺省为申请。

4、> 及 < 操作符(大于或小于操作符)

大 于或小于操作符一般情况下是不用调整的,因为它有索引就会采用索引查找,但有的情况下可以对它进行优化,如一个表有100万记录,一个数值型字段A,30 万记录的A=0,30万记录的A=1,39万记录的A=2,1万记录的A=3。那么执行A>2与A>=3的效果就有很大的区别了,因为A& gt;2时ORACLE会先找出为2的记录索引再进行比较,而A>=3时ORACLE则直接找到=3的记录索引。

5、LIKE操作符

LIKE操作符可以应用通配符查询,里面的通配符组合可能达到几乎是任意的查询,但是如果用得不好则会产生性能上的问题,如LIKE ‘%5400%’ 这种查询不会引用索引,而LIKE ‘X5400%’则会引用范围索引。

一 个实际例子:用YW_YHJBQK表中营业编号后面的户标识号可来查询营业编号 YY_BH LIKE ‘%5400%’ 这个条件会产生全表扫描,如果改成YY_BH LIKE ’X5400%’ OR YY_BH LIKE ’B5400%’ 则会利用YY_BH的索引进行两个范围的查询,性能肯定大大提高。

6、UNION操作符

UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:
select * from gc_dfys
union
select * from ls_jg_dfys
这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。

推荐方案:采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。

select * from gc_dfys
union all
select * from ls_jg_dfys

二、SQL书写的影响

1、同一功能同一性能不同写法SQL的影响。

如一个SQL在A程序员写的为  Select * from zl_yhjbqk

B程序员写的为 Select * from dlyx.zl_yhjbqk(带表所有者的前缀)

C程序员写的为 Select * from DLYX.ZLYHJBQK(大写表名)

D程序员写的为 Select *  from DLYX.ZLYHJBQK(中间多了空格)

以 上四个SQL在ORACLE分析整理之后产生的结果及执行的时间是一样的,但是从ORACLE共享内存SGA的原理,可以得出ORACLE对每个SQL 都会对其进行一次分析,并且占用共享内存,如果将SQL的字符串及格式写得完全相同,则ORACLE只会分析一次,共享内存也只会留下一次的分析结果,这 不仅可以减少分析SQL的时间,而且可以减少共享内存重复的信息,ORACLE也可以准确统计SQL的执行频率。

2、WHERE后面的条件顺序影响

WHERE子句后面的条件顺序对大数据量表的查询会产生直接的影响。如:
Select * from zl_yhjbqk where dy_dj = ‘1KV以下’ and xh_bz=1
Select * from zl_yhjbqk where xh_bz=1 and dy_dj = ‘1KV以下’
以 上两个SQL中dy_dj(电压等级)及xh_bz(销户标志)两个字段都没进行索引,所以执行的时候都是全表扫描,第一条SQL的dy_dj = ‘1KV以下’条件在记录集内比率为99%,而xh_bz=1的比率只为0.5%,在进行第一条SQL的时候99%条记录都进行dy_dj及xh_bz的 比较,而在进行第二条SQL的时候0.5%条记录都进行dy_dj及xh_bz的比较,以此可以得出第二条SQL的CPU占用率明显比第一条低。

3、查询表顺序的影响

在 FROM后面的表中的列表顺序会对SQL执行性能影响,在没有索引及ORACLE没有对表进行统计分析的情况下,ORACLE会按表出现的顺序进行链接, 由此可见表的顺序不对时会产生十分耗服物器资源的数据交叉。(注:如果对表进行了统计分析,ORACLE会自动先进小表的链接,再进行大表的链接)

三、SQL语句索引的利用

1、操作符优化(同上)

2、对条件字段的一些优化

采用函数处理的字段不能利用索引,如:

substr(hbs_bh,1,4)=’5400’,优化处理:hbs_bh like ‘5400%’

trunc(sk_rq)=trunc(sysdate), 优化处理:sk_rq>=trunc(sysdate) and sk_rq<trunc(sysdate+1)

进行了显式或隐式的运算的字段不能进行索引,如:ss_df+20>50,优化处理:ss_df>30

‘X’ || hbs_bh>’X5400021452’,优化处理:hbs_bh>’5400021542’

sk_rq+5=sysdate,优化处理:sk_rq=sysdate-5

hbs_bh=5401002554,优化处理:hbs_bh=’ 5401002554’,注:此条件对hbs_bh 进行隐式的to_number转换,因为hbs_bh字段是字符型。

条件内包括了多个本表的字段运算时不能进行索引,如:ys_df>cx_df,无法进行优化
qc_bh || kh_bh=’5400250000’,优化处理:qc_bh=’5400’ and kh_bh=’250000’

四、其他

ORACLE 的提示功能是比较强的功能,也是比较复杂的应用,并且提示只是给ORACLE执行的一个建议,有时如果出于成本方面的考虑ORACLE也可能不会按提示进 行。根据实践应用,一般不建议开发人员应用ORACLE提示,因为各个数据库及服务器性能情况不一样,很可能一个地方性能提升了,但另一个地方却下降 了,ORACLE在SQL执行分析方面已经比较成熟,如果分析执行的路径不对首先应在数据库结构(主要是索引)、服务器当前性能(共享内存、磁盘文件碎 片)、数据库对象(表、索引)统计信息是否正确这几方面分析。

Aptana Studio3的汉化

点击 “Help” > “Install New Software”;

在弹出的“install”窗口中的“Work With”的输入框中填上如下网址:

http://archive.eclipse.org/technology/babel/update-site/R0.8.1/helios

然后,点击“add”按钮,正文会出现语言包列表,选择中文简体,接着的大家都知道了,一路“next”,直到“finish”;

 

“install”窗口关闭后,Aptana 3 会自动下载语言包并安装,安装完毕后,它会提示你重启Aptana,至此,你的Aptana 3 就是可爱的中文版啦。

LINUX常用的命令

shutdown -r now #重启系统 -h now关机
ifconfig #查看本地IP
修改主机名称:1.vi /etc/sysconfig/network 值hostname= 2.vi /etc/hosts 值hostname=
localhost
修改ROOT密码
passwd root 提示直接输入新密码
软件包管理
rpm
-e 删除或–nodeps强制删除
yum
定义重定向
>大于是输出重定向、>>追求累计
<小于是输入重定向
2>错误输出重定向

管道
| 命令:ls -l /etc |more
; 命令结束一个命令,可以在连接一个命令继续执行到完毕的命令;;;
&& 成功与执行
|| 不成功与执行
命令“

 

快捷键
crtl+c可以停止操作
crtl+l清屏
crtl+u删除光标前所有的字符

wc -l ;统计行数

alias ;查看定义别名
unalias ;删除别名

history ;查看输入过的命令 !数字查看到你输入过的命令
clear ;清屏
start ;开始
restart ;重起服务
stop ;停止

文件命令
cd / ;选择目录
pwd ;查看所在目录
mkdir / ;创建目录
touch ;创建文件
cp ;复制 -R复制目录
mv ;移动文件或更名
rm ;删除文件或目录 //删除目录选项-rf 强制删除所有目录下的文件
rmdir ;删除空目录

压缩命令
gzip ;只能压缩文件,不能压缩目录 gzip FileName
gunzip ;解压缩 gunzip FileName
tar ;压缩目录 tar -zcf Name.tar.gz /name 解压缩: tar -zxf name.tar.gz

file ;判断下是什么类型的文件 file name

zip ;压缩或目录zip zmq.zip / // zip -r zmq.zip /
unzip ;解压unzip name.zip

bzip2 ;压缩.bz2
bunzip2 ;解压

发送信息
write ;向用户发送信息 write UserName 一个人
wall ;广告信息 wall 信息
ping ;一样

查看命令
cat ;查看文件 例子:cat /qiang/sql.php
more ;查看大文件 空格或F显示下一页 、回车显示下一行、q或Qt退出、例子:more /qiang/sql.php
head ;查看头部-20指定第几行数 例子:head -5 /qiang/sql.php
tail ;查看底部 -f

权限设置命令
chmod ;权限管理命令
chown ;改变所有者 例子:chown 用户名 文件或目录
chgrp ;改变所有组 例子:chgrp 所有组 文件或目录
umask ;设置用户权限 改名新建文件或目录的权限

查找命令
which ;查找命令
find ;查找文件或目录 find /zmq -name init*
grep ;查找文件中的内容 grep 关键字 /文件位置
man ;调用more查看内容

设置用户
useradd 用户名称
passwd 用户密码

su – 用户名(切换用户)
in ;创建软链接(类似WIN快捷方式).soft,硬链接可以同步更新(不能夸文件系统).hard
///////////////////////////////////

命令格式;
命令 list 简写形式 ls
选项 – a 或 l i(节点,LINUX的内核处理必须以数字处理形式)
参数 /ext 或 /bin 斜杠’/’代表根目录或者是目录形式

////

文件类型;
drw xr-x r-x
所有者 所属组 其他人
d 目录directory
– 二进制文件
l 软链接文件link
r-read读、w-write写、x-execute执行、
rwx/r-x/r-x
默认排序rwx 举例形式u =rwx g=r–x o=–x
r=4/w=2 x-1
///

权限体系;
所有者user/onwer
所属组group/
其他人others/

///