顯示具有 programing 標籤的文章。 顯示所有文章
顯示具有 programing 標籤的文章。 顯示所有文章

2010年10月6日 星期三

推薦 Google Chrome Extension 教學

剛剛在找Chrome Extension如何對外做跨網域請求,google路過了這篇

[教學]學習撰寫 Google Chrome Extension

還有附範例檔,推薦有興趣的人來學習!!

2009年7月23日 星期四

Visual Studio C# Winform 多國語言開發

這兩天研究這個的結果,整理一下筆記。

 

主要從下面兩篇文章得到的資訊:

這裡我參照上面的文章,寫了兩個範例:

範例1 | 範例2

Project使用的環境為 Windows 平台、.NET Framework 2.0,Visual Studio 2008 撰寫

範例1

這是從資源檔讀取介面文字的範例,我根據 .NET Magazine的一篇文章 所撰寫的。

範例2

我整理的步驟摘要:

  • 將Form的屬性Localizable設為true
  • 設定介面上所有Control的文字(Text)
  • 此時的介面Form屬性Language為Default時的設定,也就是沒特別指定對應的語言
  • 現在把Form屬性Language設為Chinese (Taiwan),然後去修改所有Control的Text,或是重新Layout
  • 如果有修改的話(沒修改不會產生,會用default),會產生對應的resource檔(如 Form1.zh-TW.resx)
  • 也可以同上建立Language為English (United States) 的文字及排版
  • 在 InitializeComponent 之前,就先決定要使用的語系 (沒決定的話,系統會幫你偵測,沒對應到的話就用Default,因為我有建立zh-TW,所以有對應到就會用這個)
用這個方法的優點是,直接在元件的Text屬性修改要顯示的文字,Visual Studio就會自動幫你產生對應的資源檔,不需要自己加,自己手寫一個一個讀進來。但是首先,還是得一個一個從IDE去改 :P
還有Layout的部份,不同語系的也可以不同排版(有動過排版才會儲存),但這點可是有好有壞 :P
其他可以看一下原始碼,基本上想要動態改變CultureInfo 來改變介面的話,還是要自己寫code去重讀介面。
CodeProject 有人寫好元件來做這件事,可以參考看看。

2009年5月15日 星期五

[Bookmarklet] 瀏覽圖片小工具 PopupX

最後更新時間:

2010.02.25 本blog的bookmarklet不再更新,以userscript版本為主

簡介說明:

使用XPath重新撰寫的Bookmarklet,一樣是會在圖片附近顯示出連結的圖片。
另外為了支援Firefox的擴充套件Autopager,增加了一個小按鈕在左上角,點一下可以把沒載入圖片的也載入

支援瀏覽器:

Firefox 3, Google Chrome
IE不支援(因為它的ActiveXObject很難用)

目前支援頁面:

  • Pixnet相簿
  • 無名首頁及個人相簿
  • 無名blog(留言大頭照及誰來我家)
  • PCHome Photo
  • Picasaweb
  • Yam Album
  • Gamer GNN
  • NowNews
  • Flickr

使用方法:

參考此篇

下載:(拉到書籤工具列)

PopupX

For Greasemonkey Version:

http://userscripts.org/scripts/show/49840

2009年5月12日 星期二

SyntaxHighlighter 2.0

之前提過的: 讓SyntaxHighlighter幫你網誌內的程式碼上色 ,今年有新版本2.0,好不容易花了一些時間,把相關的元件都更新了。

雖然說顯示介面上沒有什麼大轉變,但是骨子裡可是大不同了…

老實說,使用的語法變化不少,基本上底層的js檔全部都要換成新的,而原本使用:

<pre name=code class=scriptname>1.5的使用方法</pre>

換成:

<pre class='brush:script_name;'>2.0的使用方法</pre>

改變算很大,如果是1.5升級上2.0的使用者,要使用shLegacy.js這個檔來相容舊的寫法,不然要回頭去改之前的文章內容,那會改到傻眼吧!!!

相關閱讀:

2009年4月28日 星期二

2009年3月20日 星期五

[AutoHotKey] 快速切換顯示副檔名

設一個熱鍵可以快速切換副檔名顯示與否,兩張圖比較一下:

顯示副檔名
2009-03-20_160440

隱藏副檔名
2009-03-20_160500

 

下面是AutoHotKey的範例:

; 使用win+F5來更新
#F5::
RegRead, HiddenFiles_Status, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, HideFileExt
If HiddenFiles_Status = 1 
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, HideFileExt, 0
Else 
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, HideFileExt, 1
WinGetClass, eh_Class,A
If (eh_Class = "#32770" OR A_OSVersion = "WIN_VISTA")
send, {F5}
Else PostMessage, 0x111, 28931,,, A
Return

目的是修改HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced 內 HideFileExt 的值。

來源參考: Keyboard Ninja: Toggle File Extension Display With a Shortcut Key in Windows

2009年3月10日 星期二

[Bookmarklets] PhotoViewer 快速瀏覽網路相簿的工具

說明:

將滑鼠游標移至圖片上,會自動秀出將該圖片連結的原始的圖片。

支援相簿或網站:

PCHome無名小站Pixnet巴哈姆特的GNN、PicasaWeb

可使用瀏覽器(目前僅測試windows平台):

IE 6, 7, 8
Firefox 3, 3.1 beta 3

使用方法:

開啟要支援的網路相簿頁面後,點這個Bookmarklet,啟可開啟快速瀏覽功能,如果沒效果可以再重按一次。每換一頁要即用這個效果,要重點一次。
搭配Firefox的AutoPager,等所有頁面都載進來後使用,效果更好,可一次看所有頁面的照片。
Bookmarklet: (加到最愛或或拉到書籤列,Bookmarklets是什麼可參考此篇使用說明):

擷圖:

Firefox 3-
2009-03-10_230757
IE7- 
2009-03-11_171223

Firefox 3.1b3-
2009-03-25_102943_FX

IE8-
2009-03-25_102749


原本我是使用GreasemonkeySplash album viewer來看照片,但搭配AutoPager會沒法運作在新的頁面,想說順便分享給其他非Firefox的朋友使用,所以我試寫了一個bookmarklets,讓IE,Firefox可以在免安裝外掛(or Extension)下快速瀏覽網路相簿。

測試了一下,目前Safari跟Chrome還沒法運用,連jQuery掛上去都怪怪的…功力不夠。用Firefox及IE瀏覽器的人可以試試。
當然,如果是Firefox愛用者,直接使用Greasemonkey+Splash album viewer會方便許多。

Changelog:

2009.03.25

新增測試Firefox 3.1b3, IE 8的環境能正常運作。
支援網站加入PicasaWeb 及無名blog的大頭圖(包含個人資料、誰來我家、回應)。

2009.03.23

修改無名相簿的部份,現在支援相簿首頁及相簿列表了。

2009年3月4日 星期三

[Blogger] 免手動修改圖片連結,讓lightbox也能正常運作的方法

有用lightbox的人,也許會遇到這個問題。

本文的效果為:當網頁載入而未完畢前,點圖片連結會另開新(分)頁來顯示圖片,而javascript載入完成後,lightbox可以正常運作。

原本我以為是Windows Live Writer的問題,當文章內的圖片上傳到blogger後(picasa的相簿內)後,無法讓有使用lightbox的<a>標籤正常使用lightbox來開啟影像(會變成讀取不到圖片)。

當初我自己測試是,把影像連結內的/s1600-h 或是/s800這段文字給刪除掉,lightbox即可正常運作。

但是每次發表完文章,還要上draft.blogger.com去修改文章原始碼,實在耗時費力!當初靈機一動,何不用jQuery直接把href也改成能正常使用的字串呢?

這個東西去年就想弄了,至少拖了有半年以上,之間有讀到Abin一篇相關的文章: Blogger 和 Picasa 的圖片上傳和外連限制,我才知道原來是Google Picasa的做的小詭計,加個"-h"就可避免讓圖片被外連。原來我之前一直錯怪WLW了。

雖然有想法,但是我拖到剛剛才來試寫這個script,沒想到幾分鐘就完成了…

這邊跟大家分享一下我的作法。

函式原始碼:

//用來避免lightbox無法正常連結圖片
//做法是將s1600-h,改為s1600
function ReplaceImageLink()
{
    lightboxLinks = $('a.lightbox');
    for(i=0; i<lightboxLinks.length; i++)
    {
      if (lightboxLinks[i].href.match(/s1600-h/))
        lightboxLinks[i].href = lightboxLinks[i].href.replace(/s1600-h/g, 's1600');
    }
}

因為我的blogger有掛上jQuery,於是我在document.ready裡面,lightbox函式執行之前,加上了ReplaceImageLink()這個函式,內容就變成下面這樣:

