作者:王一
链接:http://www.zhihu.com/question/26235428/answer/36568428
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

很多程序员,在学习一门新技术的时候,都会陷入像题主你这样迷茫的状态。我也一样。而且不止陷入一次两次。比如学习新的框架的时候,学习新的语言的时候,学习移动开发的时候。

这事儿多了以后,我就在想。不对,肯定有哪里不对,看着StackOverflow也好,Github也好,上面那么多的高手,回答各种问题。而很多人居然还是在校的学生。我有种感觉,这肯定是我的方法出了问题,肯定是在某个很深很深的根源上出了问题。大家都是人,一天三餐吃喝拉撒,学生虽然自由时间多一些,但是我们毕竟也干了这么多年的程序员。新东西每天都在往出冒,不可能有人能那么快得全部掌握。而现实是确实出一种新技术,瞬间一堆高手就冒了出来。这事儿,有问题。

于是我就开始找问题的根源。其实这事儿没这么复杂,只要静下心来,不要看到一个新技术就急慌慌的去学,很快就能反映过来。根源其实就是两点:

1. 计算机技术的底层原理从来没有变过。
2. 任何一门新技术都是人为写成的。

这是我在迷茫了N次后,静下心来,制造出的自己在技术海洋上的指南针。对不对好不好不敢说,大家批判这看吧。

在学习任何一门新技术新框架新语言时,我会先把这两条引用到整个学习过程中去。

1. 计算机的底层原理从来没有变过。
网络需要通讯原理,编程需要数据结构与算法。一个列表的排序不管你是JAVA是C是PYTHON,哪怕你调用的函数名字千差万别,最后的算法其实疏通同归。你大可不去查文档自己写一个出来。一个一个网页上得表单,不管哪个框架哪个语言哪个MVC,最后都要归于一个HTTP的POST,最后都要连接上数据库,写进去存起来。

这就是原理不变。你要先把这个道理时时刻刻的记在心里。当遇到看不懂的东西,迷茫的时候,去想想这个函数到底做了什么,然后从那个不变得原理反推回来,大部分时候你会发现很多新技术不过是早已有的技术的重组与包装而已。

2. 任何一门新技术都是人为写成的。
这里的新技术主要指的是目前百花齐放的各种框架啊库啊类啊语言啊一类的。一开始我也很很多人一样,觉得哇好牛好酷好高大上。但是慢慢的,我有一种被欺骗的感觉,这种感觉类似于某类产品持续的营销,今天我们有这个口味,明天我们有哪个口味。区别只是一个加了蜂蜜一个没加。

因此在总结了第一个‘原理不变‘之后,很自然的我推出了第二个’人为写成‘。意思是不管看起来多么新潮,多么高大上的语言,它首先要遵循第一条原理不变的道理。而如果在使用它的过程中,发现了某些有违第一条的感觉函数,方法,逻辑。那么百分之百这个函数方法逻辑只是做了人为的包装而已。去看文档,不要纠结为什么,作者当时可能脑袋进水,不要跟着他一起跳坑。

简单说,什么Django, Flask, Web.py,CSS, HTML5, ...别被那些炫名词的给洗脑了。原理原理原理,本质本质本质!不要诚惶诚恐,就当它是烂泥巴搓圆弄扁踩两脚,抱着这种心态来学才对。

简单解释了一下我草草归纳的两条规律。回到答主的问题上来。

你的第一个问题是我该干什么?很简单,做第一个网站,做第二个网站,做第三个网站。做网站做吐了就去做做手机APP,做的无聊的就去玩玩爬虫。记得把你所有写得东西都扔到GITHUB上去,每天在SO上答问题问问题。就这样。

不要做到完美。记小时候玩泥巴么?就那么玩。堆个城堡起来,踢两脚,扔一边儿,再堆一个长城起来,再扔一边儿。玩的时候时刻记得我说的那两条规律。

2.在实际工作中,python工程师工作到底是做哪一块的?(尽可能的详细点)
亲,请先找到工作。

3.如果从事django开发,还需要哪些技能?要学前端么?

你学的不是Django开发,你学的应该是计算机科学中,网络应用方向的一部分。这才应该是学什么Php网站开发,Python开发真正应该叫的名字。 Django只是你工具箱里的一个工具而已,比方说它是把锯子。这个锯子的牌子叫做Django. 其他生产锯子的厂家包括但不限于Php, Flask, Java, Go....但是他们的本质都是锯子。都可以做一样的事情。有的厂家在锯子上安了个小手电,于是它的牌子的锯子也许多了一些功能。这就是框架与框架的区别。

所以,你需要的不是Django开发的技能,你需要的是网络开发与管理的技能。如果题主专注于做网站的话,相信我,数据库数据库数据库!一个设计良好,结构合理的数据库,是任何优秀网站的前提。

