顯示具有 pyconTW 2013 標籤的文章。 顯示所有文章
顯示具有 pyconTW 2013 標籤的文章。 顯示所有文章

2013年3月29日 星期五

活動:Taipei.py 2013 3 月聚會

聚會結束後,走在路上,看到一台機車的安全帽長這樣 !!(Keith 的)



這次由 Tim 發起了「入場先收 50 塊,稍稍補貼一下茶水費」的活動
對於 The Manx 同時提供「人力、場地、器材、餐點」,只能說感謝了 Orz …

#本次聚會照片、投影片皆可至 Taipei.py 的 Meetup 社群 下載



Talk 1: Scrapy - 網路爬蟲框架

講者為在 Tagtoo 工作的 Theon 學長
演講專業而結合範例,讓人能清晰的了解到 Scrapy 此框架的威力
如果熟 XPath 的話,大概真的參數填一填,實作上不用五分鐘就可以寫出爬蟲了!
由於我前陣子有寫過爬 Ptt 的機器人,去擷取備份文章
對比於自己寫的 糟糕 程式,我馬上就能感受到了此一框架的優良架構
雖然我為 XPath 苦手,不過我想現在的瀏覽器都有相關的工具可供協助找到 XPath
之後若有機會,值得一試
另外,對於小型的抓網頁,讀取特定數值的程式
如丟關鍵字給 google,然後抓出搜尋結果的連結 … 這樣的應用
我蠻推薦使用 pyquery 來處理問題
直接使用:d = pq(url='http://google.com/')
接下來就可以使用類似 jquery 的方式存取 html 元素了:d("#hello") …

Talk 2: 先不談 Django,你聽過 Bottle 嗎?

講者 竟然 是我 XD ... 因為沒有辦法自己幫自己的演講給心得文
那我來檢討一下演講準備過程,與附上補充資料
因為近日專案極忙,這次的演講,我一直拖到演講前兩小時才把投影片做完
對我而言有許多第一次:
  • 第一次用 iPad 的 Keynote 做投影片
  • 第一次用 iPad + 轉接線 投影到螢幕
  • 碩論口試後第一次公開演講(當兵的時候倒是主持過很多次莒光園地 …
  • 第一次在社群中分享自己的經驗
我原本自以為可以用閃電秀的密度,快速的用 15 分鐘把該講的都講清楚
但是做出來投影片的品質太差,又沒有演練過 ... 所以就變成了冗長的碎碎念亂講 … 囧rz
對於這一點,我正在深刻的反省中 …

另外,使用 iPad 製作起來的過程雖然算流暢
但是在投影片內要插入超連結,頗有困難,且輸出成 ppt 或 pdf 以後,格式都容易跑掉
之後得多加注意此問題
這次來不及測試 remote 遙控投影片的功能,小可惜
不然就可以帥氣的走來走去了 …



會後補充:

再度推薦一下 gevent 社群的文件:Gevent Tutorial
值得一讀,讀了以後就會發現,在一般的 Python web framework 中
比較難以實作的 Comet 之類的功能,都能透過 gevent 輕易地達成

我記得 Appier 的朋友有問我 Bottle + gevent 能不能夠做效能調教?
(話說,您已經是此搭配的成功案例了:5000 qps …跪求 Bottle 進階演講)
雖然我不知道怎麼做,但我之前查資料時
有看到過 Douban 釋出與 Python 相關的投影片,或許仍可供參考(2011年的):



補充一下,對於 bottle 要提供 http auth basic 的話,可以這樣做:
def check_user(usr, pwd):
    acc_pw = { "user1" : "pw1", "user2" : "pw2" }
    return True if usr in acc_pw and pwd == acc_pw[usr] else False

@bottle.get('/admin/')
@bottle.auth_basic(check_user)
def test():
    pass
當然, auth_basic 的參數要直接塞 lambda 也是 OK 的
但是不建議用這個當會員系統啊 XDDDD

最後,至於為什麼我講的是 Bottle、用的是 Pyramid、大多數情況推薦的卻是 Flask 
這個傷心的問題就不要再問我了 囧rz  


PS. 這次演講後與許多朋友交換名片,聊: Web 框架、Testing、用數學變魔術的經驗 … 真的有 Level Up 的感覺!
您若也想來個常規或是閃電秀的演講,可以先加入 Taipei.py 的社群,然後直接找 Tim, Keith (或我)報名!

2012年6月20日 星期三

心得:Python 中文入門書


在此分享自學 Python 半年多以來的中文入門書讀書心得


如果你已經有程式基礎且馬上要用 Python 寫些東西:
請不要看這些入門書,直接使用 google 查教學
一兩個晚上大概就可以學完語法、了解 Python 表面上的特性
然後找一個適合你用的 IDE ,直接寫點程式進步最快!


如果你是學生,放暑假時想自學個語言來玩玩
且你比較喜歡閱讀圖文並茂的「講義」
那麼 Head First 系列的 深入淺出 Python 應該很適合你
雖然這一本書我翻過後發現他其實只有「淺出」Python,並不深入
但是這樣活潑直覺的講義書,起碼可以讓你不會容易想睡覺
你若是有認真的去想或寫本書的習題
應該可以很快的上手 Python 這一門語言


如果你想要更深入點了解 Python 這一個語言
那麼老鼠書 Python 學習手冊 會是好一本好書
有關 Python 的語言特性,你所該知道的基本知識,這一本書都有具備
且書中的程式碼例子都專注在解釋語言特性,不會太複雜
我把本書定義成一本「標準教科書」
內容是可理解的,不會太困難的
如果你有三五天的空閒可以看書,這一本書很快就可以看完了


如果你曾經學過 Python 怎麼寫,或看過其他的入門書
那麼 精通 Python 3 程式設計 可以是一本不錯的學習兼工具書
本書要直接閱讀可能要有基本的程式底
書中除了講解 Python 的語言特性以外,更加著重在怎麼用
程式碼範例皆被設計成用來處理特定任務,具有實用性
這樣的缺點是程式碼除了表現語言特性以外還參雜著任務處理的邏輯
使得閱讀者需要想想他在幹什麼
但是好處卻是能讓使用者立即知道該語言特性的實際用處
本書內容較深,三五天內未必看的完



三本書的難度大概是:
深入淺出 Python < Python 學習手冊 < 精通 Python 3 程式設計
可以的話,後兩本書都值得收藏!


#備註 精通 Python 3 程式設計 介紹了許多 Python 3 的新特性
   對於想入門 Python 且沒有任何包袱的人而言
   可以直接考慮 Python 3 了,他的確變得更棒!
   另外本文是以目前找得到的中文書為主進行簡介
   若是也可以考慮原文書的話,fcamel's Blog 有更好的介紹


# 2013.12.17 更新:
今年 PyConTW 的 先修課程 中,邀請的講師良葛格有製作一份 Slide:

並於近期陸續與 CodeData 撰文介紹 Python:前往一看