2011年7月18日 星期一

[待補完開箱] Corsair SSD SATA II F60

上上禮拜(7/9)的PTT 電蝦版聚,很幸運的抽到一台SSD。

版聚上請了幾家廠商與版友上台講課。



課程內容:

一.個人/家庭雲端資料中心-- Synology 代表 wwwddd
   1. NAS server 的基本概念
   2. NAS 的功能介紹與實際應用.

二.機殼部分 -- 在CM上班的 Vinss
   1.機殼模具概念
   2.機殼I/O設計理念

三.SSD與PnP記憶體 -- Kingston 代表 & 愛德華
   1.最新SandForce SF-2281控制器與PnP記憶體介紹
   2.SSD大哉問

四.滑鼠感應器類型介紹 -- 鍵談坊
   痛鍵盤實物首次公眾曝光



[memo] JAVA 入門問題集

Q:什麼是 jdk ? 什麼是 jre ?


JDK


JDK 是整個Java的核心,包括了Java運行環境(Java Runtime
Envirnment),一堆Java工具和Java基礎的類庫(rt.jar)。不論什麼Java應用服務器實質都是內置了某個版本的JDK.最主流的
JDK是Sun公司發佈的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如IBM公司開發的JDK,BEA公司的Jrocket,
還有GNU組織開發的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)運行效率要比Sun
JDK包含的JVM高出許多。而專門運行在x86平台的Jrocket在服務端運行效率也要比Sun
JDK好很多。但不管怎麼說,我們還是需要先把Sun JDK掌握好。


JDK一般有三種版本:SE(J2SE),standard
edition,標準版,是我們通常用的一個版本EE(J2EE),enterpsise
edtion,企業版,使用這種JDK開發J2EE應用程序,ME(J2ME),micro
edtion,主要用於移動設備、嵌入式設備上的java應用程序Java開發工具(JDK)是許多Java專家最初使用的開發環境。儘管許多編程人員已
經使用第三方的開發工具,但JDK仍被當作Java開發的重要工具。JDK由一個標準類庫和一組建立,測試及建立文檔的Java實用程序組成。其核心
Java API是一些預定義的類庫,開發人員需要用這些類來訪問Java語言的功能。Java
API包括一些重要的語言結構以及基本圖形,網絡和文件I/O.一般來說,Java
API的非I/O部分對於運行Java的所有平台是相同的,而I/O部分則僅在通用Java環境中實現。


作為JDK實用程序,工具庫中有七種主要程序。


◆Javac:Java編譯器,將Java源代碼轉換成字節碼。


◆Java:Java解釋器,直接從類文件執行Java應用程序字節代碼。


◆appletviewer:小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器。


◆Javadoc:根據Java源碼及說明語句生成HTML文檔。


◆Jdb:Java調試器,可以逐行執行程序,設置斷點和檢查變量。


◆Javah:產生可以調用Java過程的C過程,或建立能被Java程序調用的C過程的頭文件。


◆Javap:Java反彙編器,顯示編譯類文件中的可訪問功能和數據,同時顯示字節代碼含義。






JRE


JRE(Java Runtime
Environment,Java運行環境),運行JAVA程序所必須的環境的集合,包含JVM標準實現及Java核心類庫。是Sun的產品,包括兩部
分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是可以在其上運行、
測試和傳輸應用程序的Java平台。它包括Java虛擬機、Java平台核心類和支持文件。它不包含開發工具——編譯器、調試器和其它工具。JRE需要輔
助軟件 ——JavaPlug-in——以便在瀏覽器中運行applet.J2RE是Java2 Runtime
Environment,即Java運行環境,有時簡稱JRE.如果你只需要運行Java程序或Applet,下載並安裝它即可。如果你要自行開發
Java軟件,請下載JDK.在JDK中附帶有JRE.注意由於Microsoft對Java的支持不完全,請不要使用IE自帶的虛擬機來運行
Applet,務必安裝一個JRE或JDK.


 


Q:Java "2"?



A:昇陽在1998年十二月發表了Java "2", 其實只是從版本1.2之後的稱為Java 2, 不用對這個'2'有太多的疑問.
參考連結:http://java.sun.com/products/jdk/1.2/java2.html

Q:JDK, SDK, JRE, 我到底要裝什麼?


 
A:JDK和SDK其實我們通常指的都是同一個東西, 而JDK與JRE的差別是, JDK可以拿來編譯你所寫的Java程式, 如果你想要學Java, 就請裝JDK, 如果只是要執行Java的程式, 你只要裝JRE就可以了. (JRE是JDK的子集)

Q:Java? JavaScript?


 
A:Java和JavaScript一點關係都沒有. 他們只不過是名字都有個Java.
套一句以前TAHO說的話, "熱狗和狗有關嗎?"

