:::

在Windows 7中架設商業智慧系統Pentaho / How to install open source business intelligence system Pentaho on Windows 7

在Windows 7中架設商業智慧系統Pentaho / How to install open source business intelligence system Pentaho on Windows 7

60892-pentaho-box

在巨量資料開始盛行之前,資料分析系統流行的名詞叫做商業智慧(Business Intelligence, 簡稱BI)。這個名字充滿金錢味的技術大多時候的確是付了錢才玩得起,不過也有商業智慧系統是以開放原始碼的方式發佈,就是我今天要介紹的Pentaho


Pentaho介紹 / Introduce Pentaho

services-top-level_3

我從Pentaho的網站上翻譯了它的簡介:

Pentaho致力於協助企業從原始資料中找出重要價值。為了簡化了各種資料的彙整與統合過程,該平臺內建一系列的工具,可輕鬆進行分析、視覺化、探索、彙整報表與預測。Pentaho是開放、容易嵌入在任何系統中、並具備延展性,可用來提供每一位團隊成員--從開發者到公司客戶--都能夠輕易將原始的數據資料轉換成具價值的可用資訊。

必須要說明的是,Pentaho的商業模式就跟大部分的開放原始碼系統一樣,同時具有企業版與社群版兩種版本。前者必須付費購買,但有30天試用期;後者可以免費取得、自行安裝,但是功能有所限縮。

作為開放原始碼的支持者,我這篇當然要講的是開放原始碼版本的Pentaho Community 6.0囉。

在Windows 7上安裝Pentaho / Install Pentaho on Windows 7

Pentaho是以Java / JSP Servlet組成,而且還自行內建了Apache Tomcat。我們只要搞定Java環境變數的設定跟調整一些參數,就能夠立刻架起Pentaho。

雖然是這樣說,但是在安裝JSP網頁系統的時候,光是Java環境變數的設定就已經是許多人難以跨越的障礙。因此我想要整理這篇安裝手續,供其他人方便架設Pentaho。


1. 檔案下載 / Files Download

Pentaho跟Java必備的JDK、JRE都是蠻大的檔案。在開始安裝之前,建議先把這些檔案下載來用吧。

下載Pentaho / Download Pentaho

image

Pentaho將系統拆分成基本分析平臺與各個模組,像是資料整合(Data Integration)、報表設計(Report Designer)、外掛市集(Marketplace)。我也尚未深入探索Pentaho其他功能,本篇只講如何架設,請直接下載商業分析平臺(Business Analytics Platform)即可:

image

下載的檔案將會是biserver-ce-6.0.1.0-386.zip由於Pentaho檔案過多,請不要解壓縮在其他目錄底下。請直接解壓縮到磁碟機目錄底下,例如:c:\,如上圖所示。

Java下載 / Download Java

Pentaho的運作環境需要Java的JDK (Java SE Development Kit)跟JRE (Java Runtime Environment)。但是下載JDK跟JRE的時候,請特別注意你電腦的作業系統類型,分清楚你是64位元或是32位元,並下載相對應的版本。你可以參考微軟的說明「我的電腦執行的是 32 位元還是 64 位元版本的 Windows?」來確認你的版本。

image

你可能平常上網的時候就已經安裝過JRE了,但是一般人應該比較少下載過JDK。JDK在下載的時候請先選擇「Accept License Agreement」,再到下面選擇Windows x86 (表示適用於32位元)或Windows x64 (表示適用於64位元)下載。

2. 找尋JDK跟JRE的路徑 / Find the path of JDK and JRE

為了讓Pentaho跟運作Pentaho的伺服器Apache Tomcat能夠正常運作,我們必須在系統的環境變數中指定JDK跟JRE的路徑位置,並且把JDK的bin資料夾路徑加入到環境變數Path中。因此在安裝完JDK跟JRE之後,我們還要確認系統中JDK跟JRE的路徑位置。

JDK 8 64位元版本的位置預設是在C:\Program Files\java\jdk1.8.0_65。如果是32位元的版本,則會被放在C:\Program Files (x86)\java\jdk1.8.0_65 裡面。請注意JDK版本號的差異會影響路徑的位置,上面我是以紅字標示。如果你下載的是不同版本的JDK,那麼紅字的路徑則會有所不同,請自行修正。

JRE的安裝路徑大致上跟JDK相同,只是名稱是JRE而已。

以我的電腦為例,JDK跟JRE的路徑如下:

  • JDK: C:\Program Files\Java\jdk1.8.0_65
  • JRE: C:\Program Files\Java\jre1.8.0_65

這兩個路徑對下一步設定有極大的影響,請務必確認正確喔。

3. 開啟Java環境變數設定視窗 / Open environment dialog

接下來我們要在Windows環境變數中設定相關變數的路徑。以下先講解Windows 7開啟環境變數設定的設定必須從以下步驟進入:

  1. 我的電腦 > 右鍵 > 內容
    image
  2. 開啟左邊的進階系統設定
    image
  3. 選擇「進階」頁籤,進入「系統變數」。
    image
  4. 如果開啟「環境變數」的對話視窗,那就是找對位置了。
    2016-01-06_001640
  5. 我們主要要修改的內容是下面的「系統變數」。

其他Windows平臺的設定方式,可以參考Java撰寫的「我要如何設定或變更 PATH 系統變數?」。

Windows設定環境變數的方法埋在很深的地方,不少人都找不到哪裡設定。即使到了Windows 7,這個問題也看不到微軟會想改善的樣子,真是欺負新手啊。

4. 設定Java環境變數 / Set Java environment variables

新增系統變數 / Add new system variables

首先我們先來新增三個個系統變數。請按「新增」按鈕來新增系統,如下圖紅框所示。

2016-01-06_002005

在「新增系統變數」對話視窗裡面,「變數名稱」輸入要新增的變數名稱,「變數值」則是輸入路徑,完成請按下「確定」。

image

接著請依序新增二個環境變數:

  • PENTAHO_JAVA_HOME:請輸入JDK的路徑,例如
    C:\Program Files\Java\jdk1.8.0_65
  • JRE_HOME:請輸入JRE的路徑,例如
    C:\Program Files\Java\jre1.8.0_65
編輯Path變數 / Edit Path variable

再來我們要設定Path變數。首先在「系統變數」裡面選取Path,然後按下「編輯」按鈕。如下圖所示:

image

然後我們就會看到Path的變數值,非常長。

image

我建議把這個變數值複製到筆記本中去編輯,編輯完成之後再貼回去。我們要在Path的路徑後面再加上分號與JDK底下bin目錄的路徑。舉例來說:

  • JDK包含bin目錄的路徑是:C:\Program Files\Java\jdk1.8.0_65\bin
  • 修改後Path的路徑就是(紅字的部分是新增的路徑,前面還要加一個分號;):C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\Ulead Systems\MPEG;D:\Program Files\TortoiseGit\bin;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\Java\jdk1.8.0_65\bin

image

確認修改完成之後,再按下「確定」,確認並關閉對話視窗。

必須特別注意的是,請不要複製我的Path變數值到你的電腦來用。因為Path變數值包含了其他程式需要的運作環境,如果被修改的話會導致其他程式無法正常運作。

5. 重新登入以使得環境變數生效 / Relogin to enable environment variables

image

修改系統環境變數一定要登出再登入之後才會生效,所以請花點時間登出並登入吧。

題外話,Linux可以用source /etc/profile 來使得環境變數生效,這點Windows就比較麻煩。

6. 修改Pentaho啟動腳本 / Revise Pentaho startup script

許多人無法直接開啟Pentaho的主要原因,在於Pentaho對Apache Tomcat要求的記憶體過高,所以電腦開不起來。Pentaho community 6對記憶體的要求為2GB到6GB之間,但其實只要512MB到1GB之間的記憶體即可。以下來說明如何修改。

下載Notepad++ Portable / Download Notepad++ Portable

要修改Pentaho啟動腳本,請先準備好純文字編輯器,在這裡不能用筆記本來修改。我推薦使用Notepad++ Portable:

image

修改start-pentaho.bat / Edit start-pentaho.bat

接著用Notepad++來開啟Pentaho安裝目錄底下的「start-pentaho.bat」。

image

你可以注意到裡面有個設定叫做:

set CATALINA_OPTS=-Xms2048m -Xmx6144m  -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -DDI_HOME=%DI_HOME%

這個-Xms表示所需要的最小記憶體量,-Xmx則是最大記憶體量。讓我們來修改這個設定成為以下結果,請注意藍字修改過後的地方。

set CATALINA_OPTS=-Xms512m -Xmx1024m  -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -DDI_HOME=%DI_HOME%

儲存start-pentaho.bat,這樣就可以了。

