分享

Python Taiwan讀書會_2_程式開發四法

第二次讀書會延續先問問題再coding的想法,展開了程式開發四法,也就是四個步驟,四法分別是:
想法方法作法文法
有了問題,得先試著有些想法,試著找找可以解決問題的方法,有了方法就會有應運而生的作法,作法可以有很多,如果選用Python語言來做,才會用到Python的文法(程式語言)。在群組裡,有同學的專案想要做「網路爬蟲」,在四個步驟中,「爬蟲」已到了第三步,而我們還不知道,問題和想法是什麼?在此之下,「爬蟲」是最好或較好的方法嗎?越是前面越重要,因前面步驟的改動,對後面步驟的影響,可能是微調,也可能是翻天覆地的大調,更是可能導致工具的不同。
這兩天我們組好了隊,但還沒有問題或想法出來,10月初會有一個讀書會的初學者駭客松,先學著解決小問題。主持人想要大家從先有想法開始,而不是執念在「我要寫程式我要寫程式」,8月初在台灣人工智慧學校的專題競賽裡,我也蠻有體會,要有好的想法比寫程式難得多,好的想法需要包含實用性、趣味性、商業性等多種面向,發起者和使用者之間待弭平的期待落差。
讀書會的同學裡,可能也有像我一樣缺乏背景知識的人,因此在後半段的時間,主題之一是「JSON」和「API sever」是什麼?大部分的書,很容易一不小心,就把背景知識當成常識,或許背景知識就是行內常識,但對外行人來說,這些「常識」往往是初學階段中的碦腳石,雖然還是慢慢前進,但總是不舒服,我也在第二版的《精通Python》中,讀到貼心的附錄A,試著解釋「位元」、「虛擬環境」、「軟體」這類的詞,老實說,只看一次還是沒能完全理解,但看一次不能完全理解的東西,也不是看兩次就行,很多時候,往往就是在不久的未來,任督二脈被打通,在此之間,要做的事只有持續跟著師傅練功而已。
主持人王大哥大膽假設未來所有問題都會轉成JSON,所有訊息都變成陣列,我們要簡化資料,最好都變成csv或JSON格式,把csv轉JSON格式,數字就不再是文字,變成通用交換格式, 沒人把JOSN再轉回csv的。csv的優點是它是很多開放資料的檔案格式,也很容易從Excel輸出,但csv的缺點是文字為主(數字還是文字)、容易有亂碼、無法描述複雜物件、不是標準交換格式;JSON是電腦間的通用交換格式,人機皆易讀,簡言之就是有優點很多,沒什麼缺點,就算有也是不重要。(我知道他愛它)
另外也有提到API sever,把資料放在API sever,才能和其他行動裝置共享。大部分的公司開放網站,目的並不是要讓人抓資料,若不是透過API去抓,網頁一改內容就會抓不到,其實公司並沒有義務給大家API,即使是電商願意分享部分資料,也是要讓你看,不是要讓你抓,也就決定了這樣抓到的東西不是JSON格式。若網路爬蟲只教html,是不負責任的教法,有些大公司開放API,讓手機可以抓到資料,可以寫軟體去抓資料傳到手機上,這樣的資料可以很精確,因為開放的公司希望大家可以拿去做更好的用途(例:地震、氣象), 有些公司雖然開放,但為了要避免駭客抓太多資料,而公司又不知道誰抓,會對外人給權限,這種權限會限制抓的資料量和次數。
台灣很多開放資料,最早都是用微軟的軟體給大家資料,後來都用csv,更後面的後來越來,越多年輕人搞open data,就會給大家API,讓大家自己篩選成想要的。上週跟大家分享過< 艾瑪人肉學習週記(Week13):讓心變大>,上課時謝老師講的,農業部和環保署開放資料的窘故事(各說各話的新聞稿、搶著公布資料就沒我責任的開放資料),如果,可以把開放資料用得更好,我相信這是可以加速台灣進步的速度的! 
分類:學習

評論
上一篇
  • 下一篇
  • 更多文章
    載入中... 沒有更多了