Q:Java不是號稱跨平台嗎? 為什麼還要裝JRE?


 
A:
因為用Java寫出來的程式是byte code, 要透過JVM(Java Virtual Machine)來執行,
其實跨平台的道理就是在不同的平台上裝上不同的JVM, 讓你的程式和平台中間多了一個中介. 所以你寫的程式在任何平台都可以執行(當然要是Pure
Java Code), 不過要有適合的JVM.

Q:學Java除了JDK, 還要有什麼?


 


A:Java的API相當的多, 普通人是沒有辦法全記下來的, 最好可以去sun下載Java API Doc回來, 以方便隨時查閱.

Q:寫Java程式要用什麼?



A:最簡單的就是記事本, 也可以用UltraEdit, Context, JCreator. 這些是初級的編輯器, 通常新手我個人還是不太建議直接使用IDE, 如JBuilder之類的, 那對新手可能有點吃力.

Q:要看什麼書?



A:
這個問題見人見智, 我建議先到天瓏書局看看朱仲傑的書, 其實我沒有看過, 不過它廣受好評, 至於侯捷先生所翻譯的Thinking in Java
2, 我有看過一些, 我覺得對於完全的新手來講可能有點難度, 建議是對Java已經有點瞭解, 或是寫過C/C++的人去看比較好.
我個人是認為Java太廣, 太大了, 光是一本書也是絕對不夠的, 在讀完一本書之後, 可以去看O'reilly針對各種主題的書(Java
networking, Java IO....), 循序漸進.
另外, 原文書中, Core Java 2也是不錯的書.
另外有一本有名的書, 是Deitel出的Java: How to program, 現在已經出到5th edition了,
不過我比較不建議這本書, 因為它到ch8, ch9才開始針對OO做完整的介紹, 我個人覺得不太好.

Q:J2SE, J2EE, J2ME到底分別是什麼?



A:J2SE是Java 2 Standard Edition, 新手都是從這個開始學
J2EE主要用在網路企業, 服務等, 而J2ME是用在小型行動裝置(手機、PDA...etc)
基本上J2SE是J2EE和J2ME的基礎.


Q:什麼是SDK ? 什麼是API ? 什麼是KIT ?


A:SDK是software development tool kit,翻譯成中文就是"軟體發展工具
組",通常是某一廠商針對某一平台或某一系統提供可以開發應用程式的工具組,


通常你問別人我想學SDK,他會問你要學什麼方面的SDK?(我就曾經問過這
樣的問題.)而微軟提供可開發window應用程式的SDK就是 win32/win64 API.

API是 application program interface 應用程式介面,它可提供一個一致的介面讓你設計你想要的應用程式,通常是一些function之類的東西.


API 目的是讓程式可以利用此介面來跟driver或是os作溝通


SDK:Soft develop kit 是開發軟體時才會用到的,一般user使用,是不用裝的。

SDK 是 軟體發展工具,K 就是 Kit 縮寫,意思就是"工具組"也是指 Windows 內建的"系統函數庫"。


早期,在 MS C 5/6/7 (1988 ~ 1993) 要在 DOS 下寫 Windows 程式只能使用 SDK 來實作,


直到 MS C 7 推出 MFC 1.0 後,開發 Windows 程式才變的輕鬆。現在已經變成 API 的說明書。


由於用法混亂,假設你同時看到這三個名詞,你可以這樣去分別:

1.API 為函數庫,你要直接控制某硬體或軟體時,需要使用

2.SDK 為說明書,說明 API 如何呼叫、如何使用

3.KIT 為工具組,可能有現成的範例或簡易工具,讓你不用寫程式也可以初步控制硬體。


2011年7月3日 星期日

[memo] C++ 結構的使用

#include <iostream>
using namespace std;

struct inflatable
{
char name[20];
float volume;
double price;
};
//定義結構

int main()
{
inflatable guest=
{
"Glorious Gloria", //遵循 name[20]
1.88, //遵循 volume
29.99 //遵循 price
};

//guest是inflatable型態結構中的結構變數

inflatable pal=
{
"Audacious Arthur",
3.12,
32.99
};

cout << "Expand your guest list with " << guest.name;
cout << " and " << pal.name << "!\n";
cout << "You can have both for $" ;
cout << guest.price + pal.price << "!\n";

system("pause");
return 0;
}


[memo] C++ 矩陣與字串差異

#include <iostream>
#include  <cstring>
#include  <string>
using namespace std;

int main()
{
    
    char charr[20];
    string str;

    cout << "Length of string in charr before input: "
         << strlen(charr) << endl;
    cout <<  "Length of string in str before input: "
         << str.size() << endl;
    cout << "Enter a line of text: \n" ;
    
    cin.getline(charr,20);

    cout <<  "You entered: " << charr << endl;
    cout << "Enter another line of text: " << endl;

    getline(cin,str);

    cout << "You entered: " << str << endl;
    //cout << "Length of string in charr after input: " << sizeof(charr) << endl;
    //sizeof() 秀出的是矩陣的大小

    cout << "Length of string in charr after input: " << strlen(charr) << endl;
    cout << "Length of string in str after input: " << str.size() << endl;




    system("pause");
    return 0;
}


 



