CodeIgniter 初體驗 - 設定篇


ci_logo2 

1. 放置CI檔案
請先至 Codeigniter 官方網站 ,下載Version 1.7.0 (下載頁面)
將檔案解壓縮至網頁根目錄,並將資料夾『CodeIgniter_1.7.0』重新命名為『CI17』
目錄結構如下:



2. 設定config
a.) 打開CI17\system\application\config\autoload.php,
找到
$autoload['libraries'] = array();


 
修改為
$autoload['libraries'] = array('database');

存檔,關閉檔案

b.)
打開CI17\system\application\config\config.php,
找到
$config['base_url']    = "XXXXXXXX"; 


修改如下(請依實際狀況設定)
$config['base_url']    = "http://localhost/CI17/"; 


存檔,關閉檔案

c.)
打開CI17\system\application\config\database.php,
找到
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "";
$db['default']['password'] = "";
$db['default']['database'] = "";


請自行修改成實際狀況,
$db['default']['hostname'] = "DBServer";
$db['default']['username'] = "dbuser";
$db['default']['password'] = "mypassword";
$db['default']['database'] = "MyDBName";


存檔,關閉檔案
以上,即完成ci基本設定
----------------

繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 下午2:05 0 意見  

COSCUP 2008 一日遊

2008/8/23 (六) - 8/24 (日) 在台大應力所辦了一場 COSCUP 2008
(Conference for Open Source Coders, Users and Promoters)
Paddy我也去湊熱鬧參加了。
coscup logo 


以下就聊聊我比較有印象、興趣的場次。

Session A - Java
* NetBeans and Glassfish (Koji, twjug)
JavaWorld@tw 的站長 Koji 介紹 NetBeans + GlassFish
主要是說NetBeans 很好用,GlassFish 比 tomcat更好
不過有人覺得 eclipse + tomcat 也不錯。
* Java Thread Pool 實務與陷阱 (William Yeh)
主要在講開發時如何處理Thread,而且避免出錯。
太技術了,而且我久未碰Java,沒有很專心,也聽不太懂 XD

* OSGi簡介 (Try, twjug)
一個直接建構在JVM上的通用的中介軟體(Universal Middleware)規格, 
不是很瞭。 Session A小記:
大學畢業後Paddy我就鮮少接觸Java的議題了,不過公司最近要買一套Java開發的系統,
所以日後可能會在摸一下Java,剛好利用這個機會關心一下Java發展的近況也不錯:P
Session B  - 資訊安全 - Open Source and Security
* 輕鬆偵測惡意文件 - 利用 Open Source Project (TimHsu)
原來惡意文件是這麼執行的呀!

* Towards Offensive Security Tools Integration (Fyodor Y.)
一個老外用中文講session,中英交雜,有聽沒有懂 >"<


Session C - Web Information Platform (1)
* Rails plugin used/created in Registrano (ihower, Handlino)

介紹 和多 用RoR開發哪些好用的plugin

* jQuery 簡介 (TonyQ)
很實用的 jQuery 簡介。不過我jQuery都沒認真寫過,只有拿他內建或是Plugin來玩而已。
不過jQuery真的很好用,我也推薦啦!
jQuery的 slogan : The Write Less, Do More

* App Engine (Ping Yeh and Chris Schalk, Google)
Google 的App Engine,
讓Developer專注在寫Code跟DB,其他雜事不需要管,都讓Google 幫你解決吧!   Session D  - Keynote 
* How to Run Big Community over the world (Gen Kanai, Mozilla)
一個日本人(?),用英文講session,這個我反而聽得比前面的老外講中文還清楚:P
主要是講Mozilla社群的事情

* A Close look at openSUSE 11 (Alex Lau, Novell)
一個從北京來的香港人,用中文(應該叫做普通話嗎?)講session,
不過問到現場有誰是openSUSE的Fans時,好像只有一兩個人舉手(友情舉?),
反而是ubuntu的粉絲比較多,有點尷尬,哈!
很明顯的感受到詞彙用語的不同,不過幸好平日有多少接觸到大陸的相關名詞,不然會有點轉不過來:P
另外,大陸人真愛講粉絲這個詞呀!   Lightning Talk
糟糕,沒印象深刻的 >"< !
主要是大家上來介紹自己在開發的一些專案、網站。
不過大家的Talk都很有趣,真是一整個歡樂阿。
我要學起來:P


