:::

修復Linux開機啟動程序initrd錯誤的問題 / Fixing a Broken initrd in Linux

布丁布丁吃布丁

修復Linux開機啟動程序initrd錯誤的問題 / Fixing a Broken initrd in Linux

2013-08-20_22-26-51

這篇是解決Linux開機時遇到啟動中找不到開機啟動程序,而出現「mount: could not find filesystem ‘/dev/root’」的解決方法。具體方式都是參考troy’s unix space的「Fixing a Broken initrd in Linux」。以下是記錄我自己的解決方式。

This is the solution when you encounter Linux boot failed with "mount: could not find filesystem ‘/dev/root’". The details are reference "Fixing a Broken initrd in Linux" in troy’s unix space. Following is my problem solved steps.


問題敘述 / Problem

  • 作業系統:CentOS 5 (不確定是5.幾版),編號是CentOS (2.6.18-164.15.1.e15)←注意這個編號,這在開機畫面中會看到,之後我們會用到這個編號喔。
  • 硬碟:使用PATA的IDE硬碟掛載,編號為hda
  • 操作環境:這是我在做P2V當中遇到的問題,修復過程都是在VirtualBox 4.2.6中完成。

我印象中之前是使用Clonezilla把實體機器上的CentOS複製到VirtualBox的VDI,以完成P2V (Physical-toVirtual)的作業。不過不知道是不是Clonezilla複製的過程有些問題,複製到VDI,確認硬碟位置與實體機器相同之後,我把它啟動時遇到了以下的錯誤訊息:

2013-08-20_22-26-51

(上面為止的都是正常啟動訊息)

Unable to access resume device (LABEL=SWAP-hda2)

mount: could not find filesystem ‘/dev/root’

setuproot: moving /dev failed: No such file or directory

setuproot: error mounting /proc: No such file or directory

setuproot: error mounting /sys: No such file or directory

switchroot: mount failed: No such file or directory

Kernel panic – not syncing: Attempted to kill init!

到此為止,系統就不能運作了。

我把錯誤訊息上網Google了一下,馬上就找到「Fixing a Broken initrd in Linux」這篇的解法。以下就是操作的過程。

Step.1 用CentOS光碟進入Linux救援模式 / Ener Linux Rescue Mode By CentOS Installation CD

我之前也有用救援模式(rescue mode)來修復無法啟動的CentOS,不過那時候是用fsck修復檔案系統(filesystem),這次是要修復開機啟動程序(initrd)。

2013-08-20_22-45-39

我這次一樣使用CentOS 5.2安裝光碟,從光碟開機之後看到以上畫面,接著輸入以下指令:

linux rescue

接著設定語系、鍵盤與網路。本次修復不需要用到網路,所以網路我就不開啟了。

2012-04-23_235030 continue

最重要的是選擇如何掛載原本的系統,畫面如上圖(我借用以前我自己修復過程的圖片)。請選擇「Continue」,救援模式會把原本的系統掛載到「/mnt/sysimage/」中。

2013-08-20_22-46-50

接著會進入指令列,輸入以下指令

sh-3.2# chroot /mnt/sysimage/

這樣就進入原本的系統中了。接下來我們要開始修復囉。

Step.2 備份開機映像檔 / Backup Boot Image File

會發生這個問題,是因為CentOS的開機映像檔毀損了。所以這篇文章的目的在於修復CentOS的開機映像檔。

開機映像檔的位置在 /boot 中。依照Linux版本不同,裡面會有不同編號的檔案。我上面有提到要特別注意CentOS的編號「2.6.18-164.15.1.e15」,以這個例子來說,我的檔案就會是「/boot/initrd-2.6.18-164.15.1.e15.img」。

我們在此先備份這個壞掉的開機映像檔,以免待會修壞了無法還原吧。

mv /boot/initrd-2.6.18-164.15.1.e15.img /boot/broken-initrd-2.6.18-164.15.1.e15.img

 

Step.3 建立開機映像檔 / Using “mkinitrd” Create Boot Image File

接著我們要用mkinitrd指令來建立新的映像檔。指令需要輸入兩個參數,一個是建立開機映像檔的位置,另一個是版本的編號。以我需要的編號「2.6.18-164.15.1.e15」來說,指令如下:

sh-3.2# /sbin/mkinitrd /boot/initrd-2.6.18-164.15.1.e15.img 2.6.18-164.15.1.e15

完成建立之後,你可以用指令「ls /boot/initrd*」來確認開機映像檔是否有正確建立。

沒有問題的話,輸入指令「exit」兩次來重新啟動系統。

重新啟動的時候記得要把CentOS光碟拿起來喔。

通過開機程序 / Pass Statup Process

2013-08-20_22-53-48

之後系統就能夠順利開機了。不過來到系統裡面,我發現原本可以運作的Tomcat出了點問題。後來我重新建立一個Apache Tomcat就恢復正常,也設定了自動啟動Tomcat跟PostgreSQL。跟這篇主題不太相關,所以細節我就不多提了。

以上就是整個修復的過程。

(more...)

「布丁布丁吃什麼?」也有Android APP囉! / The Android APP Version of “Pulipuli Blog”

「布丁布丁吃什麼?」也有Android APP囉! / The Android APP Version of “Pulipuli Blog”

image

布丁的blog「布丁布丁吃什麼?」已經登上了Google Play,在此我也聊一下最近自己對於這個blog的一些感想。

The Android APP of my blog "Pulipuli Blog" had been upload to Google Play. Following is my thoughts about this APP and my blog.


Google Play下載「布丁布丁吃什麼?」 / Download APP From Google Play

31 - 2

這個APP就是前幾天我用AppsGeyser製作的結果。製作這個APP其實也沒花很多功夫,也就是把Blogger的行動版網址輸入到AppsGeyser,就能夠下載一個這樣的APP。不過比起用AppsGeyser製作APP這種懶人的作法,設計圖示反而更令我困擾啊。之後也得花點時間來研究如何設計好的圖示囉

總而言之,現在你用Android手機也能夠閱讀「布丁布丁吃什麼?」囉。這還真是自我行銷的一種手段啊。