附帶一題,如果你電腦設備允許的話,記憶體當然是越大越好。在這邊只是說明最小需求的安裝方法而已。

7. 啟動Pentaho / Startup Pentaho

接著我們再回來Pentaho安裝目錄,執行「start-pentaho.bat」。

image

接下來應該會跳出黑底白字的Tomcat主控臺視窗,然後稍等它一下即可。

image

如果看到以下訊息,就表示Tomcat已經準備完成:

2016/01/06 07:47:37 – General – Creating repository meta store interface

2016/01/06 07:47:37 – General – Connected to the enterprise repository

如果沒有Tomcat主控臺出現 / If Tomcat console does not appear

如果你沒有看到這個黑底白字的框持續出現,而是瞬間就關掉,那就是之前的安裝方法有錯誤了。

image

查看錯誤的方式是從命令提示字元中去開啟start-pentaho.bat。然後再看它給的錯誤訊息來偵錯吧。

8. 開啟並登入Pentaho網頁 / Open Pentaho website and login

確認Pentaho已經正常啟動之後,我們就可以開啟Pentaho網站來登入系統了。

Pentaho預設是以8080連接埠提供服務,在本機上請開啟這個網址:

image

順利的話就會看到這個畫面。預設登入帳號與密碼是:

  • User Name: admin
  • Password: password

image

最後就能夠開始使用Pentaho了!以上安裝步驟大功告成!


結語:為什麼要用商業智慧? / Conclusion: Why I want use Business Intelligence?

雖然說巨量資料的盛行讓資訊視覺化的重要性又再度被重視,但是在早期的時代中,許多人都已經使用商業智慧系統來對大量資料進行分析。

我在做的數位學習議題──主要是在KALS的數位閱讀議題上,也常常會有分析資料的需求。這個分析並不只是單純的學習成效跑推論統計,而是更基本地、需要從即時圖表來瞭解使用者整體概況的需求。因此我也需要一些工具來輔助我分析KALS的資料。

雖然現在有許多工具可以用來做資料視覺化,像是D3.js,但是它的強項在於特殊分析與特殊圖表的展現,卻並不具備與資料庫之間整合,或甚至是調整資料來源篩選、重新查詢等其他功能。(題外話,如果對資訊視覺化很有興趣的話,我推薦訂閱「資料視覺化」blog,以及「視覺化資料: 100%全腦吸收大數據, 直入神經元」這本書) 資訊視覺化的工具大多只注重最前端的呈現,卻不能滿足整個分析流程的需求。

所以現在我跟實驗室的學弟選擇使用開放原始碼的商業智慧分析系統Pentaho。但由於系統功能繁雜,目前尚未能夠做到我們想要的目標,仍在持續研究中。有機會再跟大家分享。

(more...)

新的一年,再次體會到Blog的重要性

布丁布丁吃布丁

新的一年,再次體會到Blog的重要性

IMG_20151231_133323

借用實驗室小白板的賀圖,祝大家新年快樂。這篇我想聊一下對於Blogger的一些想法。


Windows Live Writer,掰掰。你好,Open Live Writer

在2015年中的時候發生了一件令許多Blogger作者都感到困擾的問題:Google修改了安全性設定,導致Windows Live Writer無法連線。這個問題雖然後來有迂迴的解決方法,但是在年底的時候這個方法又再度失效。

image

在這段期間,微軟把久未更新的Windows Live Writer釋出到GitHub上,而這工具也重新命名為Open Live Writer。跟Windows Live Writer簡稱WLW一樣,Open Live Writer也被大家簡稱為OLW。

回到剛剛說的問題,Google關閉Blogger傳統認證方式、導致WLW無法連線的問題,同樣也發生在OLW上。但是開放原始碼的OLW仰賴活躍的開發者社群,很快地找到了解決Blogger連線的方法,讓使用WLW撰寫Blogger的廣大作者們有了繼續撰寫Blogger的出路。

image

OLW雖然解決了Blogger連線的問題,但是還有兩個WLW使用者非常在意的功能尚未實作:一個是外掛(Plug-ins),現在仍只有空的網站;另一個是標籤(Tag),如下圖所示:

image

我剛剛才發現最新版的OLW允許作者自行新增標籤,但是並無法讀取Blogger上既有的標籤內容,仍有改進的空間。

WLW已經一去不復返,在這2016年的開始,就讓我們用期待的心情,繼續關心OLW的改版吧。


