Thursday, December 29, 2011

權證是什麼?權證投資如何獲利? | 瑞傑投資理財網

權證是什麼?權證投資如何獲利? | 瑞傑投資理財網

權證是什麼?權證投資如何獲利?
Money 發表於 2010-02-23 16:00 | 閱讀 |
權證的魅力與風險在於雲霄飛車般的大漲大跌,台灣上市櫃股票漲跌停板是7%,不過,在交易所掛牌的權證,幾乎天天都有翻倍行情上演。
權證是什麼?有人形容,買權證像是買樂透,以小搏大,只要幾百塊的資金,短短幾天便可能得到數倍的報酬率,但也有可能像把錢丟入水溝,「槓龜」後,手上的權證通通成「歸零膏」。
但若把權證形容成樂透,似乎又不太正確,一來權證可沒法像樂透一樣一夕致富,二來,樂透開獎數字全由老天決定,權證的價格則與連結的個股走勢有關。
舉例來說,凱基LD(05995)是檔追蹤裕隆(2201)股價變化的認購權證,裕隆2月9日時漲停,凱基LD當日也跟隨著裕隆大漲132%,若是「看得準」裕隆行情的投資人,透過權證下手可以多賺接近18倍。
由此可知,購買權證的首先要先問自己的便是,「不論看漲或是看跌,是不是對個股或指數後續行情有看法?」如果有的話,透過權證投資,是把你手上資金威力大增數倍的好工具。如果答案是「否」,哪麼買權證可能就真的像是買樂透彩。
權證是什麼?買進認購權證,代表你先付錢買入一個「權利」,跟券商訂下之後向券商買股票的契約。
假設約定好一檔股票半年後用15元買入,若是半年後股票漲到20元,你依舊可以用15元買到這張股票;但若是半年後股票只剩下10元,想必你不會願意用 15元去買股票,這時候,花錢買下來的「權利」,就變得毫無價值了。
認售權證剛好相反,代表你跟券商約定價錢,未來可把股票賣給券商。
假設約定三個月後用10元賣股票給券商,三個月後股票下跌只剩下5元的價值,但因為你擁有賣股票的「權利」,你只要去市場上花5元買一張股票,就可用10 元的價格賣給券商。

權證就是把這項「權利」放在交易所裡頭,每天都可以交易,權利的價值則會隨約定的價格、股價以及時間價值遞減等因素變動。
簡而言之,如果覺得股票會漲,那麼就要買進「認購權證」;如果覺得股票會跌,那麼就要選擇「認售權證」。
以上出自 聯合理財網 原文網址; http://udn.com/NEWS/STOCK/STO6/5429037.shtml
瑞傑理財補充: 權證(Warrant)香港人把它叫做「窩輪」,對權證的投資行為叫「炒輪」,香港交易所是全球最大的權證市場。權證算是衍生性金融商品的一種,權證交易具有高槓桿作用,風險比股票投資要高,隨著到期覆約日的逼近,權證的時間價值會一天天的減少,所以權證投資,或許應該說是要做「短期投機」而非「長期投資」。在每個權證發行時,都已經訂好權證的「覆約日」,到了覆約日持有人必須依權證內容覆約或是棄權,也就是說會「強制」造成獲利了解或是認賠出場,所以權證操作是不適合「長期持有」的,打算要進行權證交易的人一定要特別留意。

Monday, December 19, 2011

不知不覺的壞習慣 | 專欄 | iThome online

不知不覺的壞習慣 | 專欄 | iThome online

不知不覺的壞習慣 | 專欄 | IThome Online

吳俊瑩
iThome電腦報技術主筆
交大電子工程系、臺大電機研究所、政大科技班畢業、政大EMBA國際金融組肄業、瑞士歐洲大學企管博士班肄業,身兼IT/電子技術顧問和某小型電子公司行銷副總。


