作者:王一
链接: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. $.getJSON 返回值、AJAX异步调用步骤

    //首先要判断用户录入的手机号是不是中国移动的,不是直接给出提示,并终止登录 if($("#cmUsername1").val().isMobile())//手机号码 { jQue ...

  2. Authentication token manipulation error for ubuntu ubuntu-16.04.1-desktop-amd64

    https://ubuntuforums.org/showthread.php?t=1772894 Hi, I faced the same problem when I tried to recov ...

  3. Linux命令(18)查看当前用户who、whoami、who am i

    首先看命令的使用情况: [@sjs_9_108 ~]$ whoami spider [@sjs_9_108 ~]$ who am i spider pts/ -- : (192.168.1.1) [@ ...

  4. 张恭庆编《泛函分析讲义》第二章第4节 $Hahn$-$Banach$ 定理习题解答

    1.次线性泛函的性质 设 $p$ 是实线性空间 $\scrX$ 上的次线性泛函, 求证: (1)$p(0)=0$; (2)$p(-x)\geq -p(x)$; (3)任意给定 $x_0\in \scr ...

  5. cotex_m3内核提供的ITM串口打印调试

    cotex_m3内核的ARM提供了ITM串口打印观测的功能,可以不用ARM单片机自己的串口就可在开发时候串口打印调试.节约了宝贵的内部资源,同时也为调试提供了方便.使用方法如下: 1 将下面的SWO_ ...

  6. MDK+硬件仿真器实现debugprintf()-stm32

    MDK+硬件仿真器实现debugprintf()-stm32 1MDK工程设置如下 2其中stm32debug.ini文件内容为 /********************************** ...

  7. Cocoa编程中视图控制器与视图类详解

    iPhone编程规则是:一个窗口,多个视图.UIView是iPhone屏幕上很多控件的基础类.每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView ...

  8. CyclicBarrier

    用于多线程计算数据,最后合并计算结果的应用场景 CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier) 它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被 ...

  9. 并发之 volatile

    使用volatile: 每次读取volatile变量的值,都强制从主存读取最新的值. (每次修改volatile变量都会同步到主存中) i++ 之所以不能保证线程安全,是因为volatile不能解决非 ...

  10. js 节流函数 throttle

    /* * 频率控制 返回函数连续调用时,fn 执行频率限定为每多少时间执行一次 * @param fn {function} 需要调用的函数 * @param delay {number} 延迟时间, ...