2014年12月31日 星期三

[閒聊] 2015願望清單


        2014年結束了,這年發生很多事情和變化。最大的改變在於心態上,當真正發現自己的渺小和不足後,對於很多事情都變得更加饑渴。開始學寫程式,學習演算法,對於政治和社會也有更多的參與。雖然自覺仍然不學無術,但是回頭看還是了累積不少東西。明年仍然會順著今年的方向,更加踏實的前進。

2014年12月30日 星期二

[Python] Google 經緯度查詢Api


        隨著圖資的開放和普及,GIS資料也越來越受到重視.要結合一般的資料和圖資資料之間一個關鍵就是地址和經緯度(這邊不討論不同座標標示系統的用法...)通常我們比較容易知道的是地址資料,經緯度就要透過握有圖資的單位才能查到(例如:
http://tgos.nat.gov.tw/tgos/web/tgos_home.aspx).但是政府查詢還要申請,使用上也有所限制,好險偉大的google大神也有開放API可以查詢(Orz),為了使用方便就寫了一個簡單的API跟Python接口:

2014年12月29日 星期一

[Python][教學] 網路爬蟲(crawler)實務(下)--爬蟲策略以及設定


       
        在知道目標之後,接著就要決定如何達成。網路爬蟲的概念很簡單,就是進入網頁之後,將網站中的原始碼擷取下來,透過Xpath或是Html節點的方式來找到目標字串。根據上次[Python][教學] 網路爬蟲(crawler)實務(上)--網頁元件解析分析的內容,我們的爬網策略大致上會是:

2014年12月27日 星期六

[Python][教學] 網路爬蟲(crawler)實務(上)--網頁元件解析


        今年部落格最受歡迎文章:[Python] 現學現賣之網路爬蟲(Crawler)--以抓本BLOG為例是我剛學python時寫的程式,內容其實也都是照著老師的課程講義來做,很多細節也是矇懞懂懂.至今過了半年,爬網的經驗也多了一點,比較有內容可以跟大家分享.爬網有很多種用途,對比起搜尋引擎的全頁抓取,更多時候是抓取特定網站的特定內容,這時候除了爬蟲程式本身之外,對於網站欄位的解析更為重要.

2014年12月24日 星期三

[Apache Spark][開發] Spark 1.2.0發佈囉


        昨天Spark 1.2.0正式release囉!(https://spark.apache.org/news/spark-1-2-0-released.html)這次更新了不少東西.主要是增加了效能和穩定性,一些心得API,PYTHON的支援等等,以下將翻譯一些重要的部分:

2014年12月21日 星期日

[Scala][教學] 神奇的Currying

        話先說在前頭,本篇文章跟NBA的Curry完全一點關係都沒有,標準圖文不符.最近在Coursera上按表操課上著scala的課程,每一堂十分鐘的課程真的從頭到尾要弄懂每個語法細節大概都要花上一個多小時,跟當初看著codecademy自學python順順走的經驗差超多Orz.所以做的分享也只能是很簡單的到處搜集資料的結果,離應用還差上超大一截.

2014年12月17日 星期三

[Python][教學] Scrapy(Web Crawler) to PostgreSQL(二)postgreSQL資料庫連接設定


        上一篇[Python] Scrapy(Web Crawler) to PostgreSQL(一)簡介 & 爬蟲基本設定介紹了網路爬蟲的基本設定後,這篇就是要接著介紹如何設定postgreSQL.首先我們要先安裝PostgreSQL(這句好像有點廢話).到官方網站(http://www.postgresql.org)找到屬於自己作業系統的連結,Mac可以到(http://postgresapp.com)下載postgreapp,點開來安裝,單機版的設定相當簡單.如果習慣透過command line呼叫postgreSQL的話,還需要到http://postgresapp.com/documentation/cli-tools.html設定PATH.
        安裝好DB後,繼續回到Scrapy上.要連結並操作PostgreSQL,有幾個檔案需要設定,以下將一一介紹:

2014年12月13日 星期六

[Python][教學] Scrapy(Web Crawler) to PostgreSQL(一)簡介 & 網路爬蟲基本設定


        Scrapy是python上很受歡迎的爬網框架,官方網站為:http://doc.scrapy.org/en/latest/index.html.介紹Scrapy的網站很多,官網自己就寫得很清楚,一些中文化的資料可參考像是http://www.addbook.cn/book/scrapy中文手册等資料.今天主要介紹的是爬網之後的動作.爬網並不是單純爬文而已,而是為了提供之後進一步的分析,所以資料都必須儲存下來,儲存的方式有很多種,可以單純是個file,再由分析軟體來處理資料,或是把資料放在資料庫中,做進一步的分析.

2014年12月9日 星期二

[Python]神級 Coder 絕不犯的錯誤:為炫耀編出超短碼(疑?)


        最近有個文章很紅: 神級 Coder 絕不犯的錯誤:為炫耀編出超短碼在python界引起了一陣討論,主旨是在說不要為了炫耀自己實力寫出超級精簡,但是很難維護,別人很難懂的程式碼。這個觀念不是不對,但是引用了錯誤的例子而遭到"熱烈"的討論。

2014年12月4日 星期四

Step by Step 使用github參與專案流程(後記)- 媽~我被Merge啦!


        病了兩天,早上看到這個令人振奮的好消息,貢獻給gcloud的code被merge啦~(撒花)雖然只是短短幾行code,但是能對網路社群有個小小的貢獻還是非常開心,記錄一下這個patch的前因後果.

2014年12月3日 星期三

[Apache Spark][基本架構] RDD特性(三)- RDD之間的依賴關係(Dependency)


        延續[Spark][基本架構] RDD特性(二)- 轉換(Transformations)和行動(Actions)提到的,RDD在進入行動之前,都是在不同的RDD之間做轉換,RDD會記錄下這些轉換過程,自己這個RDD是從哪個RDD(又稱為parentRDD)轉換過來的,這層父與子的關係就稱為Dependency(依賴關係).本篇文章會進一步說明依賴關係的類別.

2014年12月2日 星期二

[Apache Spark][基本架構] RDD特性(二)- 轉換(Transformations)和行動(Actions)


        其實Spark架構不大,但是真的一環扣著一環,拆開來講會有很多問題,但是當每個環節都搞懂後就覺得一切設計的又是非常合理(非常繞口的一段話).這幾篇基本架構的文章都是根據Spark的原始論文拆出來講的,試圖將Spark的基本精神跟各位分享.