Blogger啊,我回來了!

hqdefault

(圖片來自GP02A的核彈攻擊影片,是鋼彈0083星塵回憶的名臺詞)

由於WLW時常故障,加上我也忙於其他外務,很難找到足夠坐下來寫個Blog的時間。就像是這篇本來只是想隨筆一下,卻也寫了兩個小時之久。因此2015年就比較少在Blogger上動筆。

雖然不能長時間寫一篇文章,但是我卻有個工作中隨手記錄工作日誌。很久以前是用Plurk,後來改用了Facebook。我會以一篇簡單的留言開頭,將工作中不斷把各種資料、想法、進度都以回應的方式回覆在那一篇下面。我可以藉此知道自己接下來要幹什麼事情,上一件事情做了多久。對我來說,這是另一種番茄鐘工作法的應用。

image

不過在Facebook記錄自己的工作日誌有個最大的問題:難以搜尋雖然Facebook在2014年發佈了全文搜尋功能,但現在不知為何完全不能使用。上次我想找自己分享的質性研究分析工具oTranscribeQCAmap,竟然只能用瀏覽的方式慢慢往回捲來找,真是令人困擾。如果以前發表過得內容不能透過搜尋或整理的方式來回顧的話,那這個工作日誌的價值就被大打折扣了。

image

事實上,即使將Facebook的資料設為公開、留言也設為公開,沒有登入Facebook的話,就連留言也都看不到。

相較之下,在Blogger寫的東西不僅容易被搜尋(是的,請用Google搜尋,不要用Blogger站內功能搜尋),還會有很多網站幫我備份我寫過的內容。在Facebook一直想要封鎖公開資料的時代中,Blog又再度彰顯了他的重要性。這件事情也讓我重新體會到寫Blog的價值。


「布丁布丁吃什麼?」的調整

在超級忙碌的2015年終於告一段落之後,我也以OLW可以連線Blogger作為一個契機,又開始對「布丁布丁吃什麼?」進行調整。

新網域名:blog.pulipuli.info

2016-01-05_000607

有人注意到嗎?「布丁布丁吃什麼?」的網址已經從Blogger預設提供的pulipuli.blogspot.tw變更為blog.pulipuli.info了。

這是我在goDaddy上購買的新網域:pulipuli.info。選擇名稱的原因是因為我覺得pulipuli很好記,而info是information的簡稱,也很符合我現在主要是在圖書資訊領域(library and information science)工作的代表。

購買pulipuli.info費用是美金1.99一年,再加上一些其他的服務,總共是一年10美金左右。我在goDaddy上購買網域之後,它還提供了很多其他服務。除了可以設定Blogger的網址之外,購買網域還有幾個好處:

還可以彙整各種網站來簡化網址長度,寫在名片上會很好看:

自行購買網域的作法在網路上非常盛行,我是參考以下幾位作者的作法來設定的:

購買網域時有很多要注意的地方,例如.tw代表臺灣結尾的網域,價格其實非常昂貴。個人網站大多是以.idv (代表indivual 個人),但可惜pulipuli.idv已經被註冊走了,所以也沒得使用。總之我也還是個購買網域的新手,就讓我用一個一年再來回顧看看吧。

為什麼要購買網域?

這不是我第一次想要購買網域了。

我在高中的時候也有想要購買網域的念頭。那時候在奇摩免費空間架設了「最終兵器少女」的粉絲網站「千瀨小站」,當奇摩免費空間收掉的時候,我也在考慮自行用家裡電腦當做伺服器來架設網站,並購買網域作為專屬網址。可惜那時候還小,不會用信用卡購買,也不好意思對不算富裕的家裡開口要錢,所以作罷。

而這次則是因為Google對Blogger的設定一改再改,加上Google在2015年調整了許多服務,讓我一度懷疑Google是否要把Blogger也關掉,好方便他推展Google Plus。如果真要面臨Blogger的關門,那我除了要考慮下一個遷移地點之外,還要避免因為換一個服務而改掉網址,因此放棄一個已經是我自己重要代表的一個成就。因此我需要一個固定的網址,來作為能夠代表自己的「Homepage」,最後就買了網域 pulipuli.info。

令人值得慶幸的是,將網址改成「blog.pulipuli.info」之後,並不影響原本「pulipuli.blogspot.tw」的網址。Blogger會很聰明的把連線到「pulipuli.blogspot.tw」或甚至是早期使用的「pulipuli.blogspot.com」通通轉移到「blog.pulipuli.info」。當然,個別文章的網址也有這樣子的轉換。此外,Blogger內建的統計資料以及之前設定的Google Analytics也仍然能夠繼續沿用。