BoF 一丘之貉
原本Lightning Talk講完後,我就要回家了。
沒想到下大雨,而且是非常大的雨。
只好留下來聽接下來的BoF 一丘之貉(不過我不知道為啥要叫這個名字耶?)
我聽的是 * OpenStreetMap (KaLUG)
OpenStreetMap 是一個讓大家可以上傳地圖的一個系統,
有點類似維基百科,每個人都可以上去編輯地圖資訊。

OpenStreetMap跟Google Maps , UrMap , Yahoo 地圖 有點像,都是一個線上的map系統。
那為什麼我們要用OpenStreetMap? 而不直接使用上述的地圖系統就好呢?
因為像是上面的地圖資料(Google maps ,yahoo maps ....),都是那些公司的財產
雖然他們都多少開發一些API讓User使用,但原則上地圖的版權都是隸屬於那些公司的,
而不是像OpenStreetMap讓我們可以自己去運用,而且還可以自己去修改地圖,參與度反而更高呢!
有興趣的人可以看一下這個 OpenStreetMap@tw
真的還滿有趣的!

因為Paddy第二天有事,所以只參加第一天的活動。
有點可惜。


會後總結:
現場的贊助商還不少,報到的時候獲得一枚印有COSCUP圖案 + Paddy專屬圖像的徽章,
(上次去 osdc 2008 時,也得到一個類似的)
還有Microsoft填問卷送的「IronPython程式設計」、Firefox 系列貼紙、Google 原子筆、Google 書籤。
真是大豐收。
COSCUP圖案 + Paddy專屬圖像的徽章
COSCUP 徽章
Google 書籤、Firefox 系列貼紙
Firefox 家族貼紙 ,google 書籤

IronPython程式設計
Iron Python
 


另外又要再說一次 網路聚會之黃金三點
「正妹工作人員要多,即使少也不能傷眼,最好是有拍回去讓人炫耀的水準」
「網路品質要好,即使很慢也要不能一直狂斷,有線網路是最佳選擇」
「點心要好吃,不好吃也要讓人人吃到飽,最好是茶點時間超級長」
正妹有ubuntu社群的正妹工作人員。
台大網路雖然在維修,現場建置的3G網路時好時壞,但還是可接受。
最要讚揚的是食物、飲料超多,每場Session 之間的點心多到吃不完,飲料也滿多樣的。
還有第一天晚餐的Pizza、炸雞真的是超乎意料的多,多到有點誇張。
我吃了兩隻大炸雞腿、兩片Pizza、兩塊小雞腿翅、數杯飲料,讚啦!
重點是整天活動完全免費,有吃又有拿,真的是我參加過最超值的活動了:P
太感謝主辦單位跟工作人員了!
 

延伸閱讀:
COSCUP 議程 & 簡報資料下載
COSCUP 2008 筆記 by Tsung's Blog
OSGi Java: 淺談 OSGi 標準
OpenStreetMap



繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 凌晨1:00 0 意見  

如何把其他網址指向Bluehost的空間


bluehost 是國外最大的Web hosting 公司之一,
前陣子Paddy 在那邊租了空間來玩玩。
申請Bluehost時,有附贈一個網址。
但我原本已經有一個網址了,要怎麼把原先的網址,指到Bluehost上的空間呢?
bluehost-logo



以下的例子,將有兩個網址(都是我隨便亂掰的網址)。
一個是bluehost送我的網址「mylocalhost.com.com」
一個是我原本已經擁有的網址「localhost.com」。
我要怎麼讓 「blog.localhost.com 」指到 bluehost 的空間 「blog.mylocalhost.com」呢?

登入bluehost 後,
點選Domains -> Domain Manager
001


接下來應該會到這一頁,應該會自動跳頁到下一頁,若沒有自動跳頁,請點選「Domain Manager」
002


點選 「Add Domain」
003


第一步,輸入網址,如「blog.localhost.com」
004


