星期一, 9月 16, 2013

2013IT鐵人賽-01-程式學習環境準備-EasyCloud

2013IT鐵人賽-01-程式學習環境準備-EasyCloud





這次的 2013 IT鐵人賽 http://ithelp.ithome.com.tw/ironman6/earlybird 報名了開發技術組
題目: “程式學習雜記
內容: 第一次挑戰鐵人賽, 希望可以紀錄30天學習程式的歷程. 預計學習 Java 以及 Android, 另外有可能把Ruby 也紀錄進來. 額外也想要紀錄自己開始學習 git 的相關過程. 以及使用 Raspberry PiScratch學習過程.


既然是要進行程式的學習, 首先就會想到程式學習環境的準備, 以及如何可以在不同的地方都可以隨時實習與學習.


程式學習的環境上面, 我選擇了國家高速網路中心的
EasyCloud 雲端簡單龍服務 ( http://easycloud.nchc.org.tw/ )
選擇原因為
  • 目前可以免費申請服務, 可以提出自己的需求申請VM.
  • 建立Linux 虛擬機器只要 1-2 分鐘. 不用擔心環境還原的問題.
  • 目前有提供 openSUSE / Ubuntu / CentOS 等常用的作業系統使用.
  • 以瀏覽器就可以使用 VNC 存取, 並支援 ssh 連線.


所以之後 Java 以及 Ruby 還有 git 的練習環境, 都會使用這個機制來進行, 至於Android 的開發環境, 由於要使用到虛擬裝置AVD, 會在本機來執行, 或是搭配手機來運作.   Raspberry PiScratch學習過程目前是考慮會放在一起.


所以今天這篇文章就是要進行 EasyCloud 雲端簡單龍的申請教學.


首先先連線到 EasyCloud 的首頁 http://easycloud.nchc.org.tw/




點選 用戶註冊




在看完詳細的條款內容之後, 點選 “同意” → 點選 Continue




接下來閱讀完個人資料蒐集同意書條款內容後, 點選 “同意” → 點選 Continue




在用戶申請的部份, 填入申請的電子郵件E-mail 以及申請人的姓名




並填入性別, 服務單位, 部門, 以及職稱. (如果是個人申請就填入個人即可)




接下來填入聯絡的手機以及地址, 這個部份比較重要的是EasyCloud使用期限, 因為要連續30天不中斷發文, 所以這個部份點選Other其他這個選項.



接下來在申請用途上面可以敘述為何要申請EasyCloud 雲端簡單龍的服務, 可以填入 2013IT鐵人賽參賽環境或是個人研究開發用途等申請的理由, 主辦單位會視申請的理由核發不同的虛擬主機數量. 並點選 Submit 送出申請.




接下來就是等待幾個工作天, 等待國網中心的E-mail通知, 即可以當初申請的電子郵件帳號以及國網中心設定的預設密碼. 登入到 http://capri.nchc.org.tw/ 雲端簡單龍 服務.



至於 如何登入以及如何建立虛擬機器則可以參考官方的教學文件




這樣開發的程式學習環境就先有個基底了 :-)


Fun with Day 1 ~


星期六, 8月 31, 2013

20130831學習 git 小記

20130831學習 git 小記

(也許有人會問, 為何要拍這張照片? 單純的是晚上寫blog 想拍照, 讓自己開心 :p )

慢慢覺得要學習 git 來進行一些相關運用, 目前很多的專案都是採取git 來進行.

google 搜尋到的官方網站
http://git-scm.com/

書籍的選用



之前有做一些學習, 也有參考google 上面的教學心得, 但是如果不是實際參與專案, 或是去上課(話說這方面會開課真的比較少)我想是不會真的撥出時間來學習的.

所以之後這方面的文章要紀錄自己如何學習 git 來讓自己以後複習方便 :-)

線上學習


想法上是搭配書籍練習, 效果應該不錯.


enjoy learning ~



20130829 Android 先修旁聽小記


20130829

張庭禎老師

上課檔案
  • Android 專案程式基本組成(2 Day).pdf
  • jdk-7u21-windows-x64.exe
    • 確認機器內有 java 環境, 如果沒有就裝 jdk
  • adt-bundle-windows-x86_64-20130717.zip

執行解開資料夾內的 adt-bundle-windows-x86_64-20130717\eclipse.exe

* 新增模擬裝置
在 eclipse 內
點選 Window → Android Virtual Device Manager



點選 New
輸入相關資訊 (AVD Name / 選取 Device / 輸入SD Card 大小)
點選 OK





選取剛剛建立的裝置
點選 Start → 點選 Lanuch


