2011/12/09

2012 英文版的中山企研所--IBMBA



IBMBA 以前限制一定要有2年工作經驗才可以報名,造成很多人必須要捨棄
好不容易找到的工作,且上課是屬於一般碩士生,不是在職專班的方式。
今年修改了規定讓一般生也可以參與報名,這樣根本就是中山企研所了.....
只是中山企研所沒有要求全英文授課,在教師的來源一樣只是環境整個
就變成國際化的環境,修課的學生也有一半或1/3 是外國人的狀況,那可就說是
英文版的中山企研所了....且還強迫一定要出國取得9學分回來,才可以畢業!!!!
這 C/P 值還真高呀!!

立即報名參加說明會 http://cm.nsysu.edu.tw/admissions
考試報名日期:預訂101年1月9日至1月16日(線上報名,寄件審查)






2011/12/02

2011/11/05

服務設計心得 10/29


很高興能夠聽到台中xx大學郭老師關於服務設計的演講,本來以為服務設計可能只是
把目前的現有的東西,透過設計工具完整的規劃好讓客戶及老闆都得到滿意,進而讓企業更有競爭能力。但聽完郭老師的演講,他從實務面告訴我們設計思維和服務設計的不同,首先一開始用一個簡單廁所廁所的衛生紙折好代表服務完成這個案例,告訴我們折好這件小動作,是代表了哪些的服務設計精神。

聽到這裡讓我精神開始集中起來,馬上 google 一下,原來郭老師曾經經歷過多家公司過,也創新設計了很多新的產品,並且獲得了如:2006德國iF產品設計獎、2008德國iF產品設計獎(輔導)、2008德國Reddot獎(輔導)、折疊車等數十件國內外專利。這些都是令人驚訝的成績,讓原本有機會到國外工作且有機會移民的他,本著希望喜歡台灣這塊土地的而繼續待在國內工作。

再演講過程中他提到,用最少量的設計,設計出最恰當設計,成為一個最不浪費的設計產品。並且再設計的過程中不要忘了設計的本質,讓人想到目前的經典產品設計如 Apple Mac Air 的設計,精簡、省電及環保,等從一開始出來就是這樣並讓一些PC廠商跟著抄襲設計成為UtralBook。

郭老師解釋了,再再產業現況上分成1,2,3級,台灣目前再第二級的製造業是主要的經營模式,及第三級的文化創意內容產業還在努力的打拼。目前政府鼓勵我們朝向製造業服務化推進,但是製造服務化要進入製造業有困難,問題出在?流程不是破壞式創新,改變較難,這也是目前整個產業遇到的很大頻頸。

另外還以捷安特最早期的小折摺疊車推出時壓力很大,但目前看來這是一個很有遠見的創新,剛好符合了台灣對於自行車從通勤車轉型到休閒用品的一個過程,也剛好符合現在的潮流需求。這是很難得的一個 2.5級產業的創新。另外還講了比雅久機車,的HOT沙灘車的設計,如果沒有這樣的設計,該公司應該已經收起來了。從這可了解,台灣目前的很多問題的瓶頸.....

當看到一個品牌,無法明確定義他的產業別的時候,那應該產業別模糊的方式,跨領域。
服務設計講的就是解決問題能力,目前跨領域多專業的設計人才,才是能夠做好這塊的好人才。服務設計有其方法可以依期方法執行,並決和共同創造的力量。服務設計不用找大師,
找出團隊思考解決問題用內容的概念集合多種常用到的服務,並且讓設計概念可以進入大量生產,設計最終還是要解決問題,這是我對於這個演講很精簡的心得分享。

2011/10/31

網站產品平台化??

看完這篇後,再看一下google的現況....
http://yehnan.blogspot.com/2011/10/steveys-google-platforms-rantby-steve.html


目前競爭已經由個別廠商的競爭,演化成為企業生態系統的競爭。
以Google公司為例,其實只有search屬於核心的利基產品,
其他創新的IT資訊系統都還在打拼中...
作業系統 chrome OS <--> windows OS(勝)
Google DOC <--> M$ Office(勝)
Google Search(勝) <--> BING
Google Android <--> Apple iOS(勝)
Google Book <--> Amazon(勝)
Google plus <--> facebook(勝)
(RBV很強:Google每件事都做對了,且做出完美的產品,有很棒的企業文化,優秀的員工,豐富的企業內部資源)
Google在目前的產品並非每各都賺錢,只是因為他有各很強大且賺錢的search eng.
在目前競爭者眾多的的市場中該如何持續成長?

2008年 facebook 開放 API ,讓 facebook 平台化

Microsoft一開始就是作平台的,作業系統平台 msdn.com 有各樣的API
微軟在作業系統平台上,擁有「網路外部性」大者恆大的趨勢,

amazon 經理人貝佐斯,在約2002年就對於對於Amazon網站做出了影響巨大的決定
從內到外的服務架構化平台化,提供服務介面(service interfaces),所以做出了AWS
這樣的服務,發展了開發了kindle這樣的裝置,讓整個amazon平台化

Google 目前雖然有開放API但跟其網站開放的相比而言那只是狗食,提出了將公司的產品從內到外轉變成為服務導向的平台的目標。第三方開發者,可以加入開發。mis人員可以導入APP上開發的現成軟體,也可以自行透過API創造出不同的專屬獨特性的產品。
https://developers.google.com/

所以我的結論是:全面平台化,讓 Google 成為一個平台

Steve Yegge google +
https://plus.google.com/110981030061712822816/posts/AaygmbzVeRq

2011/06/20

今天發現住家附近的隱藏版溼地公園--九番埤濕地公園

今天早上弟弟一整個活動力旺盛於是在吃完早餐後就帶著弟弟到附近逛逛,
家裡附近是高雄市人口成長最快的地方,建設也不斷地在新增.
想說很久沒有到附近的小路走走了就走走以前小時候會去晃得地方,
於是看到一個很奇怪的牌子出現在很奇怪的地方...


這個地方以前沒有鋪柏油一直沒有人住,只有一間蓋了 20 多年還沒蓋好得房子(左邊那個..)
周圍就農地還有水塘,但就過這2x年的污染都變成了臭水溝.

高速公路的涵洞被整理的乾乾淨淨的,以前來的時候只有碎石子的產業道路,及很髒很黑的涵洞。現在還取了個名字就做「時光隧道」...這是要說一條高速公路阻隔了城鄉的發展嗎?



高速公路對面還是一樣是農田,沒有太多的變化...但在遠處有個半弧形長得很像橋的地方??
這以前印象中沒這種東西呀!!!

他被取了個「九番埤溼地公園」的名字,這裡以前有七番埤及九番埤不過現在並沒有很明顯的分隔。以前是金義興木業的儲木池,不過他倒很久了.....自我有讀書開始就沒有印象....


現在沒有水,相對也很多景色都不美,生物可能是太陽太大沒幾隻....


還有很多地方還沒做的很完善...


弟弟被我拖出來曬太陽,其實他在打瞌睡了....


然後我教他罰站......感受一下地面的溫度....