許多成功的經營者,都曾提到要透過養成好習慣來提升企業競爭力,例如成本節省以及流程精簡等等。大多數的好習慣一開始可能與員工本來的做法有出入,因此需要紀律與教育訓練來矯正,並且透過觀念的培養,讓員工能夠更進一步地自我提升。不過隨著企業逐漸變大,經營者看不到那麼多細節的時候,很多壞習慣就不知不覺地跑出來了。
最常見的狀況就是周會。周會常常會造成一種習慣,不管大事小事,都以「每周一次」的周期來進行,就算是一天就完成的任務,可能也會延後到下星期的周會才報告,遇到的問題也會累積到周會才來決定,這樣子是好是壞呢?對於企業而言,訊息的流動不夠及時就有可能造成問題,輕則執行效率緩慢不彰,重則危機處理失靈。有很多可以及時敲長官辦公室的門請示的事情,卻因為「反正每星期都要周會,也不能沒有東西報告」的想法,於是乾脆累積起來等周會時再一起請示。可是卻沒有想到,參與周會的人大多數可能都跟這件事情無關,結果平白浪費大家的時間。

如果企業一有事情就立刻開小會議討論,速戰速決;周會則只針對大部分的人的事情來討論,這樣不但決策能靈敏有效率,也不會浪費大家的時間。我們對於會議效率的問題之所以不知不覺,乃是因為自己身處其中,而且習慣於這種節奏與速度。有專家統計,從周會上面談的事情,就可以判斷這個公司賺錢還是虧錢,準確度高達80%。因為周會上談的是「重要的事」還是「細碎小事」,兩者累積起來的差異非常驚人。

即使是聰明的老闆,也常常會養成員工部分失能的壞習慣。為什麼我們會要求領導人學習「傾聽」呢?因為我們需要激發出員工的智慧,培養員工發現並解決問題的能力,甚至進而發揮創意。老闆心裡面即使有答案,最好還是不要說出來,透過循循善誘培養員工具備自動自發解決問題的能力。事實上員工的答案可能跟老闆不同,而且效果可能更好。如果老闆的idea總是最好,那麼員工會養成一種「靠邊站」的習慣,反正等老闆聖明的裁示就好,幹嘛動腦筋呢?可是如果老闆忍一忍,儘管員工的答案只有50分,透過鼓勵、讚許、開導,就會逐漸進步,最終可以成為優秀幹部。反之,再如何優秀的幹部,遇到凡事自己做主的老闆,也會漸漸腦殘,只要老闆不在,事情就會出錯。

每個企業經營者都想要追求卓越,這必須要透過培養好習慣來達成。節省成本與品質改善是基本功,這需要藉由制度養成習慣來改善。如果我們不管在任何場合,都「持續」提示員工「思考一下怎樣做比較節省?」或者「幫公司省錢就是幫自己加薪」的觀念,員工自然會養成想一下成本的習慣。「持續」性的洗腦對於習慣的養成非常重要。提升品質的習慣也是如此,必須要從上到下都用行動來持續重視,才有辦法改善。一個「好麻煩,沒關係」的念頭,就足以讓公司嚴重損失。

衝擊企業運作的另一種不良習慣,是分不清誰來做比較好,以及員工無法管好自己的產出品質。這種情況也常常發生在供應商與企業之間,如果我們的進貨檢驗人員並沒有堅持不良率在某個數值以上就全部退貨,漸漸地供應商可能會有惰性:「乾脆自己不做出貨檢驗」,反正被抓到也不會退,出了問題只要去換去修就好。企業內部工作流程也常發生這種現象,上游的人沒有控管好,結果下游的人很累很辛苦,出了錯還要挨批。

缺乏「可行性分析」是專家指出當前企業主管最大的壞習慣,反映在員工的眼中就是「決策品質不佳」。任何的任務都需要survey,逐步收斂或者實驗到一定的程度之後,才有辦法確認可行性。不過根據調查,有60%的企業主管並沒有可行性分析的概念,拿到任務就分派出去,這樣子可能會造成企業資源嚴重浪費,如果我們能把10件事情分析到確認其中有3件事情可行,那麼可能只要交代3個任務就好;反之, 10個任務如果都try-error的成本不但很大,還會造成「員工很努力」的錯誤現象,讓上頭的人喜歡並鼓勵這種行為,從而更加忽略成本的損失,直到不可收拾為止。

