網頁

2014年10月26日 星期日

1.安裝node.js

1.apt-get install git
 
2.git clone git://github.com/creationix/nvm.git ~/.nvm

3.echo ". ~/.nvm/nvm.sh" >> ~/.bashrc

4.重新開始新的terminal或用source載入環境變數

5.nvm install v0.10   

nvm的全名為Node.js Version Management,使用nvm安裝node.js比起apt-get來得更方便,nvm安裝的版本可以自行修改,使用nvm ls可以查看所安裝的版本。



nvm run v0.10 node.js
使用nvm執行node.js,上面的node.js可以換成你node.js的檔名

2014年10月25日 星期六

Ubuntu NTP


  • 設定時區:dpkg-reconfigure tzdata

dpkg-reconfigure這個指令可以對一些已經安裝的套件做重新設定,如果用上面的指令還無法正確的更新時間的情況下,使用ntpdate進行更新時間的動作。

  • 設定時間:ntpdate time.stdtime.gov.tw


1.第一支JAVA程式

JAVA是一個物件導向的語言,因此許多人在學習JAVA的過程中覺得很困難,且因為JAVA物件導向等等的觀念,學習JAVA的人可能沒辦法一下接受太多的觀念,讓我們慢慢的學習JAVA吧。

public class Java { public static void main(String[] args) { System.out.println("hello world"); } }
JAVA是由許多的類別(class)組成的,如果你JAVA檔(Java.java)中只有一個類別名稱的話,這個類別必須與JAVA檔同名,因此上面範例中的類別為Java,通常撰寫類別的寫法為class 類別名稱,至於public將在後面再提到。撰寫完類別時還必須加上兩個大括號{},這兩個括號中可以撰寫方法變數等等。

範例中的main方法如同許多的程式語言一樣是一個程式開始的起點,public一樣在後面在提到,static指的是靜態的意思,也就是說只要有冠上static的方法或是物件,就不需要實體化之後再呼叫方法或物件,可以直接呼叫方法或物件,範例中的main方法因為是第一個開始的方法,所以不會有其他的程式碼能夠實體化main方法的類別,如果看不懂這裡的static的話,後續還會提到static的其他用法,不用拘泥於這裡。void指的是無回傳值,表示main方法執行完畢時不會回傳任何的值。最後是main方法中的引數String[] args,雖然這個引數不一定會用到,但是你還是必須打上去,不然你的JAVA程式是無法執行的喔!!方法撰寫完也還是必須加上兩個大括號{},可以撰寫一些陳述(Statement)

範例中的System.out.println("hello world")是一個很簡單的陳述,System.out.println的功能是能夠印出文字並且換行,如果不想換行的話可以改用System.out.print()

2014年10月6日 星期一

資訊登錄檔-滑鼠右鍵

1.增加資料夾滑鼠右鍵的功能表 :
HKEY_CLASSES_ROOT\Folder指的是Windows下的資料夾,因此在HKEY_CLASSES_ROOT\Folder\shell底下新增你所需要的機碼,舉例我新增的機碼為CMD且預設值自行定義為命令提示字元,這樣資料夾滑鼠右鍵的功能表就多了命令提是字元不過目前還沒有功能,最後要在你剛剛新增的機碼底下新增一個固定的機碼command預設值打上你所要執行的程式路徑名稱,我整個資訊登錄檔機碼的路徑為HKEY_CLASSES_ROOT\Folder\shell\CMD\command。


2.更換預設的工作管理員
Process Hacker比傳統的工作管理員提供更多的訊息給使用者,因此我將傳統的工作管理員替換成Process Hacker,不論是在工作列中滑鼠右鍵的工作管理員還是ctrl+shif+esc的工作管理員都希望能夠直接執行Process Hacker,要達成目的需要使用資訊登錄檔,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options是執行檔的映像路徑,如果底下的機碼沒有taskmgr.exe就自行新增此機碼,之後再新增字串值名稱為Debugger值則指定Process Hacker執行檔的路徑。

2014年9月9日 星期二

3.C#判斷式