第二步,驗證您是否擁有Domain權限。
若出現下列畫面,代表您localhost.com的設定尚未完成。
有三種方式驗證,下列三種選一種設定即可:

一、在localhost.com 的地方設定Nameserver 為 ns1.bluehost.com , ns2.bluehost.com。
二、在localhost.com 的地方,新增一筆A Record ,指到 bluehost.com 要您設定的IP (如192.168.1.1)。
三、在localhost.com 的地方,新增一個特定的html檔,並包含特定文字。

005-1 


若您的設定無誤,步驟二應該是出現下列訊息才對。
(ps.若您是看到上圖的訊息才去設定localhost.com的資料,可能要等一陣子這邊才抓得到。) 005-2


步驟三,選擇「Addon Domain」
006


步驟四,使用現有資料夾或是建立新資料夾。
在步驟一填寫的blog.localhost.com ,應該對應到哪個資料夾?
007

步驟五,點選上圖的「Add Domain」,即可完成您的設定。

此時,在瀏覽器上輸入 「http://blog.localhost.com 」,
即會自動對應到 bluehost上的blog資料夾囉!

收工。

繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上10:47 0 意見  

Google Developer Day 2008

昨天,我跟uno參加了Google Developer Day 2008

地點是辦在很豪華的台北國際會議中心。

Google Google2


我聽了下列幾場的Session:Maps API、Maps API Case Study、Developer showcase、雲端運算、Gadgets

首先是Maps API,講的東西都是滿基本的,主要是如何運用 Google Maps 的 API
像是如何使用 markerinfowindowpolyline ,對於尚未了解maps aps 的人來說應該滿有趣的:D
後來Paddy 回去找了一下資料,發現Google 提供的 Google Maps API Examples 裡面就已經有滿多的exsample了,
有需要的朋友可以看一下。

Maps API Case Study 有三個主講人,
比較有趣的是 台灣新舊地圖比對 , 聽了這場才知道,我可以將其他地圖整合到Google maps 上呀!
另外整合Google maps & Google Earth 、 Google maps & Street View 也滿有趣的。
地圖日記由於之前就有稍微玩過一下了,所以反而覺得普通。
Google Earth API在此

下午的 Developer showcase 是先前讓網友報名自己Show創意,再入選為當天的Demo。
上台的有 我的幸運地圖ok17go揪團網。 
「我的幸運地圖」主要是結合maps 與個人當天的吉凶方位,
讓我們一目了然,知道今天哪個方位對我們的愛情、事業有利,並且盡量不要朝「兇」的方向走 :D。
「ok17go」是結合旅遊與地圖,讓我們知道哪些景點很好玩。
「揪團網」是讓我們平常與朋友聚會約時間的平台,map是讓我們知道聚會的地點在哪。
若以創意度來說,個人是覺得「我的幸運地圖」大勝;以實用度來說,還是揪團網比較好用(Paddy 先前已經在上面揪了好幾次團了)
至於ok17go 則提不太起我的興趣:P

雲端運算 這個議題我很不熟,聽完Session才比較知道是甚麼一回事,就不做評論了。

Gadgets 簡單來說,就是 iGoogle 上的小工具,聽講者講的好像很簡單,
事實上要作出一個好用的Gadgets 應該要花一些心思與技巧呀!
Gadgets API在此

相關的議程在這邊,每場都有錄影,會放到網路上的樣子,若錯過機會的,記得去官方首頁看有沒有放影片上去呀!
最後補上當天的識別證一枚。
GoogleDeveloperDay

Google Developer Day 2008的相關花絮,請參考unoGoogle Developer Day 2008

相關連結:

Google Developer Day 2008
Google Maps API
Google Earth API
Google Gadgets API
GEO
我的幸運地圖
ok17go
揪團網

繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上7:05 0 意見  

最新回應的作法 - 設定回應篇數

之前在已經po了一篇 最新回應的作法
後來發現,他會把所有的回應全部顯示出來!Orz...
那我如果只要限定最新的10則回應怎麼辦!?



將下面一整段貼到 HTML/Javascript的 element,紅色部分是新修改的地方。


<script>
g_szBlogDomain='xxxxx.blogspot.com';
g_iShowCount = 10;
</script>
<script src="http://twpaddy.googlepages.com/rc2.js"></script>


繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上11:54 0 意見  

利用 dtexec 指令執行 SSIS 的 dtsx 檔

本篇將說明如何使用 dtexec 公用程式 來執行SSIS 的 dtsx 檔

設計好 SSIS 後,

1.) 在控制流程的頁籤上按右建 -> 屬性
SSIS01

2.) 找到ProtectionLevel ,選擇 EncryptAllWaithPassword,
    PackagePassword 則自行輸入密碼

SSIS02

3.) 在方案的地方,右鍵 -> 建置
 SSIS03

4.) 建置好之後,專案目錄下的 bin 資料夾將產生一個 dtsx 檔。
    後續執行 SSIS 只需要利用這個檔案,因此我們將他複製到Server上。

5.) 建立一個文字檔,內容輸入

dtexec /Decrypt 密碼 /f dtsx的所在路徑

dtexec /Decrypt paddy /f D:\Jobs\DownloadFile\DownloadFile.dtsx

將檔名取作「Rub.bat」


之後只要排 Schedule 讓Run.bat 定期執行就好囉!


延伸閱讀


MSDN: dtexec 公用程式


繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 上午11:58 0 意見  

讓回應加上回應者圖片

在Blogger 回應的地方,
幫回應者加上圖片



展開小裝置之後,找到下列的語法

<dl id='comments-block'>
<b:loop values='data:post.comments' var='comment'>
<dt class='comment-author' expr:id='"comment-" + data:comment.id'>
<a expr:name='"comment-" + data:comment.id'/>
<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>
<data:commentPostedByMsg/>
</dt>
<dd class='comment-body'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a expr:href='"#comment-" + data:comment.id' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
</dd>
</b:loop>
</dl>


在剛剛找到的語法中間,插入下面紅色的這兩行

<dl id='comments-block'>
<b:loop values='data:post.comments' var='comment'>
<dt class='comment-author' expr:id='"comment-" + data:comment.id'>
<div class='commentphoto' style='float:right;'/>
<a expr:name='"comment-" + data:comment.id'/>
<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>
<data:commentPostedByMsg/>
</dt>
<dd class='comment-body'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a expr:href='"#comment-" + data:comment.id' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
</dd>
<div style='clear:both;'/>
</b:loop>
</dl>



在 ]]></b:skin> 與 </header> 之間,
插入下列這段語法


<script src='http://yggomelprup.googlepages.com/blogger_comment_photos.js' type='text/javascript'/>
<script type='text/javascript'>
//<![CDATA[
addLoadEvent(function(){showCommentPhotos('commentphoto','comment-author', 1);});
//]]>
</script>



參考資料:


blogger 3.0:让你的博客文章页显示的评论出现头像

Comment Author Photos



繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上11:14 0 意見  

C# - 判斷字串是否為數字

在C#要怎麼判斷字串是否為數字呢?

這個很常用,記起來。



public static bool IsNumber(string strNumber)
{
System.Text.RegularExpressions.Regex r=new System.Text.RegularExpressions.Regex(@"^\d+(\.)?\d*$");
return r.IsMatch(strNumber);
}


繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上7:20 1 意見  

設定標籤雲

將標籤改為標籤雲,
作法來至 將Blogger Beta的Label作成Label Cloud

英文原文
Setup and configuration for New Blogger Tag Cloud / Label Cloud




首先先加入這一段CSS


/* Label Cloud Styles
----------------------------------------------- */
#labelCloud {text-align:center;font-family:arial,sans-serif;}
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
#labelCloud a{text-decoration:none}
#labelCloud a:hover{text-decoration:underline}
#labelCloud li a{}
#labelCloud .label-cloud {}
#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
#labelCloud .label-cloud li:before{content:"" !important}



在]]></b:skin>與</head>中間加入

YOURBLOG 改為你blog的網址

<script type='text/javascript'>
// Label Cloud User Variables
var lcBlogURL = 'http://YOURBLOG.blogspot.com';
var maxFontSize = 20;
var maxColor = [0,0,255];
var minFontSize = 10;
var minColor = [0,0,0];
var lcShowCount = false;
</script>



找到這段
<b:widget id='Label1' locked='false' title='Labels' type='Label'/>