2016-01-05_003729

要說轉換後帶來的問題,大概只有網域名稱價值要重新累積就是了。根據$iteprice.org的計算,我最高價值的網域是pulipuli.blogspot.com,價值$285。而被調整後的pulipuli.blogspot.tw則是價值$198。最近才更新的blog.pulipuli.info價格跟前者差不多,是$185。還好我不是要給商業公司擺廣告的網站,不然這樣就虧大了。

其他的調整

「布丁布丁吃什麼?」還做了什麼調整呢?接下來,我想讓Blog更加簡單一點。我拿掉了已經不太更新的Plurk框,捨棄了使用已久的布丁式Blogger自動摘要功能,關閉了側邊欄可以開關的功能(這功能是很久很久以前做的,那時候甚至還沒有jQuery)。希望讓整個Blog打開的時候就像是讀完一樣,不要還要再等他動來動去。

這樣做的原因是歸功於現在電腦的進步。講個現在讀者應該很難想象的小故事:其實在Windows XP、仍使用IE 6的時代中,開啟原始的「布丁布丁吃?」(那時候仍是這個名字)的時候,IE 6會當機。但是時代已經來到了2016年,每個人的Blog不僅掛滿各種廣告,社群分享按鈕滿天飛,甚至留言板還同時用了二到三個 (原生的、Discuz、Facebook)。即使是這樣資料量龐大的網頁,讀者依然是來去自如,不覺得有任何不便。所以,我也在想,是不是我也差不多改做些取捨了呢?

接下來我還會找有空的時候繼續調整「布丁布丁吃什麼?」,一步一步慢慢來吧。

image

至少現在旁邊最新回應的功能就出了問題了orz。


結語

最近在上英文寫作的時候,老師強調英文寫作的邏輯性,讓我有很大的啟發:

  1. 一個段落只能有一個主題句(Topic sentence)
  2. 後續的句子是為了補充主題句,叫做補充句 (Support details)
  3. 一個段落最後一句是呼應主題句,就是結論(Conclusion)
  4. 句子跟句子之間的主詞或受詞必須連貫。如果發現下一個句子的主詞與受詞跟上一句完全沒有關係,則應該換下一段。

從上述規則來看,我寫Blog一點也不嚴謹。如果我連中文寫作的邏輯都沒有掌握好,要怎麼踏入英文寫作的領域呢?因此這也是我今年需要努力的一個重要目標。

不管怎麼說,就從寫Blog開始吧。

(more...)

序列分析工具MEPA操作介紹

序列分析工具MEPA操作介紹

2015-12-19_231147

講到滯後序列分析(Lag Sequential Analysis)的時候,說臺科大的候惠澤老師是世界第一把交椅也不是誇張的形容。今天趁著政大圖檔所博士班研究能量提升工作坊的機會跟侯老師討教了MEPA的操作,意外地發現居然如此的簡單。但操作上還是有很多細節,以下我就一步一步介紹如何使用。


多重事件記錄分析 MEPA (Multiple Episode Protocol Analysis)

2015-12-19_232558

MEPA是荷蘭最古老大學之一烏特勒支大學(Utrecht University)教育科學系的Gijsbert Erkens所開發的互動分析軟體。

MEPA是一個用於標註、對於一些口語或行為觀察資料進行編碼的靈活工具。這個程式可以用來發展觀察行為資料的編碼系統,也可以用來針對已經編碼的口語或行為資料進行各種質性與量化的分析。

作者Erkens並沒有直接在網路上公開MEPA軟體,但可以寫信去跟作者索取。(請不要跟我索取,credit回歸作者)

MEPA用於滯後序列分析

我在寫碩士論文的時候候惠澤老師就推薦我用MEPA進行分析,但是我自個兒摸來摸去也不得其門而入。今天請大師指點一二之後,立刻打通任督二脈,終於搞懂怎麼分析了。

1. 將觀察樣本存成xls

2015-12-19_233914

首先我們要先把編碼整理成MEPA可以使用的格式。如何編碼與整理成編碼序列,可以參考之前的介紹「行為編碼與序列分析」。

舉例來說,如果我們最後獲得的觀察樣本是「ABDCCBBD」,那麼就請開啟Excel,將樣本以垂直的方式輸入到Excel中。例如:

A
B
D
C
C
B
B
D

最後將檔案儲存成「xls」格式即可。不可以使用xlsx,請使用早期的xls。

以下提供範例檔案,裡面的序列僅供參考:

2015-12-20_001923

沒有Excel也可以用免費的LibreOffice Calc

2. MEPA匯入xls

2015-12-20_000135

開啟MEPA之後,開啟左上角的File,然後選擇「Read from Excel file」。

2015-12-20_000211

選擇要分析的xls檔案,例如這個data.xls。

2015-12-20_000300

接著會出現Import from Excel對話視窗。我們要設定兩個地方:

  • V4 (cat. var.)是編碼樣本,我們輸入1,表示這是Excel的第1欄。
  • row no 1 to 2500,這個2500是指有多少筆資料需要分析。如果你的Excel資料的列數算到5000,那就是有5000筆,請輸入5000。

設定完成之後按下OK。

2015-12-20_000332

主視窗往下移動,你會發現V4已經匯入了來自Excel的資料。

3. 建立分析檔案

2015-12-20_000452

接著按下上面的「Sequential」,選擇要分析的「V4」。

2015-12-20_000514

這時候會出現Lag Sequential Analysis滯後序列分析輸入視窗,請按下「OK」。很多參數設定還要再研究,但至少我確定那個lag of analyis是1沒錯。

2015-12-20_000528

這時候MEPA會顯示錯誤,這是正常現象。

2015-12-20_000641

接著開啟你輸入檔案的資料夾位置,如果是「data.xls」的話,旁邊應該可以找到新增的「data.ana」。請使用記事本軟體,例如Notepad++ Portable來開啟。

2015-12-20_005204

能看到這個畫面,表示結果正常出來了。

2015-12-20_005458

畫面往下拉到「Adjusted Residuals Table」,這就是我們要的答案。

4. 繪製序列轉換圖

上面範例的調整殘差表(Z-scores)如下:

  A B C D
A

15.70

3.17

-10.82

-9.77

B

-2.99

-15.15

24.14

2.88

C

-2.99

3.10

-8.20

6.74

D

-9.63

9.78

-6.24

-0.27

其中有大於1.96的序列轉換表示有顯著,我以紅字標示,列出結果如下:

  • A > A: 15.70
  • A > B: 3.17
  • B > C: 24.14
  • B > D: 2.88
  • C > B: 3.10
  • C > D: 6.74
  • D > B: 9.78

根據上述序列,我們將各個行為畫成圓形節點,序列轉移顯著程度則是用粗細不同的線條來表示,越粗表示序列轉移越顯著(Z-score越高),沒有連線表示沒有顯著序列轉移。

2015-12-20_011343

結果就是這樣子了。


MEPA跟我寫的工具有何差別?

image

剛剛試著拿MEPA跟我之前寫的序列分析工具來比較,發現結果差異甚多。看來我的程式應該要檢討了。

建議大家以後都用MEPA來分析吧。

(more...)

想來研究一下Windows Store的APP開發

布丁布丁吃布丁

想來研究一下Windows Store的APP開發

windows-store-logo

說到APP,大家都只想得到蘋果的App Store跟Andorid的Google Play (至於Firefox OSMarketplace……我只能說R.I.P.),但是其實Windows仍然是大多數人使用的作業系統。而且不管怎麼緬懷Windows XP還是Windows 7,更新的Windows 8甚至是Windows 10還是鋪天蓋地的入侵每個人的電腦,也是現在購買Windows設備的預設作業系統。

Windows 8之後的作業系統跟以前比起來最有趣的特色,我想就是加入了Windows Store的功能,讓大家可以開發APP。


為什麼會想要在Windows上開發APP?

其實在Windows上開發exe的桌面版APP並不是什麼特別的事情,但是真要開發的話,還是要學習另外一套開發工具跟流程,像是Visual Studio (恭喜Visual Studio開放原始碼了)。

image

然而最近因緣際會開始研究起PhoneGap (Cordova),而且用Onsen UI (最近推出的Onsen UI 2很棒喔)做了一個感覺還可以看的APP,也上架到了Google Play上。

