1. 刪除行命令
dd: 刪除游標(biāo)所在的一整行(常用)
ndd: n為數(shù)字。刪除光標(biāo)所在的向下n行,例如20dd則是刪除光標(biāo)所在的向下20行
d1G: 刪除光標(biāo)所在到第一行的所有數(shù)據(jù)
dG: 刪除光標(biāo)所在到最后一行的所有數(shù)據(jù)
d$: 刪除光標(biāo)所在處,到該行的最后一個(gè)字符
d0: 那個(gè)是數(shù)字0,刪除光標(biāo)所在到該行的最前面的一個(gè)字符
x,X: x向后刪除一個(gè)字符(相當(dāng)于[del]按鍵),X向前刪除一個(gè)字符(相當(dāng)于[backspace]即退格鍵)
2. 插入命令
I 在當(dāng)前行首插入
A 在當(dāng)前行尾插入
o 在當(dāng)前行之后插入一行
O 在當(dāng)前行之前插入一行
3. 移動(dòng)命令
w 向前移動(dòng)一個(gè)單詞(光標(biāo)停在單詞首部),如果已到行尾,則轉(zhuǎn)至下一行行首。此命令快,可以代替l命令。
b 向后移動(dòng)一個(gè)單詞 2b 向后移動(dòng)2個(gè)單詞
到指定行,冒號(hào)+行號(hào),回車,比如跳到240行就是 :240回車
Ctrl + e 向下滾動(dòng)一行
Ctrl + y 向上滾動(dòng)一行
Ctrl + f 向下滾動(dòng)一屏
Ctrl + b 向上滾動(dòng)一屏
4. 拷貝和粘貼
yy 拷貝當(dāng)前行
nyy 拷貝當(dāng)前后開(kāi)始的n行,比如2yy拷貝當(dāng)前行及其下一行。
p 在當(dāng)前光標(biāo)后粘貼,如果之前使用了yy命令來(lái)復(fù)制一行,那么就在當(dāng)前行的下一行粘貼。
shift+p 在當(dāng)前行前粘貼
...
posted @
2019-01-29 13:59 楊愛(ài)友 閱讀(194) |
評(píng)論 (0) |
編輯 收藏
參考文章:
http://wenku.baidu.com/link?url=kq8VcGwEedCn5hHdSDbPsQrJCapBZje0DRRzyvEOkpqVOEP5XV--dtSL3RNC9a5Mf9K3mSJOGVwYt8VHjpUoBVTQ0L5z3WOSV-dTpSgs-My
用一張空的U盤,利用支持軟件和ISO鏡像文件制作安裝盤,然后將USB3.0驅(qū)動(dòng)程序放進(jìn)U盤
在格式化步驟,格式化完之后要加載USB3的驅(qū)動(dòng)程序,否則安裝WIN7后無(wú)法使用鼠標(biāo)和鍵盤
參考文章:http://bbs.feng.com/read-htm-tid-8203477.html
啟動(dòng)WIN7后,可能出現(xiàn)黑屏“無(wú)法驗(yàn)證簽名文件”,把windows\system32\drivers 里面那個(gè)AppleSSD.sys干掉
參考文章:http://bbs.feng.com/read-htm-tid-9791867.html
最后進(jìn)入WIN7系統(tǒng),此時(shí)之后一個(gè)盤符,需要再進(jìn)行分盤,按照網(wǎng)上介紹,“壓縮卷--新建簡(jiǎn)單分區(qū)“進(jìn)行,發(fā)現(xiàn)竟然把原有MAC系統(tǒng)干掉了,這里千萬(wàn)注意!
然后就是到bootcamp/drivers下面找一些網(wǎng)絡(luò)、顯卡等的驅(qū)動(dòng)進(jìn)行點(diǎn)擊安裝。
posted @
2015-09-25 16:48 楊愛(ài)友 閱讀(289) |
評(píng)論 (0) |
編輯 收藏
摘要: 先在客戶端注冊(cè)一個(gè)callback, 然后把callback的名字傳給服務(wù)器。
此時(shí),服務(wù)器先生成 json 數(shù)據(jù)。
然后以 javascript 語(yǔ)法的方式,生成一個(gè)function , function 名字就是傳遞上來(lái)的參數(shù) jsonp.
最后將 json 數(shù)據(jù)直接以入?yún)⒌姆绞剑胖玫?function 中,這樣就生成了一段 js 語(yǔ)法的文檔,返回給客戶端。
客戶端瀏覽器,解析script標(biāo)簽,并執(zhí)行返回的 javascript 文檔,此時(shí)數(shù)據(jù)作為參數(shù),傳入到了客戶端預(yù)先定義好的 callback 函數(shù)里.(動(dòng)態(tài)執(zhí)行回調(diào)函數(shù))
美麗涵涵童裝店
閱讀全文
posted @
2014-10-29 14:57 楊愛(ài)友 閱讀(9377) |
評(píng)論 (5) |
編輯 收藏
摘要: Spring源代碼解析(一):IOC容器:http://www.javaeye.com/topic/86339
Spring源代碼解析(二):IoC容器在Web容器中的啟動(dòng):http://www.javaeye.com/topic/86594
Spring源代碼解析(三):Spring JDBC:http://www.javaeye.com/topic/87034
Spring源代碼解析(四):Spring MVC:http://www.javaeye.com/topic/87692
Spring源代碼解析(五):Spring AOP獲取Proxy:http://www.javaeye.com/topic/88187
美麗涵涵童裝店
閱讀全文
posted @
2014-10-29 14:54 楊愛(ài)友 閱讀(2717) |
評(píng)論 (0) |
編輯 收藏
摘要:
提高淘寶店鋪訪問(wèn)量辦法 閱讀全文
posted @
2014-10-29 14:34 楊愛(ài)友 閱讀(4708) |
評(píng)論 (0) |
編輯 收藏
摘要:
Spring源碼學(xué)習(xí)-bean加載
一個(gè)applicationContext.xml配置文件,這個(gè)不可少
一個(gè)bean,這里我沒(méi)用接口,直接用一個(gè)普通的類做為Spring的bean
一個(gè)Junit測(cè)試類
閱讀全文
posted @
2014-08-29 10:47 楊愛(ài)友 閱讀(10864) |
評(píng)論 (3) |
編輯 收藏
學(xué)習(xí)源碼是一件非常耗時(shí)費(fèi)力的事情,需要有足夠的時(shí)間和持久的耐心,下面是我閱讀郝佳老師的《Spring源碼深度解析》所做的記錄,書中以Spring3.2講解,使用jdk1.7。
準(zhǔn)備工作
1. 安裝github:現(xiàn)在spring源代碼都在github管理,所以首先需要下載githup,下載地址http://windows.github.com;
2. 安裝gradle構(gòu)建工具:下載地址http://www.gradle.org/downloads,下載完后進(jìn)行解壓到任意盤符,然后增加環(huán)境變量GRADLE_HOME,并在環(huán)境變量bin中增加%GRADLE_HOME%/bin,打開(kāi)DOS窗口,運(yùn)行g(shù)radle -v,出現(xiàn)版本號(hào)等信息,表示安裝成功;
3. 下載Spring源碼:首先打開(kāi)git shell,切換到你的工作目錄,然后輸入以下命令:git clone git://github.com/SpringSource/Spring-framework.git,后面一串是源碼下載地址。大概半小時(shí)的樣子,就可以下載完成,這時(shí)候在你的工作目錄中就會(huì)出現(xiàn)Spring-framework的目錄,里面有Spring各組件的源碼包;
4. 構(gòu)建導(dǎo)入:下載下來(lái)的代碼不能直接導(dǎo)入Eclipse,要先轉(zhuǎn)換成Eclipse能讀取的形式。因?yàn)樗薪M件都會(huì)依賴spring-core,所有我們首先要轉(zhuǎn)換Spring-core工程,在命令窗口切換到Spring-core工程,運(yùn)行g(shù)radle cleanidea eclipse命令,我們會(huì)看到開(kāi)始下載工程所依賴的jar包,幾分鐘后執(zhí)行完畢,再來(lái)看Spring-core文件夾,多了.classpath、.project等文件,這是Eclipse工程所必須的,然后可以把他導(dǎo)入到eclipse。因?yàn)榇蟛糠諷pring組件都會(huì)用到 spring-beans、spring-context、spring-aop,而他們又依賴spring-expression、spring-instrument,所以我們干脆先把這些工程都進(jìn)行轉(zhuǎn)換并導(dǎo)入eclipse。
我初次導(dǎo)入過(guò)程并不順利,拿spring-core為例,其中以來(lái)的一個(gè)jar包是Spring-framework/spring-core/build/libs/spring-asm-repack-4.0.jar,但我工程里面并沒(méi)有他,只好在網(wǎng)上下載了一個(gè),并加入構(gòu)建路徑,其次我還發(fā)現(xiàn)少commons-pool-1.5.3.jar、spring-cglib-repack-3.0.jar,都一一下載,最后還是報(bào)錯(cuò)沒(méi)有java.util.concurrent.ForkJoinPool類,發(fā)現(xiàn)這個(gè)版本必須使用jdk1.7以上,1.6沒(méi)有這個(gè)包。折騰半天,終于幾個(gè)工程沒(méi)變異錯(cuò)誤了,向前邁進(jìn)了一步。
posted @
2014-08-21 16:04 楊愛(ài)友 閱讀(5949) |
評(píng)論 (2) |
編輯 收藏
場(chǎng)景1:aService里面有個(gè)savePerson方法,里面將調(diào)用bService中的保存方法進(jìn)行保存;
aService代碼:
@Transactional(propagation=Propagation.REQUIRED)
public void savePerson() {
Person p1 = new Person();
p1.setName("yangay");
Person p2 = new Person();
p2.setName("lisan");
messageBean.saveTwo(p1, p2);
messageBean.savePerson(null);
}
bService代碼:
@Transactional(propagation=Propagation.REQUIRED)
public void saveOne(Person p){
this.dao.save(p);
}
@Transactional(propagation=Propagation.REQUIRES_NEW)
public void saveTwo(Person p1,Person p2){
this.dao.save(p1);
this.dao.save(p2);
}
因?yàn)閟aveTwo的傳播特性設(shè)置為requires_new,saveTwo方法單獨(dú)起一個(gè)事務(wù),所以當(dāng)調(diào)用saveOne拋出異常之后,不會(huì)影響saveTwo事務(wù)提交,事實(shí)上,在saveTwo返回之前已經(jīng)將事務(wù)提交,所以p1、p2對(duì)象能保存入庫(kù);
如果將saveTwo方法的傳播特性設(shè)置為required,這時(shí)候三個(gè)方法公用一個(gè)事務(wù),當(dāng)saveOne拋出異常后,整個(gè)事務(wù)回滾,數(shù)據(jù)不能入庫(kù);
場(chǎng)景2:
aService代碼:
@Transactional(propagation=Propagation.REQUIRED)
public void savePerson() {
try{
Person p1 = new Person();
p1.setName("yangay");
Person p2 = new Person();
p2.setName("lisan");
messageBean.saveTwo(p1, null);
}catch(Exception ex){
ex.printStackTrace();
}
}
bService代碼:
@Transactional(propagation=Propagation.REQUIRED)
public void saveTwo(Person p1,Person p2){
this.dao.save(p1);
this.dao.save(p2);
}
因?yàn)楫惓1籧atch了,所以事務(wù)不回滾,p1正常入庫(kù);
場(chǎng)景3:
aService代碼:
@Transactional(propagation=Propagation.REQUIRED)
public void savePerson() {
try{
Person p1 = new Person();
p1.setName("yangay");
Person p2 = new Person();
p2.setName("lisan");
messageBean.saveOne(p1);
messageBean.saveTwo(p2, null);
}catch(Exception ex){
ex.printStackTrace();
}
}
bService代碼:
@Transactional(propagation=Propagation.REQUIRED)
public void saveOne(Person p){
this.dao.save(p);
}
@Transactional(propagation=Propagation.REQUIRED)
public void saveTwo(Person p1,Person p2){
this.dao.save(p1);
this.dao.save(p2);
}
開(kāi)始以為有了try catch,p1能保存進(jìn)去,但經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)會(huì)報(bào)錯(cuò)。因?yàn)閟aveTwo時(shí)拋出異常,首先被spring框架個(gè)catch住,將事務(wù)標(biāo)記為rollbackonly,然再往出拋異常,最后被savePerson方法catch住,所以事務(wù)能夠提交,但當(dāng)提交的時(shí)候,
發(fā)現(xiàn)標(biāo)志位已經(jīng)被設(shè)置了,不應(yīng)該去提交了,然后吭哧吭哧的回滾調(diào),再提示你已經(jīng)被設(shè)置成rollback-only了。
但如果saveTwo的傳播特性改為require_new,因?yàn)樗麊纹鹨粋€(gè)事務(wù),不會(huì)影響父事務(wù)的提交,所以p1能保存,p2失敗;
場(chǎng)景4:
事務(wù)在多個(gè)對(duì)象之間才有傳播特性
@Override
public void savePerson() {
Person p1 = new Person();
p1.setName("yangay");
Person p2 = new Person();
p2.setName("lisan");
saveTwo(p1,null);
}
@Transactional(propagation=Propagation.REQUIRED)
public void saveTwo(Person p1,Person p2){
messageBean.saveOne(p1);
messageBean.saveOne(p2);
}
兩個(gè)方法在一個(gè)類里面,
saveTwo并沒(méi)有事務(wù),p1能提交;但如果把saveTwo放到另外一個(gè)類,則saveTwo就會(huì)有事務(wù),p1不能提交;
如果要同一個(gè)類里面的saveTwo執(zhí)行事務(wù),可在配置文件增加<aop:aspectj-autoproxy expose-proxy="true"/>,然后((Iservice)AopContext.currentProxy()).
saveTwo(),這樣執(zhí)行的就是代理的方法,就會(huì)有事務(wù)(Iservice必須是你定義的接口)
posted @
2014-08-08 15:43 楊愛(ài)友 閱讀(2744) |
評(píng)論 (0) |
編輯 收藏
當(dāng)我把jboss/client下的所有jar和ejb工程jar方到web工程下,編寫main函數(shù)可以調(diào)用到EJB的bean,而將web工程發(fā)布出去后,就調(diào)用不到了,報(bào)錯(cuò)“javax.naming.NameNotFoundException: xxx not bound”,
折騰了五六個(gè)小時(shí),網(wǎng)上說(shuō)了各種各樣的原因,都沒(méi)能解決,最后看這位兄弟的文章,問(wèn)題才得以解決。
http://blog.163.com/zzk331@126/blog/static/142674599200957111441126/
如果你的問(wèn)題解決了,請(qǐng)回復(fù)我!
posted @
2014-05-28 16:56 楊愛(ài)友 閱讀(6291) |
評(píng)論 (0) |
編輯 收藏
摘要: 來(lái)到互聯(lián)網(wǎng)公司,需要開(kāi)發(fā)EJB程序,用兩天的時(shí)間先學(xué)習(xí)了EJB的開(kāi)發(fā)流程,我用的開(kāi)發(fā)環(huán)境是myeclipse、jboss4.2、ejb3.0、struts1.3.8、jkd6、oracle、JPA,頁(yè)面展現(xiàn)用到velocity。其實(shí)這不是一個(gè)春對(duì)ejb的學(xué)習(xí)文章,因?yàn)槔锩嫔婕傲烁鷈jb無(wú)關(guān)的struts、velocity,如果單純學(xué)習(xí)寫ejb的helloword,數(shù)據(jù)庫(kù)都不用連接,下面我描述下helloword程序的實(shí)現(xiàn)過(guò)程。
雖然技術(shù)含量不高,但寫的很辛苦,需要占用首頁(yè)一個(gè)位置。
閱讀全文
posted @
2014-05-28 15:28 楊愛(ài)友 閱讀(5788) |
評(píng)論 (4) |
編輯 收藏
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<style>
</style>
</head>
<body>
<div>
<div id="chartdiv1" style="width: 300px; height: 300px;float:left;border: 1px solid red;"></div>
<div id="chartdiv2" style="width: 300px; height: 300px;float:right;border: 1px solid red;"></div>
<div style="clear:left;"></div>
<div id="chartdiv3" style="width: 300px; height: 300px;float:left;border: 1px solid blue;"></div>
<div id="chartdiv4" style="width: 300px; height: 300px;float:right;border: 1px solid blue;"></div>
</div>
</body>
</html>
posted @
2013-10-09 16:25 楊愛(ài)友 閱讀(1366) |
評(píng)論 (0) |
編輯 收藏
摘要: 地心坐標(biāo)系(geocentric cs、GEOCCS):以地球中心為原點(diǎn),直接用X、Y、Z來(lái)進(jìn)行位置的描述,無(wú)需模擬地球球面,常用在GPS中。
地理坐標(biāo)系(geographic cs、GEOGCS):帶Datum的橢球面坐標(biāo)系,單位經(jīng)度、緯度,高程用作第三維。參數(shù):橢球體、基準(zhǔn)面。
投影坐標(biāo)系(projected cs、PROJCS):平面坐標(biāo)系,單位米、英尺等,它用X(Easting)、Y(Northing)來(lái)描述地球上某個(gè)點(diǎn)的位置。它對(duì)應(yīng)于某個(gè)地理坐標(biāo)系,在UML中表示屬于1對(duì)多的關(guān)系,1個(gè)地理坐標(biāo)系經(jīng)過(guò)不同的投影方式可產(chǎn)生多個(gè)投影坐標(biāo)系。參數(shù):地理坐標(biāo)系、投影方式。
閱讀全文
posted @
2013-06-26 16:10 楊愛(ài)友 閱讀(1367) |
評(píng)論 (0) |
編輯 收藏
1. 說(shuō)出常用的GIS平臺(tái),arcgis的產(chǎn)品線?
2. 地理坐標(biāo)系、投影坐標(biāo)系和地心坐標(biāo)系的概念?
3. 描述一下矢量數(shù)據(jù)和柵格數(shù)據(jù),以及各自應(yīng)用的領(lǐng)域?
posted @
2013-06-26 15:53 楊愛(ài)友 閱讀(207) |
評(píng)論 (0) |
編輯 收藏
【轉(zhuǎn)自:http://m.tkk7.com/Alpha/archive/2009/06/27/284373.html】
Flex中As調(diào)用Js的方法是: 1、導(dǎo)入包 (import flash.external.ExternalInterface;) 2、使用ExternalInterface.call("Js函數(shù)名稱",參數(shù))進(jìn)行調(diào)用,其返回的值就是Js函數(shù)所返回的值 Js調(diào)用As的方法是: 1、導(dǎo)入包 (import flash.external.ExternalInterface;) 2、在initApp中使用ExternalInterface.addCallback("用于Js調(diào)用的函數(shù)名",As中的函數(shù)名)進(jìn)行注冊(cè)下 3、js中 就可以用document.getElementById("Flas在Html中的ID").注冊(cè)時(shí)設(shè)置的函數(shù)名(參數(shù))進(jìn)行調(diào)用
posted @
2013-06-26 15:44 楊愛(ài)友 閱讀(216) |
評(píng)論 (0) |
編輯 收藏
關(guān)于js中target與currentTarget的區(qū)別的關(guān)鍵在于他們所處在的事件流的階段是不一樣的,target處于事件流的目標(biāo)階段,currentTarget處理事件流的捕獲、目標(biāo)階段和冒泡階段。只有當(dāng)他們同事處于目標(biāo)階段的時(shí)候他們的指向才是一樣的,請(qǐng)看以下代碼:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>js性能優(yōu)化</title>
</head>
<body>
<div id="outer">
outer
<p>
inner
</p>
</div>
</body>
<script type="text/javascript">
(function(){
var a=document.getElementById('outer');
a.addEventListener('click',function(e){
alert(e.target.innerHTML);
alert(e.currentTarget.innerHTML);
alert(e.currentTarget === e.target);
},false);
})();
</script>
</html>
posted @
2013-06-26 15:34 楊愛(ài)友 閱讀(335) |
評(píng)論 (0) |
編輯 收藏