在 Day 22 的文章中有提到 Scrapy Engine 和 Downloader 間的資料傳遞會經過一系列的 Downloader Middlewares...
說的其實就是Travis-CI,提供github持續整合專案的平台。設定Travis-CI部署的方式共分4個步驟: .travis.yml .lekto...
先前寫了那麼多程式,是時候來談談測試了。這裡的測試指的是 Unit test,大部分的時間是以一個 Function、Class 等等為單位去測試,看輸入幾組設...
延續昨天的主題,今天要建立一個 Pipeline 元件,用來將爬到的資料存到 MongoDB 中。 建立 Pipeline 元件 在專案目錄的 pipeline...
Lektor 在GitHub Pages支援上比GitLab還要好一點,可以不用自己手動push上去,與前幾天提到的ftp、rsync一樣,可以直接在.lekt...
今天 Hackerrank 的主題是探討時間複雜度,透過的題目是給定一個整數,看看這個整數是不是質數。假設這個質數是 n 的話,希望解法的時間複雜度是 O(根號...
每次遇到宣稱很棒很優秀實際上傲嬌不給用的軟體實在是很困擾啊 生物資訊研究中,研究者時常需要自己編寫客製化的程式碼腳本。不論是視覺化或是統計分析的功能,通常都是引...
當 scrapy.Spider 爬蟲抓到資料後,會將資料送往 Item Pipelines 進行一系列的處理。常見的使用情境是: 清理 HTML 資料 驗證資...
老實說今天 Hackerrank 的主題讓我有點不想浪費一天的篇幅去講,因為是在講 Nested Logic,說穿了就只是要你練習兩層以上的 If Else 之...
在git平台中,比較著名的Github及GitLab兩大平台,Lektor都有提供部署方法。當然除了這兩個平台,還有Bitbucket等強大的平台,只是目前Le...
今天在 Hackerrank 的主題是,延續我們之前研究的 Linked list,為這個 Linked list 去增加一個 Function 來把 Link...
在前幾天的爬蟲中,我們都是以 Python dict 的結構在儲存爬取結果,隨著爬蟲數量增加,會在越來越多的程式中使用到相同的結構來儲存資料,但同時也容易在不同...
FTP相對來說是比較不安全的傳輸方式,而SSH可以提供安全的傳輸管道。 SSH以非對稱加密實現身分驗證。身分驗證有多種途徑,例如其中一種方法是使用自動生成的公鑰...
今天的主題是延續昨天的 Binary Search Tree,我們要來看其中一種 Traversal 的方法,所謂 Traversal 就是用某種順序來走訪 B...
大概兩個禮拜前我們已經有用 requests + BeautifulSoup 兩個套件來把文章爬取下來了,今天會把相關的邏輯都移植到 Scrapy 框架中。先附...
從小時候就存在的FTP,現在依舊還是偶爾會使用到。貼心的Lektor也提供FTP部署的設定: [servers.production] target = ftp...
接下來終於要進入正題了。前面介紹完Lektor基本功能後,也需要介紹部署到github的方法,不然怎麼符合一開始的目標呢! 在部署的時候有兩個步驟,第一個為bu...
今天我們要來看的是 Binary Search Tree (BSTs)。Tree 是由有限節點組成具有層次關係的集合。以下圖為例,最上面的節點稱作根節點 (Ro...
昨天用 scrapy genspider ithome ithome.com 指令建立出來的爬蟲檔案 ithome.py 內容是這樣: import scrap...
今天要來談談 Generic。由於靜態語言對於宣告的類型有嚴格的規定,Generic 的出現則是讓這件事情變得更加彈性,可以將一套程式碼複用在不同類型的資料上。...
安裝 安裝套件 pipenv install scrapy 曾經在安裝的時候遇到 Twisted 一直安裝失敗,無法透過 pip 安裝。如果有遇到的讀...
在lektor中,model扮演著很重要的角色(當然content及template也是)。接下來會以models/page.ini檔案作為範例,說明model...
請證明你不是機器人 繪製親緣關係樹的前置工作中,搜集所有適合一起比對的基因之序列是十分累人的工作。我不寫程式以前,會找一首喜歡的專輯,放著聽,然後開始開啟大量瀏...
寫了好幾天的爬蟲,不知道大家有沒有感覺同一支程式中要關注的事情太多。目前我們爬蟲的流程大概是這樣: 發送請求,取得網頁 HTML 原始碼 可能需要額外的重試...
今天我們要來談談 Sorting,也就是排序。排序看似不起眼,但其實在電腦的世界扮演了許多關鍵的角色,例如當我們要更有效率地搜尋出某個東西的時候,又例如我們要按...
在前面的文章中有提到兩個外掛:disqus及webpack。本篇文章將說明如何安裝、讀取、以及基本外掛使用。 安裝外掛 安裝方式有兩種,第一個是直接在.lekt...
昨天發文後想到另一個狀況,是因為系統架構設計的關係,網站上呈現的資料並沒有在第一次發請求時取得,而是在網頁載入後陸續以 AJAX 的方式取得資料顯示在畫面上,或...
把資料庫基礎操作, server環境架設, 自動化相關操作搞定後,就來看後端程式怎麼設計。 後端程式架構設計主要分Controllers / Models兩...
今天終於要來談談介面,也就是 Interface 啦!之前當我們在談繼承以及抽象類別的時候,說到在 Golang 跟 Rust 並沒有這樣的概念,在這兩個語言則...
如果還不知道什麼是webpack,可以參考這裡。以下直接說明怎麼使用lektor建立webpack! 設定webpack package.json lektor...