2011年7月2日 星期六

[memo] C++ 矩陣 與 讀取一整行字串 cin.getline

#include <iostream>
//#include
using namespace std;

int main()
{

const int ArSize = 20;
char name[ArSize];
char dessert[ArSize];

cout << "Enter your name: \n";
cin.getline(name ,ArSize);
cout << "Enter your favorite dessert: \n";
cin.get(dessert,ArSize);
cout << "I have some delicious "<< dessert ;
cout << " for your, " << name << ".\n";







system("pause");
return 0;
}


[memo] 血型判斷

父母雙親血型O+O
子女血型可能有O
子女血型不可能有A、AB、B

父母雙親血型O+A
子女血型可能有A、O
子女血型不可能有AB、B

父母雙親血型O+B
子女血型可能有B、O
子女血型不可能有A、AB

父母雙親血型O+AB
子女血型可能有A、B
子女血型不可能有O、AB

父母雙親血型A+A
子女血型可能有A、O
子女血型不可能有AB、B

父母雙親血型A+B
子女血型可能有AB、B、A、O
子女血型不可能有

父母雙親血型A+AB
子女血型可能有A、B、AB
子女血型不可能有O

父母雙親血型B+B
子女血型可能有B、O
子女血型不可能有A、AB

父母雙親血型B+AB
子女血型可能有B、A、AB
子女血型不可能有O

父母雙親血型AB+AB
子女血型可能有AB、A、B
子女血型不可能有O
血型與遺傳


由於衛生科學的普及,目前多數人都懂得了,人的血液是有血型的,人有病需要輸血時要檢查血型和作血液配合試驗,人的血液血型是如何形成的?父母的血型與子女之間血型到底有什麼關係?一般人都並不十分瞭解,甚至有些人認為子女的血型是父母遺傳給下一代的,是同型血,緊急需要輸血時可以直接輸入,不必作血型檢驗和配合試驗,其實這是錯誤的。因為子女雖接受父母血型遺傳但子女血型非和母親和父親一致,這還要看血型精卵之間所攜帶血型基因結合的結果而定。

首先我們先來談一談血型是怎麼形成的,血型分為四種,即A,B,AB,O。血型是指紅細胞上所含的抗原不同而言,紅細胞上只含A抗原的稱A型,含有B抗原的稱B型,既有A抗原又有B抗原的稱為AB型,既沒有A抗原也沒有B抗原的則稱為O型。ABO血型受ABO三種基因控制,A基因控制A抗原產生,B基因控制B抗原產生,O基因控制不產生A和B兩種抗原,而基因都是成對存在,控制ABO血型的基因可有六種不同組合,即AA,AO,BB,BO,AB,OO,而每個人只有其中一對。ABO血型基因也有顯性和隱性之分,A基因和B基因是顯性,O基因為隱性,例如一個人的一對基因為AA,則血型為A,如一個人的一對基因為AO,因A基因是顯性,而O基因為隱性,所以O基因不能顯示作用,這個人的血型則為A型,B基因也是如此,如一對基因為AB時,因為B基因和B基因都是顯性,這個人的血型則是AB型,因O基因是隱性,必須在一對基因都是O時才能表現出來則為O型血。

子女與雙親之間血型遺傳關係
雙親血型 子女可能出現的血型 子女中不能出現的血型
AхA A,O B,AB
AхO A,O B,AB
AхB A,B,AB,O —
AхAB A,B,AB O
BхB B,O A,AB
BхO B,O A,AB
BхAB A,B,AB O
ABхO A,B AB,O
ABхAB A,B,AB O
OхO O A,B,AB

血型傳給子代時,父母的生殖細胞(精子和卵子)各提供一對基因中的一個,重新組成一對基因。如父親的血型是A型,控制血型的一對基因是AO,在形成精子時則AO一對基因,彼此分開,分別進入兩個精子,即變成帶A基因的精子和帶O基因的精子。如果母親的血型是B型,控制血型的一對基因為BO,同樣當卵子形成過程中即形成一種帶B基因的卵子和帶O基因的卵子,當受精時如果父親帶A基因的精子與帶B基因的卵子結合時,將形成AB型個體(胎兒)則是AB型血,如帶O基因精子與帶B基因的卵子受精時,則形成OB基因的個體(胎兒),其血型為B型,如帶O基因的精子與帶O基因卵子結合時將形成OO基因的個體,則血型為O型。

[memo] C++ BMI計算

#include <iostream>

using namespace std;

int main()
{
const int Lbs_per_stn = 14;
float kg;
float tl;
cout << "Enter your weight in Kilograms = " ;
cin >> kg ;
cout << "Enter your tall in a meter = " ;
cin >> tl;
//int stone = lbs/Lbs_per_stn;
int BMI = kg/(tl*tl);
//cout << endl << lbs << " pounds are " << stone << " stone, " << pounds << "pound(s).\n";
cout << endl << "This is your BMI " << BMI ;

system("pause");
return 0;
}