習以為常的事情,我們往往選擇接受而不是質疑,因為「以前就是這樣做啊!」一個曾經歷過幾次創業失敗,最後才谷底翻身的長輩告訴我,過去,他總是凡事都問員工why?員工或是他自己總是會給出理由,但他沒辦法逐一判別理由的好壞,於是團隊士氣與產品品質就是提升不起來。後來有人告訴他,不要問why,改問how,尊重員工專業並且正面有耐心地予以肯定與鼓勵,主管的責任不是給予員工挫折,而是設定目標與員工一齊尋找方法。人們都是有框架心理的,如果我們心理上認定「我就是要追求卓越」,並尋找辦法、正向思考與正向溝通,每天向上一點點,一年下來就進步很多。後來我們會發現,阻擋我們成功的可能不是競爭對手,而是我們那些不知不覺的壞習慣。

Friday, December 2, 2011

勵志好文

人生在世最要緊的不是所處的位置,而是努力的方向。

很多時候,我們面臨的困境是無法選擇的,
隨著時間的推移,很多人會把困境歸咎於命運,意志消沈、無所適從。

這樣的結果就是困境永遠無法改善,困厄人生、終此一生。

然而,事實證明越是處於艱難困境的人,越有位於巔峰的可能。

任何事業,只要你勇敢的堅持、努力,就會獲得成功。

那不受歡迎的境遇,就會逕行消失。對於有自信和勇氣的人來說,

困境不但不能扼住命運的咽喉,還會成為人們努力奮鬥、走出困境最有利的出發點。

正如一位哲學家所言,困境時所產生的雄心,比其他來得切實而有力。

困境能激發人們潛伏的力量,沒有如針氈般的困境刺激,這股力量也許永遠不會爆發出來。

如果,我們的生活是從困境中起步,千萬別怨天尤人,
甘願茍延殘喘地過一生,不要讓自己的行動為困苦制約,
更不要妒嫉那些有錢有勢、不需自謀生計的人。

只要具有強大的自信和勇氣,就會獲得超過金錢千百倍的力量,
走出困苦的樊籠,重新出發,功成名就!!

Wednesday, November 9, 2011

reStructuredText Primer — Sphinx 1.1.2 documentation

reStructuredText Primer — Sphinx 1.1.2 documentation

Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license.

It was originally created for the new Python documentation, and it has excellent facilities for the documentation of Python projects, but C/C++ is already supported as well, and it is planned to add special support for other languages as well. Of course, this site is also created from reStructuredText sources using Sphinx!

Sphinx is under constant development. The following features are present, work fine and can be seen “in action” in the Python docs:

  • Output formats: HTML (including Windows HTML Help), LaTeX (for printable PDF versions), manual pages, plain text
  • Extensive cross-references: semantic markup and automatic links for functions, classes, citations, glossary terms and similar pieces of information
  • Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children
  • Automatic indices: general index as well as a module index
  • Code handling: automatic highlighting using the Pygments highlighter
  • Extensions: automatic testing of code snippets, inclusion of docstrings from Python modules (API docs), and more

Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, the Docutils.

Tuesday, November 8, 2011

3-tier

Ref from:

http://blog.cemschool.com/home/space.php?uid=1&do=blog&id=348

主從式(client/server)架構

在傳統的主從式(client/server)架構當中,為兩層式(2-tier)架構,包括用戶端的使用者介面層(presentation tier),和伺服器端的資料服務層(data services tier)。

用戶端的使用者介面層(presentation tier),負責接收使用者的資料輸入,和將結果顯示出來,譬如用戶端應用程式。一般會包括商業邏輯(business logic)的工作,包括計算、輸入核對、用戶端電腦管理、與伺服器溝通等工作。

伺服器端的資料服務層(data services tier),負責伺服器的工作,包括資料庫的資料處理和網站伺服器(web server),有時也會一一些商業邏輯(business logic)的工作。

傳統主從式(client/server)架構最大的缺點,為隨著功能的增加,用戶端的應用程式會愈來愈複雜,不但維護不易,用戶端電腦的負荷也愈來愈大。

三層式(3-tier)架構

三層式(3-tier)架構與傳統兩層式架構最大的差異處,為將商業邏輯(business logic)單獨分離出來,以減輕放置於用戶端或伺服器端電腦的負擔。

於三層式(3-tier)架構當中,所謂三層係指使用者介面層(presentation tier)、商業邏輯層(business logic tier)、和資料服務層(data services tier)。