Notes:
  • package 在 java 以及 Android 代表的不同
    • java: folder
    • Android: 程式安裝進去的名稱(主索引)
  • uses-sdk: 使用的 Android 版本
    • 18: 4.3
    • 17: 4.2
    • 15: 4.0.3
    • 8:  2.2

* 建立 一個新的專案
File → New → Android Application Project


並輸入相關資訊
開啟專案資料夾下 src/com.example.app20130829/MainActivity.java




刪除以下區段
@Override
   public boolean onCreateOptionsMenu(Menu menu) {
       // Inflate the menu; this adds items to the action bar if it is present.
       getMenuInflater().inflate(R.menu.main, menu);
       return true;
   }


觀察 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.app20130829"
   android:versionCode="1"
   android:versionName="1.0" >

   <uses-sdk
       android:minSdkVersion="8"
       android:targetSdkVersion="17" />

   <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
       <activity
           android:name="com.example.app20130829.MainActivity"
           android:label="@string/app_name" >
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>

</manifest>

有關於 @string/app_name
可以觀察 res/values/strings.xml


Resource Files
  • 檔案名稱必須使用英文小寫字, 不然會產生錯誤
  • drawalbe-hdpi 高解析圖片
  • drawalbe-ldpi 低解析圖片
  • drawalbe-mdpi 中解析圖片



嘗試執行程式
在專案上面按滑鼠右鍵  →  RunAs → Run Configurations
輸入名稱, 選取專案



Target 標籤點選 Always prompt to pick device


點選 Apply →  點選 Run
選取裝置 →  點選 OKLab: 修改App 的圖示

可以修改 AndroidManifest.xml 內的設定
在 Application 標籤內修改 Icon 的相關設定(可以點選 Browse, 然後 Create New Icon)


介紹三種程式的撰寫方式


-- Class End --

星期五, 8月 09, 2013

GUADEC 2013 小記 - 遇見 Andrea Veri


今年很開心可以參加 GUADEC 2013, open source 以及 freeware  的小圈圈是很小很美妙的(笑).

在還沒有參加GUADEC 之前, 我並不認識 Andrea Veri, 倒是常常在 mail list 上面看到他.  第一次看到他名字的時候是因為 nagios 的 jabber (google talk)整合
(http://www.dragonsreach.it/2012/02/18/nagios-xmpp-notifications-for-gtalk/), 他有一篇 blog 有提到這方面的實作. 我們跟自由軟體鑄造廠 OSSF 有很多工作坊的合作, 其中有部分是結合 openSUSE 以及 nagios 的實作.

實做筆記可以參考這篇 blog 其實也有寫了英文版的實作筆記

但是真的非常開心遇到Andrea Veri本人, 還讓他幫我很多的問題

能夠參加GUADEC 真是太好了

:-)



星期日, 8月 04, 2013

GNOME.Asia 報告於 GNOME基金會年度會議 AGM

這次很開心可以參加 GUADEC 2013
看這個照片應該是很開心吧(雖然讓我聯想到鬼太郎裡面的妖怪)


但是覺得很興奮, 因為可以代表 GNOME.Asia 在年度會議中報告 5分鐘

下面是我的簡報

還有影片檔


再次謝謝來參與的所有人
也謝謝GNOME 還有所有GNOME.Asia團隊還有韓國的團隊

:-)


星期六, 7月 13, 2013

第四屆全球華人探究學習創新應用大會


第四屆全球華人探究學習創新應用大會


 


這次很榮幸團隊可以與佛光大學許惠美老師共同投稿
第四屆華人探究學習創新應用大會論文發表

此次主要是針對Ezilla 以及探究學習環境建置方案進行探討
在會中也認識了許多在教育現場的先進, 包含北京, 香港以及不同地區研究探究學習的前輩, 另外也針對目前自由軟體教育軟體以及數位平台進行交流.

今年大家很多的焦點都集中在雲端, 資訊融入以及Project Base Learning 的結合, 在會場也得到很多的回饋, 大家也對 Ezilla 以及 ezgo 這樣的結合充滿了高度的興趣.


非常感謝國立台南大學舉辦此研討會, 讓我們有機會認識很多先進, 並向他們請益, 也希望有更多的機會可以參與這樣的研討會來與其他教育現場的老師們交流.



也期望之後Ezilla 能為探究學習以及資訊融入教學貢獻更多的心力.

<(_ _)>


星期六, 7月 06, 2013

20130531 雲端 SUSE Linux 虛擬化應用實機訓練課程 筆記

20130531 雲端 SUSE Linux 虛擬化應用實機訓練課程 筆記

講師 Leo

