TT目前最新版為1.1.3
不過太久沒去看他有啥新功能
因為目前功能尚夠用所以繼續撐著囉
這次要說明的調整為 文章編輯時 他的內容框(Text Box)
目前TT提供的就是色塊功能,小弟覺得是不怎麼好看啦
所以研究了一下,只要改二隻程式就可以變成有框的色塊啦
一隻是新增文章功能 路徑 blog\owner\entry\post\index.php
一隻是修改文章功能 路徑 blog\owner\entry\edit\item.php
請搜尋 hideLayer('textBox'); 關鍵字 找到後會看到有五行,就是那跳出的TextBox色塊框啦!!請依下面方式修改調整,粗體字表示要增加的語法
<td><a href=”#void” onclick=”hideLayer('textBox'); TTCommand('Box', 'BORDER: windowtext 0.5pt solid;padding:10px; background-color:#FFDAED');”><span class=”color-FFDAED”>#FFDAED</span></a></td>
上述的例子是會變成黑框,如同上例子用的,下面的例子是會變成虛線框:
<td><a href=”#void” onclick=”hideLayer('textBox');
TTCommand('Box', 'border: 1px dashed #3c78b5;padding:10px;
background-color:#FAFFA9');”><span
class=”color-FAFFA9″>#FAFFA9</span></a></td>
共有五行,你可以依喜好自行調整,注意新增和修改的程式一定要調整一樣呀~不然你會混亂!!
在者,舊文章因為已經將格式存於資料庫之中,所以無法一併適用,需要一筆一筆拿出來改才行!!
SEO全名為”Search engine optimization “,也就是搜尋引擎最佳化,經過SEO的網頁可以在搜尋引擎中以”自然”的方式獲得極佳的名次,因為同樣的關鍵字查詢下,你的網址會被列在比較前面容易被查詢者點選,所以點選的機率大增之下,有了流量當然商機就有可能大幅的增加。
Google可以說是全世界最先推出關鍵字廣告的搜尋引擎不過近二年來,Yahoo在台灣利用平面廣告的強力洗腦之下,關鍵字廣告已深入人心,所以也使得Yahoo在台灣搜尋引擎市佔率也居高不下(保守估計有七成以上)。
不過關鍵字廣告不等同於我們剛提的SEO,Yahoo和Google也不會主推SEO業務,只會推關鍵字廣告為什麼呢?
因為關鍵字廣告擺明了就是要你花錢刊登在最醒目的地方這個叫做一個願打一個願挨模式,好聽一點就叫雙贏策略刊登者花錢買想要的關鍵字,希望獲得好業績;而業者收其利益,幫忙放在最醒目的地點,那幹啥還要SEO呢?
因為搜尋引擎最重要的功能就是可以在同一介面下找到其它網頁的內容搜尋引擎業者也是因為這個服務,所以取得廣大使用者的流量才會有剛提到的關鍵字廣告服務。如果沒有搜尋引擎,就一切免談,但這世界上那麼多網頁,同樣關鍵字那麼多搜尋引擎業者怎麼排名優先順序呢? 當然各家搜尋引擎業者都自己有一套
“假公平”的演算法,比較多眾人所知的就是Google的PR(Page Rank),透過一套
機制去演算出你的排行優先順序,這套機制雖說是”假公平”不過至少也要有一定
的合理性,不然找出來排前面的都不是大家想找的,久而久之,消費者是會轉到
其它家的懷抱的!! (這也是非獨佔市場的好處,也能促使該市場及技術的成長)
不過為何小弟會一開始就強調”假公平”呢?
因為小道消息說有 Yx搜尋引擎業者會調降你的排名,然後和你聯絡要你買關鍵字
(這招夠低級的,也蠻好用的 =.=||| 我再次註明這是 聽說的可能非真實),還有就是我們這次提到的主題啦SEO,搜尋引擎最佳化,因為各家都有一套演算法,所以可以在滿足這演算法的情況下,提升自己網站的排名。
這個市場,相信會比關鍵字來的吸引人,以小弟來說 關鍵字 不常按,比較容點的,就是”自然”排名下的前幾名,不過這市場也很競爭,因為這個排名有可能是用錢也買不到關鍵字廣告就行,如果你的競爭對手也進行優化,那也有可能你優化後還是無法排名到前面。
而一般會幫人做SEO公司,很少會將做法供在網路上,因為這就等於商業機密外洩,當然搜尋引擎業者也不會把”假公平”的演算法完全公開,所以網路上大多資訊只能找到建議方法(就是看看就好);如果是小網站,可以參考一下,在不熱門的關鍵字或許排名可以因此提高不少。SEO算是遊走在合法與非法之間,搜尋引擎業者也會去audit不太合理的網站當被認定你非法時,那你想翻身就很難囉。 所以在自行玩SEO或找其它公司時可要三思並慬慎小心呀!!
Java對檔案的處理,已經提供非常完整的API
不過像複製檔案的功能,還是要再手動多寫幾行code才行
以下就介紹copy 檔案的方式,順便說一下如何copy 資料夾
1.這是最基本的方式,利用read()方式進行複製動作
public void copyFile(String srFile, String dtFile){
try{
File f1 = new File(srFile);
File f2 = new File(dtFile);
InputStream in = new FileInputStream(f1);
OutputStream out = new FileOutputStream(f2);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0){
out.write(buf, 0, len);
}
in.close();
out.close();
}
catch(FileNotFoundException ex){
ex.printStackTrace();
}
catch(IOException e){
ex.printStackTrace();
}
}
2.在JDK 1.4時,多了一些對IO處理的API放在java.nio這個package,叫做NIO (NEW I/O),先前JAVA提供的IO都會blocking IO,因此導致很多Thread在進行IO處理時就會造成整體效能變差,NIO它的最大優點,是可以在同一條 thread 讀寫多個channel而不會被單一的IO blocking限制效率並且也減少多了透過byte[]方式的動作。所以我們也提供NIO複製的方式
public void copyFile(String srFile, String dtFile){
try{
FileChannel srcChannel = new FileInputStream(srFile).getChannel();
FileChannel dstChannel = new FileOutputStream(dtFile).getChannel();
dstChannel.transferFrom(srcChannel, 0, srcChannel.size());
srcChannel.close();
dstChannel.close();
} catch (IOException e) {
e.printStackTrace();
}
}
3.複製資料夾,當然能複製檔案外,也可以寫個小method來進行資料夾的複製,有點像xcopy的方式,這裡要注意,以下的程式碼copyFile 是傳入File而非上述sample code的String,請自行再調整一下
public void copyDirectory(File source, File target) {
File[] file = source.listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
File sourceDemo = new File(source.getAbsolutePath() + “/”
+ file[i].getName());
File destDemo = new File(target.getAbsolutePath() + “/”
+ file[i].getName());
this.copyFile(sourceDemo, destDemo);
}
if (file[i].isDirectory()) {
File sourceDemo = new File(source.getAbsolutePath() + “/”
+ file[i].getName());
File destDemo = new File(target.getAbsolutePath() + “/”
+ file[i].getName());
destDemo.mkdir();
this.copyDirectory(sourceDemo, destDemo);
}
}
}
參考資料:
這兩個名詞常聽到,不過稍不注意,很容易搞混其意思,所以在此列出之間的特性及重點
堆疊(Stack)
- 資料的插入和刪除只發生在堆疊的頂端(Top)
- 使得資料進出堆疊時產生「後進先出」(LIFO)的特性
- 使用範例
- 歐式自助餐之餐盤堆放方式
- 副程式的呼叫和返回
- 堆積木
- 蓋房子
- 空間堆放求得最佳步驟
- 數學四則運算
佇列(Queue)
- 佇列也是一個有序串列
- 資料的插入和刪除分別發生在佇列結構的兩端
- 插入資料的一端叫做尾端(Rear),刪除資料的一端叫做前端(Front)
- 資料進出佇列的次序形成「先進者先出」的特性 (FIFO)
- 使用範例
先前有提到在開發時常會將String 轉成InputStream或都反之將InputStream轉String,其實還有一種也很常轉換就是將OutputStrem轉成成InputStream,一般是要傳出到其它媒介,如檔案時,可以再接進來做preview的動作,轉換很簡單,以下提供二種方式。
1.
ByteArrayOutputStream out = new ByteArrayOutputStream();
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()) ;
2.這種轉換使用Pipe就最合適了,使用方式也是很單純
PipedOutputStream out = new PipedOutputStream();
PipedInputStream in = new PipedInputStream(out);
當然除了OutputStrem轉成成InputStream,也可以反轉,以前還不太懂Stream時(現在還是不太懂 =.=||),總想半天為啥java搞的這麼複雜,現在稍為能體會Stream好處了!!
參考資訊:
http://blog.csdn.net/jimmyblyLee/archive/2007/08/20/1750939.aspx
近期留言