用下面這一段取代

<b:widget id='Label1' locked='false' title='Label Cloud' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>

<div class='widget-content'>
<div id='labelCloud'/>
<script type='text/javascript'>

// Don't change anything past this point -----------------
function s(a,b,i,x){
if(a&gt;b){
var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
}
else{
var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)
}
return v
}

var ta=0
var c=[];
var labelCount = new Array();
var ts = new Object;
<b:loop values='data:labels' var='label'>
var theName = &quot;<data:label.name/>&quot;;
ts[theName] = <data:label.count/>;
</b:loop>

for (t in ts){
if (!labelCount[ts[t]]){
labelCount[ts[t]] = new Array(ts[t])
}
}
tz = labelCount.length-1;
lc2 = document.getElementById('labelCloud');
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
for (var i=0;3 &gt; i;i++) {
c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
}
var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);
li = document.createElement('li');
li.style.fontSize = fs+'px';
li.style.lineHeight = '1';
a = document.createElement('a');
a.title = ts[t]+' Posts in '+t;
a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';
a.href = lcBlogURL+'/search/label/'+encodeURIComponent(t);
if (lcShowCount){
span = document.createElement('span');
span.innerHTML = '('+ts[t]+') ';
span.className = 'label-count';
a.appendChild(document.createTextNode(t));
li.appendChild(a);
li.appendChild(span);
}
else {
a.appendChild(document.createTextNode(t));
li.appendChild(a);
}
ul.appendChild(li);
abnk = document.createTextNode(' ');
ul.appendChild(abnk);
}
lc2.appendChild(ul);
</script>

<noscript>
<ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url'><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul>
</noscript>
<b:include name='quickedit'/>
</div>

</b:includable>
</b:widget>






繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 中午12:03 0 意見  

技術課程、研討會@Taiwan

我在Google Calendar 建立了一個
技術課程、研討會@Taiwan



大部分都是免費的研討會,
偏資訊技術方面,有興趣的可以點下面的網址訂閱



也可以幫我宣傳喔,在Blog貼上下面這個網址,就會出現上方的那個訂閱圖示。


<a href="http://www.google.com/calendar/render?cid=b8johedh9jpd9hi9var863klok@group.calendar.google.com"><img src="http://www.google.com/calendar/images/ext/gc_button1_zh-TW.gif" /></a>



下面這個也可以(縮網址版)。


<a href="http://0rz.tw/153YT"><img src="http://www.google.com/calendar/images/ext/gc_button1_zh-TW.gif" /></a>




繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上10:27 0 意見  

設定ASP.NET檔案上傳的大小

在ASP.NET網頁使用上傳元件時,常常因為上傳的檔案太大(預設為4MB),
會發生找不到網頁的錯誤,該如何加大上傳大小呢?


MSDN的這篇 httpRuntime 項目 (ASP.NET 設定結構描述)
可以參考一下。





maxRequestLength選擇性 Int32 屬性。
指定輸入資料流緩衝臨界值的限制,以 KB 為單位。這個限制可以用來防止服務拒絕攻擊,例如由使用者將大型檔案回傳至伺服器所引起的攻擊。
預設值為 4096 (4 MB)


所以要加大上傳大小,需要修改Web.Config ,
譬如若要增加大小至10MB,就必須設為10240 (1024 * 10 = 10240 )
若為8MB,就設定為8192 (1024 * 8 = 8192 )

<System.Web>
<httpRuntime maxRequestLength="10240" />
</System.Web>



ASP.NET 上傳檔案的限制
ASP.NET 檔案上傳處理—檔案大小超過限制之處理




繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 上午9:29 1 意見  

Container.DataItem

在FromView裡面我們常常會用Bind("欄位名稱") 這樣來顯示資料,
但若要加上分行符號,該怎麼辦呢?


在aspx 頁面上

<asp:Label ID="MyId" runat="server" Text='<%# Pro2e.Utility.FormatingString(Container.DataItem,"InfoContent") %>'></asp:Label>



PClass 這樣寫

