作者carylorrk (Cary Wu)
看板Python
标题Re: [问题] 关於python的学习方向及模组推荐
时间Thu Jun 5 14:51:58 2014
※ 引述《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 处理
: 抱歉如果都是蠢问题请各位海涵
: 也先感谢回应的各位
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.129.74.64
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Python/M.1401951120.A.883.html
1F:推 bobispig: 06/05 16:50
2F:→ Microscft:c++要觉得好玩有点难 我用了10几年从来没有好玩的感觉 06/05 17:37
3F:推 lamontlui:谢谢大大分享 06/05 18:29
4F:推 goldflower:太感谢您了 这篇让我接下来的学习上找到了方向 06/05 19:42
5F:→ goldflower:那些网站的资源也很多 真的很感谢!! 06/05 19:42
6F:→ uranusjr:Standard C++ 要觉得好玩真的有难度XD 不过玩框架的话还 06/05 22:09
7F:→ uranusjr:是有不少可以玩的东西 06/05 22:09
其实我觉得好玩的都是偏 Standard 的东西 XD
不过这种好玩应该比较像是研究各种语言的特性啦
要说我写出什麽实用的东西,身爲小嫩嫩实在是没有~
※ 编辑: carylorrk (220.129.74.64), 06/06/2014 00:22:53