※ 引述《goldflower (金色小黃花)》之銘言:
: 各位前輩好
: 我目前正在自學程式語言中
: 之前完全沒有關於這方面的基礎
: 一開始是寫C和C++ 寫得很卡 直到碰了python我就直接跳槽了
歡迎來倒 Python 世界,不過 C++ 也有很多好玩的東西可以瞭解
: 目前是只有把codecademy和coursera上Rice的python課程上完的程度
: 最近正在看EDX裡面MIT開的課程
: 首先我想詢問的是如果我想繼續深入學習的話有什麼管道呢?
學習程式設計我覺得其實不用一直上程式語言的課
如果想要上課可以選一些資料結構、演算法、軟工、Design的課
或是找你有興趣的領域來學(ML、CV、Network...)
另外有興趣也可以到 UVa、Hackerrank 之類的網站寫寫題目
: 因為其實照上面不管codecademy或coursera學完之後
: 我仍舊覺得自己會的實在非常少
: 首先我想請問一下
: 有沒有網站是能看到人們分享他們在處理一些實際案例時所使用的程式編寫方式呢
: 比如我現在比較想要做的是從網路當中抓取資料放進自己的資料庫
: 接著會做一個網頁去當所謂的前端來與後端的資料庫做互動
: 網頁的架構想要使用Django來架(有無推薦的書籍呢?)
官方文件寫的非常好
直接看 tutorial 然後大致閱覽一下 refence 就 OK le
: 然後我解決這個問題後我把這個程式建構的過程分享讓大家都能看到
: 類似這樣子的一個網站 這是第一個問題
Github / Bitbucket
雖然可能跟你想得不太一樣
不過這是分享程式碼最熱門的地方
善用版本控制, changlog + Wiki 就能達到你的需求
對你的開發也有很大的幫助
: 第二個問題就是 就是關於資料庫我目前是才剛開始看mySQL的東西
: 想問一下mySQL+python算是一個好選擇嗎?
: 我知道使用mySQL的人數很多
: 但不知道在專業人士看來這是否是一個好的資料庫系統
: 查了一下網路說noSQL好像很厲害 但是還沒碰過也很難了解...
: 如果大家知道一些好的資料庫學習的網站或者是書的話能否幫忙推薦一下呢
SQL 的確是很好且很嚴謹的數學架構
MySQL、PostgreSQL 都是很好的資料庫,語法大同小異
就資料儲存及搜索而言,SQL 通常是必備入門款
如果只是淺嘗,其實像是 W3School 之類的簡介網站就足夠了
如果想深入學習,像是指令的最佳化及架構規劃(正規化之類的)
我個人也沒有這方面的學習經驗,通常是憑着直覺 + Google
可能要請其他大神推薦
至於 NoSQL 我個人有一些經驗
NoSQL 的目的通常分爲兩種
1. 簡化 SQL 以達成更佳的效率及 Scalability, 例如 Key/Value Store
2. 特化的資料結構,例如 Graph Database
第一個如果符合你的需求,其實用也無所謂
雖然通常個人網頁不會到 SQL 無法 Handle 的 Req/sec
不過當你有架構變更時就會變得麻煩
等同於把 SQL 可以處理的東西搬到程式碼當中
一般來說通常在 Cache 資料或非常簡單的應用中比較常見
比起單純 Key / Value,像 HBase 這類的看起來好像強點
但就架構來說本質上是差不多的(沒有原生的 Join 和 Index)
第二個則是很少見,在這裏就不提及
不過有一種則是介於一和二之間
以網頁標準 IndexedDB 及 MongoDB 爲例
這兩者的 API 其實某種程度來說很接近
都提供以 JOSN (或類似 JSON)的方式存取資料
並且擁有 Index 的功能
至於 Join,由於此種模式強調 denormalization
所以一般來說是不需要 Join 的(除非規劃錯誤或特例情況)
雖然兩者標準和背後實作都有不小的出入
不過以現階段來看,不少人(包括很多大佬)都認爲就網路一般性來說
Document / JSON 式的 API 比 SQL 來的直觀好用,甚至有更好效能
若是你要研究的網站架構(stack)
最常見的 SQL、Key/Value Store 和 Document Store 都是不錯的對象
但是新手入門一般還是推薦 SQL (穩定、能表示所有資料結構、完整的 ACID)
: 還有最後一個問題是
: 關於抓取網站資料大家都推薦什麼模組呢
: http://blog.ez2learn.com/2008/10/05/python-is-the-best-choice-to-grab-web/
: 我看這個網站上面的結論是使用twisted + lxml
: 但因為這篇已經是2008年的文章
: 所以想請問一下是否在現今這仍舊是一個優秀的選擇呢
: 因為像urllib2 beautifulsoup等等 選擇真的很多
: 想請各位先進分析一下
我不清楚前者
beautifulsoup 對現在網頁語法的處理能力很強
至少我到目前還沒有遇到問題過
唯一比較麻煩的大概是遇到 ajax,大多情況需要 one by one 處理
: 抱歉如果都是蠢問題請各位海涵
: 也先感謝回應的各位