對面就是連接海霞重劃區,but好像問題很多,所以.....
很奇怪的是我所在的這面是二期工程,對面沒有完工的是一期工程。很可惜如果能夠順利的連接起來,自行車到或是休閒的時候也就可以緊密的連結在一起(希望是啦!!)


回來後查了一下資料,這個案子是兩個溼地一起開發,下週再去看看檨仔林埤
看有沒有令人更驚豔的感覺,因為那段改成溼地公園和自行車道也很有看頭
(以前騎車經過時的想像)....

這張是高雄縣政府對於這個計畫的示意圖面,但是目前其他的地方沒有一個是能用的只有這個溼地公園讓我驚豔了一下,但從設計施工的細節又感覺這其中有很多的問題存在....
希望合併厚後的高雄市政府可以解決這些問題,讓愛河自行車道直接延伸到這裡,並且帶來更多不希望來的人潮....



相關資料:
九番埤以前的景象  http://library.taiwanschoolnet.org/cyberfair2009/cjhs/index.65.html
溼地保護聯盟的紀錄  http://www.wetland.org.tw/kh/ksnet/P4.html
這裡應該是我家前面的(以前的小溪)臭水溝 http://living.donghong.info/blog/?p=8146&cpage=1#comment-42423
高雄地區和曹公紃的故事,自己從小時候到現在生活都離不開曹公紃但是因為都市的開發,讓更小的孩子跟本部知道何謂曹公紃及在地的歷史。其實很多大人也不知道,只知道那裡有水紃.... http://library.taiwanschoolnet.org/cyberfair2005/the_river/r/r227/r227.htm
應該是這個的計劃書 http://country.kscg.gov.tw/Documents/DOCS-13/869-1.pdf

2011/06/01

OpenShift Express 雲端平台試用記錄 --RedHat 公司提供的OpenShift服務


簡介

雲端服務是目前常見對於網路服務應用運作模式的稱謂,大多數的使用者很難清楚的定義何謂雲端?在美國國家標準與技術研究院(NIST)對於雲端運算提出了一份明確的定義, 雲端運算是一種網路應用的運作模式,其需求能夠方便存取網路上所提供的電腦資源,其包含5種特徵、4種建置模式、3項服務,比較常見的有3種服務模式 (SaaS)軟體即服務、(PaaS)平台即服務、(IaaS)基礎設施即服務以及4種建置方式 Public cloud(公共雲), Private cloud(私有雲), Community cloud(社區雲), Hybrid cloud(混合雲),另外有五種特徵可以評估該服務是不是雲端服務的重要項目,分別是(1)On-demand self-service(需要時自助的取得)(2)Broad network access(可以透過標準網路取得)(3)Resource pooling(資源可以動態配置)(4)Rapid elasticity,(快速且有彈性)(5)Measured Service(用多少付多少)。
Red Hat(紅帽)提出新的平台即服務(PaaS)、及架構及服務(IaaS)的解決方案 OpenShift,讓使用者可以專心於軟體的應用而不是基礎設施的建設。OpenShift的基礎來源於Red Hat於2010年11月收購的科技公司Makara technology。目前OpenShift 提供三種不同的部屬應用程序,開發人員可以快速的透過此服務建立開發平台,而無須架設任何伺服器。OpenShift Express 提供用來開發 PHP、Ruby、Python 和 Java 等軟體的應用程式環境,另外有 OpenShift FLEX 和 OpenShit Power 等服務,OpenShift FLEX 預計供部署、監控、預備用和自動擴充與縮減的應用系統,而 OpenShift Power 是部署自己所建置的 Linux,目前 FLEX 和 Power 服務目前是還在開發中,只有 OpenShift FLEX 有開放免費使用,OpenShift Flex 提用試用,而 OpenShift Power 還在開發中。
本文目的則以OpenShift Express 的申請及如何使用,並且建立可以用的CMS系統的過程做說明。

申請OpenShift Express服務

* OpenShift Express 目前提供有 php-5.3.2, wsgi-3.2.1, rack-1.1.0 and jbossas-7.0.0 三種服務,底下已申請一個PHP 應用程式服務為範例。 * 目前系統提供 RHN account 登入,如果你已經有 RHN 帳號可以直接登入使用。沒有的使用者請先註冊 成為一個新的使用者。
* 註冊新使用者的網址:https://openshift.redhat.com/app/user/new/express

* 送出後系統會發出確認信件到你的信箱,確認後會引導到網站並要求你卻認同意此機器的使用規範。。


* 確認完成後你的信箱會收到一封信件,告訴你下一步該如何做? * 同這網址的內容 https://openshift.redhat.com/app/getting_started/express ,因為這系統仍然不斷的在開發中,你可以透過IRC: #openshift on Freenode 直接反映問題。
Thank you for requesting access to OpenShift Express!
To get started, click on this link:
https://openshift.redhat.com/app/getting_started/express
We'd love to hear your feedback, please join us on IRC and our forums.
Thanks
The Red Hat OpenShift Team
IRC: #openshift on Freenode

開始使用OpenShift Express

* 要開始使用 Openshift Express account 必須要有些 Client 端應用程式才可以連接到該服務主機,目前只有提供 command 指令模式的方式。
* 目前 Client 端有支援的為 RHEL 6 or Fedora or MAC or Windows ,但Mac 需鑰匙用 gem ,Windows 需要 cygwin 。看起來都很麻煩。
* Linux 目前只提供 RHEL 6 以上的版本來安裝,所以最後我選擇了 Fedora 15 這個版本來完成下面的實做:

Fedora安裝rhc

* 將底下的 repo 檔案 openshift.repo 放到 /etc/yum.repos.d/ 目錄內

# 改變目錄 [root@localhost mtchang]# cd /etc/yum.repos.d/ # 新增 openshift repo 檔案 [root@localhost yum.repos.d]# vim openshift.repo [openshift-express] name=Openshift-express baseurl=https://openshift.redhat.com/app/repo/rpms/$releasever/$basearch/ failovermethod=priority skip_if_unavailable=1 gpgkey=https://openshift.redhat.com/app/repo/RPM-GPG-KEY-redhat-beta ggpkey=https://openshift.redhat.com/app/repo/RPM-GPG-KEY-redhat-release enabled=1 gpgcheck=1 # 安裝 rhc 工具 [root@localhost mtchang]# yum install rhc

* 檢查應用程式,系統主要使以 rhc-* 開頭的程式負責這些工作

[root@localhost ~]# rpm -ql rhc-0.68.5-1.el6.noarch
/etc/openshift/express.conf  <-- 設定檔
/usr/bin/rhc-create-app  <-- 負責應用程式建立
/usr/bin/rhc-create-domain  <-- 負責 Domain 名稱建立及申請
/usr/bin/rhc-ctl-app  <-- 控制應用程式啟動、停止、刪除....
/usr/bin/rhc-snapshot <-- 把應用程式打包成 gzip
/usr/bin/rhc-user-info <-- 顯示使用者在 rhcloud.com 的資訊
... 略.....



建立Domain


* 建立 domain ,使用 /usr/bin/rhc-create-domain 程式在 rhcloud 註冊一個 domain

