在 GitHub 部署 Hugo 靜態網站

第一次搭建個人網站,選擇了 Hugo。儘管官方文件寫得很詳細,但 Programming 新手如我在建立的過程中還是遇到了一些困難,因此紀錄一下,希望能幫到跟我同樣情況的人。 以下分為兩部分介紹:本地建立檔案、部署到 GitHub。(使用 MacOS) (2018/09/01 補充 Windows 本地建立檔案方法在最下面) 第一部分:本地建立檔案 老實說 Hugo 真的很人性化,簡單幾個步驟就能讓使用者建立網站的雛形。 1. 打開 terminal,安裝 Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2. 安裝 Hugo brew install hugo 3. 建立新網站 hugo new site website-hugo cd website-hugo website-hugo 可以替換成任意名稱,但你也可以跟我一樣,避免麻煩。找到名為 website-hugo 的資料夾,觀察一下內部資料夾結構。 4. 新增主題 (theme):此處以 Casper 為例 git clone https://github.com/vjeantet/hugo-theme-casper themes/casper 你也可以選其他主題,進到該主題的 GitHub repo,將上面的網址改成 repo 的網址、themes/casper 改成 themes/你的主題名稱。 5. 將 /themes/casper 中的 static 和 layouts 資料夾複製,取代根目錄中的 static 和 layouts 資料夾 6.

Read More >>
chswei

Python 中 sys.argv[] 配合 Shell Script 的使用方法

最近在寫李宏毅老師的 ML 課程作業時,第一次接觸了shell script,也終於弄懂 sys.argv[] 的用法。過程中看了網路上許多參考資料的介紹,總覺得對於我這個新手來說太過複雜,故在此稍作整理並紀錄。 第一步:建立含有 sys.argv[] 的 .py 文件 使用任意文字編輯器建立 .py 文件,如圖中的 test_code.py。 第二步:建立 .sh 文件 在 terminal 或 cmd 輸入以下指令: touch shell_name touch 指令可以建立新的 .sh 文件,後面接你要的文件名稱,如圖中的 test_shell(注意這邊不用打副檔名 .sh)。 好的,到目前為止,資料夾中已有兩個檔案:test_code.py 和 test_shell.sh 接下來我們要在 test_shell.sh 中打一些東西: #!/bin/bash python3 your_code.py $1... #!/bin/bash 這行告訴系統以 bash(一種 shell)執行這個 .sh 檔。 python3 後面接要執行的 .py 文件,再後面接 $1、$2 … ,看你 .py 中 sys.argv[] 數字到多少就打到多少,因為 $1 之後會對應 sys.argv[1]、$2 會對應 sys.argv[2] … 以此類推。 第三步:傳遞參數 (passing arguments) 在 terminal 或 cmd 輸入以下指令:

Read More >>

在 Jupyter Notebook 上安裝 R (Windows 10)

最近為了某個目的,想在 Jupyter Notebook 上寫 R code。利用 IRkernel 就能達到這件事,然而在安裝的過程中發生了一些問題,因此做了很多搜尋,將操作步驟整理在此,希望能幫助到一些人,同時也紀錄自己對於電腦世界的懵懂無知。 安裝 IRkernel 的前提 (Requirements) 安裝好 R (我的版本是 3.4.1,若還有安裝 RStudio 更好)。 安裝好 Jupyter Notebook (我是用 Anaconda 安裝的)。 此路不通 (Not Work for Me) 一開始我按照這個網站的步驟操作,在 Anaconda Prompt 內打入: conda update anaconda conda install -c r r-essentials 在筆電和桌電上試驗都在第二步出現了 Error,沒辦法安裝,查了 google 和 stackoverflow 都找不到解答。(不過好多東西我都看不懂,所以也有可能是有解的。)之後還在 YouTube 看別人怎麼安裝,但對我來說還是不成功。 解法 (My Solution) 後來在某影片中的某片段看到一個似乎是 IRkernel 的官方網址,按照裡面的方法後,就安裝成功了!(心得:看官方文件還是最準的 OTZ) Step 1 在 RStudio 的 Console 內打入: install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest')) devtools::install_github('IRkernel/IRkernel') Step 2 (Wrong) 在 RStudio 中的 Console 內打入:

Read More >>

為什麼 R 比 MS Excel 更適合做資料分析?

從六月中開始放暑假後,也學了快三個月的 R 語言。有一天我爸瞄到我正在打 code,就問這是什麼。我跟他簡單解釋說 R 是一個用來進行數據處理和分析的程式語言,沒想到他反問我為什麼不用 Excel 做就好。對耶!好問題!老實說,我之前並沒有仔細想過這件事,只是覺得學了一個程式語言好酷好潮,以後如果需要統計分析時就多了一個工具可以使用,如此而已。 平常使用 Excel 的頻率也不高,最多就是會使用常見函數和樞紐分析而已,R 也只有學了短短的 70 多天,討論這個題目其實說服力有點薄弱。不過對於剛踏入資料科學領域的我來說,這確實是個值得思考的問題,藉此了解各種工具的優缺點,未來也才能合理地運用它們。 網路上已經有不少人討論過這個問題了,但我想結合自己學習和使用的心得,以研究人員、資料科學家(而非一般人)的角度,將 R 比 Excel 優秀的部分,依據我個人有感程度分成以下八點敘述: 一、再現性 (Reproducibility) 某人用了某份數據做出了 A 結論,另一人也可以用相同的數據做出類似於 A 的結論,這就稱為再現性,是科學研究中十分重要的概念。 在 R 中,包含資料的下載、讀取、清理和分析等操作,都是藉由「程式碼 (code)」執行,因此每個步驟都扎扎實實地以程式碼的形式被紀錄下來(甚至可以加上註解讓他人容易理解)。別人只要照著程式碼 run 一遍,便可得到相同的結果。而另一方面,Excel 是利用圖形使用者介面 (GUI, Graphical User Interface) 進行大部分的工作,幾乎所有的操作都可以藉由「滑鼠點擊」完成(VBA 例外),雖然簡單、方便、直覺,但除非我們詳細記錄了每一個操作步驟,不然別人是很難一眼看出我們是如何進行分析而得出結果的。 二、自動化 自動化原本就是機器和電腦的優勢,R 可以讓人類教導機器,學習如何依照我們的想法,將單一且重複的工作自動完成,提升效率。當遇到相同格式的資料和數據時,我們可以使用同一份 R Script 進行處理及分析。反觀 Excel,因為是 GUI-based 的軟體,每個步驟都要經由人工點擊的方式進行,所以即使拿到同樣格式的資料,我們還是要從頭開始一步步處理。 三、開源 (Open Source) 相對於微軟的付費產品 Excel,R 作為一個開源的語言,每個人都能免費下載,使用者們也可以貢獻自己的智慧結晶,將修改過或是全新的函數寫成套件 (package),擴充 R 的功能。2017 年初,CRAN 上的套件數量尚不足一萬個,但短短幾個月,已經上升到了 11418 個(截至 2017/09/15),而這個數目還不包含 Bioconductor 上的套件呢,可見使用 R 的社群仍持續蓬勃發展。 四、易於操作大型資料 大家應該多多少少都有遇過開啟 Excel 檔時,因為資料量過於龐大而當機的狀況。在現今這個充滿數據的時代,上萬筆、甚至上百萬筆的巨量數據集隨處可見,Excel 對於這種資料的處理可能就不是這麼適合。在 R 中,數據集匯入後,它會儲存在後台,儘管我們沒辦法看到看到資料的全貌(要另外輸入其他指令),但卻能加速資料操作的效率。

Read More >>