Class PClass
{
public static string FormatingString(object dataItem, string TargetName)
{
string ret = "";
object obj = System.Web.UI.DataBinder.Eval(dataItem, TargetName);
if (obj != null)
{
string strTargetString = obj.ToString();
ret = strTargetString.Replace("\r", "<br />");

}
return ret;
}
}


順便參考一下這個:

ASP.NET 資料繫結概觀



繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 下午6:12 0 意見  

最新回應的作法

最新回應的作法,是從Josh's Note
讓comments也能顯示文章標題修改來的




原本的排版我不喜歡,所以改了一下。
並傳到Google Page Creator

在Blogger後台的版面配置,開一個HTML/Javascript的 element,並插入下列語法

紅色部分為Blog的位址

<script>g_szBlogDomain='xxxxx.blogspot.com'; </script>
<script src="http://twpaddy.googlepages.com/rc.js"></script>

直接把上面那一段的語法貼上即可。

js檔的程式如下,需要的可以自己拿去改:

var g_szBlogDomain;
if (g_szBlogDomain==undefined) g_szBlogDomain='http://paddyfeel.blogspot.com';
document.write('<div id="divrc">下載中...</div>');
var g_szAuthorsLink=new Array();
var g_szTitle= new Array();
var g_szOrgLink = new Array();
var g_iIndex=0;
var g_iShowCount=5;
function a_comprc(a,b)
{
order= Date.parse(a.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/, '$1/$2/$3 $4 GMT')) - Date.parse(b.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/, '$1/$2/$3 $4 GMT'));
return 0-order;
}
function a_rc(json)
{
g_szComments = json.feed.entry.sort(a_comprc);
}
function a_FindTitle(posts,orgLink)
{
var ret= orgLink;
for (var ii=0,post; post= posts.feed.entry[ii]; ii++)
{
if (post.link[0].href == orgLink)
{
ret= post.title.$t;
break;
}
}
return ret;
}
function a_FindIndex(posts,orgLink)
{
var ij=0;
for (ij=0; ij < g_iIndex; ij++)
{
if (orgLink==g_szOrgLink[ij])
return ij;
}
g_szOrgLink[ij]=orgLink;
g_szTitle[ij]= a_FindTitle(posts,orgLink);
g_szAuthorsLink[ij]='◎';
g_iIndex ++;
return ij;
}
function b_rc(posts)
{
var temp = "";
for (var i=0,comment; comment = g_szComments[i]; i++)
{

var content = comment.title.$t;
var link = comment.link[0].href;
var orgLink= link;
var link2 = link;
var iFind = link.indexOf('?');
if (iFind<0)
iFind = link.indexOf('#');
if (iFind>0)
orgLink = link.substring(0,iFind);
var index = a_FindIndex(posts,orgLink);
if (index>= g_iShowCount)
{
g_iIndex--;
break;
}
var auther= comment.author[0].name.$t;
var timestamp=comment.published.$t.substr(0,10) + ' ' +comment.published.$t.substr(11,5);


temp += '<div style="text-align:left;">' + auther + ':<a href="' + link2 + '" title="' + content + '">' + content.substring(0,12) + '</a></div>';
temp += '<div style="text-align:right;padding: 0px 0px 5px 0px;">Re: <a href="' + g_szOrgLink[index] + '">' + g_szTitle[index].substring(0,10) + '</a> </div>';
}
document.getElementById("divrc").innerHTML = temp;
}
document.write('<script src="http://' + g_szBlogDomain + '/feeds/comments/summary?alt=json-in-script&callback=a_rc"></script><script src="http://' + g_szBlogDomain + '/feeds/posts/summary?alt=json-in-script&callback=b_rc&max-results=99"></script>');


繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 下午2:10 0 意見  

繼續閱讀的功能

繼續閱讀的功能,
是從Blogger Beta 中 Read More 與 Archive 只顯示標題 作法 copy過來的


找到,</b:skin>
在</b:skin>與</head>之間
插入下面這一段

<b:if cond='data:blog.pageType == "item"'>
<style type='text/css'>
span.fullpost {display:inline;}
</style>
<b:else/>
<style type='text/css'>
span.fullpost {display:none;}
</style>
</b:if>


找到<data:post.body/>
原本可能是
<p><data:post.body/><p>

將<p><data:post.body/><p>改成下面這一段