* 註冊名稱為 jangmt 在雲端的使用者帳號為 jangmt@gmail.com

[jangmt@localhost ~]$ rhc-create-domain -n jangmt -l jangmt@gmail.com
Password: rhcloud的密碼
Generating Openshift Express ssh key to /home/jangmt/.ssh/libra_id_rsa
Generating public/private rsa key pair.
Created directory '/home/jangmt/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jangmt/.ssh/libra_id_rsa.
Your public key has been saved in /home/jangmt/.ssh/libra_id_rsa.pub.
The key fingerprint is:
18:25:39:79:b5:88:87:9c:56:ab:35:6e:da:3b:4e:8b jangmt@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|      .oo..      |
|     .+B.o .     |
|      Bo* .      |
|     . B .       |
|      o S        |
|       +         |
|      . o        |
|       o.o       |
|      E.+.       |
+-----------------+
Contacting https://openshift.redhat.com
Adding rhlogin to /home/jangmt/.openshift/express.conf
Creation successful

You may now create an application.  Please make note of your local config file
in /home/jangmt/.openshift/express.conf which has been created and populated for you.

* 這動作會建立一組 ssh key 來提供程式開發上 git 的存取。



建立PHP應用程式


* 建立應用程式 /usr/bin/rhc-create-app ,目前系統提供 php-5.3.2, wsgi-3.2.1, rack-1.1.0 三種選項的應用程式可以選擇。


* 底下為建立一個應用程式 myphp 提供 php-5.3.2 的應用程式功能
[jangmt@localhost ~]$ rhc-create-app -a myphp -t php-5.3.2 -l jangmt@gmail.com
Password: 

Please support the developer preview - let #openshift on freenode know of any
bugs you find

Creating remote application space: myphp
Contacting https://openshift.redhat.com

RESULT:
Successfully created application: myphp

Checking ~/.ssh/config
Contacting https://openshift.redhat.com
Found rhcloud.com in ~/.ssh/config... No need to adjust
Now your new domain name is being populated worldwide (this might take a minute)...
Pulling new repo down
Warning: Permanently added the RSA host key for IP address '50.17.172.80' to the list of known hosts.
remote: Counting objects: 23, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 23 (delta 6), reused 0 (delta 0)
Receiving objects: 100% (23/23), done.
Resolving deltas: 100% (6/6), done.
Confirming application myphp is available
  Attempt # 1

Success!  Your application is now published here:

      http://myphp-jangmt.rhcloud.com/

The remote repository is located here:

    ssh://a0aaf4b1ba3f4f3dbf7abd14c64fa89f@myphp-jangmt.rhcloud.com/~/git/myphp.git/

To make changes to your application, commit to myphp/.
Then run 'git push' to update your Openshift Express space
* 此程式會將剛剛的金鑰上傳到遠端機器,並且再本機建立一個目錄 ~/myphp 。此目錄可以透過 git 的SCM管理方式管理程式碼。
* 並且建立一個應用程式名稱的對應網域 http://myphp-jangmt.rhcloud.com/ ,當修改完程式後只需使用 git push 程式到遠端主機即可完成上傳程式碼的工作。
* 第一次建立好,都沒有修改的畫面如下:http://myphp-jangmt.rhcloud.com/


* 修改 index.php 加上 phpinfo(); 並git push 上 server
# 本地端產生 ~/myphp 的目錄,程式統一放在 ~/myphp/php 目錄內
[jangmt@localhost php]$ cd /home/jangmt/myphp/php/
[jangmt@localhost php]$ pwd
/home/jangmt/myphp/php

# 修改程式碼,加入 <?php phpinfo(); ?> 這段做為測試
[jangmt@localhost php]$ vim index.php
<html><title>OpenShift!</title>
<body>
<h1>Welcome to OpenShift</h1>
<p>Place your application here</p>
<p>In order to commit to your new project, go to your projects git repo
 (created with the create_http command).  Make your changes, then run:</p>
<pre>git commit -a -m 'Some commit message'
git push</pre>
<p>Then reload this page</p>
<?php phpinfo(); ?>
</body>
</html>

* 加上 commit 資訊並 git push


# git commit -a  將所有修改過得檔案都 commit, 但是新增的檔案 還是得要先 add 才可以(git add -A 新增所有變更的檔案)
# -m 'message' 指的是在這個 commit 加上說明的內容
[jangmt@localhost php]$ git commit -a -m 'add phpinfo() in index.php'
[master a7aaf2b] add phpinfo() in index.php
 1 files changed, 1 insertions(+), 0 deletions(-)

#  git-push 更新遠端的檔案物件資訊
[jangmt@localhost php]$ git push
Counting objects: 7, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 399 bytes, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: tar: README: time stamp 2011-05-31 07:51:47 is 28761.007922033 s in the future
remote: tar: libs/README: time stamp 2011-05-31 07:51:47 is 28761.00683967 s in the future
remote: tar: libs: time stamp 2011-05-31 07:51:47 is 28761.006520158 s in the future
remote: tar: misc/README: time stamp 2011-05-31 07:51:47 is 28761.006146669 s in the future
remote: tar: misc: time stamp 2011-05-31 07:51:47 is 28761.005907377 s in the future
remote: tar: php/health_check.php: time stamp 2011-05-31 07:51:47 is 28761.005505289 s in the future
remote: tar: php/index.php: time stamp 2011-05-31 07:51:47 is 28761.005190215 s in the future
remote: tar: php: time stamp 2011-05-31 07:51:47 is 28761.004967428 s in the future
To ssh://a0aaf4b1ba3f4f3dbf7abd14c64fa89f@myphp-jangmt.rhcloud.com/~/git/myphp.git/
   ebb33fa..a7aaf2b  master -> master
   
* 上傳更新完成,再看一次網頁內容


* Git 是分散式的版本控制系統,可以方便的用於程式碼的管理。Git目前為很多自由軟體專案的版本控制工具,與常用的版本控制工具CVS,Subversion 不同,它採用了分散式版本庫的方式,不必伺服器端軟體也可以存取所以使得原始碼的發布和交流更方便。

安裝Drupal