不過比起推廣「布丁布丁吃什麼?」這件事情,我更把它當作是一個玩具在看待。也許改天有時間了,我也許會拿起PhoneGap與jQueryMobile自己手工製作一個APP,把「布丁布丁吃什麼?」APP加上自己喜歡的功能喔。到時候我也會寫blog跟大家分享這段經驗吧。

對於APP的反思 / My Thoughts of APP

當兵的時候,有一位學長在跟我講他堅持買iPhone的理由:

因為iPhone上有個時尚網站的APP,那是我時常關注的網站,所以我想買iPhone。

我對此感到困惑已久,如果只是想要獲取某個網站的資訊,你為什麼不要用RSS呢?先不論很多人並不知道RSS這個工具的這點,許多資訊提供者(包括圖書館與建置數位典藏的那些人)都抱著「你要資料,請來我這裡」的高傲想法,逼迫使用者必須要用他們設計的介面、用他們建立的瀏覽方式,讀者才能獲得他們的資料。

這種APP也是如此。以「布丁布丁吃什麼?」來說,這個APP也沒有提供什麼功能,只是從最新文章開始往下閱讀、瀏覽而已,連搜尋功能都沒有提供。但如果是某些情況下,大家要取得「布丁布丁吃什麼?」的資料,那就得遵循這個APP的遊戲規則才行。

老實說,我不是很欣賞這種作法。更明白地說,我其實不建議大家去下載目前的「布丁布丁吃什麼?」APP。你可以直接從網頁瀏覽器來開啟「http://pulipuli.blogspot.tw」,也可以用RSS來追蹤「布丁布丁吃什麼?」的最新動態。不過我更推薦的是,用Google搜尋吧。

用RSS來把握「布丁布丁吃什麼?」的最新動態 / Using RSS To Follow Pulipuli Blog

要追蹤「布丁布丁吃什麼?」的最新資訊,我建議用你可以用RSS:

要訂閱這個RSS,你需要選擇一個RSS的工具。在Google閱讀器關閉的現在,你也有其他方案可以選擇:

要在Android上閱讀RSS,除了用Feedly的Android版本之外,我也很推薦好用的gReader:

用社群網站來追蹤「布丁布丁吃什麼?」的最新動態 / Follow “Pulipuli Blog” In Social Website

雖然我很喜歡RSS,不過這年頭似乎趨勢是封殺公開的RSS標準,轉向封閉型的社交網站。為了迎合這股風潮,「布丁布丁吃什麼?」在兩大社交網站上也有自己的粉絲團:

image

赫然發現我忘記用IFTTT把Blogger的訊息轉到Facebook粉絲團中,所以粉絲團資料是空的orz

image

我記得我好像設定了HootSuite,所以Google+專頁上充滿了我的Blog文章以及Plurk發言

用Google搜尋來找「布丁布丁吃什麼?」的文章吧 / Don’t Browse, Search It!

image

嗯,常常看我文章的讀者應該知道,比起追蹤「布丁布丁吃什麼?」的最新動態,我還比較推薦讀者直接用Google等搜尋引擎搜尋你要的資料就好。而且請不要用Blogger提供的搜尋功能,那功能找的資料比Google搜尋還要差得許多。

我寫blog的方式並不是有堅持特定主題,或是以某種組織架構連貫而成。除了少數幾篇我會把文章拆成幾個部分來撰寫之外,大多數文章我都是希望能夠獨立呈現。這篇文章自己就應該是一個完整的論述,而其他相關資訊則以超連結呈現。

關心作者的近況 / Follow Pudding’s Status

如果想要了解國內圖書資訊學的近況,那時常關心中華民國圖書館學會的電子報,那我覺得很合理。不過因為「布丁布丁吃什麼?」是一個個人興趣而撰寫的網誌,除了我自己之外,我想不到有什麼理由需要會讓人需要追蹤最新動態就是。

如果要關心我個人的話,那我會比較建議你看我的Plurk比較直接喔。

image


結語:「能寫blog真是太好了呢」 / Conclusion: “It’s really great that you write blog.”

這顆布丁是在無聊的世界中找尋樂趣的一種不能吃的食物。喜歡動漫畫、喜歡遊戲、喜歡程式、喜歡跟世間脫節的生活步調中,撰寫blog──布丁布丁吃什麼? http://pulipuli.blogspot.tw/

最近幾天,我把這學期應該要分享的資料拿出來分享。這些文章大多都已經是過去的事件,但是他們有分享的價值,所以我會希望能夠在「布丁布丁吃什麼?」這個blog中,分享這些微小、不成熟,但是可能會在哪裡對某些人有所幫助的知識。

因為撰寫「布丁布丁吃什麼?」的緣故,最近也是遇到許多預期之外的好事。更讓我深信,在這不起眼的blog中分享我的所學所得,這是有所價值的行為。

「布丁布丁吃什麼?」從2005年12月25日(居然是聖誕節)

也許哪一天我會無法繼續撰寫文章,也許哪一天我也會離開這個世界。不過至少,我在這個blog中留下了活著的痕跡。「布丁布丁吃什麼?」就是我想要改善這個世界的,小小貢獻。

(more...)

有意義的學習:概念圖介紹 / Meaning Learning: Introduce Concep Map

布丁布丁吃布丁

有意義的學習:概念圖介紹 / Meaning Learning: Introduce Concep Map

image

這是我在個別研究中的報告。為了從建構取向評估閱讀學習的成效,我打算使用概念圖作為評估的工具。這份投影片介紹概念圖的教學與評量的方法,並提出概念圖的延伸應用。

This is my report in "Individual Study". To evaluate the effect of reading from constructivist approach, I intend to use concept map as an evaluation tool. In this slide, I introduced how to use concept map to teach and evaluate, and I propose other application of concept map.


參考書目 / Bibliography

余民寧(1997)。有意義的學習 : 概念構圖之研究。臺北市:商鼎文化。