<b:if cond='data:blog.pageType == "item"'>
<data:post.body/>
<b:else/>
<data:post.body/>
<br/><a expr:href='data:post.url'> 繼續閱讀... </a>
</b:if>



在撰寫文章的時候,記得加上下面的Tag,

首頁顯示的部分
<span class="fullpost">
要隱藏的部分
</span>


在Blogger的管理介面-->設定-->格式-->文章範本
填入

<span class="fullpost">
</span>


之後每次新發表文章,預設就會有上面那一段語法囉,
不必在複製貼上啦~~


繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 下午5:01 2 意見  

How TO:架設 Certificate Services & 設定IIS網站SSL,part III

當CA已經發行完憑證之後,我們就要來下載憑證,
並安裝到我們的IIS上面。


一、架設Certificate Services
二、產生憑證申請
三、向CA申請憑證
四、CA核發憑證
五、下載憑證
六、將憑證安裝至IIS的網站上




五、下載憑證

在我們自己的機器,回到CA的首頁:http://CA名稱/CertSrv/,點選「檢視擱置中的憑證要求狀態」
CA-client-setup001


一樣點選我們申請的憑證
CA-client-setup002


此時看到的畫面已經變成「憑證已發出」,點選「Base64編碼」,並點選「下載憑證」,
將下載一個crv檔,請將這個檔案保存好,如果不見我們又要再跟CA申請一次了。
CA-client-setup003


六、將憑證安裝至IIS的網站上


在我們自己的機器,點選網站->右鍵內容->「網站」,這個時候SSL連接埠還是空白的
CA-client-setup004


點選「目錄安全設定」->「伺服器憑證」
CA-client-setup005


下一步
CA-client-setup006


點選「處理擱置要求及安裝憑證」
CA-client-setup007


選取我們剛剛從CA下載的憑證,下一步
CA-client-setup008


會看到我們之前填寫的內容,下一步
CA-client-setup009


完成
CA-client-setup010


「SSL連接埠」已經變成443了。
CA-client-setup011


輸入我們網站的網址,記住,用https的方式來連線喔。
會出現警告視窗(這一部分就先不談了),按「是」
CA-client-setup012


IE的右下角出現了一個鎖的圖案,代表我們現在已經用SSL的方式連線囉!!
成功!!
CA-client-setup013


參考資料

Windows Server 筆記:設定IIS的SSL

Windows 2003 核發自己的 IIS SSL 憑證步驟

Certificate Services

How To:在網頁伺服器上設定 SSL

建置安全的 ASP.NET 應用程式:驗證、授權和安全通訊



繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上11:20 0 意見  

How TO:架設 Certificate Services & 設定IIS網站SSL,part II

我們剛剛已經產生完憑證申請的檔案了。
所以接下來就要跟CA申請憑證了。


一、架設Certificate Services
二、產生憑證申請
三、向CA申請憑證
四、CA核發憑證
五、下載憑證
六、將憑證安裝至IIS的網站上





三、向CA申請憑證


在我們的機器上,輸入CA的網址:http://ca機器名稱/CertSrv/,點選「要求憑證」。
CA-client-apply01


點選「進階憑證要求」。
CA-client-apply02


點選「用 Base-64 編碼的 CMC 或 PKCS #10 檔案來提交憑證要求,或用 Base-64 編碼的 PKCS #7 檔案提交更新要求」
CA-client-apply03


把我們之前產生的那個文字檔貼上來
CA-client-apply04


申請完了,接下來就等CA把憑證發給我們。我們在回來這裡下載。
CA-client-apply05


回到CA的首頁:http://ca機器名稱/CertSrv/,點選「檢視擱置中的憑證要求狀態」
CA-client-apply06

可以看到我們剛剛提出的申請,點選「已儲存要求的憑證」。
CA-client-apply07


可以看到我們的申請還在擱置中,代表還沒處理好。繼續等吧。
CA-client-apply08


四、CA核發憑證
因為我們的CA是自己架設的,如果我們不去核發憑證,是不會有人幫我們發行的。


在CA那台機器上,控制台->系統管理工具->憑證授權單位,擱置的要求裡面,多了一個我們剛剛提出的申請。
ca-process1