* 既然可以使用 php 的功能在伺服器上,這裡以 Drupal 這個很受歡迎的的內容管理系統當作範例,安裝到 openshift 服務上。 * Drupal 是一個自由開源的內容管理系統,以PHP語言寫成。後端的資料庫為MySQL或PostgreSQL,在7.0版本以後開始支援SQLite資料庫。 * 因為此服務沒有提供資料庫的功能,所以直接使用 SQLite 用檔案型態的資料庫當城後端資料庫。
* 將檔案放到跟目錄,並且修改設定檔。
# 抓最新的版本
# 抓最新的版本
[jangmt@localhost php]$ wget wget http://ftp.drupal.org/files/projects/drupal-7.2.tar.gz
# 解開
[jangmt@localhost php]$ tar zxf drupal-7.2.tar.gz
# 搬動
[jangmt@localhost php]$ mv drupal-7.2/.* .
mv: cannot move `drupal-7.2/.' to `./.': Device or resource busy
mv: cannot move `drupal-7.2/..' to `./..': Device or resource busy
[jangmt@localhost php]$ mv drupal-7.2/* .
# 刪除
[jangmt@localhost php]$ rm -rf drupal-7.2 drupal-7.2.tar.gz
# 修改設定檔
[jangmt@localhost php]$ vim sites/default/default.settings.php
$base_url = 'http://myphp-jangmt.rhcloud.com';
* 更新上傳修改的程式碼
# 增加有新增的檔案到索引內
[jangmt@localhost php]$ git add -A
# 新增修改的的訊息及變動的檔案
[jangmt@localhost php]$ git commit -a -m "drupal to http://myphp-jangmt.rhcloud.com/"
[master 36c5a3a] drupal to http://myphp-jangmt.rhcloud.com/
 998 files changed, 290732 insertions(+), 11 deletions(-)
 create mode 100644 php/.gitignore
 create mode 100644 php/.htaccess
...skip...
# 上傳
[jangmt@localhost php]$ git push
...skip...
remote: tar: php: time stamp 2011-05-31 08:00:29 is 28702.719547983 s in the future
To ssh://a0aaf4b1ba3f4f3dbf7abd14c64fa89f@myphp-jangmt.rhcloud.com/~/git/myphp.git/
   a7aaf2b..36c5a3a  master -> master
* 完成後,可是在進入剛剛的網址觀看,他即會進入安裝畫面。
* 請選擇標準安裝 standard

* 選擇安裝的語系,請不要增加中文語系安裝,因為中文語系的翻譯檔有問題安裝到一半會卡住。 * 資料庫請選擇 SQLite
* 接下來進進入模組的安裝過程了

* 網站設定頁面

* 安裝完成

安裝 dokuwiki

* dokuwiki 是一套只需要 php 語言支援的 wiki 程式,後端存放資料是以文字檔型態儲存並且可以具有可閱讀性,非常適合在這樣的環境中使用。 * 安裝過程
# 取得軟體,放到根目錄
[jangmt@localhost php]$ wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25.tgz
# 解開
[jangmt@localhost php]$ tar zxf dokuwiki-2011-05-25.tgz
# 更名為 wiki
[jangmt@localhost php]$ mv dokuwiki-2011-05-25 wiki
# 刪除原本的檔案及目錄
[jangmt@localhost php]$ rm dokuwiki-2011-05-25.tgz
# git 新增檔案
[jangmt@localhost php]$ git add -A
# git 新增修改及註解
[jangmt@localhost php]$ git commit -a -m 'add dukewiki in /wiki/'
# git 上傳
[jangmt@localhost php]$ git push
* 到網站上看看 http://myphp-jangmt.rhcloud.com/wiki/ ,…裝好了…

* 還真是快呀!!!!!!

刪除應用程式

* 目前 Openshift express 只支援使用者同時擁有一個應用程式,所以如果需要測試另外一種應用程式服務,只能將這個裝好的服務移除再行安裝。
* /usr/bin/rhc-ctl-app 指令提供應用程式 (start|stop|restart|reload|status|destroy) 這些功能,底下範例為使用 destroy 刪除剛註冊的應用程式。
[jangmt@localhost ~]$ rhc-ctl-app -c destroy -a myphp -l jangmt@gmail.com
Password:
Contacting https://openshift.redhat.com
!!!! WARNING !!!! WARNING !!!! WARNING !!!!
You are about to destroy the myphp application.

This is NOT reversable, all remote data for this application will be removed.
Do you want to destroy this application (y/n): y
Contacting https://openshift.redhat.com

RESULT:
Successfully destroyed application: myphp
* 當你 destory 應用程式只會移除雲端的資料,本地端的目錄還是一樣存在不會有任何的異動。

建立wsgi應用程式

* Python網頁開發的標準: WSGI,(Python Web Server Gateway Interface,縮寫為WSGI)是為Python語言定義的Web伺服器和Web應用程序或框架之間的一種簡單而通用的介面。
* 建立一個 wsgi 應用程式,這程式會在本機 ~/mywsgi/ 建立一個目錄和上面 php 的開發方式一樣需要透過 git 更新程式。
[jangmt@localhost ~]$ rhc-create-app -a mywsgi -t wsgi-3.2.1 -l jangmt@gmail.com
Password: 

Please support the developer preview - let #openshift on freenode know of any
bugs you find

Creating remote application space: mywsgi
Contacting https://openshift.redhat.com

RESULT:
Successfully created application: mywsgi

Checking ~/.ssh/config
Contacting https://openshift.redhat.com
Found rhcloud.com in ~/.ssh/config... No need to adjust
Now your new domain name is being populated worldwide (this might take a minute)...
Pulling new repo down
Warning: Permanently added 'mywsgi-jangmt.rhcloud.com,50.17.156.80' (RSA) to the list of known hosts.
remote: Counting objects: 30, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 30 (delta 9), reused 0 (delta 0)
Receiving objects: 100% (30/30), done.
Resolving deltas: 100% (9/9), done.
Confirming application mywsgi is available
  Attempt # 1

Success!  Your application is now published here:

      http://mywsgi-jangmt.rhcloud.com/

The remote repository is located here:

    ssh://a0aaf4b1ba3f4f3dbf7abd14c64fa89f@mywsgi-jangmt.rhcloud.com/~/git/mywsgi.git/

To make changes to your application, commit to mywsgi/.
Then run 'git push' to update your Openshift Express space
* 建立好的 wsgi 應用程式網站 http://mywsgi-jangmt.rhcloud.com/

* 修改預設的 application 這只程式,成為最簡單的 hello world (透過 wsgi方式呈現)。
[jangmt@localhost mywsgi]$ pwd
/home/jangmt/mywsgi

# 修改程式內容
[jangmt@localhost mywsgi]$ vim wsgi/application
def simplestApp(environ, start_response):
    start_response('200 OK',[('Content-type','text/plain')])
    return ['Hello world!']
# 指定輸出app
application = simplestApp

# 更新修改
[jangmt@localhost mywsgi]$ git commit -a -m 'simplest APP test'
[master 95b7a2b] simplest APP test
 1 files changed, 5 insertions(+), 36 deletions(-)
 rewrite wsgi/application (99%)

# git上傳
[jangmt@localhost mywsgi]$ git push
Counting objects: 7, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 422 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: tar: README: time stamp 2011-05-31 08:47:47 is 28763.774683407 s in the future
remote: tar: data/SAFETOREMOVE.txt: time stamp 2011-05-31 08:47:47 is 28763.773869298 s in the future
remote: tar: data: time stamp 2011-05-31 08:47:47 is 28763.773712804 s in the future
remote: tar: libs/SAFETOREMOVE.txt: time stamp 2011-05-31 08:47:47 is 28763.773307896 s in the future
remote: tar: libs: time stamp 2011-05-31 08:47:47 is 28763.773183541 s in the future
remote: tar: wsgi/application: time stamp 2011-05-31 08:47:47 is 28763.772759805 s in the future
remote: tar: wsgi: time stamp 2011-05-31 08:47:47 is 28763.772630393 s in the future
To ssh://a0aaf4b1ba3f4f3dbf7abd14c64fa89f@mywsgi-jangmt.rhcloud.com/~/git/mywsgi.git/
   73ae5b9..95b7a2b  master -> master
* hello world 的結果





* 第二個例子
[jangmt@localhost mywsgi]$ vim wsgi/application
import cgi

def application(environ, start_response):
    form = cgi.FieldStorage(fp=environ['wsgi.input'],
                            environ=environ,
                            keep_blank_values=1)
    write = start_response('200 OK', [('Content-type', 'text/html')])
    if form.getvalue('name'):
        write('<html><head><title>Hello!</title></head>\n')
        write('<body>\n')
        write('<h1>Hello %s!</h1>\n' % form['name'].value)
    else:
        write('<html><head><title>Who is there?</title></head>\n')
        write('<body>\n')
        write('<h1>Who is there?</h1>\n')
    write('<form action="%s" method="POST">\n' % environ['SCRIPT_NAME'])
    write('What is your name?<br>\n')
    write('<input type="text" name="name" value="%s"><br>\n'
          % cgi.escape(form.getvalue('name', ''), 1))
    write('<input type="submit" value="That is my name"></form>\n')
    write('</body></html>\n')
    return None

application = application
[jangmt@localhost mywsgi]$ git commit -a -m 'cgi post APP test'
[master 26854fd] cgi post APP test
 1 files changed, 24 insertions(+), 5 deletions(-)
 rewrite wsgi/application (99%)
[jangmt@localhost mywsgi]$ git push
Counting objects: 7, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 725 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: tar: README: time stamp 2011-05-31 08:50:58 is 28761.427928209 s in the future
remote: tar: data/SAFETOREMOVE.txt: time stamp 2011-05-31 08:50:58 is 28761.427255996 s in the future
remote: tar: data: time stamp 2011-05-31 08:50:58 is 28761.427219172 s in the future
remote: tar: libs/SAFETOREMOVE.txt: time stamp 2011-05-31 08:50:58 is 28761.426901593 s in the future
remote: tar: libs: time stamp 2011-05-31 08:50:58 is 28761.426865693 s in the future
remote: tar: wsgi/application: time stamp 2011-05-31 08:50:58 is 28761.426519532 s in the future
remote: tar: wsgi: time stamp 2011-05-31 08:50:58 is 28761.426481248 s in the future
To ssh://a0aaf4b1ba3f4f3dbf7abd14c64fa89f@mywsgi-jangmt.rhcloud.com/~/git/mywsgi.git/
   95b7a2b..26854fd  master -> master





* 自Python提出了WSGI標準,它可重覆利用和有彈性的特性,使得網頁開發可以更專注於更重要的地方。當然 OpenShift 也就以此為標準讓使用這可以專注於程式上面的開發。

結論

* 當系統問題變的簡單,所有的服務都可以在雲端上找到資源。針對MIS人員的存在價值應該也要跟著有所轉變,傳統上MIS人員是管看的見的硬體、設備,在雲 端服務下MIS人員只是從管看的見,轉成管虛擬的、Cloud上的資源,並且有更多的時間專於IT及組織的問題予以處理改善。雲端服務只是以前的技術應用 的創新,透過基礎課程的訓練,瞭解每個細節將來也大多事這些基礎的運作模式用不同的組合搭配出現。
底下是上面這些相關資訊的延伸參考:
* 寫給大家的Git教學,Littlebtc(Hsiao-Ting Yu),http://www.slideshare.net/littlebtc/git-5528339
* Why Git is Better than X,Scott Chacon ,http://zh-tw.whygitisbetterthanx.com/(中文翻譯 Kanru Cehn)
* The NIST Definition of Cloud Computing(Draft),NIST Peter Mell;Yimothy Grance ,http://csrc.nist.gov/publications/drafts/800-145/Draft-SP-800-145_cloud-definition.pdf
* 化整為零的次世代網頁開發標準: WSGI, Victor,http://blog.ez2learn.com/2010/01/27/introduction-to-wsgi/
* Rack 與 Rack middleware,xdite,http://blog.xdite.net/?p=1557

2011/04/14

早期寫mysql資料庫編碼 latin1 可以配合 mysqldump 修正的方式

還有在用 big5 還有 latin1 編碼的資料庫嗎?
可試著用 mysqldump 配合編碼指定轉換成為 utf8 的格式...

* 資料庫編碼問題
在以前 MySQL 預設的語系是 latin1 這語系是給拉丁語系的國家使用的,
但是以前很多開發者沒有去注意這一段都使用這種語系在做 sql 的工作,
但有時候會出現一些問題。
例如:某兩個中文字在一起就會產生亂碼,中間夾各空白就又好了。

現在 Unicode 的環境已經很成熟了, UTF-8 編碼目前也是大家遵循的標準,
但這些以前的資料如果拿出來使用可以指定預設編碼匯出後再匯入到UTF-8標準
編碼內的資料庫,或許就可以把這問題解決。
--default-character-set=latin1 指定預設編碼輸出。

範例:mysqldump with 預設編碼輸出 --default-character-set=latin1

mysqldump post2 -h localhost -u post --password=密碼
--default-character-set=latin1 > post2.sql

* dump 出來後請看一下文字檔,記得把表格敘述改成 CHARSET=utf8 再匯到新的表格指定 UTF8 編碼

CREATE TABLE `CONDUCT` (
  `班級座號` varchar(9) DEFAULT NULL,
  `導師評分` decimal(15,5) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
* 編碼請參考:http://dev.mysql.com/doc/refman/5.6/en/charset-connection.html

* 為了避免語系的悲劇再次重演,你可以這樣做。在 mysql 系統的 /etc/mysql/my.cnf 檔案加入類似這樣的設定,直接綁定預設為 utf8

[mysqld]
default-character-set=utf8
  
[client]
default-character-set=utf8
init_connect='SET NAMES utf8'

* 寫程式的時候記得要輸出 mysql_query("SET NAMES 'utf-8'"); 這一行,告訴 mysql 你要用 utf8 輸出。你可以把他寫成 include 檔案,直接寫好免得協同作業有人不小心又寫爛了

$host = "localhost";
 $ac = "使用者名稱"; 
 $pw = "密碼"; 
 $db = "資料庫名稱"; 
 
 $link = mysql_pconnect($host, $ac, $pw);
 mysql_query("SET NAMES 'utf-8'");
 mysql_select_db($db, $link);

* 還原 mysqldump  還原的方式,就把資料倒回去即可。


a01@sqldebian:~/backup$ mysql a01 -u a01 -h 127.0.0.1 --password=密碼 < a01.sql

需要注意:
這個 *.sql 的匯出中會帶有自動判斷 db 存不存在的判斷式,如果原db 存再匯自動刪除 db 後匯入。

2011/04/11

What's the Right Thing to Do ? (Justice with Michael Sandel)

Before post...
http://jangmt.blogspot.com/2010/03/moral-side-of-murder-case-for.html

Original
http://www.justiceharvard.org/


01 The Moral Side of Murder / The Case for Cannibalism
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=11&Itemid=8
02 Putting a Price Tag on Life / How to Measure Pleasure
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=12&Itemid=9
03 Free to Choose / Who Owns Me?
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=33&Itemid=10
04 This Land is my Land / Consenting Adults
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=34&Itemid=11
05 Hired Guns? / For Sale: Motherhood
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=35&Itemid=11
06 Mind Your Motive / The Supreme Principle of Morality
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=43&Itemid=13
07 A Lesson in Lying / A Deal is a Deal
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=44&Itemid=14
08 What’s a Fair Start? / What Do We Deserve?
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=45&Itemid=16
09 Arguing Affirmative Action / What's the Purpose?
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=46&Itemid=17
10 The Good Citizen / Freedom vs. Fit
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=47&Itemid=17
11 The Claims of Community / Where Our Loyalty Lies
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=48&Itemid=19
12 Debating Same-sex Marriage / The Good Life
http://www.justiceharvard.org/index.php?option=com_content&view=article&id=49&Itemid=20


but...it no captions,
in 163.com had chinese and english doublce captions
第1集
http://v.163.com/movie/2010/1/B/J/M6GOB7TT6_M6GOBOPBJ.html
第2集
http://v.163.com/movie/2010/1/E/A/M6GOB7TT6_M6GOBT1EA.html
第3集
http://v.163.com/movie/2010/1/T/F/M6GOB7TT6_M6GOBUNTF.html
第4集
http://v.163.com/movie/2010/1/G/0/M6GOB7TT6_M6GOCBCG0.html
第5集
http://v.163.com/movie/2010/1/C/9/M6GOB7TT6_M6GOCHTC9.html
第6集
http://v.163.com/movie/2010/1/O/P/M6GOB7TT6_M6GOCJEOP.html
第7集
http://v.163.com/movie/2010/1/D/D/M6GOB7TT6_M6GOCSFDD.html
第8集
http://v.163.com/movie/2010/1/5/3/M6GOB7TT6_M6GOD1A53.html
第9集
http://v.163.com/movie/2010/1/7/5/M6GOB7TT6_M6GOD6P75.html
第10集
http://v.163.com/movie/2010/1/D/T/M6GOB7TT6_M6GODEHDT.html
第11集
http://v.163.com/movie/2010/1/Q/F/M6GOB7TT6_M6GODIQQF.html
第12集
http://v.163.com/movie/2010/1/P/B/M6GOB7TT6_M6GODNIPB.html


The spirited classroom debate doesn’t have to end when class is over. Share your thoughts with other viewers from around the world.

http://www.justiceharvard.org/index.php?option=com_content&view=article&id=11&Itemid=8


有出書!!!正義:一場思辨之旅


以下是博客來網站的介紹,http://www.books.com.tw/exep/prod/booksfile.php?item=0010497671

哈佛大學唯一公開課
YouTube 點閱率過百萬
學生人數打破哈佛375年校史所有紀錄

在高等教育,桑德爾教授的「正義」課堂是一則傳奇。1980年第一次開課,學生只有15人,近 年則每每破千,總是比第二熱門課還多出四五百人,累計學生人數已超過一萬五,桃李遍及各界菁英。

2009年,哈佛決定把這門課向全球公開。作者不只把教學內容寫成本書,上課實況還被剪輯成12個鐘頭,在美國公共電視播出。大學課 堂整學期實況向公眾播放,這是美國電視史上第一次,也是至今唯一僅有的一次。

這12個鐘頭在網路上被瘋狂轉寄。整個2010年下半年,日本、中國、韓國都在討論「桑德爾熱潮」,成為一大文化現象。他到東京演講,黃牛票竟然要價 500美元。在中國,網友自動為畫面加上中文字幕,把上網「淘課」變成新流行。《中國新聞週刊》因此在2010年底將桑德爾選為年度「最 有影響力人物」。

書名雖然標榜正義,重點卻是思考力的訓練。作者有教學天才,新聞事件信手拈來都是正義思考的案例。要解釋康德,他使用柯林頓偷腥案。 要解釋羅爾斯,他搬出伍迪艾倫。

要把理性帶進公領域,公民必須把自己的正義觀說出道理,不能只是「我說我對就是我對」。
本書目的正是邀請讀者做個自我檢視,搞清楚自己抱持哪些信念,何以抱持這些信念。
有了理性思辨,民主對話才能向上提升,不會一直停留在互嗆叫陣的層次。


作者簡介
邁可.桑德爾 (Michael Sandel)

又譯沈岱爾,1953年出生於美國明尼蘇達州,當代知名哲學家。成名甚早,28歲在牛津寫成的博士論文
《自由主義與正義的局限》於 1982年由劍橋大學出版,即被公認為批判羅爾斯與自由主義的代表作,
被譯成八種語言。

33歲獲哈佛大學教學卓越獎(Harvard- Radcliffe Phi Beta Kappa Teaching Prize)。2008年獲美國政治學會頒發特別成就獎。我們在《正義:一場思辨之旅》書中可以讀到偉大教學者的一流修煉。他尊重人人的思考力。不灌輸,只引導。他帶領讀者,在直覺反應與正 義原則之間,來回思考。身為知名的公共知識份子,他很早即對公共事務有濃厚興趣。他在加州讀高中,17歲擔任學生會主席,即曾邀請雷根總統(當時還是加州州 長)來校與他同台對談。

論者經常將他歸入社群主義陣營。但他不喜歡社群主義這個標籤,比較喜歡「公民共和主義」(civic republicanism)。

哈佛正義課網站:www.justiceharvard.org

2011/04/08

10T 的 RAID 掛在 RHEL6 上只抓到 2T ??

10T 的 RAID 掛在 RHEL Linux 6 上用 ext4 作業系統 上只抓到 2T 的容量 ??

這是今天遇到的問題,其實好像在2年前就有遇到,但兩年前硬碟容量還沒現在隨隨便便就突破 2T 。

為何會產生這原因的關係要從 MBR (Master Boot Record)講起 
http://en.wikipedia.org/wiki/Master_boot_record
中文 http://zh.wikipedia.org/wiki/%E4%B8%BB%E5%BC%95%E5%AF%BC%E8%AE%B0%E5%BD%95

* 從主開機紀錄的結構可以知道,它僅僅包含一個64個位元組的硬碟分割表。在MBR分割表中最多4個主分割或者3個主分割+1個擴充功能分割,也就是說擴充功能分割只能有一個,然後可以再細分為多個邏輯分割。
* 在MBR分割表中,一個分割最大的容量為2T,且每個分割的起始柱面必須在這個disk的前2T內。你有一個3T的硬碟,根據要求你至少要把它劃分為2個分割,且最後一個分割的起始磁區要位於硬碟的前2T空間內。

GPT分割表,支援最大卷為18 EB(Exabytes)。所以如果你硬碟太大,只能用 GPT分割表來使用。
http://en.wikipedia.org/wiki/GUID_Partition_Table
http://zh.wikipedia.org/wiki/GUID%E7%A3%81%E7%A2%9F%E5%88%86%E5%89%B2%E8%A1%A8

但是我們常用的 fdisk 只支援 MBR 所以如果需要使用 GPT 必須用 parted 這個分割工具。
分割過程如下:

[root@cu-tmp ~]# parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
歡迎使用 GNU Parted!輸入 'help' 來檢視命令列表。
(parted) mkpart
分割區名稱? []? p
檔案系統類型? [ext2]? ext4
起始點? 0
結束點? 9995000
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/取消/Cancel? i
(parted) print
Model: IBM 1726-2xx FAStT (scsi)
磁碟 /dev/sdb:9997GB
磁區大小 (邏輯/物理):512B/512B
分割區:gpt

編號 起始點 結束點 大小 檔案系統 名稱 旗標
1 17.4kB 9995GB 9995GB p

(parted) q
資訊: You may need to update /etc/fstab.

* parted
[root@cu-tmp ~]# parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
歡迎使用 GNU Parted!輸入 'help' 來檢視命令列表。
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
check 編號 對檔案系統進行簡單的檢查
cp [來源裝置] 來源編號 目標編號 將檔案系統複製到另一個分割區
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER
mkpart 分割區類型 [檔案系統類型] 起始點 結束點 建立一個分割區
mkpartfs 分割區類型 檔案系統類型 起始點 結束點 建立一個帶有檔案系統的分割區
move 編號 起始點 結束點 移動指定「編號」的分割區
name 編號 名稱 將指定「編號」的分割區命名為「名稱」
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular
partition
quit 離開程式
rescue 起始點 結束點 挽救臨近「起始點」、「結束點」的遺失的分割區
resize 編號 起始點 結束點 改變位於指定「編號」的分割區中檔案系統的大小
rm 編號 刪除指定「編號」的分割區
select 設備 選擇要編輯的設備
set 編號 旗標 狀態 改變指定「編號」分割區的旗標
toggle [編號 [旗標]] 切換「編號」分割區上的「旗標」狀態
unit 單位 設定預設的「單位」
version display the version number and copyright information of GNU Parted

* 分割完成後,再來就是格式化,格式化有 ext?系列的這幾種格式選擇,則最大分割區大小上限取決於你的 block 設定的大小, ext2 最大是 32T 但是這是在 4kb block 下的結果,所以如果超過請選用 ext4 檔案系統。


* mkfs.ext4 /dev/sdb1
root@cu-tmp ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
610050048 inodes, 2440185542 blocks
122009277 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
74469 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632


Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:


* mount
[root@cu-tmp ~]# mount -t ext4 /dev/sdb1 /storage/

* df -lh
[root@cu-tmp ~]# df -lh
檔案系統 Size Used Avail Use% 掛載點
/dev/mapper/vg_cutmp-lv_root
50G 3.5G 44G 8% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/sda2 485M 34M 426M 8% /boot
/dev/sda1 200M 240K 200M 1% /boot/efi
/dev/mapper/vg_cutmp-lv_home
453G 199M 430G 1% /home
/dev/sdb1 9.0T 168M 8.5T 1% /storage

* 寫入 fstab
root@cu-tmp ~]# tail /etc/fstab
/dev/mapper/vg_cutmp-lv_root / ext4 defaults 1 1
UUID=a7f9f990-4f1a-4197-b8b4-8757cc61c6a5 /boot ext4 defaults 1 2
UUID=0CA6-490F /boot/efi vfat umask=0077,shortname=winnt 0 0
/dev/mapper/vg_cutmp-lv_home /home ext4 defaults 1 2
/dev/mapper/vg_cutmp-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /storage ext4 defaults 0 0

2011/03/22

debian 6.0 虛擬機器安裝 use KVM

(1)先設定 bridge 網卡
# 安裝 bridge 工具
root@www:~# apt-get install bridge-utils
# 修改網卡設定
root@www:~# vim /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

iface eth0 inet manual
iface eth1 inet manual

auto br0
iface br0 inet static
address 110.117.69.10
netmask 255.255.255.0
gateway 110.117.69.254
# 網路線插在 eth1 上面, eth0 沒插網卡
bridge_ports eth1
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

# 裝完後以 ifconfig 看應該會看到 ip 在 br0 網卡上

(2)apt安裝kvm

root@www:~# aptitude install kvm virt-manager

(3)呼叫出圖形介面安裝工具

root@www:~# virt-manager &

然後就可以用了...

不能用的請看底下參考資料測試,大多是 cpu 不支援的問題...

ref:
* http://wiki.debian.org/KVM
* http://trac.nchc.org.tw/grid/wiki/KVM/install

2011/03/08

[轉]RHCE6 認證考試介紹

RHCE for RHEL6 認證考試簡介

全文在(聯成電腦 專任講師 胡尚忠)
http://expert.lccnet.com.tw/zone/thread-27097-1-1.html

重點節錄:
1.考試過程大量的使用KVM虛擬化技術
2.RHCT改為名為RHCSA的,rhce5版取得的RHCSA在rhce6版沒有用需要重考。
3.考試時間改成兩次RHCSA and RHCE,可以一天考完。時間及考試目標如下:

EX200 - RHCSA 考試時間:2.5小時 及格:70%以上
http://www.redhat.com/certification/rhcsa/objectives

EX300-RHCE 考試時間:2小時 及格:70%以上
http://www.redhat.com/certification/rhce/objectives/

2011/03/06

企業電子化的問題?

企業電子化推行的結果,已然使得許多員工相當習慣於依賴企業資訊應用系統之產出,
但其間所衍生的「知其然卻不知所以然」情形相當普通;試問企業經營者,應如何偵知
下列現象?叉,應如何處理之?


1. 相關部門依操作規範輸入資料,系統依其運算程序產出結果;相關業務之員工對彼
等產出資訊,僅視之為「電腦執行結果資料 '未即時敢動相對應的行動。
A:


2. 所使用的企業應用資訊系統,其運算程序或決策模式、依通式、慣例...建置,未依
公司運作狀況做適當地修訂,以至於員工依據不適當的資訊採取對應行動。
A:


3. 系統分析設計時,以所收集的回饋與資訊需求進行建置,未有效地統籌規劃與前瞻
考量,造成了運作銜接落差與職務權貴混淆現象。
A:

寫不出來...XD

2011/02/28

Windows上的 X Server連線工具 - Xming X Server(xming)

 Windows上的 X Server連線工具 - Xming X Server(xming)


小勳同學在學校因為課業的關係需要用到Linux的Server及該Server上面的圖形介面軟體,傳統上Linux有提供一個遠端桌面的設定選項,只要透過VNC viewer軟體就可以連進Linux系統工作,但是一次只能一個人連線,只要有兩個人以上連線就會發生問題,但偏偏只有一台機器要寫作業的同學都要連進去呼叫該圖形介面的軟體來編寫作業。回到家裡後小勳同學只有Windows的機器,但又很想連到學校的伺服器工作,於是他就上 google 問問看是否有解決的方式?

通常Windows使用者連入Linux的機器,使用的 ssh client 是 putty 這套免費方便的 windows ssh/telnet 遠端連線軟體。只要有Linux主機的IP、帳號及密碼就可以登入該Linux主機。

(註:putty對於非英文語系的使用者及初學者的設定都不是很友善。於是有網友piaip以Putty 為基礎,修正並完整的支援亞洲地區的多國語系字元並以 pietty 的名稱釋出此軟體。但此套修改過後把ssh X11 forwarding功能拿掉,所以不適用在此範例中。)


  請在Host Name輸入主機名稱,點選Open即可登入連線
 第一次登入Linux主機需要記住Server’s host key 在本機的 cache 內,所以請回答「是(Y)」然後就會進入第登入的畫面。
 輸入你的帳號,及密碼即可登入Linux主機。

但這只是文字介面的登入,當然不可能滿足小勳同學的需求,於是再繼續 google 看看要如何啟動圖形介面的Linux程式,並將他顯示在Windows的機器上面。

於是他找到了一套免費的X Server for Windows工具 Xming X Server (http://sourceforge.net/projects/xming/ ),他目前最後的的版本 6.9.0.31。目前在sf.net上面以不再更新版本,最新的版本在該開發者的站台上,有支援 Windows7 64bit。但目前免費的版本已經可以滿足小勳同學的需求了。Xming下載頁面:http://sourceforge.net/projects/xming/files/Xming/6.9.0.31/

在使用X Server 工具前,先瞭解Linux 的 X Server 的通訊協定,簡單的來說其中

* X-client 負責程式的運作

* X-Server 負責畫面的顯示

所以要遠端連線到Linux系統,其實就是把Linux的圖形畫面,丟到一台X-Server上

Linux只要有安裝圖形介面幾乎就是支援X-Server了,但是在Windows 上面只能透過,第三方的程式來當成X Server 提供畫面的顯示。剛剛下載的 Xming程式安裝完成後他會自動執行一支 XLaunch程式,他就是Windows上面的X Server。
 選單中的 XLaunch位置
 請一直按下一步即可完成設定,並產生啟動圖是在右下角。
 執行後會在右下角產生如上述的畫面並顯示Xming Server:0.0 ,這其實是告訴我們他開了一個 Display port 在 localhost:0

我們要配合修改 putty client設定的 ssh X11 forwarding 設定指到 localhost:0 ,這樣在連線到遠端的時候,如果圖形介面的顯示需求,就導到本地端這裡顯示,設定畫面如下:
 接下來在重新連入 Linux Server 並且執行 xterm 這隻X的圖形介面終端機來測試看看,畫面是否會出現在本機。

 「xterm &」指的是把 xterm這隻程式丟到背景執行,才會不卡在終端機前景畫面,錯誤訊息請暫時先忽略。

 Xterm 在Windows上面透過 Xming Server呈現的畫面。

測試另外一隻程式 gedit ,這是Linux上面的文字編輯器。
 輸入 「gedit &」
 本機Window透過 Xming Server產生的 gedit文字編輯器畫面,測試輸入英文正常。X Server 產生時會產生較大的流量,如果你的頻寬不大請花點時間等待。

X Server在本機上跑得port是TCP 6000 ,你可以使用dos模式,輸入「netstat –a」觀看連線的情形。如果你的家裡有防火牆或是分享器,請記得開啟虛擬伺服器的功能,並把 port 6000 指到你所在的 IP ,否則會無法建立連線。


以 Corega BAR SD-TW 的設定如下,其他NAT route 依此類推。
 虛擬伺服器設定的範例 192.168.123.117 為此案例 IP


但每次啟動Xming都要這樣設定很不方便有沒有可以偷懶的方式可以很方便的啟動??其實在XLaunch中提供有 plink or putty的遠端呼叫程式設定介面,只要你知道遠端的程式位址,設定檔設定好就可以直接啟動遠端的程式了,不用在透過自行設定 putty 的 X11 Forwarding 功能。

底下以啟動 Gnome桌面管理程式「/usr/bin/gnome-session」為設定範例,帳號為 mtchang 。

選擇如何顯示 Xming 在 Windows 的螢幕上,預設使用 Multiple windows即可,Display number 則是本機的對應port,如果你需要使用xming連線到不同的Linux Server請將 Display number 分開以免衝突無法顯示.


 選擇Start a program啟動 Putty or Plink程式來呼叫遠端程式

 Start program 指的是連線到遠端機器後要啟動的命令,如果可以建議加上絕對路徑。
常用的路徑有:

/usr/bin/xterm X的終端機(測試用,也可用來啟動其他程式)。

/usr/bin/gnome-session Gnome桌面的啟動程式,執行後會在Windows呈現整各Linux桌面。

Run Remote請選取 Using Putty(Plink.exe) 這個選項可以啟動遠端程式,但是不會帶出終端機視窗。

Using SSH(ssh.exe) 你必須要安裝 openssh for windows 才會有這個指令。

With compression 可以將傳輸過程壓縮,加快連線速度。

Connect to computer: 連線的Linux 遠端主機,這裡用的範例為「linux.jangmt.com」。

Login as user: 登入主機的帳號,這裡用的範例為「mtchang」。

Password: 密碼,可以自動幫你輸入,如果你有使用Putty pageant請留空白。


 這是外加選項,可以直接下一步跳過。

 如果你是公用電腦請不要把 Inclide Putty Password as insecure clear text 打勾,因為他會把密碼以明碼方式存放在一個文字檔內。最後請選擇 Save configuration 將此設定存為文字檔案(xml格式)。
 這裡以放在桌面上為例,點選可以直接啟動遠端程式並帶圖形介面顯示。
 啟動了 Gnome 桌面程式在 Windows 系統上。
 上面是Gnome選單,下面是Windows選單…..真是詭異的畫面。但已經可以在家裡連線到遠端Linux桌面了,且即使有多位同學連線也不會發生搶滑鼠的現象。


 ----

隔天到學校後…….

小勳同學看來已經可以連線到學校作功課了,於是很高興告訴他的同學小愛,但是他的同學小愛不會設定,請小勳同學當各好人教教她。小勳同學想說設定這麼複雜於是繼續 google 看是否有更簡單的方式可以達到這樣的功能,讓小愛同學可以自行設定。於是他找到了一套 Xshell 及 Xmanager 的商業軟體,Xshell 是一套 ssh/telnet/sftp/Rlogin/Serial support的通訊軟體在個人及學校使用上是免費的,Xmanager 則是一套PC上的 X Server軟體,可以試用 30 天。

下載頁面:http://www.netsarang.com/download/main.html

當你同時安裝了 Xshell 及 Xmanager 後,預設會把 Xshell 的 X11 Forwarding 設定轉到 Xmanager並由他提供圖形顯示的服務 ,於是很方便的就可以啟動Linux上面的圖形介面了。



至於這套軟體的使用,因為小勳覺得不能再宅在電腦前,所以先去打球了。

Byebye….

參考資料:

http://blog.jangmt.com/2009/11/xming.html

http://www.straightrunning.com/XmingNotes/trouble.php

http://ntu.csie.org/~piaip/pietty/

http://www.cs.nctu.edu.tw/help/xming.html