概念圖介紹 / Introduce Concept Map

        摘要 / Abstract

        影響學習的一個最重要因素即是學習者已經知道的事(what the learner already knows),只要確信「」是什麼,並且以此作為教學的依據即可。

        心理學家Asubel (1968)

        在概念圖的觀點裡面,學習的目的並不是讓學習者達成一個指定的目標,而是讓他們在自身已經有的知識架構上,添增更多學習的成果,讓自己的知識架構更趨完善。余老師將概念圖(即是書中所指的概念圖,或說是心智圖)稱之為有意義的學習。

        這份投影片介紹何謂概念圖,要如何進行教學,以及最後利用概念圖作為評量的方式。其中我覺得評量是最有趣的地方,很多人會利用概念圖來進行教學,但是也很多人都不知道概念圖也可以作為評量的工具。概念圖能夠將非結構化的學習成果以結構化的方式具體呈現,並基於教育理論基礎而規劃出一套計分原則,就能夠將學習成果以量化的方式進行統計。

        最後我基於在概念圖中學到的東西提出幾個發想,也許未來有朝一日可以繼續深入研究。

        心智圖的繪製教學 / Teaching Concept Map

        後來我在進行實驗室製作了一張概念圖的教學投影片。在此我把概念圖稱作現在比較流行的名詞「心智圖」。這份心智圖是以水的三態變化作為主題,不過這樣的教學我自己覺得仍有所不足就是了。


        結論:難以駕馭的概念圖 / Conclusion: Restive Concept Map

        在我看到實驗室的學妹把概念圖作為研究的評估工具時,我就對概念圖充滿興趣。我自己使用XMind畫心智圖來規劃很多事情,包括我的研究論文。因此我知道概念圖的確是強而有力的工具。它簡單上手,又能夠把思緒結構化地呈現,以檢視我們自己的思考是否完整。在教學研究上,概念圖又可以作為評量工具,讓我們用不同的角度來檢驗學習成效。因此,我對於概念圖抱持著相當的期待。

        image

        不過實際開始應用的時候,我發現這是一個難以駕馭的工具。首先,要畫出一張概念圖就不是一個簡單的事情。有結構的學習大家都會,照著1 2 3一步一步地做就好。但是要從無結構的資料中整理出有結構的概念圖,卻不是用一句兩句「畫個節點、連條線」就能夠達到的程度。

        在把概念圖作為評量工具之前,光是教導學生如何使用概念圖,就是一個需要去思考的議題了。簡單來說,概念圖的教學沒有書中寫得那麼簡單啦,你自己畫畫看就知道了。

        儘管如此,我仍認為這是一個值得期待的工具。因為,平常就用概念圖來規劃事物的我自己,就是一個證明概念圖成效的例子了。

        (more...)

        設計研究法介紹 / Introduce Design-based Research

        設計研究法介紹 / Introduce Design-based Research

        image

        這是我在個別研究中的課堂報告。繼上次我提出了建構取向的閱讀教學鷹架之後,這次想要試著以設計研究法(design-based research)的方式來規劃實驗,並且提出這次實驗在我整體研究中的定位。

        This is my report in "Individual Study". Continued the reading scaffolding of constructive teaching, I tried to use design-based research approach to plan a experiment, and presented the progress of my overall research.


        參考文獻 / Bibliography

        翁穎哲、譚克平(2008)。設計研究法簡介及其在教育研究的應用範例。科學教育,(307),15–30。

        設計研究法與研究規劃 / Design-based Research And My Research Planning

        這份投影片先介紹設計研究法跟我們實驗室常見的準實驗研究法的不同。我覺得設計研究法是站在比較大的角度來看待研究的整體歷程,而準實驗研究法則是小部分、但是較為確實的研究方法,兩者的關係是上下位的互補,而非衝突。

        image

        投影片後半部則是介紹我想要如何規畫這份研究,以及後面仍需要進行的工作。


        結論:被誇大的設計研究法 / Conclusion: Exaggerated Design-based Research

        自從CSCL & CSPL 2013聽完翁老師報告設計研究法之後,我的指導老師就開始熱衷於探究設計研究法。基於這股風潮,我也來看一下何謂設計研究法。看了幾篇以設計研究法之名進行的研究,總覺得設計研究法有點被誇大其詞。有些時候只是設計不良、要觀察什麼都不知道的單組實驗研究法,也被說是一種設計研究法。我自己是覺得有點微妙,可能是我對於設計研究法的認識仍不夠透徹。

        設計研究法基於理論建立產品,進行實驗蒐集資料以改善產品的這種研究週期,這是適用於長期、大型、多人的研究方式。也許對希望能夠在兩年之內就能畢業的研究生來說,沒有必要把自己的論文擴大到短時間難以掌控的份量。不過對我來說,用宏觀的角度來看待每一次的研究,的確是有其必要性的。

        (more...)

        閱讀最佳化路徑知識萃取:使用螞蟻演算法 / Extracting the Best Path Of Reading: Using Ant Algorithm

        布丁布丁吃布丁

        閱讀最佳化路徑知識萃取:使用螞蟻演算法 / Extracting the Best Path Of Reading: Using Ant Algorithm

        image

        這是個別研究課堂中的一份報告。我想要用螞蟻演算法來提出推薦閱讀順序的機制,所以我先介紹螞蟻演算法的作法,然後提出應用到閱讀標註學習上的作法。

        This is my report in "Individual Study". I want to develop a method based on ant algorithm to extract the recommend path of reading. In this report, I introduced ant algorithm and design a application of reading.


        參考書目 / Bibliography

        林振展(2008)。應用自然界螞蟻的經驗分享機制萃取個人化推薦知識之研究(未出版之碩士論文)。銘傳大學:銘傳大學資訊工程學系碩士班。

        投影片:閱讀最佳化路徑知識萃取 / Slide: Extracting the Best Path Of Reading

        摘要 / Abstract

        image

        這份投影片先介紹最經典的最佳化路徑問題:旅行銷售員問題(Traveling Salesperson Problem)。再將問題轉換為數位學習教材選擇的路徑,並介紹林振展同學是如何應用螞蟻演算法來求出推薦給學生的最佳教材閱讀順序。然後我再把問題對應到閱讀標註的學習情境中,試著提出以螞蟻演算法推薦文章閱讀順序的作法。這個作法在能夠分析大量閱讀資料的時候會變得相當有價值。

        image

        不過接著我也對此提出了反思:「找出最好的閱讀順序,是教師的責任嗎?」我認為如何安排閱讀文本的責任,應該是落在作者身上。而我們教學者提出閱讀順序的用意,其實是在刺激學習者,讓他們自行能夠找尋屬於自己的閱讀方式。

        簡單來說,我覺得閱讀沒有最佳的固定順序,但是卻有如何促使讀者自行找出最佳順序的方法。這就是從「唯一最佳解」的行為主義演化到「讀者自己的最佳解」的認知主義,也是我接下來要研讀的方向了。


        結論:學無止盡的理論 / Conclusion: Countless Theories

        做研究的時候,我們不只是觀察表面的行為,更重要的是要能夠看到人們背後的認知。要認識這些抽象的認知概念,那就必須要有理論為基礎。心理學用了許多方式解釋人類的認知,而教育理論則是進一步把人類的認知聚焦於學習的意圖。我試著想幫圖書館的館藏資源找到人們使用它的價值,那就是學習。

        然而一旦埋頭下去,就會覺得這是深不可測的領域。認知相關理論已經發展許多年,實證的實驗也從許多方向不斷地深入探討。比起「我這個題目是否已經被做過了」的擔心,我更不願意沒能夠把握認知理論的全貌就貿然進行研究的匆促態度。

        不過後來發生一些事情,讓我對這個想法有所改觀。那就等下次有機會再聊吧。

        (more...)

        認知教學應用於閱讀學習 / Apply Cognitive Teaching On Reading

        認知教學應用於閱讀學習 / Apply Cognitive Teaching On Reading

        image

        這是我個別研究的課程中提出的報告。這份報告是希望基於認知學派的觀點,以概念圖(concept map)的方式來評鑑閱讀學習成效。我藉此提出一套從閱讀過程中建構知識體系的閱讀方式。

        This is my report in "Individual Study". Based on the cognitivism, I described a method that using concept map to evaluate the effect of reading. And I want to develop a annotation scaffold to help readers construct their knowledge.


        參考書目 / Bibliography

        李咏吟(1998)。認知教學 : 理論與策略。台北市:心理。

        閱讀之認知教學設計 / Apply Cognitive Teaching On Reading

        這份投影片先從行為學派與認知學派來看待閱讀學習,闡述我認為以認知學派看待閱讀學習的必要性。然後介紹用建構主義的方式來建構閱讀所學習的知識。而建構成果的知識體系,則可以概念圖的方式呈現。

        至於閱讀過程中要如何建構知識體系,我提出了四階段的閱讀標註鷹架。學生透過四個階段鷹架的閱讀,將可以有效地深入思考文章與自身的知識,並轉化為自己的知識體系。最後再提出合作式閱讀學習環境中利用協同過濾來設計輔助機制的方法。

        數位學習與圖書資訊學的關係 / The Relation of Digital Learning And Library

        講到這兒,我總覺得同學總是對我的報告興趣缺缺。許多圖資學的學生都覺得管好那堆館藏或是檔案就好。讀者要怎麼用,是他們的事。我對此不以為然。

        讀者會來到圖書館取用資料會有著他們的需求與目的。了解讀者的需求,然後進一步幫助他們更快、更有效地取得他們要的資料,是圖書館員不斷努力的目標。

        image

        數位學習是一個改善圖書館的著手點。而且同樣都是社會科學的研究方式,數位學習有許多研究方法是值得圖資學效法的地方。我希望圖資的學生們不要侷限於自己已經知道的知識與框架,要找到令自己成長、也能夠帶動圖資界向前邁進的方向啊。


        結論:看待研究的角度 / Conclusion: The Viewpoint Of Research

        我提出希望用學習的角度來看待圖資學的這個論點,最近曾被兩個人否定。一個人認為圖資學只要把知識架構整理好,讀者自然能夠找到他們最想要的資料。至於他們是為何而找,找到之後要做什麼,那就不是館員需要去關心的範圍;另一個人則覺得我嘴上無毛,沒有實際教學經驗也不懂教學現場,竟然妄想一步跨到教育領域來做研究。

        對我的指導老師──那位與其他圖資老師作法截然不同的老師來說,他自然有他的一套說詞與堅持。而對他底下的學生來說,也只要照著他的話來做,應該就能順利畢業。

        不過,我沒有想這麼多。我只是在想,我要整理一個好用的讀書方法,分享給那些仍有無限可能性的孩子們。於是這樣子,我就能夠對得起,以前那位不知道原來還可以這樣子讀書的自己了。

        (more...)

        合作式閱讀標註之標註行為特徵與閱讀理解關聯 / Cooperative Annotation Reading Study: Relation of Annotation Behavior And Reading Comprehension

        布丁布丁吃布丁

        合作式閱讀標註之標註行為特徵與閱讀理解關聯 / Cooperative Annotation Reading Study: Relation of Annotation Behavior And Reading Comprehension

        DSC_0767

        今年2013年3月30日舉辦了第二屆數位合作學習與個人化學習研討會 (Taiwan CSCL & CSPL Workshop 2013)。我在第二天的CSPL場次中發表「合作式閱讀標註之標註行為特徵與閱讀理解關聯」。以下是我發表的文章與投影片,以及一些研討會的感想。

        Taiwan CSCL & CSPL Workshop had been held on March 3, 2013. I presented my research “Cooperative Annotation Reading Study: Relation of Annotation Behavior And Reading Comprehension” in the CSPL session. Following is my research article and slide, and some of thoughts of this workshop.


        摘要 / Abstract

        image

        本研究欲在合作式閱讀標註學習環境中探討標註技巧、標註共識與合作互動等標註行為特徵與學生閱讀理解成效之間的關聯。因此,本研究在知識標註學習系統中規劃閱讀實驗,並蒐集學生的閱讀標註行為特徵,結果發現標註範圍長度越短、針對名詞詞性標註以及採用重點標註策略的學生,其閱讀理解成效顯著地高於其他學生;合作互動頻率偏高的學生,則有閱讀指導需求的可能性;標註範圍位置和標註共識特徵與閱讀理解成效沒有明顯關聯。本研究結果可作為未來發展基於閱讀標註之閱讀輔助學習機制的參考。

        • 【關鍵字】 標註行為特徵;合作式閱讀標註;知識標註學習系統;閱讀學習

        報告文章 / Article

        投影片 / Slide


        結論:研討會心得 / Conclusion: My Experience of CSCL & CSPL 2013

        如果知道我之前的論文在做什麼的人,應該可以發現這個題目其實是我論文的一部分。由於我的論文包含的內容比較多,在短短的研討會中難以論述。所以我從中取出機制的部份,作為合作式個人化學習的分享議題。

        image

        這算是我第二次在比較正式的場合發表我的論文。相較於CSCL的眾多聽眾,在小間教室進行的CSPL就比較小眾,我報告時也是開心地在台上一派胡言進行分享。當時聽眾還有我的論文口委侯惠澤老師,報這種閹割的內容真是有點不好意思,讓老師見笑了。

        報告完之後,主持人林秋斌教授質疑我為何不使用Diigo來進行研究,而要自己寫一個KALS。後來回家查過之後讓我鬆了一口氣,因為Diigo跟我要做的KALS方向不太一樣,兩者各有其價值。詳細討論可以看我之前的文章

        第一天晚會時,很開心地跟恒惠去跟中央大學學習與教學所的同學一起聊天。一起吐槽老師、一起搞笑,然後一起討論研究。這種交流活動真是令人開心,這就是研討會的另一種醍醐味吧。

        (more...)

        研發團隊中電子郵件典藏與知識管理系統整合應用 / Integrated Application of E-Mail Archive and Knowledge Management System In Research & Development Team

        布丁布丁吃布丁

        研發團隊中電子郵件典藏與知識管理系統整合應用 / Integrated Application of E-Mail Archive and Knowledge Management System In Research & Development Team

        clip_image001

        這是我在電子文件管理專題的期末報告:「研發團隊中電子郵件典藏與知識管理系統整合應用」。我試著應用EMAIL-KM到我現在的實驗室團隊中,並以簡單的問卷與訪談來歸納研究成果。

        This is my final report of "Electronic Records Management Project": "Integrated Application of E-Mail Archive and Knowledge Management System In Research & Development Team". I tried to apply EMAIL-KM to my current lab, and I did a simple questionnaires and interviews to summarize research results.


        報告檔案 / Report Files

        投影片 / Slide
        報告 / Report

        大綱 / Outline

        這份報告的寫法是與研究論文一樣的架構,大綱如下:

        1. 緒論:敘述為什麼我要做電子郵件典藏以及整合到知識管理系統(Knowledge Management System)的用意。
        2. EMAIL-KM 電子郵件知識管理系統:系統開發、架構與操作介紹。詳細可以參考我介紹EMAIL-KM的一篇文章
        3. 研究方法:以設計研究法為架構,採單組實驗研究法來觀察EMAIL-KM於小型研究團隊中的成效。
        4. 研究結果:從系統使用記錄、使用者意見回饋來分析成效。樣本數量不多,資料也不是很乾淨,但我還是努力分析看看。
        5. 結論與建議:歸納研究結果,整理出EMAIL-KM需要改善的缺點,以及提出未來可以進行的研究方向。

        結論:開心地寫報告吧 / Conclusion: Being Interested In Research

        因為時間因素,我投注在系統開發的時間較多,而將EMAIL-KM導入實驗室的過程中就不是很用心,因此最後的研究結果實在是難登大雅之堂。

        我本來是抱著當個小丑給大家看一下錯誤示範的心態在課堂中分享我的研究成果,不過令我意外的是,老師肯定了這份試著以正式研究的架構來進行的期末報告。「先不論資料收集的好壞,至少有個研究的型,這樣就很好了。」想想也是,課堂報告本來就是作為研究題目的墊腳石。努力地把一份報告寫成像是正式研究,也算是給學妹們一個榜樣吧。

        不過,光是有研究的型,達不到研究的水準,這可無法令我滿足啊。這份報告我寫起來非常開心。不論是開發系統、整理資料、還是報告的撰寫,我覺得投注在這上面的時間可都是一種享受。而且一想到我可以用EMAIL-KM來幫助實驗室做些事情,那麼做起來就更有動力。

        希望之後也有機會繼續朝這方向鑽研。不僅僅只是做一個好用的系統、幫助大家工作更順利,也能夠生產出一篇可以拿得出檯面、好好地跟大家分享的研究報告吧。

        (more...)

        EMAIL-KM介紹 / EMAIL-KM Introduction

        EMAIL-KM介紹 / EMAIL-KM Introduction

        image

        這學期電子文件管理專題期末報告,我製作了一個典藏電子郵件與整合知識管理的系統,稱之為EMAIL-KM。以下是EMAIL-KM的介紹。

        For completing the final report of “Electronic Records Management Project”, I developed a web system used for archiving email and knowledge management. This system is named “EMAIL-KM”. Following is the introduce of EMAIL-KM.


        EMAIL-KM操作投影片/ A Slide About EMAIL-KM Operation

        為了方便說明,我做了一份投影片,簡單介紹EMAIL-KM的主要寄信功能。

        檔案:Google 雲端硬碟Box.netSkyDrive

        第一節 系統開發 / System Development

        為了降低架設的門檻,EMAIL-KM選用的工具皆為開放原始碼軟體與免費服務。WordPress是著名的部落格管理系統之一,架設環境僅需在低階電腦配置PHP運作環境MySQL資料庫,而且WordPress擁有親切好用的操作介面以及數量驚人的外掛功能(包括了電子郵件接收器)等特色,這些都是本研究選擇WordPress的原因。為了統計系統使用狀況,本研究額外加入了Google分析的功能到EMAIL-KM中,以記錄造訪次數與人數等資訊。

        秉持學術交流的精神,EMAIL-KM以開放原始碼的形式公布在GitHub中。任何人皆可從「https://github.com/pulipulichen/email-km」網址中下載本研究開發的EMAIL-KM來自行使用。此外,功能使用上有任何問題也請不吝多多指教。

        不過必須說明的是,由於資料不便公開,GitHub上開放的只有程式碼與資料庫schema,並沒有涵括資料庫的內容資料。直接複製程式碼來安裝的話可能會有些問題。

        第二節 系統架構 / System Architecture

        EMAIL-KM的系統主要是以WordPress (WordPress Taiwan, 2013)為基礎建置而成的知識管理系統,其中內建電子郵件接收者(Mail Receiver)的外掛(Allen, 2013),再搭配免費使用的Gmail電子郵件伺服器服務而成。整體架構如圖 2所示,以下將以電子郵件典藏與知識管理系統兩種角度來介紹EMAIL-KM的運作方式:

        image

        2 EMAIL-KM系統架構圖

        一、電子郵件典藏的運作方式 / The Process of Archiving Email

        EMAIL-KM依賴Gmail接收、暫存要典藏的電子郵件,然後電子郵件接收者會定期向Gmail接收郵件,並典藏在EMAIL-KM的資料庫(Database)之中成為一篇一篇的文章(Post)。Gmail是免費的電子郵件服務,只要申請一個專用的電子郵件地址即可與EMAIL-KM搭配使用。電子郵件地址通常是以gmail.com結尾,以下以「email.km@gmail.com」為例。

        為了確保資料不會遭受垃圾郵件的入侵,僅有EMAIL-KM的註冊成員才能使用電子郵件典藏的功能。因此使用者要典藏電子郵件時,必須先確認使用者的電子郵件地址登錄在EMAIL-KM中。再來只需要將「email.km@gmail.com」加入收件者中,並加上分類標籤的描述,電子郵件的主旨、訊息與附件內容就能夠順利地納入EMAIL-KM中典藏。

        電子郵件典藏的詳細操作步驟將會於後面小節詳述。

        二、知識管理系統的運作方式 / The Knowledge Management System With Archived Email

        將典藏的電子郵件保存到資料庫之後,EMAIL-KM就能搭配資料庫中的團隊成員帳號與系統功能,提供搜尋、取用與其他應用的服務。為了避免敏感資訊外洩,EMAIL-KM預設僅能由註冊的使用者登入。

        使用者可以透過網頁瀏覽器開啟本研究架設的EMAIL-KM來使用EMAIL-KM的功能,方便地查找典藏在EMAIL-KM中的電子郵件資料,並在EMAIL-KM上進行社群互動。使用者也能夠在EMAIL-KM上直接建立文件資與管理已典藏的電子郵件。

        知識管理系統的詳細操作步驟將會於後面小節詳述。

        第三節 電子郵件典藏操作步驟 / Operation of Archiving Email

        一、寄送典藏的電子郵件 / Send Email To Archive

        當使用者要將電子郵件典藏在EMAIL-KM時,就要在收件者加入EMAIL-KM的電子郵件地址「email.km@gmail.com」。郵件的主旨與訊息將會是EMAIL-KM中文章的標題與內文。而附件也會保存在EMAIL中,成為文章的附件。圖 3是使用Gmail寄送電子郵件同時欲將之典藏在EMAIL-KM的示意圖。

        3

        3 電子郵件典藏操作示意圖:加入email.km@gmail.com

        EMAIL-KM支援兩種分類架構方式。第一種「分類」是前分類設計,由主要管理者制定出預設好的層級分類架構;第二種「關鍵字」則是後分類設計,由使用者自由建立、選擇欲描述此封電子郵件的關鍵字,可建立屬於使用者自己的分類架構。兩種分類架構在EMAIL-KM的瀏覽介面略有不同,後續小節會有詳細介紹。

        二、在典藏電子郵件時加上分類與關鍵字 / Add Catelog And Keyword Within Email

        在典藏電子郵件時,使用者即可在郵件的主旨直接加入分類與關鍵字,以利典藏進EMAIL-KM之後的後續管理。以圖 3中的郵件為例,該郵件的主旨為「[網管專區] EMAIL-KM研究團隊知識管理方案 #email-km」,即同時使用了分類與關鍵字。分類是在郵件主旨開頭加入以中括號「[ ]」包覆的分類名稱,此例中即為「[網管專區]」,意思是將此封電子郵件分類到「網管專區」;關鍵字則是在郵件主旨末端加入以井字號「#」開頭的關鍵字名稱,此例中即為「#email-km」,意思是將此封電子郵件加上關鍵字「email-km」。分類語法的設計是基於臺灣電子佈告欄(BBS)中常用的分類表現方式,而關鍵字語法的設計則是參考Twritter的標籤機制(hashtag)來表現。(Efron, 2010)

        本研究在電子郵件主旨加入分類與關鍵字的機制,不僅讓使用者容易在寄送時即可為電子郵件進行分類描述,其他收件者也希望將回信典藏到EMAIL-KM時,也會因為採用相同主旨而會擁有相同的分類架構,以確保相關的電子郵件將會置於同一分類或擁有相同的關鍵字。

        三、典藏在EMAIL-KM中的電子郵件 / Archiving Email

        EMAIL-KM的電子郵件接收者會在每1小時自動向Gmail收取郵件,使用者也可以手動操作「手動收信」功能以要求電子郵件接收者立即檢查Gmail。電子郵件接收者只會接收由EMAIL-KM註冊使用者的電子郵件地址寄出的郵件,然後將電子郵件內容轉換成EMAIL-KM文章的格式,並將文章的作者設為典藏該電子郵件的使用者帳號。接著電子郵件接收者會刪除所有Gmail上的郵件,以確保Gmail空間不會持續累積信件而無法運作。

        圖 4是EMAIL-KM典藏來自圖 3寄送的電子郵件的結果示意圖。

        4

        4 電子郵件典藏在EMAIL-KM示意圖

        第三節 知識管理系統操作步驟 / Operation of Knowledge Management System

        一、登入EMAIL-KM / Login to EMAIL-KM

        EMAIL-KM的設計是供研發團隊使用的知識管理系統,因此內容資訊是不公開的,使用者要操作任何步驟都必須先進行登入。EMAIL-KM也不允許外來使用者任意註冊,必須由擁有權限的系統管理者幫新進成員新增帳號。圖 5是EMAIL-KM的登入介面,使用者必須在帳號與密碼輸入正確的資訊,才能登入進到EMAIL-KM當中,並看到圖 6的畫面。

        5

        5 EMAIL-KM登入介面

        6

        6 登入EMAIL-KM之後的首頁

        二、搜尋文章內容 / Search Archived Email

        EMAIL-KM右上角有一個「Search」的搜尋框,使用者可以在此輸入欲搜尋的關鍵字(不一定是分類架構中的關鍵字),EMAIL-KM就會搜尋文章的標題、內文與附件檔案的名稱,再將找到的文章彙整成一搜尋結果列表呈現給使用者,並標亮使用者欲搜尋的關鍵字。圖 7即是在EMAIL-KM中搜尋「KALS」的搜尋結果呈現畫面。由於系統限制的關係,目前並不支援附件檔案內容的全文檢索功能。

        7

        7 EMAIL-KM搜尋KALS的搜尋結果

        三、瀏覽最近典藏的文章 / Browse Recent Emails

        登入EMAIL-KM之後即會看到最近典藏進EMAIL-KM的電子郵件以文章列表的方式呈現,如圖 6所示。由於EMAIL-KM是基於部落格管理系統WordPress開發而成,因此在此繼承部落格的特性,首頁即列出最新的文章內容。

        四、依照分類架構瀏覽文章 / Browse Architecture

        在EMAIL-KM的右上角有四個連結,其中前三個是EMAIL-KM的分類架構。包括「個人專區」、「知識地圖」與「關鍵字」。

        (一)個人專區 / Personal

        個人專區是以群組分類使用者帳號,可直接查詢該使用者在EMAIL-KM典藏(或說是發表)的所有文章。進入個人專區之後會看到圖 8的群組目錄。點選任一群組後會跳到該群組的位置,並顯示該群組的使用者列表,如圖 9所示。點入任一使用者之後,EMAIL-KM即會展現該使用者發表過的所有文章。圖 10為使用者「布丁」在EMAIL-KM發表過的文章列表。

        8

        8 個人專區目錄中的群組目錄

        9

        9 個人專區中該群組中的使用者帳號列表

        10

        10 使用者「布丁」的文章列表

        (二)知識地圖 / Catelog

        知識地圖是分類的瀏覽頁面。知識地圖會先描繪出分類的層級關係、計算每個分類的文章數量,再列出該分類底下最新的五篇文章。進入知識地圖之後會看到圖 11的分類層級,包含分類的名稱與分類底下的文章數量。點入任一分類之後,會看到該分類底下的最新五篇文章,如圖 12所示。點入該分類之後,分類底下的文章就會以文章列表的方式呈現。圖 13即是MIS GROUP MEETING分類底下的文章列表。

        11

        11 知識地圖的分類層級

        12

        12 分類底下的最新五篇文章

        13

        13 MIS GROUP MEETING分類底下的文章列表

        (三)關鍵字 / Keyword

        關鍵字則能依照關鍵字瀏覽文章。進入關鍵字頁面之後,會先看到如圖 14所示的關鍵字列表。關鍵字並沒有上下層級的區隔,只是依照字母順序排列,並附加統計具有關鍵字的文章數量。點選進入任一關鍵字後,可以看到具有該關鍵字的最新五篇文章,如圖 15。再點入該關鍵字後,即可以但具有該關鍵字的文章列表。圖 16即是EMAIL-KM中具有「中文斷詞」關鍵字的所有文章列表。

        14

        14 關鍵字列表

        15

        15 關鍵字與最新的五篇文章

        16

        16 具有「中文斷詞」關鍵字的文章列表

        五、訂閱最新文章 / Subscribe to Latest Archived Email

        為了促進團隊成員間的資訊交流,EMAIL-KM提供電子郵件訂閱功能。只要成員輸入他的電子郵件地址(輸入位置如圖 17所示),當EMAIL-KM典藏了新的電子郵件,或是有使用者發表新的文章時,就會立即通知訂閱的使用者。

        17

        17 訂閱最新文章功能位置示意圖


        結論:在日常業務中進行研究 / Do Research On Regular Business

        期中的時候,老師問我們修課的學生期末報告的題目。大部分的人都仍在摸索、嘗試聚焦在某個題目上,想藉由文獻整理來做一份報告。我則是回答:「我做了一個系統。」

        為了改善我日常生活遇到的問題,我已經很習慣著手去做些東西,來讓我與周遭的人工作起來更便利。不僅僅是這個EMAIL-KM,我在Blog中聊到的DSpaceGLPIZentyal等等,都是我覺得可以為大家做些什麼而去修改的經歷。

        修改之後,有些人會覺得系統更好用了。也有些人會認為,系統還有很多不夠的地方,未來仍需要繼續去修改。在我投入心力去撰寫程式碼以及大家的回饋意見之間,我在想,是不是有可能在這邊進行研究呢?

        能投到國際期刊的高水準研究是我們追求的目標沒錯,但是對於日常業務的改進,我想應該也是可以用做研究的心態來進行,並試著在開發、改善與回饋的過程中,將成果分享給大家。一起讓這世界變得更好吧。加油。

        (more...)

        電子文件管理導讀:儲存媒體與檔案格式 / Guided Reading of Managing Electronic Records: Storage Media & File Formats

        布丁布丁吃布丁

        電子文件管理導讀:儲存媒體與檔案格式 / Guided Reading of Managing Electronic Records: Storage Media & File Formats

        51H xKCzvRL

        這學期電子文件管理專題的教科書是「電子文件管理」(Managing Electronic Records),我負責其中「儲存媒體」與「檔案格式」兩章的導讀。以下是我製作的導讀投影片。

        "Managing Electronic Records" is the textbook for "Electronic Records Management Project" this semester. I introduced two chapters of this book. Following is my guided reading slide.


        電子文件的定義 / Defination of Electronic Records

        「電子文件」(electornic records)是這堂課比較需要特別說明的概念。

        「檔案」(archive)的角度來看,這是指已經典藏、保存的公文文件。而「文件」(record)則是指現行仍在使用,記錄在各種媒體上面的資料。另外,檔案的範圍較限定於公文書,而文件則比較泛指包含公文書在內的各種日常業務文件,包括書信、電子郵件、資料庫等等。

        因此本書所提到的「電子文件」涵蓋範圍非常大,這是全面性的資料儲存考量與規劃。如果說「資產管理」(Asset Management)是著重在硬體層面的管理,那麼「電子文件管理」就是著重在資料方面的保存。

        書目資料 / Bibliography

        Saffady, W., & Association of Records Managers and Administrators. (2009). Managing electronic records. Lenexa, Kan.; New York: ARMA International ; Neal-Schuman Publishers.

        第二章 電子文件的儲存媒體 / Chapter.2 Storage Media for Electronic Recordkeeping

        image

        image

        本章講述光學儲存媒體、磁性儲存媒體、固態儲存媒體,到最後額外介紹古早的紙質儲存媒體,總共四個分類。在書中並沒有附上任何媒體的圖片,所以投影片裡面我引用了許多維基百科的圖片來做介紹。

        這本書裡面談到很多磁性媒體的內容,特別是各種磁帶儲存媒體。這時候我才知道原來磁帶的儲存容量早已比現在在講的藍光(Blue-Ray Disc)高上許多,而且速度看起來也不差。許多企業會使用磁帶來保存資料的原因也就是這樣。不過要說儲存媒體的流行程度的話,光學系列的光碟還是主流吧。

        第三章 電子文件的檔案格式 / Chapter.3 File Formats for Electronic Records

        image

        本章講述檔案格式的特性,並介紹以文字為主的檔案類型(無結構文字、格式化文字、資料表與資料庫)與多媒體檔案類型(圖片、視訊、音訊)。本章重要的概念在於建議大家選擇非專屬格式來保存資料,以確保未來電子文件還能夠繼續使用。


        結語:舊技術不會再被使用,但我們仍要知道他們 / Conclusion: We Would Not Use Old Technology In the Future, But We Should Remember Them.

        DSC_1331

        導讀完這兩章之後,課堂活動安排我們到了檔案機關參訪電子檔案系統與各種儲存媒體技術。許多書本上提到、維基百科附上的圖片,在這邊都可以看到實體。這讓我對儲存媒體的尺寸又有了更具體的印象。

        儘管很多儲存媒體都已經成為過去式,也許在未來我們也不會採用這些媒體來儲存我們的電子文件。但是如果工作是保管歷史檔案的話,就會有機會跟這些老古董技術打交道。儘管不必對他們了若指掌,但至少也要看到他們的時候,能夠想起來這大概是怎樣的儲存媒體,才能進一步去翻找相關規格文件來回憶。

        (more...)

        網頁應用測試工具:Selenium IDE / Testing Tool for Webpage: Selenium IDE

        網頁應用測試工具:Selenium IDE / Testing Tool for Webpage: Selenium IDE

        image

        Selenium IDE是一個網頁應用測試工具,可以應用在許多網頁程式設計上。我製作了一份投影片簡單地介紹了Selenium IDE的主要功能,進一步的詳細操作則可以參考我以前介紹Selenium IDE的文章來使用。

        Selenium IDE is a testing tool for webpage. I made a slide to introduce the features of Selenium IDE. For more details, you can read my other articles about Selenium IDE.


        為什麼要用Selenium IDE? / Why sholud you use Selenium IDE

        image

        不論背後是用什麼程式語言來開發,最後成品大多都會是瀏覽器可以運作的網頁。因此只要最後網頁上運作結果正確,那麼大致上整體系統就能維持一定品質。

        Selenium IDE他就像是操作瀏覽器的機器人一樣,你可以撰寫機器人執行的腳本,讓機器人自動去測試。當腳本無法順利執行時,則回報錯誤訊息給你。Selenium IDE省下很多我們手動用滑鼠去點選、操作的瑣碎時間,可以讓我們更專心於開發本務上。

        用Selenium IDE取代功能測試員 / Replace Human Testers By Selenium IDE

        image

        我以前做過資料庫功能測試員。功能測試會附帶著一張測試目標的表格,表格內每一列都是要測試的項目。測試員依照測試項目的指示一一操作、確認,沒問題之後再到表格上勾選確認無誤。

        事後我常常在想,為什麼這種機械化的動作,還要聘用一個活生生的人來做呢?後來我在Selenium IDE身上,找到了取代功能測試員的方案。

        Selenium IDE介紹 / Introduce of Selenium IDE

        檔案:Google雲端平台Box.netSkyDrive

        這份投影片介紹了以下內容:

        • 軟體測試的重要性:我想要強調程式開發與測試應該是要齊頭併行的,並不是開發完成之後再來測試。
        • Selenium IDE介紹:介紹Selenium系列家族的主要功能,以及Selenium IDE的安裝與開啟。
        • Selenium IDE的指令:介紹操作型(Actions)、存取型(Accessors)、驗證型(Assertions)三種類別的指令
        • 快速錄製功能:使用Selenium IDE製作測試案例的第一步,並介紹錄製完成之後如何進一步修改測試案例。

        這份投影片只有概述Selenium IDE的功能,如果要詳細操作,可以看我之前的文章:

        我也寫了兩份測試案例的例子可供參考:


        結語:開發與測試並進 / Conclusion: Development And Testing Are Both Important

        image

        我們在做軟體開發的時候,通常會有一個目標。而這個目標有兩種:一個是想要做、但還沒做的功能;另一個是本來的功能無法如預期般地運作。不管是哪一種,他都可以用「測試案例」(test case)的形式來表現。只要測試案例能夠順利通過,那麼我們就完成了程式開發的目標了──這就是測試驅動開發(Test-Driven Development, TDD)的基本概念。

        狂熱的TDD教義派開發者會在系統開發不同階段使用單元測試(unit test)整合測試(integration testing)功能測試(functional testing)回歸測試(regression testing)持續整合(continuous integration)等策略維護軟體品質。但是這對我們這種小型團隊來說,學習、製作、維護測試案例是相當高成本的工作。

        因此我建議是只採用Selenium IDE製作功能測試,確保系統的主要功能能夠順利運作。發生錯誤時,Selenium IDE可能無法像是單元測試或整合測試回報詳細錯誤內容,但是能夠提醒程式開發人員注意到「有錯誤」這件事情,那就幫得上許多忙了。

        Selenium IDE快速錄製測試案例的功能真的很好用,我希望能把這方法引入開發團隊中,進一步地提高大家的開發品質。再加油吧。

        (more...)