使用者介面層(presentation tier),負責接收使用者的資料輸入,和將結果顯示出來,譬如瀏覽器或其他用戶端應用程式。

商業邏輯層(business logic tier),作為使用者介面與資料庫的橋樑,負責商業法則(business rules)、與業務有關的資料處理、網站伺服器(web server)等工作,譬如使用IIS的網站伺服器,採得ASP撰寫程式,並透過DCOMMTSMicrosoft Transaction Server)的元件相溝通,再透過ODBC與各種支援ODBC的資料庫相連接。

資料服務層(data services tier),負責資料庫或訊息的處理,譬如使用SQL Server資料庫的預儲程序(stored procedures),或使用MSMQ做訊息的處理等。


Monday, October 24, 2011

Android Native C 之 Helloworld的四種編譯方式_StackDoc

Android Native C 之 Helloworld的四種編譯方式_StackDoc

vim helloworld.c

#include
int main()
{
printf("Hello World!\n");
return 0;

}

vim Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:=hello.c
LOCAL_MODULE := helloworld
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)

目錄結構 ─ helloworld
       ├── jni
          ├── Android.mk

          └── hello.c


[root@fontlose nativity]# cd hello

[root@fontlose hello]# export NDK_PROJECT_PATH=`pwd`

[root@fontlose hello]# ndk-build

Install : helloworld => libs/armeabi/helloworld


[root@fontlose hello]# adb push libs/armeabi/helloworld /data

44 KB/s (2176 bytes in 0.047s)


[root@fontlose hello]# adb shell

/ # cd /data

/data # ls -l

-rwxrwxrwx root root 2176 2011-08-07 03:01 helloworld

/data # ./helloworld

Hello World!


Note:

我在Linux編完再透過Windos的adb傳 結果helloworld權限跑掉

還好之前有裝busybox ,

[xxx@xxx]#busybox chmod 755 helloworld

Monday, October 17, 2011

Engineering:為什麼Startup更需要自動化測試 | EZTABLE IDEAS

Engineering:為什麼Startup更需要自動化測試 | EZTABLE IDEAS

[教學] 前端自動化測試 (上) -- YUI Test + Selenium - clayliao.f2e

[教學] 前端自動化測試 (上) -- YUI Test + Selenium - clayliao.f2e

Android安裝busybox(Universal Androot適用) - Android Rooted 專用軟件 GPhonefans.net