在要發行的項目上面,按右鍵->所有工作->發行。
ca-process2


剛剛那個項目就已經跑到「已發出的憑證」裡面了
ca-process3

這個時候,憑證已經發出了,我們就要上去CA把憑證抓下來囉!!
下一步:五、下載憑證


參考資料

Windows Server 筆記:設定IIS的SSL

Windows 2003 核發自己的 IIS SSL 憑證步驟

Certificate Services

How To:在網頁伺服器上設定 SSL

建置安全的 ASP.NET 應用程式:驗證、授權和安全通訊




繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上11:18 0 意見  

首頁標題有連結

有時候裝了一個新的templete,卻發現首頁上方的Blog標題(如趴弟筆記簿)沒有連結,
只是純Show標題而已,
內文的Blog標題才有連結回到Blog首頁。

可是...我首頁就是想Show連結嘛!!


找到

<b:if cond='data:blog.url == data:blog.homepageUrl'>
<data:title/>
<b:else/>
<a expr:href='data:blog.homepageUrl'><data:title/></a>
</b:if>


用這一段取代

<b:if cond='data:blog.url == data:blog.homepageUrl'>
<a expr:href='data:blog.homepageUrl'><data:title/></a>
<b:else/>
<a expr:href='data:blog.homepageUrl'><data:title/></a>
</b:if>


繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上10:33 0 意見  

How TO:架設 Certificate Services & 設定IIS網站SSL,part I

How TO:架設 Certificate Services & 設定IIS網站SSL,part I
利用假日的時間,在Windows Server 2003上架設 Certificate Services,並設定IIS網站SSL。
截了一些圖,順便做個筆記。



一、架設Certificate Services
二、產生憑證申請
三、向CA申請憑證
四、CA核發憑證
五、下載憑證
六、將憑證安裝至IIS的網站上




運作方式上,應該有兩台機器,一台是CA,一台是我們自己的機器(Web Server),
如果想在Web Server上面裝CA,也是可以。


一、架設Certificate Services

在要安裝CA的那一台機器,先到控制台->新增或移除程式->新增或移除Windows元件:
勾選Certificate Services,並按確定。
(如果沒有安裝IIS,同時必須要勾選IIS)
ca-1


選擇獨立根CA
ca-2


輸入CA的名稱,取正式一點的名稱
ca-3


都用預設值
ca-4


開始安裝
ca-5


安裝完畢
ca-6
這個時候,我們自己架設的CA已經架設完畢。


控制台->系統管理工具->憑證授權單位,可以看到CA發出的授權等等,目前都是空的。
ca-7


二、產生憑證申請

在我們自己的機器,打開IIS的管理介面,在網站上按右鍵->內容
CA-client-01


選擇目錄安全設定->伺服器憑證
CA-client-02


下一步
CA-client-03


建立新憑證
CA-client-04


準備要求但稍後傳送
CA-client-05


為您的網站取一個正式的名稱,位元長度選擇預設的512
CA-client-06


輸入公司正式的名稱及部門名稱
CA-client-07


這個名稱算是整個申請步驟最重要的一步:
如果我網站的位址是www.xxx.aa.cc,就要在這裡輸入www.xxx.aa.cc。
輸入後未來若更改,就要再跟CA申請一次(如果是跟CA公司買,就要再付一次錢啦!)
不要輸入www.xxx.aa.cc/bbb/這種目錄名稱。
CA-client-08


輸入所在位置
CA-client-09


IIS將會產生一個憑證的要求,把他存起來。
CA-client-10


如果資料沒問題的話,就按下一步
CA-client-11


完成。申請憑證要求的檔案已經建立完成。
CA-client-12

此時去剛剛存檔的地方,把那個文字檔打開,
裡面應該會看到一堆亂碼,待會需要用到這個喔!!
下一步:三、向CA申請憑證



參考資料

Windows Server 筆記:設定IIS的SSL

Windows 2003 核發自己的 IIS SSL 憑證步驟

Certificate Services

How To:在網頁伺服器上設定 SSL

建置安全的 ASP.NET 應用程式:驗證、授權和安全通訊



繼續閱讀...
HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

張貼者:Paddy 於 晚上10:05 0 意見