上課架構
  • node 1  -- Xen 虛擬化
  • node 2  -- Xen 虛擬化
  • iSCSI Server -- 提供 share storage 掛載



Notes:
  • vnc=1 vncpassword=xxxxxx    (在開機安裝的時候於 boot option 指定, 可以使用 VNC Viewer 連接方便多人共同視察)
  • 第一台Server 規劃為iSCSI Server, 3-4 人為一小組分別規劃不同的server, 以下為iSCSI Server 的硬碟規劃
    • /    80GB  sda2
    • swap   4GB    sda1
    • LVM  所有的空間(381GB)  sda3
  • Xming - 用來連接 Linux 的X window 到 windows (http://www.straightrunning.com/XmingNotes/)
  • JuiceSSH - Android 上面連接 SSH 的 App (因為自己當天沒有帶電腦)
早上的進度為安裝 iSCSI Server, 介紹基礎概念

=====================================================================

下午進行 node 1 以及 node 2 的建置
  • 安裝的部分依照預設值, 但是選擇 Xen Virtualation, 取消 “change HOSTNAME via DHCP”
  • 確認使用 xen 的核心開機 (#uname -r)
  • 使用 #yast2  bootloader 來指定 xen 核心開機, 並重新開機
  • 使用 #yast2  點選 software  →  Add-On  Products  →  Add → DVD (HA 那片光碟)
    • 安裝 ocfs2-tools-o2cb
    • 安裝 ocfs2console
  • #yast2  sw_single  安裝  yast2-iscsi-client
  • 使用 #yast2  iscsi-client 連接 iSCSI Server, 並以 fdisk  -l 確認有看到 iSCSI 的LUN
  • 建立filesystem(格式化) #mkfs.ocfs2  /dev/sdb  (iSCSI 的磁碟掛載, 這個指令 node 1 執行即可, node 2 不需要執行)
  • #mkdir   /share  (建立 iSCSI 的 mount point)
  • #rm  /etc/ocfs2/cluster.conf  (如果之後有發生錯誤, 刪除這個檔案然後執行 #ocfs2console)
  • #/etc/init.d/o2cd  enable
  • #vi   /etc/hosts
加入 node1 以及 node 2 的IP
192.168.150.11     node1
192.168.150.12     node2

  • #ocfs2console    (也可以自行 #vi  /etc/ocfs2/cluster.conf 來達成)
點選 Cluster  → Configure Nodes  → Add → Add Node 1 / Add Node2
Mount  → Assign   /share  for mount

  • #/etc/init.d/o2cb  configure
cluster to start on boot (Enter “none” to clear)[ ]:  ocfs2 (這邊輸入的名稱要與 /etc/ocfs2/cluster.conf 內的 cluster區段的 name = ocfs2 相同)

  • #/etc/init.d/ocfs2   status

PM 3:30 ~ 3:50  Ask Node 2 install package (Same process with node 1)
#mkdir   /share/iso
(Download  or get  SLES / Win iso from ftp site)

#rm   -rf   /var/lib/xen/images     (這個是預設的目錄)
#ln  -s   /share/images    /var/lib/xen/images  (Setting up xen for save VM in share storage)
#cd  /etc/xen
#rm  -rf  /etc/xen/vm   (這個是預設的目錄)
#ln  -s  /share/configs    /etc/xen/vm   (Setting up xen for save VM config  in share storage)

#mkdir  /share/images
#mkdir  /share/configs

#vi  /etc/xen/xend-config.sxp
修改相關設定讓 xen 允許migrate(relocation)
(xend-relocation-server  yes)
(xend-relocation-port  8002)
(xend-relocation-address  ‘ ‘)
(xend-relocation-hosts-allow  ‘ ‘)

#/etc/init.d/xen   restart

星期三, 7月 03, 2013

台南資訊輔導團研習





這次很榮幸可以受邀到台南資訊輔導團介紹 Ezilla 雲端簡單龍
首先由 OSSACC 執行秘書介紹 ezgo 還有介紹我們國網中心相關專案.

Max 也將目前火紅的 Raspberry Pi 以及相關資訊跟在場的老師們分享


也跟在場的老師介紹 Ezilla 簡易的建立介面以及目前可以使用的虛擬機器


並針對目前虛擬教室與實體教室配置的情境跟台南的老師們進行交流



台南的天氣還有老師們都很熱情
當天成功大學的楊中平老師也有到場, 也跟台南資訊輔導團的老師們交換了很多意見
也期望之後有機會將成功大學資工系的學生與台南這邊的在地資訊服務結合.

希望之後還有更多機會來拜訪老師們
^___^