因為Universal Androot(以下簡稱UA)算是比較簡易的root法
所以在根的過程當中不會把busybox安裝進去; j- R* h" }9 a& S# l
busybox本身的功用在於提供root後的機器簡易檔案存取的指令
就是說裝了busybox之後,原本要寫好幾行的指令可以改成偷懶只寫一行就搞定! ?+ Q* h4 W: @: G' Y
所以有部分的工具軟體仍然是必須要搭配busybox使用的(簡單的說就是開發者很懶)# o v& H! ^8 y# J' B- J
! K1 o( r9 Q: V
首先請先安裝Android SDK(不會的自己上網google一下); B9 ` S {4 D* y3 d
然後將下面的附件(busybox)放到SDK中的Tools資料夾內
busybox (417.34 KB) 下載次數: 77! r. x7 v6 {& ]4 M: K4 G# L

2010-8-18 02:36

把手機接上電腦,記得先去"設定->應用程式->開發"裡面把USB偵錯打勾- p2 U* d* A6 b+ A' E

開始->執行6 u4 a7 t; \; z* ~3 b3 \* X, ^. b
CMD
cd\xxxxx\tools
//此處的xxxxx=你的Android SDK安裝路徑/ {% i, T& n# N* B, q
adb push busybox /mnt/sdcard/busybox
//把busybox丟到卡上, X" {2 g) U2 b


adb shell. r- P1 v0 Q' l0 K. ?+ F' _) M2 t g
//連線到手機內進行操作
! \1 b: a2 I! E) Q$ d- y. T
% H( j/ L/ s0 p
su, M6 T) _+ `) z
//取得管理者權限(這裡如果是用UA的朋友麻煩看一下你的機器,應該會有一個允許存取的確認,點allow就好)
7 Z( n" ~2 }; U! n4 M, H

mount -o rw,remount /dev/block/mtdblock3 /system
//把system改為可讀寫狀態(system=ROM)7 U' C# ]0 S+ X% E1 ^! e7 `
% w0 m% a( y1 C4 e

cat /mnt/sdcard/busybox > /system/bin/busybox
//把busybox複製到system中
. N- R" {/ q0 n0 F" |: `& l
, q/ s: p8 ~! e1 q
rm /mnt/sdcard/busybox: D/ i p* Q7 G* d% |# L6 |9 V/ T# Q
//移除掉記憶卡上的busybox
; J8 G$ [! `: x5 r+ ~! r k

chmod 755 /system/bin/busybox
//修改system內busybox的權限
# s! X4 |% R0 x! Q* C

mount -o ro,remount /dev/block/mtdblock3 /system3 `6 B- L, J/ e: o
//把system改回唯讀狀態

Ivan IT' Notes: htaccess 的 Order allow,deny 迷思 [簡易版]

Ivan IT' Notes: htaccess 的 Order allow,deny 迷思 [簡易版]

Friday, September 2, 2011

Exim mail config on Redmine

production:
delivery_method: :smtp
smtp_settings:
address: 127.0.0.1
port: 25
domain: redmine.example.com
authentication: :none

Tuesday, August 30, 2011

[MySQL]更改預設資料庫的編碼

Reference:
http://j796160836.pixnet.net/blog/post/26585908-%5Bmysql%5D%E6%9B%B4%E6%94%B9%E9%A0%90%E8%A8%AD%E8%B3%87%E6%96%99%E5%BA%AB%E7%9A%84%E7%B7%A8%E7%A2%BC


[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'

[client]
default-character-set=utf8

Wednesday, August 17, 2011

資訊 - [分享]USB OTG技術簡介 - 史萊姆論壇

參考 : 資訊 - [分享]USB OTG技術簡介 - 史萊姆論壇


OTG是On The Go的縮寫,在越來越多的USB裝置出現後,漸漸有部分裝置想要脫離電腦的管束互相連結,但是USB舊有的架構限制了USB裝置間連結的可能性。所以當兩個USB裝置碰在一起,沒有任何一端可以做主。對此,USB協會又推出了USB OTG的規範來彌補這樣子的缺陷。

USB OTG並不是一個獨立於USB 2.0存在的規範,所有在USB OTG中未提到的事項都必須以USB 2.0的規範為準。因此USB OTG存在的目的僅在於提供一個方式,讓兩個USB裝置得以連結。USB OTG 1.0中提到一個具備雙重角色裝置(Dual-role device)的概念。就是說一個OTG的裝置,可以當主機,也可以當設備端。如此一來,當兩個OTG裝置遇上的時候,就可以由其中一方當作主機,另一方當作設備端。就可以完全符合USB對兩個裝置相連的需求了。除此之外,OTG的裝置還必須具備以下的特性:
1. 有限的主機功能。

2. 為設備端時必須支援全速傳輸。

3. 為主機端時要支援全速的USB設備,但不強支援高速或是低速設備。

4. 當OTG裝置成為主機端時,並沒有辦法真的支援所有的USB裝置,因此在道義上OTG裝置必須將其所支援的設備清單列出,以利消費者選擇可連接的設備。

5. 必須告知使用者傳輸的狀態。

6. 至少能提供8mA的電源給設備端。

7. 支援SRP(Session request protocol):
當OTG裝置成為主機端時,可以將Vbus的電源切斷,以節省電源。SRP則是提供一個機制讓設備端告知主機端重新提供電源,並且恢復在USB線路上的相關活動

8. 支援HNP(Host negotiation protocol):
當兩個OTG裝置相連結時,由於兩個裝置都有當主機端的能力,所以會先由連接兩個裝置的纜線(Mini-A plug to Mini-B plug)決定哪一個裝置(連接Mini-A plug的裝置)在一開始的時候扮演主機(A-device)的角色,另一裝置則是扮演設備端(B-device)的角色。當兩個裝置經由纜線結合在一起之後,若是想要互換角色,則必須經由HNP所定義的訊號溝通過之後,才可以互換角色。

9. 僅能有一個且唯一的一個Mini-AB插座。

USB OTG提供了一個讓兩個USB裝置連結的機制,原本要由電腦做的事情,現在都要落在當主機端的OTG裝置身上。因此,為了要對應不同的設備,就需要不同的驅動程式。原本USB裝置的製造商只要熟悉自己的產品就可以了,在加入OTG的概念後,就必須要對想要連結的設備有一定的了解。如此便能夠使用相同資料格式,相同傳輸方式來傳輸資料。藉由這些不同裝置類別的規範,就有機會大大簡化在OTG裝置上對驅動程式的需求。OTG裝置只要能夠支援某一個類別,就可以支援符合該類別的所有設備。

Tuesday, August 16, 2011

Ubuntu 11.04 下安裝配置JDK 7 - snowdrem - 博客頻道- CSDN.NET

Ref : Ubuntu 11.04 下安裝配置JDK 7 - snowdrem - 博客頻道- CSDN.NET

第一步:下載jdk-7-linux-i586.tar.gz

  1. wget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz
(注:如果下載不下來,建議使用迅雷下載,然後拷貝到Linux系統上。)

第二步:解壓安裝

  1. sudo tar zxvf ./jdk-7-linux-i586.tar.gz -C /usr/lib/jvm
  2. cd /usr/lib/jvm
  3. sudo mv jdk1.7.0/ java-7-sun

第三步:修改環境變量

  1. vim ~/.bashrc
添加:
  1. export JAVA_HOME=/usr/lib/jvm/java-7-sun
  2. export JRE_HOME=${JAVA_HOME}/jre
  3. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
  4. export PATH=${JAVA_HOME}/bin:$PATH
保存退出,輸入以下命令使之立即生效。
  1. source ~/.bashrc

Thursday, July 21, 2011

在Debian中安裝桌面環境 X-Window | 電腦茶包 Blog

在Debian中安裝桌面環境 X-Window | 電腦茶包 Blog

在 Debian 中安裝套件是一件很容易的事情

因為 apt-get 會幫你搞定一切,安裝軟體輕鬆又快樂

如果一開始只有裝基本系統,後來想加入桌面環境時也是很簡單

在 Console 中執行這行指令,桌面系統就裝好了。夠簡單吧

apt-get install xorg gnome

接下來要安裝中文的修正套件

apt-get install ttf-arphic-uming scim-tables-zh im-switch

安裝完成後再執行 startx 就能進去桌面環境了

如果嫌 gnome 太肥,你也可以改用 kde或 lxde

桌面套件套件容量指令
x-window + gnome1597 MBapt-get install xorg gnome
x-window + kde1116 MBapt-get install xorg kde
x-window + lxde288 MBapt-get install xorg lxde

Sunday, July 17, 2011

臉書隱私權中肯評論

不過臉書只是工具,我們做錯事不能怪臉書,只能怪自己的大嘴巴。或許這過程也正是反映一個人的格調和自制能力,如果在這種事上都控制不了自己的行為,如何期待能在壓力下或利益誘惑下能有正當的表現呢?

Saturday, June 25, 2011

挑戰人生 享受人生

吳妍華也以自身經驗提醒畢業生,大學教育只是開啟對世界好奇的一把鑰匙。

她說,在擔任交大校長之前,對於交大擅長的電子、資訊領域可說是門外漢,但是擔任校長後,她把握每一次和專業人士對談及開會討論的機會,提出「好奇」,重新學習新的知識領域,因為未來還有很多需要學習的地方,培養主動獲取知識的軟實力,當機會來臨時,才能及時把握,創造無限可能。

另外,施振榮今天在畢業典禮上也以「挑戰人生、享受人生」為題,分享他的經驗與理念。

施振榮表示,在人生的過程中總會遇到許多困境與挑戰,但最重要的是要能享受追求人生價值的過程,同時在這過程中挑戰創造價值必經的困境,因為人生的目的就在於創造價值,並且不斷尋找瓶頸並加以突破。

他說,「挑戰困難、突破瓶頸、創造價值」,就是他一路走來的創業精神。



全文網址: 交大校長:勿只嚮往大老闆 | 即時新聞 | 生活天氣 | 聯合新聞網 http://udn.com/NEWS/LIFE/BREAKINGNEWS9/6420571.shtml#ixzz1QIs8x4BE
Power By udn.com

怪奇卡通風家具設計 - Straight Line Designs

Link: http://kaiak.tw/?p=79526 (sent via Shareaholic)

----
位於溫哥華的設計工作室 Straight Line Designs 已經成立超過 25 年,除了裝置藝術、雕塑創作以及接單專案之外,設計師...

Friday, June 24, 2011

xPath

XPath is an emerging standard for directly accessing one or more nodes in an XML document using a simple filename-like syntax. For example, the XPath "/*/author" would select all of the grandchildren named "author", starting the search at the top-level document. Electric XML includes a useful subset of XPath functionality, and supports the following special tokens:

name
matches all nodes on the current level with the specified name
[n]
matches the nth node on the current level, with n=1 denoting the first node
name[n]
matches the nth element on the current level with the specified name
*
matches all nodes on the current level
/
if used as the first character, denotes the top-level document, otherwise denotes moving down a level
..
go up one level
.
the current level
//
the current level and all sublevels to any depth
[@key='value']
all elements with an attribute that matches the specified key/value pair
name[@key='value']
all elements with the specified name and an attribute that matches the specified key/value pair
[text()='value']
all elements with the specified text
name[text()='value']
all elements with the specified name and text
@name
the attribute with the specified name
@*
all attributes

定位節點
XML
是樹狀結構,類似檔案系統內資料夾的結構,XPath也類似檔案系統的路徑命名方式。不過XPath 是一種模式(Pattern),可以選出 XML檔案中,路徑符合某個模式的所有節點出來。
例如要選
catalog底下的cd中所有price元素可以用: /catalog/cd/price
如果XPath的開頭是一個斜線(/)代表這是絕對路徑。如果開頭是兩個斜線(//)表示檔中所有符合模式的元素都會被選出來,即使是處於樹中不同的層級也會被選出來。
以下的語法會選出檔中所有叫做
cd的元素(在樹中的任何層級都會被選出來):
//cd

選擇未知的元素
使用星號(Wildcards,*)可以選擇未知的元素。
下面這個語法會選出
/catalog/cd 的所有子元素:
/catalog/cd/*
以下的語法會選出所有catalog的子元素中,包含有price作為子元素的元素。
/catalog/*/price
以下的語法會選出有兩層父節點,叫做price的所有元素。
/*/*/price
以下的語法會選擇出檔中的所有元素。
//*

要注意的是,想要存取不分層級的元素,XPath語法必須以兩個斜線開頭(//),想要存取未知元素才用星號(*),星號只能代表未知名稱的元素,不能代表未知層級的元素。

選擇分支
使用中括弧可以選擇分支。以下的語法從catalog的子元素中取出第一個叫做cd的元素。XPath的定義中沒有第0元素這種東西。
/catalog/cd[1]
以下語法選擇catalog中的最後一個cd元素:(XPathj並沒有定義 first() 這種函式喔,用上例的 [1]就可以取出第一個元素。
/catalog/cd[last()]
以下語法選出含有price子元素的所有/catalog/cd元素。
/catalog/cd[price]
以下語法選出price元素的值等於10.90的所有/catalog/cd元素
/catalog/cd[price=10.90]
以下語法選出price元素的值等於10.90的所有/catalog/cd元素 price元素
/catalog/cd[price=10.90]/price

選擇一個以上的路徑
使用Or運算元(|)就可以選擇一個以上的路徑。例如:
/catalog/cd/title | catalog/cd/artist
選擇所有title以及artist元素
//title | //artist
選擇所有title以及artist以及price元素
//title | //artist | //price
選擇屬性
XPath中,除了選擇元素以外,也可以選擇屬性。屬性都是以@開頭。例如選擇檔中所有叫做country的屬性: //@country
選擇所有含有country這個屬性的cd元素: //cd[@country]
以下語法選擇出含有屬性的所有cd元素 //cd[@*]
以下語法選擇出country屬性值為UKcd元素 //cd[@country='UK']
其他

所有,且其Attribute是qty>3 或price>400 descendant::Item[@qty>3 or @price>400]"

只要掌握了xpath語法,理論上你就可以訪問xml檔中的任意節點和任意值

##HIDEME##