• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            軟件規(guī)模度量

            做世界上最好的代碼行統(tǒng)計(jì)工具

            2012年3月10日 #

            以前做的一些小玩意兒(一)

            無聊啊,陸續(xù)把以前做的一些小玩意兒共享一下。由于時(shí)間比較長(zhǎng)了,那時(shí)候設(shè)計(jì)能力有限,現(xiàn)在也沒時(shí)間維護(hù),如果發(fā)現(xiàn)bug就別用了,望體諒。

            第一個(gè)是叫Secret Bitmap,程序大小88k。下載鏈接:http://files.cppblog.com/bobquain/SecretBitmap_V1.2.1_CN_Setup.zip
            以前在CSDN的下載:http://download.csdn.net/source/182295



            Secret Bitmap

            在位圖中隱藏信息


            1. 介紹

            首先對(duì)在位圖中隱藏信息的原理做一下簡(jiǎn)單的介紹:

                我以24位位圖為例(24位位圖即用24位來表示一個(gè)像素點(diǎn)顏色的位圖),因?yàn)榫湍壳皝碇v用24位位圖來隱藏信息是最安全的。大家都知道,世界上任何一種顏色都可以用紅,綠,藍(lán)以不同比例調(diào)和出來,這三種顏色也通常被人們稱為三原色。24位色即用8位來表示紅色,8位來表示綠色,8位來表示藍(lán)色。8位即一個(gè)字節(jié),用十進(jìn)制表示的話,最小值為0,最大值為255。我們通常知道,(0,0,0)表示黑色,(255,255,255)表示白色,(255,0,0)表示紅色等等。24位色最大可表示2的24次方(即16,777,216)種顏色,這已經(jīng)超出了人類肉眼可以分辨的顏色。舉個(gè)例子:人類的肉眼幾乎無法分辨白色(255,255,255)和(254,254,254)之間的區(qū)別,255表示為二進(jìn)制是11111111,而254表示為二進(jìn)制為11111110;其他顏色同理,如果只改變其三原色每個(gè)字節(jié)中的最后一位的話,人類的肉眼幾乎無法分辨。這樣一來,我們就可以利用每個(gè)像素(3個(gè)字節(jié))中每個(gè)字節(jié)的最后一位來存儲(chǔ)一些額外的信息,并且不會(huì)增加位圖文件的大小,這也就是用位圖來隱藏信息的原理。當(dāng)然,我們也可以多占用一些位來加大隱藏?cái)?shù)據(jù)的信息量,但是這樣也就更容易被人類的肉眼所察覺。但是,請(qǐng)大家注意,利用位圖隱藏信息僅僅是一種欺騙,并非什么加密技術(shù),如果需要更安全的保護(hù)還需要和加密技術(shù)搭配使用。

                此款工具在同類工具中的優(yōu)點(diǎn)是:提供密碼加密,數(shù)據(jù)加密和隱藏位數(shù)的選擇。在占用位數(shù)過多的情況下,比較容易被別人看出位圖的瑕疵(如果有原圖作為參考會(huì)更容易),也就可以懷疑該位圖中隱藏了信息。但是,即使這樣也沒有關(guān)系,所有隱藏的數(shù)據(jù)在隱藏之前已經(jīng)經(jīng)過了加密,并且有密碼的保護(hù),即使有人分析出了數(shù)據(jù),也需要進(jìn)行解密。所以說它的安全性還是相當(dāng)高的。

                在人們的隱私越來越難保護(hù)的今天,也許你正需要它,也許...將來的某天會(huì)需要它。

            2. 如何使用

            Secret Bitmap的界面比較易懂,參照下圖做一下簡(jiǎn)單介紹:

                1 位圖文件:原位圖文件。

                2 隱藏文件:需要被隱藏的文件

                3 密碼:加密用密碼輸入(采用MD5加密)。

                4 密碼確認(rèn):密碼確認(rèn)的輸入

                5 隱藏(帶面具):隱藏,點(diǎn)擊后打開保存文件的對(duì)話框,默認(rèn)保存名稱為原位圖的名稱。文件保存后,保存路徑會(huì)被記錄下來,下次實(shí)施隱藏時(shí)默認(rèn)打開上次的保存路徑。(數(shù)據(jù)加密算法...保密)

                6 占用位選擇:點(diǎn)擊黃色的鎖形圖案,可打開或關(guān)閉占用位。目前可以使用的占用位的數(shù)量為1,2或4。

                7 位圖文件:隱藏了信息的位圖文件

                8 密碼:解密用密碼輸入。

                9 反隱藏(摘掉面具):反隱藏,點(diǎn)擊后打開保存文件的對(duì)話框,默認(rèn)保存名稱為原隱藏文件的名稱。文件保存后,保存路徑會(huì)被記錄下來,下次實(shí)施反隱藏時(shí)默認(rèn)打開上次的保存路徑。

                10 日志:顯示錯(cuò)誤和隱藏/反隱藏的結(jié)果信息

            3. 改進(jìn)

            對(duì)比之前發(fā)布的V1.1.0版,V1.2.0主要的改進(jìn)如下:

                1 增加了托拽功能:用戶可以從Explorer中托拽文件到[Bitmap File]或[Hidden File]的編輯框中。

                2 去掉了指定輸出文件夾的功能,替換為直接打開保存文件對(duì)話框,使用戶更容易在保存文件時(shí)修改文件的名稱。

            V1.2.1的改進(jìn)如下:

                1 修正了顯示設(shè)定為非96DPI的情況下,占用位選擇的鎖形圖案顯示位置不正確的Bug。

            posted @ 2012-03-10 17:59 bobquain 閱讀(1845) | 評(píng)論 (2)編輯 收藏

            2010年9月18日 #

            以前做的一些小玩意兒(三)

            無聊啊,陸續(xù)把以前做的一些小玩意兒共享一下。由于時(shí)間比較長(zhǎng)了,那時(shí)候設(shè)計(jì)能力有限,現(xiàn)在也沒時(shí)間維護(hù),如果發(fā)現(xiàn)bug就別用了,望體諒。

            這次是3個(gè)Eclipse的插件:

            No.1
            Statistic-Lines,Eclipse上統(tǒng)計(jì)代碼行數(shù)的插件,就是之前第一篇隨筆說的那個(gè)"org.holon.statistic.lines"。由于當(dāng)時(shí)發(fā)布的時(shí)候,package名字里出現(xiàn)了我當(dāng)時(shí)項(xiàng)目組的名字,后來被領(lǐng)導(dǎo)責(zé)令把當(dāng)時(shí)發(fā)布的帖子刪除了,故借此對(duì)當(dāng)時(shí)關(guān)注這個(gè)插件的人說聲抱歉。下載鏈接:http://files.cppblog.com/bobquain/Statistic-Lines-311-Eclipse311-BIN.zip






            No.2
            Plug-in-Link,Eclipse上安裝插件的插件,名字比較繞口,呵呵。下載鏈接:http://files.cppblog.com/bobquain/Plug-in-Link-311-Eclipse311-BIN.zip

            保持一個(gè)干凈的Eclipse
            背景:
            如果你是一個(gè)Eclipse的用戶,如果你喜歡追隨Eclipse的開發(fā)步伐,如果你喜歡嘗試各種不同的插件,如果你經(jīng)常在同一個(gè)Eclipse上進(jìn)行插件升級(jí),如果你安裝插件仍是把它安裝在Eclipse的安裝目錄之內(nèi),那么,朋友,你有必要仔細(xì)閱讀一下以下文字,因?yàn)槟銟O有可能會(huì)遇到以下問題:
            1.每次使用最新的Eclipse,重新安裝需要的插件,一個(gè)又一個(gè),煩。
            2.因?yàn)槟承┎寮绊懰俣?或許很小),不想使用的時(shí)候,又不方便刪掉(譬如多語言包),忍。
            3.每次嘗試新插件,不好用,刪文件夾,一個(gè)又一個(gè),還是煩。
            4.每次升級(jí)插件(某些非官方插件經(jīng)常會(huì)在同一版本的Eclipse上進(jìn)行升級(jí)),刪文件夾,一個(gè)又一個(gè),還要再安裝,更煩。

            已經(jīng)很煩了,現(xiàn)在講講解決辦法,對(duì)于上面的問題,解決辦法無疑就是將插件安裝在Eclipse的安裝目錄之外,主要方法有以下兩個(gè):
            1.利用Eclipse的Product extensions機(jī)制,Eclipse升級(jí)時(shí)只需升級(jí)Eclipse本身,而插件依然可以利用無需重新安裝。但是,有些Plugin開發(fā)商(幾乎是所有)為了省事未進(jìn)行update site的工作,無奈。(但,可自己進(jìn)行update site工作)
            2.利用Eclipse的并未推薦的連接文件,雖為未推薦,但相比來說已經(jīng)是最好的選擇。但又因?yàn)椴⑽赐扑],所以沒有注意事項(xiàng)可參考,使用者由于對(duì)連接文件的機(jī)制不清楚,經(jīng)常會(huì)造成插件不能正常安裝(例如:更改同一個(gè)連接文件到同一個(gè)插件)。
            綜上所述,導(dǎo)致了我決定開發(fā)一個(gè)管理連接文件的工具(終于引到了正題,:)),其實(shí)最初是為我們項(xiàng)目組考慮,原因是我們要經(jīng)常要對(duì)所開發(fā)插件進(jìn)行更換,測(cè)試。
            插件下載連接:
            可能有些人會(huì)問,這個(gè)插件安裝怎么辦?這個(gè)問題我只能說沒辦法,還是要安裝在Eclipse的安裝目錄之內(nèi),但放心它只有一個(gè)文件夾,刪起來比較容易(希望不會(huì)這么慘,:))。

            關(guān)于版本:我只做了for Eclipse-SDK-3.0.1的版本,主要是考慮到大家使用的2.1.3應(yīng)該已經(jīng)定形,遇到上面問題的幾率比較小,如果真的有需要請(qǐng)告知我。
            使用方法:
            1.打開
             

            2.添加連接
            說明:插件解壓后必須如下結(jié)構(gòu)(不是的話,手動(dòng)建立即可):
             link folder/
                            eclipse/
                                  features/(不是必要的)
                                  plugins/
            譬如有一個(gè)插件(eclipse-FTP-WebDAV-3.0.1)在資源管理器中如圖:
             
            在Plug-ins Link View中,如下圖:

             
            點(diǎn)擊“+”,出現(xiàn)添加頁面,如下圖:

             
            選定后,F(xiàn)inish。
             
            確保為Enabled。
            3.重新啟動(dòng)即可生效。
            4.其他操作,簡(jiǎn)單明了,一試便知。



            No.3

            Stand-alone-Help,Eclipse上可獨(dú)立打開多個(gè)語言幫助的插件,當(dāng)時(shí)在日文環(huán)境下,給同事開發(fā)的,沒什么大用,呵呵。下載鏈接:http://files.cppblog.com/bobquain/Stand-alone-Help-311-Eclipse311-BIN.zip

            posted @ 2010-09-18 00:26 bobquain 閱讀(1587) | 評(píng)論 (0)編輯 收藏

            2010年9月17日 #

            以前做的一些小玩意兒(二)

            無聊啊,陸續(xù)把以前做的一些小玩意兒共享一下。由于時(shí)間比較長(zhǎng)了,那時(shí)候設(shè)計(jì)能力有限,現(xiàn)在也沒時(shí)間維護(hù),如果發(fā)現(xiàn)bug就別用了,望體諒。

            第二個(gè)是叫K File Converter,程序大小200k。下載鏈接:http://files.cppblog.com/bobquain/KFC_V1.1.1_CN_Setup.zip
            以前在CSDN的下載:http://download.csdn.net/source/182300



            K File Converter

            可擴(kuò)展批量文件轉(zhuǎn)換器


            1. Introduction

            大多數(shù)編程人員在開發(fā)過程中經(jīng)常會(huì)需要某種文件轉(zhuǎn)換操作,如:

                1 批量的文件改名。

                2 把文件轉(zhuǎn)換成Dos格式,Unix格式或Mac格式。

                3 把文件轉(zhuǎn)換成Shift-JIS碼,EUC碼或JIS碼。

                4 把文件從本地編碼轉(zhuǎn)換成ASCII碼,或者從ASCII碼轉(zhuǎn)換成本地編碼。

            這些轉(zhuǎn)換工具有的是系統(tǒng)自帶的,有的是第三方的免費(fèi)工具,而有些則需要自己開發(fā)。

            但是這些工具往往沒有圖形界面,或者不支持對(duì)文件夾的操作和對(duì)特定文件的過濾。

            K File Converter正是為了解決這個(gè)問題而設(shè)計(jì),用戶無論是使用別人的工具還是自己開發(fā)的工具,都無需為了對(duì)圖形界面和對(duì)文件夾以及文件過濾的支持而浪費(fèi)時(shí)間。

            2. How To Use

            K File Converter界面比較易懂,參照下圖做一下簡(jiǎn)單介紹:

                1 輸入文件夾:被轉(zhuǎn)換文件所在路徑。

                2 輸入文件名格式:輸入文件名過濾,*代表任意字符串,?代表任意字符,每個(gè)文件名格式用|隔開

                3 輸入刷新:[6]沒有選中的情況下,當(dāng)[1]或[2]發(fā)生改變或[1]指定路徑中文件變更時(shí),點(diǎn)擊此按鈕進(jìn)行樹形視圖[4]的刷新。

                4 輸入視圖:所有符合[2]過濾條件的文件都以樹形方式顯示在此視圖中

                5 包含子文件夾:選中情況下,對(duì)[1]指定文件夾和所有它的子文件夾中的文件進(jìn)行過濾;沒選中情況下,不對(duì)子文件夾進(jìn)行過濾。

                6 輸入自動(dòng)刷新:選中情況下,當(dāng)[1]或[2]發(fā)生改變時(shí),自動(dòng)刷新[4]視圖。但是,[1]的指定路徑中有文件變更時(shí),需點(diǎn)擊按鈕[4]進(jìn)行刷新。沒選中情況下,不進(jìn)行自動(dòng)刷新。

                7 輸出文件夾:轉(zhuǎn)換后文件的輸出路徑

                8 輸出文件名格式:輸出文件格式,可引用變量:${prefix}代表輸入文件名前綴,${suffix}代表輸入文件名后綴(也就是擴(kuò)展名)。${prefix}和${suffix}可不引用或引用多次。

                9 輸出刷新:[11]沒有選中的情況下,當(dāng)[7]或[8]發(fā)生改變或[1]指定路徑中文件變更時(shí),點(diǎn)擊此按鈕進(jìn)行[4]樹形視圖的刷新。

                10 輸出視圖:按照[8]中格式以樹形方式顯示所有輸出文件的預(yù)覽

                11 輸出自動(dòng)刷新:選中情況下,當(dāng)[7]或[8]發(fā)生改變時(shí),自動(dòng)刷新[10]視圖但是,[7]的指定路徑中文件變更時(shí),需點(diǎn)擊按鈕[9]進(jìn)行刷新;沒選中情況下,不進(jìn)行自動(dòng)刷新。

                12 轉(zhuǎn)換器選擇:指定轉(zhuǎn)換所用轉(zhuǎn)換器。預(yù)置的轉(zhuǎn)換器主要有4種,共13個(gè):

                    (1) 文件改名(復(fù)制原文件)。

                    (2) 文件改名(移動(dòng)原文件)。

                    (3) 文件行結(jié)束符轉(zhuǎn)換成Dos格式(CRLF)。

                    (4) 文件行結(jié)束符轉(zhuǎn)換成Unix格式(LF)。

                    (5) 文件行結(jié)束符轉(zhuǎn)換成Mac格式(CR)。

                    (6) 文件編碼轉(zhuǎn)換為Shift-JIS碼(自動(dòng)判斷輸入文件的編碼)。

                    (7) 文件編碼轉(zhuǎn)換為EUC碼(自動(dòng)判斷輸入文件的編碼)。

                    (8) 文件編碼轉(zhuǎn)換為New-JIS碼(自動(dòng)判斷輸入文件的編碼)。

                    (9) 文件編碼轉(zhuǎn)換為Old-JIS碼(自動(dòng)判斷輸入文件的編碼)。

                    (10) 文件編碼轉(zhuǎn)換為Nec-JIS碼(自動(dòng)判斷輸入文件的編碼)。

                    (11) 文件MD5驗(yàn)證碼的生成(MD5加密:目前國(guó)外大多數(shù)網(wǎng)站提供的下載文件的驗(yàn)證碼)。

                    (12) 文件編碼從本地編碼轉(zhuǎn)換為ASCII碼(轉(zhuǎn)換器為JDK中提供的native2ascii.exe程序,不會(huì)自動(dòng)判斷輸入文件的編碼;還有,使用前用戶要手動(dòng)修改JDK的路徑)。

                    (13) 文件編碼從ASCII碼轉(zhuǎn)換為本地編碼(轉(zhuǎn)換器為JDK中提供的native2ascii.exe程序,不會(huì)自動(dòng)判斷輸入文件的編碼;還有,使用前用戶要手動(dòng)修改JDK的路徑)。

                13 配置轉(zhuǎn)換器:點(diǎn)擊打開轉(zhuǎn)換器配置窗口。具體使用見[3.How To Extend]

                14 運(yùn)行/停止:運(yùn)行轉(zhuǎn)換/停止轉(zhuǎn)換。顯示為"Run"時(shí),點(diǎn)擊后開始運(yùn)行,運(yùn)行中名稱變?yōu)?Stop",點(diǎn)擊可停止轉(zhuǎn)換。轉(zhuǎn)換停止或全部結(jié)束后,名稱變?yōu)?Run"

                15 日志:顯示錯(cuò)誤和轉(zhuǎn)換結(jié)果信息

            3. How To Extend

            用戶如果想增加轉(zhuǎn)換器,可點(diǎn)擊上圖中按鈕[13],打開轉(zhuǎn)換器配置窗口。轉(zhuǎn)換器可以是任何命令行的執(zhí)行程序,包括cmd.exe,java.exe和提供命令行參數(shù)的GUI執(zhí)行程序。注意:轉(zhuǎn)換器至少需要有輸入文件和輸出文件兩個(gè)參數(shù)。

            轉(zhuǎn)換器配置界面也非常簡(jiǎn)單,通過下圖做一下簡(jiǎn)單介紹

                1 轉(zhuǎn)換器列表:顯示轉(zhuǎn)換器列表

                2 新建:做成新的轉(zhuǎn)換器

                3 復(fù)制:做成新的轉(zhuǎn)換器并復(fù)制當(dāng)前轉(zhuǎn)換器配置到新做成的轉(zhuǎn)換器

                4 刪除:刪除當(dāng)前選擇的轉(zhuǎn)換器

                5 上移:當(dāng)前選擇的轉(zhuǎn)換器上移一格

                6 下移:當(dāng)前選擇的轉(zhuǎn)換器下移一格

                7 標(biāo)題:轉(zhuǎn)換器的標(biāo)題

                8 執(zhí)行文件:轉(zhuǎn)換器運(yùn)行的執(zhí)行文件

                9 參數(shù):[8]中指定執(zhí)行文件的參數(shù)。可引用變量:${infile}為輸入文件,${outfile}為輸出文件,${location}為執(zhí)行文件所在文件夾。

                10 工作路徑:[8]中指定執(zhí)行文件的工作路徑。可引用變量:${location}為執(zhí)行文件所在文件夾。

                11 OK:保存所有修改并關(guān)閉配置窗口

                12 Cancel:取消所有修改并關(guān)閉配置窗口

            4. Improve

            對(duì)比之前發(fā)布的beta版,正式版V1.0.0主要的改進(jìn)如下:

                1 輸入視圖和輸出視圖做到近乎完美的同步

                2 增加了輸入視圖和輸出視圖的自動(dòng)刷新,并提供開關(guān)當(dāng)文件比較多,嚴(yán)重影響自動(dòng)刷新時(shí),可關(guān)閉自動(dòng)刷新功能。

                3 轉(zhuǎn)換器配置窗口中增加了[Copy]按鈕

                4 解決了轉(zhuǎn)換器配置窗口中點(diǎn)擊上移,下移或刪除按鈕之后回到主窗口進(jìn)行文件轉(zhuǎn)換,所選轉(zhuǎn)換器會(huì)錯(cuò)亂的bug

                5 增加了轉(zhuǎn)換停止的功能,這樣可以以正常方式停止當(dāng)前的轉(zhuǎn)換操作;并且轉(zhuǎn)換期間中不影響圖形界面操作

                6 預(yù)置了更多實(shí)用的轉(zhuǎn)換器,如:行結(jié)尾符的轉(zhuǎn)換和文件編碼的轉(zhuǎn)換

                7 文件改名轉(zhuǎn)換器沒有采用"cmd.exe /c copy",原因是速度稍慢。

            V1.1.0的改進(jìn)如下:

                1 增加了托拽功能:用戶可以從Explorer中托拽文件或文件夾到[Input/Output]組中。如果托拽的是文件夾,文件夾的絕對(duì)地址將寫到Input Directory或Output Directory中。

                  如果托拽的是文件,文件所在文件夾的絕對(duì)地址將寫到Input Directory或Output Directory中,文件名稱將寫到File Name Patterns中。

                2 將Input Directory/Output Directory和File Name Patterns的編輯框變成了可輸入的ComboBox框,并增加了保存歷史記錄的功能。

                3 增加了手動(dòng)刷新的快捷鍵(F5)。當(dāng)輸入焦點(diǎn)在Input區(qū)域時(shí),刷新輸入視圖;當(dāng)輸入焦點(diǎn)在Output區(qū)域時(shí),刷新輸出視圖。

            V1.1.1的改進(jìn)如下:

                1 修正了File Name Patterns對(duì)文件過濾時(shí)嚴(yán)格區(qū)分大小寫的Bug。

                2 將Input Directory/Output Directory瀏覽對(duì)話框的初始路徑設(shè)定為當(dāng)前輸入框中的路徑。


            posted @ 2010-09-17 23:58 bobquain 閱讀(1227) | 評(píng)論 (0)編輯 收藏

            僅列出標(biāo)題  
            开心久久婷婷综合中文字幕| 久久国产亚洲精品无码| 97久久精品人人澡人人爽| 99久久www免费人成精品| 亚洲精品午夜国产va久久| 一级女性全黄久久生活片免费| 无码专区久久综合久中文字幕| 亚洲国产精品久久久久婷婷老年| 日韩亚洲国产综合久久久| 国产精品青草久久久久婷婷| 久久精品国产一区二区三区不卡 | 欧美日韩成人精品久久久免费看| 久久精品国产一区二区三区| 久久亚洲精品人成综合网| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲国产天堂久久综合网站| 久久久久久午夜精品| 国产精品视频久久久| 国产A级毛片久久久精品毛片| 久久精品国产亚洲麻豆| 久久久这里有精品| 免费一级欧美大片久久网| 久久99精品国产麻豆宅宅| 亚洲精品视频久久久| 精品人妻伦一二三区久久| 99久久99久久| 久久精品国产亚洲AV大全| 国产69精品久久久久观看软件| 97精品伊人久久久大香线蕉| 精品永久久福利一区二区| 午夜天堂av天堂久久久| 思思久久精品在热线热| 无码乱码观看精品久久| 久久人人爽人人爽人人片AV东京热| 久久精品成人免费网站| 国产精品一区二区久久| 潮喷大喷水系列无码久久精品| 久久免费的精品国产V∧| 久久国产精品77777| 久久大香香蕉国产| 精品少妇人妻av无码久久|