<script type='text/javascript'>
$(function(){

//修改符合a.lightbox的href
ReplaceImageLink();

$('.lightbox').lightBox();
});
</script>

這樣就算完成啦。當lightbox執行之前,圖片中有s1600-h的,都會被改成s1600,然後lightbox就可以正常執行。

另外,也可以改成把/s1600-h給整個去掉,一樣是可以正常運作。

 

4889

2008年12月24日 星期三

[筆記] SQLite 加密?

使用ADO.NET 2.0 Provider for SQLite,在Visual Studio中建立連線時,可以設定密碼。

而我發現設定密碼之後產生的.sqlite資料庫(檔)用ultraedit開啟,會變成一篇亂碼,原本的sqlite檔頭不見了,應該是用password當做加密字串來處理過內容了吧。

但是麻煩的是,設定password產生的資料庫,無法使用其他sqlite工具來開啟,因為檔案內容無法被這些工具辨識的關係。

或著是,這是ADO.NET 2.0 Provider for SQLite僅有的規格?

[筆記] SQLite 如何選取前幾筆的資料

像TSQL有選取前幾筆的語法:

select top n,如:

select top 100 * from table1 order by column1

而SQLite選取筆數的語法為:

在語法最後加上 limit n,如:

select * from table1 order by column1 limit 100
延伸閱讀: How to optimise queries to limit the number of rows returned...

[筆記]如何將datetime型的變量存入sqlite中

因為sqlite的時間是用標準時間utc+0,要改為localtime

insert (update_time) values (datetime(CURRENT_TIMESTAMP,'localtime'))

另外關於sqlite的時間函數,可以參考:

編程資料:SQLite的日期時間函數!

官方wiki文件

 

參考來源: c#中如何將datetime型的變量存入sqlite中型的變量存入

2008年11月27日 星期四

[Visual Studio]在Properties.Settings裡面使用Hashtable或Dictionary的方法

其實這算是一種折衷的方法,並不是真的建立Hashtable/Dictionary在Properties裡面。

我自己試過的結果,在Properties.Settings.Default裡面雖然可以建立Hashtable(沒法建立Dictionary),但是在程式裡面去讀取這個Hashtable會出現Exception,因為這個型別並沒有被初始化及讀取user.config的值,不像其他Properties.Settings.Default其他型別的值都會自動被建立並初始化讀取user.config的值,所以沒法使用。(至少我不知道如何用)

最後在網路查到使用的方法,就是先將Hashtable/Dictionary的值序列化成XML字串,再用string型別把值塞到Properties.Settings.Default裡面。

讀取出來也是一樣,先讀出string的值,將string反序列化,將值寫回指定的Hashtable/Dictionary。

下面是Source Code參考:

using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml.Serialization;

namespace Neil.Tools
{
    public class XMLSerializing
    {
        //這邊可以改寫為擴充方法
        /// <summary>
        /// 將Dictionary轉為字串。
        /// </summary>
        /// <typeparam name="T1">Key型別,通常為string</typeparam>
        /// <typeparam name="T2">Value型別,通常為string</typeparam>
        /// <param name="d">來源Dictionary</param>
        /// <returns>傳回轉換後字串</returns>
        public static string ToDictionaryString<T1,T2>(Dictionary<T1, T2> d)
        {
            if (d.Count == 0)
            return "";
            
            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            Serialize(sw, d);
            return sb.ToString();
        }


        //這邊可以改寫為擴充方法
        /// <summary>
        /// 將string轉回Dictionary
        /// </summary>
        /// <typeparam name="T1">Key型別,通常為string</typeparam>
        /// <typeparam name="T2">Value型別,通常為string</typeparam>
        /// <param name="value">XML格式的文字字串</param>
        /// <returns>傳回Dictionary<T1,T2></returns>
        public static Dictionary<T1, T2> ToDictionary<T1,T2>(string value)
        {
            Dictionary<T1, T2> d  = null;
            try
            {
                d = new Dictionary<T1, T2>();
                StringReader sr = new StringReader(value);
                Deserialize(sr, d);

                if (d.Count == 0)
                    return null;
            }
            catch
            { }

            return d;
        }