4.如果想去实习需要达到什么水平?
别想,别问,做吧。当你能按照上面说得,持续不断的更新你得个人项目,持续不断的在SO也好,V2EX也好上累积你的资历,持续不断的,抓住计算机科学的本质去学习。实习?这是个事儿么?

[转]回答--python django学的很迷茫怎么办?的更多相关文章

  1. 学Python Django学得很迷茫,怎么办?-转自知乎

    本人学生,零编程基础,在学习python的过程中越学越迷茫,感觉像无头苍蝇一样,来知乎取经,下面进入正题吧:        我是先看了中谷的python教学视频,然后跟着慕课网上的python教程把题 ...

  2. 【django】django学得好迷茫啊 来个学习规划吧

    http://www.zhihu.com/question/26235428

  3. Python必学Django框架,入门到精通学习视频教程全都在这可以领

    “人生苦短,我用python”,学python的小伙伴应该都了解这句话的含义.但是,学python,你真正了了解强大的Django框架吗!? 据说Django还是由吉普赛的一个吉他手的名字命名的呢,有 ...

  4. 从零开始部署Django生产环境(适用:《跟老齐学Python Django实战》)

    <跟老齐学Python Django实战>作为市面上少有的Django通俗实战书籍,给了我学习Django很大的帮助.作为一名新入门的菜鸟,全书我重复练习了至少三遍,每次都有新的收获. 前 ...

  5. 学python+django去北京找工作,靠谱吗?

    有些朋友说,自己的学习能力还可以.倾向于python加框架,如django,python本来就会一些.不太了解北京公司的情况,想知道现学的python+django在北京找到工作有多少可能性. 要想知 ...

  6. 微信开发python+django两个月的成功经历,django是个好框架!

        时间:大三 上学期没有用微信内置浏览器而纯对话开发,坑了自己好一下. 下学期选错bottle框架,以为轻量好,谁知开发中什么都自己来很痛苦. 选对了框架django,终于在大三最后的个把月里写 ...

  7. 【Mac系统 + Python + Django】之搭建第一个【Django Demo(一)】

    我编写的此系列学习资料是通过虫师的python接口自动化出的书学习而来的,在此说明一下,想学习更多的自动化的同学可以找虫师的博客园,非广告,因为我python+selenium自动化也是跟虫师学的,学 ...

  8. python django网站编程视频教程学习资料下载

    “人生苦短,我用python”,学python的小伙伴应该都了解这句话的含义.但是,学python,你真正了了解强大的Django框架吗!?据说Django还是由吉普赛的一个吉他手的名字命名的呢,有木 ...

  9. Python+Django+ansible playbook自动化运维项目实战✍✍✍

    Python+Django+ansible playbook自动化运维项目实战  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受 ...

随机推荐

  1. PLSQL_闪回操作5_Flashback Table

    2014-12-09 Created By BaoXinjian

  2. 让Chrome可以修改字体

    在chrome地址栏输入chrome://flags/ , 然后将"停用DirectWrite Windows"改为停用 , 这样自定义的字体就可以生效了.

  3. laravel5.2 移植到新服务器上除了“/”路由 ,其它路由对应的页面显示报404错误(Object not found!)———新装的LAMP没有加载Rewrite模块

    Laravel 框架通过 public/.htaccess 文件来让网址不需要 index.php.如果你的服务器是使用 Apache,请确认是否有开启 mod_rewrite 模块.如果 Larav ...

  4. FOOD

    Serving order of food courses(上菜顺序)1. Appetizer(starter)2. Main Course3. Dessert Style of cooking1. ...

  5. Citrix 服务器虚拟化之八 Xenserver虚拟机模版

    Citrix 服务器虚拟化之八 Xenserver虚拟机模版 XenServer与VMware不同,Vmware只能将现有的VM转换成模版,而XenServer具有两种方法:一种是将现有 VM 转换为 ...

  6. 学习MVC框架的步骤

    1.搭建环境 2.了解控制层和视图层的映射 3.控制层和视图层的传值 交互 4.异常处理 5.页面标签 6.文件上传 7.框架源代码

  7. java中传递数组的写法

    var arr=["110","120","119"]; //如果浏览器不支持JSON,就使用json2.js,json2.js的源码放在最 ...

  8. Dubbo 通过Spring 配置具体启动服务

    dubbo 服务的启动加载过程,请先看 : http://www.cnblogs.com/ghj1976/p/5316126.html  以 dubbo-demo-provider-2.5.4-SNA ...

  9. Codeforces 519E A and B and Lecture Rooms [倍增法LCA]

    题意: 给你一棵有n个节点的树,给你m次询问,查询给两个点,问树上有多少个点到这两个点的距离是相等的.树上所有边的边权是1. 思路: 很容易想到通过记录dep和找到lca来找到两个点之间的距离,然后分 ...

  10. Sq server 关于存储过程,触发器的一些理论简述

    http://www.doc88.com/p-2905916227462.html