作者:王一
链接: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. 文件 FIFO队列

    <?php /** * Filefifo.php 文件型FIFO队列 */ class Filefifo { /** * $_file_data, 数据文件的路径 */ private $_fi ...

  2. python (18)在linux中如何实现定时发送邮件

    最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...

  3. UCOS-消息邮箱(学习笔记)

    任务间数据传递通过缓冲区进行,如果将缓冲区赋值给时间控制块成员:指针OSEventPtr,且任务控制块类型为OS_EVENT_TYPE_MBOS则即为消息邮箱: 一创建消息邮箱:OS_EVENT *O ...

  4. 强大的JS数组

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  5. Dubbo 服务暴露注册流程

    Dubbo的应用会在启动时完成服务注册或订阅(不论是生产者,还是消费者)如下图所示. 图中小方块Protocol, Cluster, Proxy, Service, Container, Regist ...

  6. esriSRProjCSType Constants

    ArcGIS Developer Help  (Geometry)     esriSRProjCSType Constants See Also esriSRProjCS2Type Constant ...

  7. linux 多网卡 跃点数

    centos6.4 配置两块网卡,eth0设置静态IP,8网段,eth1无线配置dhcp,都是开机启动. 但是eth1无线网卡一旦连接至开放网络(需要web登陆),就替换了之前eth0配置的默认网关, ...

  8. 论java虚拟类和接口的区别

    如题:Abstract使数据成员虚拟化,而Interface则使方法成员虚拟化.

  9. addAll()报NullPointer原因

    如下代码在注释行会报错,原因是:getSeatTravelerInfo()时值为空,对空对象addAll会报错 SeatBookingInfo b=new SeatBookingInfo(); b.s ...

  10. C# odbc

    一直下一步,注意需要 勾选你要连接的库名 odbc 命名空间 System.Data.Odbc