        public static void Serialize(TextWriter writer, IDictionary dictionary)
        {
            List<Entry> entries = new List<Entry>(dictionary.Count);
            foreach (object key in dictionary.Keys)
            {
                entries.Add(new Entry(key, dictionary[key]));
            }

            XmlSerializer serializer = new XmlSerializer(typeof(List<Entry>));
            serializer.Serialize(writer, entries);
        }

        public static void Deserialize(TextReader reader, IDictionary dictionary)
        {
            dictionary.Clear();
            XmlSerializer serializer = new XmlSerializer(typeof(List<Entry>));
            List<Entry> list = (List<Entry>)serializer.Deserialize(reader);

            foreach (Entry entry in list)
            {
                dictionary[entry.Key] = entry.Value;
            }
        }

        public class Entry
        {
            public object Key;
            public object Value;

            public Entry()
            {
            }

            public Entry(object key, object value)
            {
                Key = key;
                Value = value;
            }
        }
    }
}

而轉換為XML字串的Dictionary會像下面這種內容存儲在user.config:

<setting name="ListViewColumnsOrder" serializeAs="String">
                <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;ArrayOfEntry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
  &lt;Entry&gt;
    &lt;Key xsi:type="xsd:string"&gt;lvQueryPatient&lt;/Key&gt;
    &lt;Value xsi:type="xsd:string"&gt;0,1,2,3,4&lt;/Value&gt;
  &lt;/Entry&gt;
  &lt;Entry&gt;
    &lt;Key xsi:type="xsd:string"&gt;lvQueryStudy&lt;/Key&gt;
    &lt;Value xsi:type="xsd:string"&gt;0,1,2,5,3,4&lt;/Value&gt;
  &lt;/Entry&gt;
&lt;/ArrayOfEntry&gt;</value>
            </setting>

 

延伸閱讀: XML Serializing a Hashtable or generic Dictionary

延伸閱讀: Storing a hashtable in the .config file?

2008年11月18日 星期二

[工具]複製檔案/目錄路徑

說明

這是我用寫的一個簡單的script,用於複製目前檔案選取的檔案/目錄的絕對路徑。

在檔案總案上面的目錄/檔案按滑鼠右鍵,選"複製選取的路徑",就會把檔案的絕對路徑複製到剪貼簿,並跳出對話方塊顯示"複製成功"的訊息,在1秒鐘後自動關閉。

這邊使用AutoIt而不用AutoHotKey的原因,因為AutoIt v3有支援Unicode,而AutoHotKey沒有,有機會遇到一堆???。而系統檔案這東西,偶爾會遇到Unicode。(謎之音A: 還不是因為某人AutoHotKey不熟...)(謎之音B: 這種一兩行而已的東西…)

Screenshot

2008-11-18_141712 2008-11-18_141736

AutoIt原始碼

If $CmdLine[0] = 1 Then
	$path = $CmdLine[1]
	if ClipPut($path) Then
		MsgBox (0, "路徑複製成功", $path, 1)
	EndIf
EndIf

AutoHotKey原始碼

clipboard = %1%
MsgBox ,,路徑複製成功,%clipboard%, 1

安裝檔下載點 | 原始檔下載點

.reg刪除登錄檔的寫法

給自己的筆記。

刪除登錄機碼:RegistryPath 之前加上連字號 (-),例:
[-HKEY_LOCAL_MACHINE\Software\Test]
刪除登錄值:RegistryKey 使用=-,例:
HKEY_LOCAL_MACHINE\Software\Test
"TestValue"=- 

來源: 如何使用登錄項目 (.reg) 檔案新增、修改或刪除登錄子機碼和登錄值

2008年11月14日 星期五

讓SyntaxHighlighter幫你網誌內的程式碼上色

寫程式又上網google的人,應該常常看到很多網頁或是blog,都會把code依文法上色,或是設計一些css來表現出程式碼的部份。

也有不少線上高亮度語法的服務,讓你貼上原始碼,選好程式語言,就做好html碼給使用者。或是給一段script,在網頁內直接即時產生出code。

今天介紹的是是只要將下載回來的script檔,找個空間放好,再修改一下自己網誌的樣本檔,然後每次要發佈程式碼時,加上對應的name跟class即可。

因為我個人希望的要求是:

  • 在撰寫文章時不會太麻煩,可以直接用簡單的<pre>來區分貼上的程式碼,不用每次都要另外找線上服務來轉html。
  • 文章從RSS發佈出去,能看到正常的內容即可。像一些用script即時產生方式就不適合,在rss裡面就看不到程式碼。