PhoneGap的特色就是以HTML5開發,就能做成不同平台的APP。在PhoneGap Build上就直接提供了iOS、Android、Windows Phone三種不同的平臺,使用Monaca還能多編譯成Chrome Extension (擴充套件)跟Windows App。如果自行配置PhoneGap編譯環境的話,還能夠編譯成其他6種平臺的APP,包括BlackBerry黑莓機、Bada、Symbian、webOS、Tizen、Ubuntu Touch (這是從Wiki找來的資料,但是我記得還有更多)。這讓我開始興起朝向其他系統邁進的念頭。

成為開發者的費用

overview_hero

要成為一個APP開發者並不是自己說說就是,而是必須要在各個平台繳交保護費……呃,是上架維護費。

Google Play的開發者註冊費用是眾所皆知的便宜。只要繳交25美元,就可以終身成為開發者。但是其他平台可就沒這麼友善了。

App Store的個人開發者每年要繳交99美元,而Windows Store則是個人每年要繳交19元。這種以年計費的付費方式,真是讓我這種想要淺嚐即止的輕度開發者望之卻步。

微軟的學生方案

不過經友人介紹,我才發現微軟有對學生提供相當優惠的方案,計畫的名字叫做DreamSpark,學生身份申請完全免費。

根據aclicerp寫的介紹,我以學校信箱申請DreamSpark的帳號,然後就能夠取得一串免費的兌換代碼。再來進入到Windows Store Developer申請開發者帳號,申請時就可以用兌換代碼來取代原本需要付的5百多台幣年費。

2015-12-18_122841

現在我終於成功看到Windows Store Developer的開發畫面,雖然跟Google Play Developer Console有很多相似的功能,但是似乎沒有Google的好用?

總之今天就先研究到這邊,那天真的上架了再來跟大家說吧。

(more...)

Open Live Writer已經可以登入Blogger

布丁布丁吃布丁

Open Live Writer已經可以登入Blogger

各位Blogger的朋友好,有件很開心的消息要跟大家宣佈。

image

我們可以用Open Live Writer來登入Blogger了!

image

Open Live Writer下載

可以從以下連結下載:

遇到(403) Forbidden的處理方法

2015-12-17_220231

由於Google提供的API有所變更,現在Open Live Writer是採用OAuth的方式登入。一開始建立Blog帳戶的時候,我們只是在網頁上透過OAuth登入Blogger,並沒有在Open Live Writer裡面保存帳號跟密碼。所以過一段時間再繼續使用Open Live Writer的時候就會出現以下錯誤訊息:

Can’t publish files
The remote server returned an error: (403) Forbidden.

所以開始使用Open Live Writer之後,請記得再做一次更新帳戶的動作。作法如下:

1. 開啟Option

image

2. 編輯Blog

image

進入左邊的Accounts,選擇你的Blog,按下右邊的Edit按鈕。

3. 更新帳戶資訊

2015-12-17_221539

這時候你看到Use name應該是一串亂碼,而不是你的Gmail帳號。這是你的GUID,OAuth用這個來辨識你的身份,所以是正常的。

但是你會發現Password卻是空白,這就是問題所在。

請按下「Update account information」按鈕繼續。

4. 設定密碼

2015-12-17_221922

在這個對話視窗中請輸入你的密碼,打勾「Remember my password」,然後按下「Next >」 繼續。

接下來就跟新增Blog帳戶的流程差不多,一樣會開啟OAuth確認,然後就完成。

以後就不會遇到(403) Forbidden的問題了。

Open Live Writer的問題

Open Live Writer雖然是Windows Live Wirter的開放原始碼版本,但是很多功能跟Windows Live Writer還是有差別。

外掛 / Plug-in

2015-12-17_190437 2

最麻煩的就是外掛功能(Plug-in)還不能用。目前的Windows Live Writer的Plugin都是設定Windows Live Writer的路徑,所以沒辦法使用我常用的Dynamic Template功能,感覺很多寫作格式都綁手綁腳orz

image

如果插入plugin的時候會帶出這個網頁,目前沒有東西。關於Plugins的討論在這邊,有開了一個儲存庫,但目前尚未有東西。

標籤 / Label

2015-12-17_191014

另一件事情就是Open Live Writer還沒有支援label功能,也不能幫文章做分類。

這個問題的討論在這裡,原因是因為Google把Label的API移走了,導致目前無法加入這個功能。

2015-12-17_215918

但是在Blogger自己的平臺上可以用標籤的功能,因此也有人認為其實只是還找不到API在哪裡而已。

 

總之目前終於可以用了!我覺得很開心,又可以來寫Blog了!

(more...)