打造本身的靜態博客系統(一)

  從最初的ASP易心博客到php的zblog、wordpress.....每種博客系統都有我所欣賞的地方,但也都有讓我頗爲失望的地方。一方面這些博客系統給我帶來的各類便利,另外一方面這些博客系統也有讓人忍不住抓狂的地方。php

  在這麼多博客系統裏,我最喜歡的是WordPress,但它的臃腫以及文章id的不連續問題同時也讓我傷透了心。雖然我經過修改主程序代碼解決了文章ID不連續的問題,可是伴隨的主程序每次更新完以後,每次不斷的返工、再加上一些能夠很簡單能夠改善用戶體驗的功能卻須要花極大的代價才能實現的狀況下,終於我決定放棄WordPress!html

  考慮到我的博客,主要之內容爲主,再加上我喜歡簡約的風格,以及貧窮的家室....(在此感謝阿里雲的學生優惠政策,能讓我實現了玩獨立主機的夢想)我毅然決然的決定用靜態化博客,所以,隨之而來的又是一大批靜態博客系統,我心想:「唉,又得花時間去弄熟它們!」。ios

  直到某天,我忽然頓悟:爲何我不打造一個屬於本身的靜態博客系統呢?不用花費時間去學習、開發其餘博客系統的插件;能夠累積本身的代碼量,增長代碼閱歷;能夠發這個文章來給新人裝逼....好處多多啊!wordpress

  想到這裏,因而我迅速的開展了行動,首先面臨的問題是:用什麼語言實現?學習

  簡單的遍歷了一下本身生平所學後,總結一下:C++、PHP、易語言。阿里雲

  易語言,OUT!個人獨立主機是Linux環境,難道讓我要用wine執行?雖然我易語言開發經驗較爲豐富。spa

  如今,剩下的就是C++與PHP之間的戰鬥了,一觸即發!插件

  C++,本學期才學,還沒學完。用C++開發的好處就在於遇到問題能夠直接找老師。在這個信息量爆炸的時代裏,有老師指點是件很是幸福的事情,相信有自學經歷的人都明白!code

  PHP,自學,水平也就那樣。用PHP開發的好處就在於開發經驗豐富、處理字符串、文件操做簡單粗暴。htm

  貌似二者開發對我來講不相上下啊!

  做爲一個靜態博客系統,靜態頁的生成效率很是重要。

  因而我便作了一個實驗,代碼以下:(認爲C++執行效率會高的舉個爪!)

  C++代碼:

#include <iostream>  
#include <fstream>  
#include <string>
#include<time.h>
using namespace std;
int main(){
	ifstream in("index.txt", ios::in); 
 	istreambuf_iterator<char> beg(in), end;
 	string strdata(beg, end);    //將index.txt讀入strdata字符串對象
 	in.close();
 	clock_t start, finish; 
    start = clock();
    ofstream fout;
	char a[10]; 
	string str;
    //循環生成4Kb的文件,數量級分別爲100,1000,1000
    for(int i = 0;i<100;i++){
    	char b[10];
		sprintf(b,"%d",i);    //將整型轉換爲字符串
		string c = b;
		string d = "html/"+c + ".html";
		cout<<d<<endl;
    	fout.open(d.c_str());
		fout<<strdata<<endl;
		fout.close();		
	}
    finish = clock(); 
 	cout<<(double)(finish - start) / CLOCKS_PER_SEC; 
	
}

  PHP代碼:

$temp = file_get_contents("index.txt");
$start_time=microtime(true); 
set_time_limit(0);
for($i=0;$i<10000;$i++){
    $file = fopen("html/".$i.".html", "w");
    fwrite($file,$temp);
    fclose($file);
}
$end_time=microtime(true);
$total=$end_time-$start_time; //計算差值
echo "此php文件中代碼執行了{$total}秒";

  結果看得我驚呆了!!!

      100     1000    10000

  C++   0.312s  1.345s  13.619s

  PHP  0.076s  0.475s  6.406s

  從不管是從代碼開發效率來講仍是靜態頁的生成效率,PHP明顯優於C++;

  因此....C++,OUT!!!

   啦啦啦....經驗比較豐富的PHP獲勝!!!開發難度下降很多!

相關文章
相關標籤/搜索