PIXNET Logo登入

Frank's Blog

跳到主文

Beneath this mask there is more than flesh. Beneath this mask there is an idea, and ideas are bulletproof.

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 7月 24 週二 201215:32
  • [C#] RichTextBox 顯示訊息自動捲動,顯示最後一行



private void richTextBox1_TextChanged(object sender, EventArgs e)


{


 richTextBox1.SelectionStart = richTextBox1.TextLength;


 richTextBox1.ScrollToCaret();


}


(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(8,008)

  • 個人分類:C#
▲top
  • 7月 18 週三 201216:19
  • [Hyper-V] 微軟免費的P2V工具-Disk2vhd



Sysinternals 是一家很特別的公司,自從被微軟收購後,仍致力於開發很多實用且免費的小軟體,而最新力作就是P2V 工具(Physical-to-Virtual 實體轉虛擬 )- Disk2vhd。
Disk2vhd 能將實體硬碟轉成VHD 虛擬硬碟格式,然後掛載於Virtual PC 或Hyper-V 上使用。承如過去這家公司的風格,軟體解開來就只有三個檔案:chm說明檔、主程式、授權聲明,而且還是免安裝綠色版。
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(1) 人氣(6,754)

  • 個人分類:Hyper-V
▲top
  • 7月 18 週三 201216:13
  • [Hyper-V] P2V 將實體電腦轉換至VM上(利用Disk2vhd)



小弟過去曾介紹過微軟 Disk2vhd 這個超好用的 P2V 小工具,軟體版本也從當時的 v1.0  進化到現在的 v1.63。不過前陣子,看到噗友 hunterpo 使用該工具轉 vhd,拉進 Hyper-V 上線後,卻發生每次開機不斷安裝 Hyper-V 整合服務元件,再重開又繼續裝的迴圈中,這才想起來去年 12 月我也曾遇到這個情況。
其實,發生問題的關鍵點在於,如果準備拉進 Hyper-V 使用,那麼就別勾選「Prepare for use in Virtual PC」項目,否則就會陷入無限迴圈中。
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(7,758)

  • 個人分類:Hyper-V
▲top
  • 7月 16 週一 201209:51
  • [SharePoint] SharePoint 2010 相關產品

SharePoint 2010 產品及技術包括下列項目:

Microsoft SharePoint Foundation 2010

(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(694)

  • 個人分類:SharePoint
▲top
  • 7月 12 週四 201213:36
  • [硬體] 伺服器 - 磁碟陣列種類

磁碟陣列有那些優點:
1.傳輸速率快
2.儲存容量可提升
3.提升I/O每秒的數量
4.增加資料安全性及穩定性
5.大量資料快速及簡易管理
6.增加可用運時間,減少維護
各階層磁碟陣列(RAID)介紹:
磁碟陣列是由2個以上的硬碟,模擬一個邏輯硬碟出現在系統中;使用磁碟陣列控制器以達成其存在,利用不同陣列形式,模擬各種層級。現在我們先來了解磁碟陣列(RAID)到底有幾種模式,一般最常提到及應用的RAID層級分為0、1、0+1、3及5。另外還有一些極少用到的RAID 4及RAID 6在此我們就不提它了。
以下就是各個階層的介紹:
RAID 0:Striping/Span (切分/延展)
RAID 1:Mirroring (磁碟鏡射)
RAID 0+1:Mirror + Striping (磁碟鏡射+切分/延展)
RAID 3:Parallel with Parity (平行同位元檢查)
RAID 5:Striping with Rotating Parity (切分/延展+輪轉同位元)
RAID 0:Striping/Span (切分/延展)
RAID 0,它是將資料儲存在2個以上的硬碟機,其將全部磁碟機的儲存容量合併,藉由將資料切分到全部的磁碟機上,進行平行讀寫,而達到提高效能增加容量。
例如:假設有2顆硬碟都為20G
RAID 0 的結果為 在系統內看到一顆硬碟容量就為 20+20=40G
但是RAID 0缺點是完全沒有容錯能力,只要有一個磁碟故障,就會導致陣列磁碟的所有資料,毀於一旦無法挽回。
RAID 1:Mirroring (磁碟鏡射)
RAID 1,必須由2個以上的硬碟所組成,由磁碟陣列(RAID)來控制,將資料同時寫入第1個與第2個硬碟,其2組硬碟上的資料完全相同,也就是其中一個硬碟是用來作備份用途;當其中有一個硬碟故障時,系統照常運作正常。RAID 1是所有RAID階層上,經濟效益最好,效能很高,極佳的資料安全性。是所有階層中使用最多最廣最符合當初RAID設計概念的一種。唯一小缺點是,其陣列磁碟容量是全部硬碟容量的一半。 因為二顆硬碟是存放著相同的資料,就浪費了一顆硬碟的空間。
RAID 0+1:Mirror + Striping (磁碟鏡射+切分/延展)
RAID 0+1,是結合了RAID 0與1兩種模式,這個階層須具備4個或以上的雙數硬碟所組成。這個模式是由2個硬碟遵守RAID 0規範,設定成一組,再由每組間遵循RAID 1的規範,使RAID 0+1擁有容錯力及整體讀寫速度與資料安全性。不過,缺點是成本很高。
RAID 3:Parallel with Parity (平行同位元檢查)
RAID 3,最少須3個硬碟或以上,這個階層的磁碟陣列具備了同位元高階智慧型演算法,利用一個硬碟來儲存其運算出來的同位元值的資料。當陣列磁碟中有一個硬碟發生故障時(當然不能是同位元碟),只要換上新硬碟後,磁碟陣列控制器就能利用同位元碟的資料,重新演算得到其舊有資料並回寫建立。因為其同位元檢查資料是將資料切割成數個區段,利用XOR演算法計算出同位元資料;而其區段以Bytes計算時,稱為RAID 3,如果是以Block計算時,就稱為RAID 4。所以RAID 3在整體讀寫效能會較慢較差,但在成本上會比RAID 0+1還省一點,其陣列磁碟整體容量計算公式為N-1。
RAID 5:Striping with Rotating Parity (切分/延展+輪轉同位元)
RAID 5,最少須3個硬碟,其工作原理與RAID 3相似,主要差別是其同位元資料沒有固定在同個硬碟,是以輪流方式儲存在每個硬碟上,故稱輪轉同位元。當磁碟陣列控制器利用XOR演算出同位元檢查資料後,會隨著資料分別寫入各台硬碟上,因此整體讀寫效能比RAID 3要好一些,當然比RAID 0要差。不過在大型資料處理時,需同時讀寫多個硬碟,而同位元檢查是由磁碟陣列控制器的XOR邏輯所控制的,所以資料處理越大越多時,一定會有所遺失,但這個階層的RAID還是可以提供很高的容錯能力。
RAID 5 的組成一定是3顆以上的硬碟,其容量的計算是(n-1)顆
假設有a b c 三顆硬碟是20G
組成 RAID 5 之後容量是 20+20+20=40G
RAID 5 結合了 RAID 0 跟 RAID 1,它將硬碟的容量加總了,但是又保留了一顆的容量在作檔案的容錯,在寫入資料時會透過其演算法去寫入三顆硬碟之中,假設C硬碟掛掉了,只要將一顆新的20G取代 C 硬碟,RAID 5 的容錯機制會由A B 二顆硬碟中留下的資料來還原 C 硬碟的資料,但前提是壞一顆硬碟,如果同時壞二顆,那資料亦是全毀。

總結:
RAID 0 可以將硬碟容量加總,增加讀取速度,但是沒有容錯功能.
RAID 1 可以將資料鏡射一份,但是讀取速度沒有增加.而且要浪費一顆硬碟.
RAID 5 可以將硬碟容量加總,亦可以增加讀取速度,也有容錯功能.而且多顆組合起來只會浪費一顆硬碟.不像RAID 1每二顆硬碟會浪費一顆。



由於RAID 5 只容許同時有一顆硬碟損壞.就有了RAID 0+1 或 RAID 1+0
這是更安全的作法.但相對的也更浪費硬碟。

舉例RAID 0+1
假設有4個硬碟 A B C D 各20G
RAID 0 A+B => 20+20=40(E)
RAID 0 C+D => 20+20=40(F)
在這裡由A B C D 組成了二顆RAID 0的硬碟.雖然容量加總了.但並沒有容錯功能
所以
RAID 1 E+F => 40+40=40(G)

RAID 1+0 則是反過來運作
RAID 1 A+B => 20+20=20(E)
RAID 1 C+D => 20+20=20(F)
RAID 0 E+F => 20+20=40(G)

作RAID 最好是都用相同容量的硬碟,如果容量不同.則以當中容量最小的為基準
如 A=20G B=30G C=40G
RAID 0 A+B => 20+30=40
RAID 1 A+B => 20+30=20
RAID 5 A+B+C => 20+30+40 => 20+20=40 (n-1)


(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(3,186)

  • 個人分類:硬體
▲top
  • 7月 09 週一 201210:58
  • [ORACLE] 完整移除 Oracle 10g

   
    * Uninstall all Oracle components using the Oracle Universal Installer (OUI).

    * Run regedit.exe and delete the HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE key. This contains registry entires for all Oracle products.
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(917)

  • 個人分類:ORACLE
▲top
  • 6月 16 週六 201200:52
  • [Android] AndroidManifest.xml文件詳解





 

重要性AndroidManifest.xml是Android應用程式中最重要的文件之一。它是Android程式的全局配置文件,是每個 android程式中必須的文件。它位於我們開發的應用程式的根目錄下,描述了package中的全局數據,包括package中暴露的組件 (activities, services, 等等),以及他們各自的實現類,各種能被處理的數據和啟動位置等重要訊息。 
因此,該文件提供了Android系統所需要的關於該應用程式的必要訊息,即在該應用程式的任何代碼執行之前系統所必須擁有的訊息。一個典型的Android應用程式的結構如下圖所示:
AndroidManifest.JPG 


2012-3-19 15:05 上傳

下載附件 (44.72 KB)

 



二,主要功能它指定了該應用程式的Java包:該包名作為應用程式的一個獨特標識。 
它描述了應用程式組件:該應用程式由哪些activity,service,broadcast receiver和content provider組成。它指定了實現每個組件的類以及公開發佈它們的能力(例如,它們能持有哪個Intent訊息)。這些聲明使Android系統知道這 兒有什麼組件以及在什麼條件下它們可以被載入。 
它決定那些進程將容納應用程式組件。 
它聲明了本應用程式必須擁有哪些許可,以便訪問API的被保護部分,以及與其他應用程式交互。 
它也聲明了其他應用程式在和該應用程式交互時需要持有的許可。 
它列出了Instrumentation類,可以在應用程式執行時提供簡檔和其他訊息。這些聲明僅當應用程式在開發和測試過程中被提供;它們將在應用程式正式發佈之前被移除。 
它聲明了該應用程式所需的Android API的最小化水平。 
它列出了該應用程式必須鏈接的庫。 
三,主要結構及規則下面列表顯示了manifest文件的通常的結構以及它可以含有的元素。每個元素,連同它的所有屬性,會在各個單獨的文檔裡進行充分的描繪。 
<?xml version="1.0" encoding="utf-8"?> 
<manifest>  //根節點,描述了package中所有的內容 
     <uses-permission /> //請求你的package正常運作所需賦予的安全許可。一個manifest能包含零個或更多此元素 
     <permission />  //聲明了安全許可來限制哪些程式能使用你的package中的組件和功能。一個manifest能包含零個或更多此元素 
     <permission-tree />  
     <permission-group /> 
     <instrumentation />  //聲明了用來測試此package或其他package指令組件的代碼。一個manifest能包含零個或更多此元素 
     <uses-sdk />  //指定當前應用程式兼容的最低sdk版本號 
     <application>  //包含package中application級別組件聲明的根節點。此元素也可包含 application中全局和默認的屬性,如標籤,icon,主題,必要的權限,等等。一個manifest能包含零個或一個此元素(不允許多餘一個) 
         <activity>  //用來與用戶交互的主要工具。當用戶開啟一個應用程式的初始頁面時一個activity,大部分被使用到的其他頁面也由不同的activity所實現並聲明在另外的activity標記中。 
             <intent-filter>  //聲明了指定的一組組件支持的Intent值 
                 <action /> 
                 <category /> 
                 <data /> 
                     <type/> 
                     <schema/> 
                     <authority/> 
                     <path/> 
             </intent-filter> 
             <meta-data /> 
         </activity> 
         <activity-alias> 
             <intent-filter> . . . </intent-filter> 
             <meta-data /> 
         </activity-alias> 
         <service>  //Service是能在後台執行任意時間的組件 
             <intent-filter> . . . </intent-filter> 
             <meta-data/> 
         </service> 
         <receiver>   //IntentReceiver能使你的application獲得數據的改變或者發生的操作,即使它當前不在執行 
             <intent-filter> . . . </intent-filter> 
             <meta-data /> 
         </receiver> 
         <provider>  //ContentProvider是用來管理持久化數據並發佈給其他應用程式使用的組件 
             <grant-uri-permission /> 
             <meta-data /> 
         </provider> 
         <uses-library /> 
         <uses-configuration />   
     </application> 
</manifest>
下面是按照字母順序排列的所有可以出現在manifest文件裡的元素。它們是唯一合法的元素;你不能加入你自己的元素或屬性。
<action> 
<activity> 
<activity-alias> 
<application> 
<category> 
<data> 
<grant-uri-permission> 
<instrumentation> 
<intent-filter> 
<manifest> 
<meta-data> 
<permission> 
<permission-group> 
<permission-tree> 
<provider> 
<receiver> 
<service> 
<uses-configuration> 
<uses-library> 
<uses-permission> 
<uses-sdk>
說明:AndroidManifest.xml文件的結構、元素,以及元素的屬性,可以在Android SDK文檔中查看詳細說明。而在看這些眾多的元素以及元素的屬性前,需要先瞭解一下這些元素在命名、結構等方面的規則: 
     元素:在所有的元素中只有<manifest>和<application>是必需的,且只能出現一次。如果一個元素包含有其他子元素,必須通過子元素的屬性來設定其值。處於同一層次的元素,這些元素的說明是沒有順序的。 
     屬性:按照常理,所有的屬性都是可選的,但是有些屬性是必須設定的。那些真正可選的屬性,即使不存在,其也有默認的數值項說明。除了根元素<manifest>的屬性,所有其他元素屬性的名字都是以android:前綴的; 
     定義類名:所有的元素名都對應其在SDK中的類名,如果你自己定義類名,必須包含類的數據包名,如果類與application處於同一數據包中,可以直接簡寫為「.」; 
     多數值項:如果某個元素有超過一個數值,這個元素必須通過重複的方式來說明其某個屬性具有多個數值項,且不能將多個數值項一次性說明在一個屬性中; 
     資源項說明:當需要引用某個資源時,其採用如下格式:@[package :]type :name 。 例如 <activity android:icon=」@drawable/icon 」 . . . > 
     字符串值:類似於其他語言,如果字符中包含有字符「」,則必須使用轉義字符「\」; 
四,詳細說明值得一提一些常用之處: 
1,幾乎所有的AndroidManifest.xml(以及許多其他Android的xml的文件)在第一個元素中包含了命名空間的聲明 xmlns:android="http://schemas.android.com/apk/res/android"。這樣使得Android中各 種標準屬性能在文件中使用,提供了大部分元素中的數據。 
2,大部分manifests包含了單個<application>的元素,它定義了所有的application級別組件和屬性,並能在package中使用。 
3,任何被用戶看作頂層應用程式,並能被程式啟動器所用的package,需要包含至少一個Activity組件來支持MAIN操作和LAUNCHER種 類。動作android.intent.action.MAIN指示這是應用程式的入口點。類別 android.intent.category.LAUNCHER將此Activity放在啟動器視窗中。
在最外層的<manifest>中包含了包名如 package="cn.androidlover.demo" 、軟體的版本號 android:versionCode="1" 以及 android:versionName="1.0"的屬性,而裡面一層的<application>分支中將可能包含Android程式的 四種對像 Activity、Service、Content Provider以及Receiver。我們每添加上面四個類型中的任一種新對象都需要在androidmanifest.xml文件中添加相應節點,否 則執行時將會產生異常。每一個activity必須要一個<activity>標記對應,無論它給外部使用或是只用於自己的package 中。如果一個activity沒有對應的標記,你將不能執行它。
此文件一個重要的地方就是它所包含的intent-filters。這些filters描述了activity啟動的位置和時間。每當一個 activity(或者作業系統)要執行一個操作,例如:開啟網頁或聯繫簿時,它創建出一個intent的對象。它能承載一些訊息描述了你想做什麼,你想 處理什麼數據,數據的類型,和一些其他訊息。Android比較了intent對像中和每個application所暴露的intent-filter中 的訊息,來找到最合適的activity來處理調用者所指定的數據和操作。關於intent的更多訊息請訪問Intent參考頁面。
application屬性介紹:
有關AndroidManifest.xml文件的application分支我們有必要瞭解一些常見的屬性,這裡可以看到一些我們實用的選項,比如允許 調試android:debuggable、任務關係android:taskAffinity,比如我們常見的方式創建一個新的任務實用標記 FLAG_ACTIVITY_NEW_TASK,為程式制定一個主題,可以使用android:theme指向一個主題文件。平時我們創建的程式使用一些 安全敏感項,會需要請求系統許可權限,這裡可以使用android:permission來制定相關的許可,每個程式的service、 activity、content provider、receiver都需要在application的節點內實現。有關完整的屬性可以查看:
<application android:allowClearUserData=["true" | "false"] 
              android:allowTaskReparenting=["true" | "false"] 
              android:debuggable=["true" | "false"] 
              android:description="string resource" 
               android:enabled=["true" | "false"] 
              android:hasCode=["true" | "false"] 
              android:icon="drawable resource" 
               android:label="string resource" 
              android:manageSpaceActivity="string" 
               android:name="string" 
               android:permission="string" 
               android:persistent=["true" | "false"] 
               android:process="string" 
               android:taskAffinity="string" 
               android:theme="resource or theme" > 
      . . . 
</application>
另外:Activity的屬性常用的可能為android:name和android:label兩個,但我們需要瞭解所有的屬性以幫助解決複雜的問題,完整的如下:

  • android:allowTaskReparenting=["true" | "false"]

  • android:alwaysRetainTaskState=["true" | "false"]

  • android:clearTaskOnLaunch=["true"" | "false"]

  • android:configChanges=[one or more of: "mcc" "mnc" "locale" "touchscreen" "keyboard" "keyboardHidden" "navigation" "orientation" "fontScale"]

  • android:enabled=["true" | "false"]

  • android:excludeFromRecents=["true" | "false"]

  • android:exported=["true" | "false"]

  • android:finishOnTaskLaunch=["true" | "false"]

  • android:icon="drawable resource"

  • android:label="string resource"

  • android:launchMode=["multiple" | "singleTop" | "singleTask" | "singleInstance"]

  • android:multiprocess=["true" | "false"]

  • android:name="string"

  • android:noHistory=["true" | "false"]

  • android:permission="string"

  • android:process="string"

  • android:screenOrientation=["unspecified" | "user" | "behind" | "landscape" | "portrait" | "sensor" | "nonsensor"]

  • android:stateNotNeeded=["true" | "false"]

  • android:taskAffinity="string"

  • android:theme="resource or theme"

  • android:windowSoftInputMode=[one or more of: "stateUnspecified" "stateUnchanged" "stateHidden" "stateAlwaysHidden" "stateVisible" "stateAlwaysVisible" "adjustUnspecified" "adjustResize" "adjustPan"]



從Provider節點中用到的定義,可以看到包含了權限控制、排序方式完整的如下:
<provider android:authorities="list" 
            android:enabled=["true" | "false"] 
            android:exported=["true" | "false"] 
            android:grantUriPermissions=["true" | "false"] 
            android:icon="drawable resource" 
            android:initOrder="integer" 
            android:label="string resource" 
           android:multiprocess=["true" | "false"] 
           android:name="string" 
            android:permission="string" 
            android:process="string" 
            android:readPermission="string" 
            android:syncable=["true" | "false"] 
            android:writePermission="string" > 
</provider>
而對於服務相關定義如下:
<service android:enabled=["true" | "false"] 
           android:exported[="true" | "false"] 
           android:icon="drawable resource" 
           android:label="string resource" 
          android:name="string" 
           android:permission="string" 
           android:process="string" > 
</service>
最後是Broadcast使用的Receiver定義,一般配合和隱式處理。
<receiver android:enabled=["true" | "false"] 
            android:exported=["true" | "false"] 
            android:icon="drawable resource" 
           android:label="string resource"            
           android:name="string" 
           android:permission="string" 
           android:process="string" > 
</receiver>
總之,AndroidManifest.xml文件雖然看起來複雜,但是,只要我們理清中裡面各元素的作用,那麼一切就變得簡單了。


(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(6,959)

  • 個人分類:Android
▲top
  • 5月 25 週五 201214:42
  • [Android] 自行設計按鈕樣式,免去APP內圖片檔過大!

在Android中要自行設計按鈕有以下幾種方式, 
 
一: 準備多張不同的按鈕圖片
你可以預先為你的按鈕準備多張不同的圖片,例如如按下前是亮色,按下後變暗, 或是按下前是原圖,按下後變小圖
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(2,057)

  • 個人分類:Android
▲top
  • 5月 24 週四 201215:19
  • [Android] AndroidManifest.xml Permission

android.permission.ACCESS_CHECKIN_PROPERTIES
Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded
允許讀寫訪問 "properties"表在checkin資料庫中,改值可以修改上傳
android.permission.ACCESS_COARSE_LOCATION
Allows an application to access coarse (e.g., Cell-ID, WiFi) location
允許一個程式訪問CellID或WiFi熱點來獲取粗略的位置
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(752)

  • 個人分類:Android
▲top
  • 5月 21 週一 201212:11
  • [Android] EditText即時輸出至TextView

  第一種方法: 使用setOnKeyListener(),不過只能監聽硬體鍵盤所發出的事件。
edittext.setOnKeyListener(new View.OnKeyListener() { 
 @Override
 public boolean onKey(View v, int keyCode, KeyEvent event) {
 textview.setText(edittext.getText());
 return false;
 }
 });
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(7,332)

  • 個人分類:Android
▲top
«123...14»

About Me

Frank
暱稱:
Frank
分類:
數位生活
好友:
累積中
地區:

anobii

文章分類

toggle 人的生活 (4)
  • SharePoint (6)
  • 思考 (2)
  • 電影 (1)
  • 音樂 (5)
toggle 宅的生活 (15)
  • ORACLE (1)
  • C# (5)
  • cisco (1)
  • 系統測試 (1)
  • Android (21)
  • MAC (1)
  • Hyper-V (2)
  • Windows Server (1)
  • Windows (15)
  • JAVA (4)
  • SQL Server (5)
  • 教學 (16)
  • 硬體 (8)
  • 問題 (16)
  • 軟體 (12)
  • 未分類文章 (1)

最新文章

  • [VM] 網路模式 (Host-only, NAT, Bridge) 差異性
  • [電影] 人間師格 Detachment
  • [Share Point] 啟動SharePoint 2010 Session 機制
  • [Share Point] WebPart 開發
  • [Share Point] SmartPart 安裝及佈署
  • [Share Point] 隱藏SharePoint2010 Dialoag視窗中的Ribbon
  • [Share Point] 自訂義導覽MENU
  • [AJAX] ModalPopupExtender 實作 (彈出版權同意視窗)
  • [C#] Fileupload 加入副檔名過濾
  • [Android] Line 免費表情符號下載

文章搜尋

參觀人氣

  • 本日人氣:
  • 累積人氣: