:::

Git合作開發從NetBeans開始!NetBeans複製git專案教學 / Clone Git Project in NetBeans

Git合作開發從NetBeans開始!NetBeans複製git專案教學 / Clone Git Project in NetBeans

2014-08-18_154048

本文介紹如何在NetBeans中複製Git專案到本機端,然後建立NetBeans專案,以便開始進行程式的開發。

This article describes how to clone Git project and then create a NetBeans project in NetBeans.

Git專案 / Git Project

2014-08-18_152111 - Copy

本文以我最近要開始的新專案「PHP File Host」為例子來做示範。這是一個存放在GitHub的開放原始碼專案,大家可以任意複製(Clone)裡面的程式碼到本機端來修改。要複製Git專案的方法很多,有HTTPS、SSH與Subversion等通訊協定。在NetBeans裡面,我們可以用HTTPS通訊協定來進行複製,連線方式在GitHub專案網頁的右方下面「HTTPS clone URL」。

總結上述,以下是Git專案的資訊:

NetBeans環境 / NetBeans Version

2014-08-18_152321

NetBeans是我現在主要的IDE開發環境,他也是一個開放原始碼的自由軟體。NetBeans不僅支援語法標亮、自動完成(auto-completion),從7.4版之後也開始支援Git。以往我使用TotoiseGIT來管理GIT的工作,現在逐漸都改以NetBeans來進行操作。

為了讓大家能夠更輕易以NetBeans來開始使用Git專案,本文將介紹如何複製Git專案到NetBeans中,並直接建立一個NetBeans專案來使用。


在NetBeans中複製Git專案 / Clone Git Project in NetBeans

以下介紹如何在NetBeans中複製Git專案。大致上操作步驟分成兩個部分:從Git複製專案檔案、以及在NetBeans中建立NetBeans專案。

Git專案主要負責程式碼的版本控制,NetBeans專案通常還包括一些專案程式碼指定編碼、伺服器上傳連線等資訊,而這些資訊並不建議放到Git專案中公開,兩者要分開處理。

Part 1. 複製Git專案 / Clone Git Project

2014-08-18_152403

在NetBeans中,請進入Team > Git > Clone…

2014-08-18_152450 - Copy

接著會開啟Clone Repository對話視窗。在這裡我們先進行Remote Repository設定。要輸入的欄位包括:

  • Repository URL: 請輸入剛剛的HTTPS複製網址「https://github.com/pulipulichen/php-file-host.git
  • UserPassword登入GitHub的身份認證。
  • Clone into:存放專案的目錄。NetBeans會在這個目錄底下再建立一個Git專案的目錄。舉例來說,我的XAMPP網頁擺在「D:\xampp\htdocs」,那麼Git專案就會出現在「D:\xampp\htdocs\php-file-host」底下。

2014-08-18_152557 - Copy

接下來選擇要複製的Remote Branches。一般是選擇該專案的代表master分支即可。直接按「Next >」按鈕吧。

2014-08-18_152609 - Copy

然後最後是確定目標資料夾 Destination Directory。這邊會帶入剛剛的設定,只要按「Finish」按鈕完成即可。

2014-08-18_152634 - Copy

複製完成之後,NetBeans會問你是否要建立NetBeans專案。打勾「Open Sources in Favorites」,然後按下「Create Project…」,接下來就進入新增專案的步驟。

Part 2. 新增NetBeans專案 / Create NetBeans Project

2014-08-18_152648

NetBeans會顯示「Net Project」對話視窗。在這邊我們要選擇與該專案相對應的程式語言類型。PHP File Host是一個PHP程式語言的專案,而且已經有Git專案過來的檔案,因此我在PHP目錄底下選擇專案類型「PHP Application with Existing Sources」。

然後按下「Next >」按鈕進入下一步。

2014-08-18_152739

在Name and Location這邊要設定的東西蠻多的。

首先我們要指定Sources Folder,請設定剛剛跟Git專案複製的目標資料夾路徑「D:\xampp\htdocs\php-file-host」。接著NetBeans會自動帶入下面的資訊。

接著我們要確認Default Encoding為UTF-8。如果沒有設定NetBeans專案的話,NetBeans會用非UTF-8的編碼來開啟檔案,造成檔案看起來會是亂碼。

然後請打勾「Put NetBeans metadata into a separate directory」,然後指定另一個地方存放NetBeans專案的資訊,不要跟Git專案擺在同一個地方。這是為了避免NetBeans專案資訊被納入Git版本控制之中,這個動作很重要。

2014-08-18_152810

最後就是運作環境設定 Run Configuration。由於我的專案會先在本機端的XAMPP底下運作測試,所以設定Run As: Local Web Site即可。如果你實際運作的伺服器在遠端,那也可以在此步驟設定遠端伺服器的連線方式。不過遠端伺服器設定比較複雜,在此就先不說明。

其他沒有特別要設定的地方,按下「Finish」完成。

2014-08-18_152833 - Copy

NetBeans會顯示剛剛設定的php-file-host專案,複製Git專案的工作就大功告成囉。

其他的Git操作 / How to use Git in NetBeans

當然,除了clone (複製)之外,NetBeans也支援很多Git的操作動作。以下舉例來說常用的指令與其位置:

  • commit: Team > commit ,我還特地設了熱鍵Alt+C,讓自己更方便就能commit
    2014-08-18_172652
  • Pull & Push: Team > Remote > Pull or Push
    2014-08-18_172709
  • 比較檔案差異 Diff: Team > Diff > Diff To…  (可以取代「Git取代分支檔案的方法」一文中以TortoiseGIT的操作動作)
    2014-08-18_172722

Git詳細的說明請參考「Using Git Support in NetBeans IDE」一文。我也還在持續摸索中,有任何心得歡迎在下面討論喔。


結語:IDE的重要性 / Conclusion: The Importance of IDE

以前常常會聽到有人會以「只要筆記本(notepad)就可以寫網頁」來當作自豪的特技,我覺得這只能說是程式設計師的基本,只能拿來跟外行人炫耀。但是如果要往更進階前進,你就必須學習使用IDE。

就目前為止,我主要使用的IDE有Aptana Studio 2 (第三版是是完全不同的東西)跟NetBeans,在我工作中,這些IDE有幾個我非常仰賴的重要工具:

  • 全文搜尋(full text search):當我要找某個函式要如何使用時,全文搜尋是很重要的。特別是像NetBeans能夠解讀程式碼,可以在你使用函式時顯示對應的註解說明,這個功能在閱讀程式(trace code)是非常好用的輔助工具。
  • 正規表達式(regular expression)的搜尋與取代:當要取代換行、找尋某個函式的使用處的時候,正規表達式非常重要。
  • 自動完成(auto-completion):有了語法自動完成,你就不用煩惱每次都為函式或變數少打一個字而帶來的bug。
  • 程式導航(navigation or outline):像是地圖一樣地顯示程式的組成,這在檢視大程式的時候十分有用。
  • Git版本控制功能:一個不做版本控制的專案不僅無法持久發展,也很難跟別人協同開發。

因此我會建議每一位致力於寫程式的朋友,請務必要熟悉一些好用的IDE。如果你跟我一樣是寫PHP與JavaScript,那我建議你就從NetBeans開始吧。

(more...)

讓ownCloud站在NAS的肩膀上!ownCloud使用者資料整合NFS的規劃 / How to Integrate NAS into ownCloud with NFS

讓ownCloud站在NAS的肩膀上!ownCloud使用者資料整合NFS的規劃 / How to Integrate NAS into ownCloud with NFS

2014-08-17_203555

本文描述如何在以OpenVZ虛擬機器架設的ownCloud 7.0.1中掛載NFS網路硬碟。文末也提供可掛載NFS的ownCloud 7.0.1版OpenVZ虛擬應用範本供大家下載安裝。

This article show you how to mount NFS in OpenVZ container's ownCloud 7.0.1. I also provided an OpenVZ virtual appliance template with ownCloud version 7.0.1 in this article.


為什麼要整合NAS? / Why ownCloud have to Integrate NAS?

我的ownCloud是以OpenVZ虛擬應用範本架設在Proxmox VE上。為了備份的方便,我傾向於每一臺虛擬機器都只保存應用程式本身,而使用者的資料──特別是像ownCloud這種會讓使用者上傳大量資料的情境,更應該要把虛擬機器跟使用者的資料分開備份。

在此考量下,Proxmox VE給每個虛擬機器的空間並不多,通常我只設8GB。而其他的資料則是透過NFS (Network File System)連線保存在NAS (Network Attached Storage)上,讓NAS的硬碟空間能夠有效利用。

ownCloud掛載NFS教學 / How to Mount NFS in ownCloud

ownCloud在第7版之後,因為調整了目錄權限檢查,所以讓NFS掛載變得很簡單。以下我以ownCloud 7.0.1的OpenVZ虛擬應用範本FreeNAS提供的NFS為例,描述如何在ownCloud中掛載NFS網路硬碟。

本範例中,ownCloud虛擬機器資訊如下:

FreeNAS的資訊如下:

  • IP是192.168.11.75
  • 開放了NFS功能,細節請看「開啟FreeNAS的NFS功能」,開放目錄為
    /mnt/dlll-cias-nas/owncloud
  • 服務連線允許ownCloud虛擬機器連線
  • 與ownCloud虛擬機器置於同一個網路中
Step 1. 啟用OpenVZ虛擬機器的NFS設定 / Enable Container’s NFS Configuration

2014-08-17_161650

為了讓ownCloud能夠掛載NFS,我們要先修改虛擬機器本身的設定。詳細做法請見「OpenVZ掛載NFS的虛擬機器設定」一文,以下摘錄重點。

  1. 把虛擬機器關機
  2. 進入節點的Shell
  3. 輸入指令: (紅字部分為VMID,請自行換成你虛擬機器的VMID)
    # vzctl set 103 –features "nfs:on " --save; vzctl start 103

等待ownCloud虛擬機器開完機之後,再來到ownCloud虛擬機器裡面操作吧。

Step 2. 安裝NFS套件 / Install NFS Tools

2014-08-17_142802

以下動作都是在ownCloud本機上的操作。

Trunkey Linux的ownCloud預設並沒有安裝連線NFS所需要的工具,我們必須先用apt-get安裝nfs-common:

# apt-get install -y nfs-common

然後切換到ownCloud的目錄:

# cd /var/www/owncloud

以下操作都在ownCloud目錄底下進行。

Step 3. 存放使用者資料到NAS / Copy Users’ Data To NAS

※ 如果不需要備份使用者資料,這一步驟可以省略。

建立暫存用的資料夾:

# mkdir data.tmp

掛載NFS目錄到暫存資料夾:

# mount -t nfs 192.168.11.75:/mnt/dlll-cias-nas/owncloud /var/www/owncloud/data.tmp

複製data資料到暫存資料夾,表示將資料存到NAS中:

# cp data/* data.tmp

取消暫存資料夾的掛載,然後移除暫存資料夾:

# umount data.tmp; rm -rf data.tmp

接下來就要正式掛載到data資料夾上了。

Step 4. 掛載NFS目錄 / Mount NFS

用mount指令掛載NFS目錄到data上:

# mount -t nfs 192.168.11.75:/mnt/dlll-cias-nas/owncloud /var/www/owncloud/data

產生必要的檔案,並且設定權限:

# touch data/.ocdata

# chown -R www-data:www-data data

特別是產生.ocdata這個檔案。如果缺乏這個動作,ownCloud網頁就會顯示錯誤訊息:

Data directory (/var/www/owncloud/data) is invalid

Please check that the data directory contains a file ".ocdata" in its root.

2014-08-17_163040

然後開啟ownCloud網頁界面。如果沒有備份使用者資料的話,原本使用者上傳的資料就會消失,但ownCloud還是可以正常運作。

Step 5. 設定開機自動掛載NFS / Mount NFS When System Start

確認NFS可以正常掛載之後,接下來就是設定開機時自動掛載。

我們以nano編輯器修改開機設定檔案:/etc/rc.local

# nano /etc/rc.local

2014-08-17_163127 - Copy

在exit 0之前加入剛剛的mount指令:

mount -t nfs 192.168.11.75:/mnt/dlll-cias-nas/owncloud /var/www/owncloud/data

存檔離開。

接著我們重新開機來測試是否有順利掛載:

# reboot

重新開機之後,以df指令檢查NFS是否順利掛載:

# df

2014-08-17_220301

你可以看到/var/www/owncloud/data已經掛載了NFS網路硬碟。

ownCloud 6備註:需要修改權限檢查功能 / ownCloud 6 Memo: How to Disable Permission Check

如果你是ownCloud第6版,那還要額外修改檢查目錄權限的程式。

由於掛載NFS時,掛載目錄的權限會直接開啟為777。在ownCloud 6當中會限制使用者資料夾data的權限只能為770,這與NFS掛載的限制相衝突。

解決這個衝突的做法是修改ownCloud的使用者目錄權限檢查程式util.php,程式碼的位置是:

/var/www/owncloud/lib/private/util.php

2014-08-17_144229

找到「public static function checkDataDirectoryPermissions($dataDirectory)」這一行,然後在「$errors = array();」之後加入「return $errors;」

這樣就能夠略過權限檢查,順利掛載NFS了。

在ownCloud 7中沒有這個問題,可以直接掛載。


ownCloud 7.0.1虛擬應用範本下載 / ownCloud 7.0.1 Virtual Appliance Download

為了方便大家使用,我把可以掛載NFS的ownCloud 7.0.1提供大家下載。這是與「ownCloud終於可以上傳中文檔案!升級ownCloud版本到7.01」一文相同的OpenVZ虛擬應用範本,請使用Proxmox VE來安裝,細節可以參考「Proxmox VE上傳虛擬應用範本」一文。

以下是管理資訊,預設密碼都是password:

  • ownCloud的管理者為 admin ,密碼為 password 。
  • Linux系統管理者為 root ,密碼為 password。
  • MySQL帳號為 owncloud ,密碼為 password。

如果要掛載NFS的話,請修改 /etc/rc.local :

2014-08-17_221700

請把mount指令前的「#」移除掉,然後設定你NFS伺服器的IP位置與NFS目錄即可。

大家使用時有什麼問題,歡迎在下面留言處討論。

(more...)

ownCloud終於可以上傳中文檔案!升級ownCloud版本到7.01 / How To Upgrade ownCloud To 7.0.1

ownCloud終於可以上傳中文檔案!升級ownCloud版本到7.01 / How To Upgrade ownCloud To 7.0.1

2014-08-14_205744

為了解決ownCloud 4不能上傳中文檔名的問題,本文教你如何把ownCloud升級成7.0.1版。文末也提供ownCloud 7.0.1版的OpenVZ虛擬應用範本供大家下載安裝,節省升級的功夫。

In ownCloud version 4, upload file with Chinese file name will cause file crash. This article show you how to upgrade ownCloud to version 7.0.1 to solve this problem. I also provided an OpenVZ virtual appliance template with ownCloud version 7.0.1 for you.


來自TurneyLinux的ownCloud 4 / ownCloud 4 From TurnkeyLinux

2014-08-14_190933

這次我架設的ownCloud是來自Turnkey Linux虛擬應用範本。作為一個雲端硬碟應用服務,ownCloud並不只是只有單純的PHP與MySQL組合而成的網站,它還需要許多檔案管理的套件。所以我不太建議大家從頭開始安裝ownCloud,而可以從Turnkey Linux下載ownCloud的虛擬應用範本來開始架設。

中文檔案名稱無法上傳 / Upload Chinese File Name Failed

Turnkey Linux上的ownCloud是2013年6月建置的4.5.7版本。但是這個版本在上傳功能上有點問題。當上傳檔案的檔案名稱以非英文、數字開頭時,例如中文的檔案名稱「測試文件.txt」,上傳會失敗。

2014-08-14_205744

上傳時,該檔案會一直維持這讀取中的圖示。

2014-08-14_205802

重新整理之後,該檔案的檔案名稱不見了,只剩下.txt。而且該檔案不能修改、刪除,變成一個幽靈檔案。

這個問題在ownCloud後來版本中有進行修正。因此我們需要把Turnkey Linux下載的ownCloud 4.5.7升級到最新的版本7.0.1。以下將說明升級的手續。


升級ownCloud / Upgrade ownCloud

2014-08-17_142802

以下操作都必須在ownCloud本機端以指令列的形式操作。登入帳號為root,以方便檔案修改權限。

Step 1. 取得ownCloud 7.0.1原始碼 / Get Source Code of ownCloud 7.0.1

預設登入時的目錄是在/root,我們以wget指令下載ownCloud 7.0.1的原始碼

# wget http://download.owncloud.org/community/owncloud-7.0.1.tar.bz2 -o /root/owncloud.tar.bz2

然後以tar解壓縮檔案:

# tar -xjf owncloud.tar.bz2

Step 2. 取代舊的ownCloud / Replace Old ownCloud

原本的ownCloud安裝路徑在 /var/www/owncloud。我們要把舊檔案換個路徑、把新檔案移動過去,然後再把設定檔複製到新檔案,並確認權限設定正確。

# cd /var/www/
# mv owncloud owncloud.old
# mv /root/owncloud /var/www
# mv owncloud.old
# cp -rf owncloud.old/config owncloud.old/data owncloud/
# chown -R www-data:www-data apps config data

檔案的部分就到此為止了。

Step 3. 從網頁進行資料庫升級 / Upgrade Datebase from Web Interface

2014-08-17_144542

接著打開ownCloud網頁,你會看到「ownCloud will be updated to version 7.0.1」的字樣。請按下「Start update」。

2014-08-17_144600

等候一段時間,升級完成之後,你會被自動帶到登入頁面。登入之後就可以看到新版的ownCloud囉。

2014-08-17_144643

當然,上傳中文檔案名稱也可以正常運作。這樣就可以放心使用ownCloud了。


ownCloud 7.0.1虛擬應用範本下載 / ownCloud 7.0.1 Virtual Appliance Download

為了方便大家使用,我把測試升級後的ownCloud 7.0.1提供大家下載。這是OpenVZ的虛擬應用範本,請使用Proxmox VE來安裝,細節可以參考「Proxmox VE上傳虛擬應用範本」一文。

以下是管理資訊,預設密碼都是password:

  • ownCloud的管理者為 admin ,密碼為 password 。
  • Linux系統管理者為 root ,密碼為 password。
  • MySQL帳號為 owncloud ,密碼為 password。

大家使用時有什麼問題,歡迎在下面留言處討論。

(more...)

mRemoteNG使用外部工具來進行SFTP連線 / Setup mRemoteNS’s Ext. App to Integrate SFTP

mRemoteNG使用外部工具來進行SFTP連線 / Setup mRemoteNS’s Ext. App to Integrate SFTP

2014-08-13_172107 - Copy

本文介紹mRemoteNG的外部工具使用,以FileZilla Portable來建立SFTP外部工具為例,並提供整合多個外部工具的mRemoteNG Portable下載

This article introduces the external tool (Ext. App) of mRemoteNG. I used FileZilla Portable as example to demonstrate how to create a SFTP Ext. App in mRemoteNG. Finally I shared my mRemoteNG portable with many Ext. App integrated.


網管人員的需求 / Tools of Server Management

作為機房管理人員,時常會使用各種網路連線方式控制伺服器。管理Windows伺服器,一般會使用遠端桌面連線;管理Linux伺服器,那就要用PieTTY來做SSH連線,或是用RealVNC來連到VNC遠端桌面;有網頁界面的伺服器,那就用瀏覽器開啟HTTPHTTPS網頁。

但是當伺服器一多,要使用的工具複雜起來,而伺服器的連線資訊也散落在各個工具中,使用起來不甚方便。這時候我們就需要一個整合性的管理工具。市面上有些是要收費的,像是Remote Desktop ManagerroyalTS (繼承mRemote之後的收費平臺);免費的則有Terminals,以及本文要講的mRemoteNG

mRemoteNG是什麼? / What’s mRemoteNG

2014-08-13_172621

mRemoteNGmRemote的分支版本,它是一個開放原始碼、具頁籤整合、多通訊協定、遠端連線的整合性管理工具。由於mRemote在2012年之後就停止開發了,所以接下來是由mRemoteNG接手繼續發展。

mRemoteNG支援以下幾種通訊協定:

儘管mRemoteNG支援了很多通訊協定,但是卻沒有支援最重要也是最好用的遠端檔案管理通訊協定:FTP與SFTP。沒關係,mRemoteNG另一個強大的地方,在於他提供了可以彈性設定的外部工具(Ext. App)。我們可以自定義一些常用的應用程式,例如能連線到FTP或SFTP的FileZilla,將之整合成為mRemoteNG的一部分。

外部工具的運作原理 / What is Ext. App?

2014-08-14_005738

mRemoteNG的外部工具是透過Windows的指令列命令來開啟外部工具,然後再把連線位址(Hostname)、連接埠(Port)、使用者名稱(Username)與密碼(Password)等連線設定以參數傳入該工具。

要在mRemoteNG使用外部工具的話,我們需要做幾件事情:

  1. 確定外部工具的所在路徑。我建議將外部工具放入mRemoteNG資料夾中。
  2. 在mRemoteNG中設定外部工具。
  3. 新增連線時,使用外部工具。

以下我以FileZilla來建立SFTP連線使用外部工具為例,介紹如何在mRemoteNG中使用外部工具。

Step 1. 設置外部工具:FileZilla Portable / Setup Ext. App: FileZilla Portable

2014-08-14_100307

要使用外部工具之前,要取得外部工具的程式或腳本。比起原始的FileZilla Client,我一向喜歡使用FileZilla Portable

2014-08-14_011523

下載完之後,請在mRemoteNG底下開啟一個新目錄,叫做「External Applications」,然後將FileZilla Portable安裝該目錄。其中[mRemoteNG]是mRemoteNG的安裝目錄:

[mRemoteNG]\External Applications\FileZillaPortable

Step 2. 設定外部工具 / Configure Ext. App

接下來我們要在mRemoteNG裡面設定外部工具。

2014-08-14_011118

先打開mRemoteNG,開啟Tools裡面的External Tools。

2014-08-14_011226

接著會顯示External Tools的頁籤。如果要新增外部工具,請在這頁內任意地方按滑鼠右鍵,顯示出「New External Tool」。這個設計很容易讓大家迷路,很少人想到是藏在右鍵選單裡面。

2014-08-14_011049

然後會多一列可供設定的外部工具,請在下方外部工具屬性(External Tool Properties)輸入以下設定:

  • Display Name: SFTP
  • Filename: External Applications\FileZillaPortable\App\filezilla\filezilla.exe
  • Arguments: sftp://%Username%:%Password%@%Hostname%:%Port%%Userfield%
  • Options: 勾選Try to integrate

以下說明各欄位的內容:

檔案名稱 / Filename

檔案名稱(Filename)是指外部工具實際上開啟的程式。在此使用相對路徑,去開啟FileZilla Portable中實際上真的FileZilla Client程式的所在位置。

參數 / Arguments

參數(Arguments)是指要輸入外部工具的連線位址、連接埠、使用者與密碼等資訊。以SFTP來說,我們會須要SFTP伺服器主機的連線位址、連接埠(或是預設22連接埠)、使用者(預設可能是root)與密碼。而在mRemoteNG中,這些參數是以前後%的變數替代。目前我的知道可以使用的參數如下:

  • 連線位址:%Hostname%
  • 連接埠:%Port%
  • 使用者:%Username%
  • 密碼:%Password%
  • MAC位址(MAC Address):%Macaddress%
  • 使用者自訂欄位(User Field):%Userfield%

這些參數會在命令列中輸入到FileZilla,讓FileZilla啟動時自動進行參數的連線。那我們怎麼知道FileZilla可以輸入這些參數呢?剛好FileZilla就有提供命令列的操作方式。以SFTP連線方式來說,我們可以直接在後面加入「 sftp://%Username%:%Password%@%Hostname%:%Port%%Userfield% 」設定,就能夠連到SFTP。同樣的,要連到FTP的話,就是把開頭的通訊協定改成ftp即可。

選項 / Options

選項的部分有兩個。等待離開(Wait for exit)打勾時,外部工具結束會連帶的讓mRemoteNG的頁籤也會跟著關閉,但是在嘗試整合(Try to integrate)打勾時預設啟動;嘗試整合(Try to integrate)是將外部工具塞到mRemoteNG當中,成為頁籤的一部分,建議打勾。

好了,那我們就設定好一個外部工具,叫做SFTP了。接下來就是在新增連線時使用這些外部工具囉。

Step 3. 使用外部工具 / Ext. App Usage

mRemoteNG要連線到任何伺服器主機,都要先新增連線。

2014-08-14_102709

在連線(Connections)上按右鍵,選擇「New Connection」。

2014-08-14_102854

連線設定中,要在通訊協定(Protocol)的欄位選擇「外部工具」(Ext. App)。附帶一提,mRemoteNG的中文(繁體) (中華民國)翻譯居然翻成「結束. App」,所以我就換回英文界面了。

2014-08-14_103247

接下來大部分的欄位都會隱藏,只留下外部工具(External Tool)跟連接埠。External Tool欄位選擇剛剛新增的外部工具SFTP

2014-08-14_103453

接著我們填好其他的伺服器資訊。主要包括:

  • Name:連線的名稱
  • Hostname/IP:連線位址
  • Userame:使用者名稱
  • Password:密碼
  • Port:連接埠,SFTP預設是22
  • User Field:在此定義為遠端主機的預設目錄

2014-08-14_114221

然後就能夠在mRemoteNG裡面開啟FileZilla了!這是不是令人感到開心呢?


外部工具的其他應用 / Other Ext. App

看到這邊,你可以知道只要可以使用命令列,你就能夠把任何外部工具整合到mRemoteNG當中。

LazyWinAdmin在「mRemoteNG - External Applications」一文中整理了mRemoteNG可以使用的眾多外部工具。舉例來說:

  • nmap網路掃描、主機分析工具:Zenmap GUI
  • 瀏覽器:Firefox
  • Windows內建工具ping、tracerout

我還想到可以用瀏覽器開啟外部網路的檢查工具,例如APM Cloud Monitor (以前是Just Ping),它可以用其他的伺服器確認網站狀況PingDNS分析Traceroute。特別是當你區域網路可以連線之後,別忘了用APM Cloud Monitor來確認是否別人也可以連線。

2014-08-14_110235

而我把這些工具整合到mRemoteNG Portable版本中,順便整合進PieTTY,在此提供大家下載:

如果你有其他好用的外部工具,也歡迎在下面留言處跟大家討論、分享喔。(例如TeamViewer如何?


結語:使用mRemoteNG的心得 / Conclusion: Usage Experience of mRemoteNG

原本一開始覺得mRemoteNG介面不好用,而且連線功能也沒有像是Remote Desktop Manager有著超級多種的連線工具可供使用,讓人覺得mRemoteNG真的是湊合著用的感覺。

可是我在前年寫完「mRemoteNG使用PieTTY與安裝XULrunner」之後,我因為意外發現LazyWinAdmin的教學,很快就搞懂了怎麼使用外部工具。當時甚至妄想使用ownCloud同步工具,同步mRemoteNG Portable,讓每一臺電腦都可以輕鬆地管理大量的伺服器。可惜Portable還是會有路徑上的問題,只好因此作罷。

直到現在,mRemoteNG已經是我最重要的網管工具。大量伺服器的連線資訊、好用的資料夾分類、靈活的外部工具,這些特色構成了mRemoteNG的無限可能性。真心推薦使用Windows的網管都來使用mRemoteNG!

(more...)

Zotero引用文獻樣式:中文、英文APA 5th資料來源註 / Zotero Citation Style: Chinese & English APA 5th Tables & Figures from Another Source

Zotero引用文獻樣式:中文、英文APA 5th資料來源註 / Zotero Citation Style: Chinese & English APA 5th Tables & Figures from Another Source

2014-08-12_215600

在論文中引用的圖表如果是來自於其他的論文,那麼應於圖表之後註明資料來源。資料來源註與文中引用或文後參考文獻格式不同,為此我特別設計了Zotero的APA資料來源引用文獻樣式,以下介紹如何使用。

In research paper, if you want to cite table or figure from another paper, you have to note the source at foot of the table or the figure. I developed a citation style of Zotero to create the source note. This article describes how to use it.


資料來源註 / Note From Another Source

2014-08-12_213303

根據張保隆與謝寶煖於2006年出版的「學術論文寫作:APA規範」,APA第五版規範了如何在論文中引用圖表的方法。摘錄文中敘述如下:

資料來源註英文以"Note. From…",中文以「資料來源:……」開始。但是書目資訊的呈現方式有別於參考文獻之寫法,將書名或是文章篇名提到最前面,各資訊項目之間均以逗號分割。

因此圖表的引用方式會與一般文後的參考文獻不同。舉例來說,原本英文格式的參考文獻為:

Chen, C.-M., Chen, Y.-T., Hong, C.-M., Liao, C.-W., & Huang, C.-M. (2012). Developing a Taiwan library history digital library with reader knowledge archiving and sharing mechanisms based on the DSpace platform. The Electronic Library, 30(3), 426-442. doi:10.1108/0264047121124168

在圖表引用時則是:

Note. From "Developing a Taiwan library history digital library with reader knowledge archiving and sharing mechanisms based on the DSpace platform," by Chen, C.-M., Chen, Y.-T., Hong, C.-M., Liao, C.-W., & Huang, C.-M., 2012, The Electronic Library, 30(3), 426-442, doi:10.1108/02640471211241681.

由於資料來源註的格式有所不同,所以我額外又寫了APA資料來源註引用文獻樣式,供大家下載使用。


下載與安裝 / Download and Install

檔案下載連結如下:

安裝方式請參考「Zotero引用文獻樣式:中文、英文APA合併版本」。為了區別中文與英文格式的不同,在輸出APA資料來源註之前,書目請確實填寫「語言」欄位。中文就填寫「zh-tw」或「zh-cn」,英文則填寫「en-us」或省略。

使用 / Usage

由於同一份文件中Zotero無法同時使用兩種引用文獻樣式,因此APA資料來源註必須以複製貼上的方式取得。還好APA資料來源註都固定在圖表的下面,所以管理上比較不會有文中引用與參考文獻需要前後對照的困擾。

將書目匯出到剪貼簿的做法如下:

  1. 選擇書目後按右鍵,選擇「從選取的項目來建出參考書目」
    2014-08-12_221301
  2. 在建立參考書目對話視窗中,選擇APA資料來源註的引用文獻樣式「Chinese APA 5th edition note from」,選擇輸出格式為「Bibliography」,輸出模式為「複製到剪貼簿」,然後按下OK。
    2014-08-12_221658
  3. 在書目上按右鍵,「加入筆記」。
    2014-08-12_221806
  4. 然後再把資料來源註貼到筆記中。
    2014-08-12_221820
    這樣未來要引用時,就可以從筆記直接複製、貼上到論文中了。
  5. 複製到論文的引用圖片後面使用。
    2014-08-12_222024

結語:APA第六版資料來源註格式不同 / Conclusion: APA 6th Updated the Format of Note From Another Source

根據How to Caption Tables & Figures from Another Source這篇的介紹,APA 6th的資料來源註改成了:

Note. Descriptive note. Adapted [or Reprinted] from “Title of Article,” by F. M. Author and C. D. Author, year, Title of Journal, volume, p. xx. Copyright year by the Name of Copyright Holder. Adapted with permission.

例如:

Note. Values are percentages. Reprinted from “Hope and Social Support as Resilience Factors Against Psychological Distress of Mothers Who Care for Children With Chronic Physical Conditions,” by T. V. Horton and J. L. Wallander, 2001, Rehabilitation Psychology, 46, p. 387. Copyright 2001 by the Educational Publishing Foundation. Adapted with permission.

其中最重要的就是多了一個欄位:「Descriptive note」。而目前Zotero在引用時並沒有考量到資料來源註,所以這部分比較難以實作。

儘管如此,我目前的APA資料來源註格式仍是以張保隆與謝寶煖於2006年出版的「學術論文寫作:APA規範」為準,要遵守那個版本就看你個人囉。

(more...)