C#判斷式是使用ifswitch為主,如果判斷的項目少的時候使用if較為恰當如果多則使用switch static void Main(String[] args){ int age = 16; if (age >= 18) { Console.WriteLine("成年"); Console.ReadKey(); } else { Console.WriteLine("未成年"); Console.ReadKey(); } }
上面的範例使用if判斷式判斷年紀是否為成年其結果為未成年,現在在增加一個判斷式項目判斷是否為青少年 static void Main(String[] args){ int age = 16; if (age >= 18) { Console.WriteLine("成年"); Console.ReadKey(); } else if (age < 18 && age >= 12) { Console.WriteLine("青少年"); Console.ReadKey(); } else { Console.WriteLine("小孩"); Console.ReadKey(); } }
執行後的結果為青少年。

switch判斷式使用case進行布林和數值的判斷,當確定是某個case的項目時,必須使用break中止switch,不然swtich會執行下一個case的項目,當所判斷的項目都不再case之中可以使用default顯示找不到符合的判斷。 static void Main(String[] args){ int choice = 1; switch (choice) { case 1: Console.WriteLine("A"); Console.ReadKey(); break; case 2: Console.WriteLine("B"); Console.ReadKey(); break; case 3: Console.WriteLine("C"); Console.ReadKey(); break; default: Console.WriteLine("不在選項中"); Console.ReadKey(); break; } }

2.C#變數和運算

C#是一個強類型的語言,所有的變數都必須要指定是什麼型態,變數是儲存資料的東西,變數的型態可能是字元、字串、數值等等。 static void Main(String[] args) { int i = 1, j = 2; //整數 float f = 1.2f; //單精準浮點數 double d = 3.14; //雙精準浮點數 char c = 'c'; //字元 string s = "hello"; //字串 bool b = true; //布林 }
C#用=指定變數和進行運算,int i = 1是將常數1指定到變數i,i的變數儲存的資料就為1。不過程式語言的=並不等於數學的=,像是i = i + 1在數學公式中是不成立的兩邊的值並不相等,i的值加1之後為2,i變數最後儲存的值為2。

C#的運算順序與數學的運算順序一樣先乘除後加減,例如X = 2 * 3 + 4 / 2,X的值為8。

C#也支援位元運算、邏輯運算、遞增運算,位元運算使用<<>>符號分別代表向左位移和向右位移,例如int i = 1; i = i << 2 結果為4,因為做位元運算時會將值轉為2進位,1的二進位為00000001向左位移2位之後為00000100為4,右邊移位以此類推。邏輯運算使用!(NOT)&(AND)|(OR)來判斷是否為true或false或對數值進行邏輯運算。遞增運算通常用於迴圈使每一次執行加一或減一,i++、++i、i--、--i遞增運算的符號前後是有差的,如果遞增運算在前面的話,在進行運算式時會先執行遞增運算在計算運算式,如果在後面時會先計算運算式在進行遞增運算。

1.第一個C#程式

using System; namespace learn { class HelloWorld { static void Main(string[] args) { Console.WriteLine("Hello World"); //印出Hello World Console.ReadKey(); } } }
上面的程式碼是由C#主控台(Console)的專案所撰寫的,主控台程式必須包含Main方法,Main方法是程式開始的起始點

Main方法是位於類別內的方法,在上面的範例中類別是HelloWorld,因此Main方法位於HelloWorld類別內,Main方法的寫法不止一種,上面範例中的Main方法寫法是static void Mainvoid表示方法為無回傳值,最基本的Main方法寫法如下:

static void Main() { }
當然也可以設為有回傳值,底下的範例將Main方法設為整數回傳值 static int Main() { return 0; }

在Main方法中除了可以設定回傳值之外,也可以使用引數 static void Main(String[] args) { }
或是 static int Main(String[] args) { return 0; }
不論是有無回傳值都可以使用引數

Console.WriteLine是用來當作資料輸出,WriteLineConsole類別輸出資料的其中一種,Console類別是System的子類別,因為第一個範例有使用using System所以可以使用System的類別和方法,如果沒有使用using System則要使用完整的寫法System.Console.WriteLine

C#的註解有兩種方式一種是使用//另一種是用/**/,另如//我是註解或是/*我是註解*///用於單行/**/用於多行或區塊

Console.ReadKey是提供輸入資料使用,為了能讓第一個範例顯示結果,使用Console.ReadKey等待使用者輸入,有如暫停的功能,第一個範例就會輸出Hello World。