剛剛把工具設定好了,這邊分享一下我的經驗。

  1. 下載SyntaxHighlighter_1.5.1.rar,然後讀一下Usage
  2. 把下載回來的檔案解壓出來,將裡面Scripts目錄下面的所有檔案,都傳到自己固定的網路空間,這邊我是使用Google Pages。(其實js傳自己會用到的語法就可以。)
  3. 將下面這一段,貼到你的網誌樣本檔的header裡面。
    <link href='http://nio127.googlepages.com/SyntaxHighlighter.css' rel='stylesheet' type='text/css'/>
    <script src='http://nio127.googlepages.com/shCore.js' type='text/javascript'/>
    <script src='http://nio127.googlepages.com/shBrushCss.js' type='text/javascript'/>
    <script src='http://nio127.googlepages.com/shBrushXml.js' type='text/javascript'/>
    <script src='http://nio127.googlepages.com/shBrushPython.js' type='text/javascript'/>
    <script src='http://nio127.googlepages.com/shBrushCSharp.js' type='text/javascript'/>
    <script src='http://nio127.googlepages.com/shBrushJScript.js' type='text/javascript'/>
    <script type='text/javascript'>
    $(function() {
    dp.SyntaxHighlighter.ClipboardSwf = 'http://nio127.googlepages.com/clipboard.swf';
    dp.SyntaxHighlighter.BloggerMode();
    dp.SyntaxHighlighter.HighlightAll('code');
    });
    

    這邊除了shCore.js之外,其他就看個人需求來加了。src那個後面改成自己的空間。

  4. 到這邊設定就完成了,之後要放程式碼的話,只要使用以下語法放到文章內文: <pre name='code' class='javascript'> [程式碼] </pre> 到時網頁載入後,SyntaxHighlighter就會幫你把程式碼的部份即時轉換了。

這邊有幾點要注意的:

  • Blogger的使用者,在要加上BloggerMode(),如下:
    dp.SyntaxHighlighter.ClipboardSwf = '/flash/clipboard.swf';
    dp.SyntaxHighlighter.BloggerMode();
    dp.SyntaxHighlighter.HighlightAll('code');
  • 我上面有使用到jQuery的語法,所以要加上:
    <script src='http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js' type='text/javascript'/>
  • 不同類型的程式語言,就在class裡面來決定要使用何種類型。
    Language Aliases
    C++ cpp, c, c++
    C# c#, c-sharp, csharp
    CSS css
    Delphi delphi, pascal
    Java java
    Java Script js, jscript, javascript
    PHP php
    Python py, python
    Ruby rb, ruby, rails, ror
    Sql sql
    VB vb, vb.net
    XML/HTML xml, html, xhtml, xslt

這樣應該就可以輕鬆的在blogger貼程式碼了。

補充一下SyntaxHighlighter的額外用法:
nogutter Will display no gutter.
nocontrols Will display no controls at the top.
collapse Will collapse the block by default.
firstline[value] Will begin line count at value. Default value is 1.
showcolumns Will show row columns in the first line.
  • nogutter 是把左邊的數字條拿掉。
  • nocontrols 是把上面的bar拿掉。
  • collapse 是預設變成合起來的,上面的bar會多一個+展開。
  • 範例: <pre name="code" class="html:nocontrols:nogutter">...</pre>
  • 其他請自行參考。

2008年11月11日 星期二

另一款 Javascript Shell : Jash

剛剛突然心血來潮,查查看javascript shell有沒有新版,就發現了另外一個版本的Javascript shell...這款簡稱Jash!
Jash: JavaScript Shell
2008-11-11_150113

網站指出對ie6+, firefox 1.5+, safari 3+有完整支援,chrome也可以用(個人測試),當然也有一些不支援的。

在小弟試用的結果後,有些功能像mouseover DOM算蠻實用的,可惜遇到像gmail用iframe的就沒辦法了。

最主要的script部份,似乎沒有另一個版本的Javascript Shell好用,另如無法shift+enter換行,無法使用語法 function xxx() {}  之類的。但是瑕不掩瑜,它漂亮的介面跟直接顯示在網頁內,自動隨著scrollbar跟著滾動,讓互動變的更即時,這倒是我覺得不錯的優點。

同樣的,要練習或是其他常用的一些javascript語法及測試,可以用這個玩玩看。
推薦用法,firefox跟chromium直接把2008-11-11_151024 拉到書籤工具列上,ie7則把它加到我的最愛裡。

