Python Taiwan 線上讀書會
Ming-der Wang (王銘德) (8/15 9:00pm)
或是要解決一個問題
challenges -> ideas ->-> solutions -> implementations -> design -> coding
想法 -> 方法 ->-> 作法 -> 文法
想法 -> 方法 ->-> 作法 -> 文法
有了問題, 你要有自己得想法。
例如: 平常站累了, 怎麼辦?你有什麼想法
(找個東西坐坐)
如果確定要找個東西坐坐,那你有什麼方法?
你可能回答: 找一張椅子坐坐, 休息休息
1. 郵購一張椅子
2. 訂做一張椅子
3. 自己做
如果自己做:
a. 三隻腳 + 木板
b. 用什麼工具
Step1. 把木板鋸出三隻腳
Step2. 把木板磨成椅面
Step3. 把腳釘到椅面下
(坐坐看)
想法 -> 方法 ->-> 作法 -> 文法
追不到某個女朋友, 你會有什麼想法。
例如: 想辦法, 先收集她的資料, 有了電話號碼, 再來跟她約會
找徵信社?
問她室友?
你可能回答: 寫一個分享網站, 大家都用了, 自然會有她電話
a. 開始想怎麼做才能做到分享
b. 用什麼語言
c. 架構如何設計, 才會容易把自己的照片電話分享出來, 且大家想都很想用
如果你選用 Python 語言
你才需要用到 Python 的文法, 撰寫程式。
(寫好後, 再測試看看)
想法 -> 方法 ->-> 作法 -> 文法
對於言論審查, 你會有什麼想法。
例如: 言論自由, 在社群媒體敏感的留言不應該被刪除
關掉社群媒體?
自己不用就好?
你可能回答: 蓋一個永久網站, 把敏感留言複製一份讓大家查詢
a. 用"爬蟲"抓 twitter網站資料
b. 把敏感字眼的 tweets 找出來
c.將資料寫到區塊鏈裡(永遠保存)
d.在開發網站
a. b. 你要會使用 twitter APIs
c. blz.js + js 文法
d.你才需要用到 Python + Django 的文法, 撰寫網頁程式。
(再測試看看)
它只是第三步驟 - 作法裡的一小部分。
甚至於有些情況, 可以用工具就辦到,或用 APIs 更好。
("網路爬蟲" 的定義: 收集網頁上資料的一個方法)
練習討論過程中, 就記錄下來.
(沒執行的 ideas, 槓掉而不要刪掉)
*盡量利用網路, 不要只想到 "電腦主機" 而已
所有網路裝置, 包括手機, 電腦, 都是即時 call API 抓或放資料
*蓋 server 不難, 盡量把資料放到雲端
簡化你的資料, 不外乎 csv 格式, 或 JSON 格式
* 把資料放在 API server 端, 才能跟其他行動裝置共享
優點:
缺點:
(click here)
第一行是 列標題
每一欄位, 用逗點分開
[ { "id": 1, "name": "Johnson, Smith, and Jones Co.", "amount": 345.33, "Remark": "Pays on time" }, { "id": 2, "name": "Sam \"Mad Dog\" Smith", "amount": 993.44, "Remark": "" }, ...]
總共有 4 筆資料, [ ] 表示陣列
優點:
缺點:
(click here)
(demo)
install Expo iOS, Android App from
註:GraphQL 可以由下載端自行決定下載欄位, 而無需修改任何 API
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run()
{ "version": 2,
"builds": [ { "src": "*.py", "use":
"@liudonghua123/now-flask" } ],
"routes": [ { "src": "/.*", "dest": "/"} ] }
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run()
Flask==1.1.2
Flask-RESTful==0.3.8
(討論一下, 組隊進度)