2008.11.13補充:

補充一個,在firefox裡可以把這個書籤的關鍵字設為常用的詞(我用jash),方便直接在網址列快速輸入呼叫,不需去滑鼠點。



在同網頁下直接建立一個(div)視窗,也是jash的優點。因
為原jshell的window.open有時(指沒有用滑鼠點書籤,而是用關鍵字做法的時候)會被firefox擋到,還要手動去開啟。

JavaScript Shell : Web Developer或Hacker實用的好玩具

JavaScript Shell

2008-11-11_151745

特色相當多,請自己去看,反正就是可以開一個javascript的command頁面給你,讓你輸入所有javascript可以做的事,直接動態對指定頁面處理及修改。

用途可多了,看是要拿來測試自己的script,或是測試動態修改頁面以撰寫greasemonkey,用javascript改css來測stylish,測試語法抓廣告來用adblock擋...或是練習jQuery..或是練習最基本的javascript語法,只要跟javascript有關的,全都可以做啦,請自行延伸。

對我來講,它可是一個最實用的Javascript IDE介面。

目前官方版出到1.4(已經很久了~不需更新吧),但只支援Firefox。

如果是ie的用戶,以前只能乾瞪眼,後來有玩家把ie版的也改寫出來,造福大眾。

下載點

Firefox版

IE版

用法就是把bookmarklets直接拉到書籤工具列,ie是存成我的最愛,然後在要使用的頁面,直接點一下這個書籤就會開出這個Shell。

使用Greasemonkey + jQuery

這兩天讀了一些jQuery的使用方法,跟我去年認識的jQuery有點出入,不過它確實是很好用,如同它宣稱的:「write less, do more.」

我除了使用Javascript Shell來練習外,也想讓Greasemonkey可以直接套用自訂的jQuery script,於是找到了這個東西:

在Greasemonkey裡面加入jQuery的方法

Greasemonkey程式碼:

// Add jQuery
   var GM_JQ = document.createElement('script');
   GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
   GM_JQ.type = 'text/javascript';
   document.getElementsByTagName('head')[0].appendChild(GM_JQ);

// Check if jQuery's loaded
   function GM_wait() {
       if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
   else { $ = unsafeWindow.jQuery; letsJQuery(); }
   }
   GM_wait();

// All your GM code must be inside this function
   function letsJQuery() {
       alert($); // check if the dollar (jquery) function works
   }

安裝下載點:

Download as a userscript. (需要安裝 greasemonkey )

因為作者允許MIT License,所以我就直接複製貼上了XD

ps. 如果不想要每次載入都出現那個alert(),就自己//掉需要的地方吧XD ;

2008年10月24日 星期五

自簽證jar文件

僅供自己筆記用。

2008-10-24_181008

需要keytool.exe 及jarsigner.exe兩隻程式。

首先,先開一個cmd.exe

創建自簽名證書

keytool -genkey 
這個步驟會建立一個alias為"mykey"的密鑰倉庫項,含有新產生的密鑰對和有效期為90天的證書。

預設為存放在目前使用者的根目錄,如C:\documents and Settings\Administrator\.keystore檔。

自簽名jar文件

jarsigner -signedjar 目的文件名.jar 來源文件名.jar mykey 
或是
jarsigner 文件名.jar mykey 

第一種會簽名並產生名為"目的文件名.jar" 第二種會簽名並覆蓋"原文件名.jar"

延伸閱讀:

keytool - 密鑰和証書管理工具

jarsigner - JAR 簽名和校驗工具

2008年10月23日 星期四

Silverlight 2初入門資源

logo

前兩天因為工作需求的緣故,試著去摸索建立一個新的silverlight專案,雖然剛開始的系統安裝步驟很繁雜,但設定都準備好開始使用後,其實並沒有那麼討厭,而做出來的介面成果也算很不錯。

這邊把這兩天看到覺得比較有用的相關網頁列出來,以茲有興趣或未來回顧silverlight時使用。

Silverlight 2教程中文版

First Look at Silverlight 2

Silverlight官網所展示的入門教學影片

Silverlight Official Forums

至於開發Silverlight 2前所需要安裝的東西可多著呢,至少需要:

Microsoft Visual Studio 2008 (升級至sp1)

Silverlight SDK

但上面這個光一樣就要裝很多東西(很多不同的小安裝),而且要裝很久…0rz