作者:王一
链接: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. 【django】django学得好迷茫啊 来个学习规划吧

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

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

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

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

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

  4. python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

    python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码 ...

  5. python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

    python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...

  6. python Django教程 之 安装、基本命令、视图与网站

    python  Django教程  之 安装.基本命令.视图与网站 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 w ...

  7. python Django 学习笔记(一)—— Django安装

    注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...

  8. Python+Django+SAE系列教程17-----authauth (认证与授权)系统1

    通过session,我们能够在多次浏览器请求中保持数据,接下来的部分就是用session来处理用户登录了. 当然,不能仅凭用户的一面之词,我们就相信,所以我们须要认证. 当然了,Django 也提供了 ...

  9. python django 实现验证码的功能

    我也是刚学Python  Django不久很多都不懂,所以我现在想一边学习一边记录下来然后大家一起讨论! 验证码功能一开始我在网上找了很多的demo但是我在模仿他们写的时候,发现在我的版本上根本就不能 ...

随机推荐

  1. Android基础总结(七)

    广播(掌握) 广播的概念 现实:电台通过发送广播发布消息,买个收音机,就能收听 Android:系统在产生某个事件时发送广播,应用程序使用广播接收者接收这个广播,就知道系统产生了什么事件. Andro ...

  2. ThinkPHP5 助手函数

    对于ThinkPHP5.0以前的版本,助手函数全部是单字母函数,但到ThinkPHP5之后,使用如下函数来代替单字母函数: 最常用: /** * 实例化Model * @param string $n ...

  3. java多线程--信号量Semaphore的使用

    Semaphore可以控制某个共享资源可被同时访问的次数,即可以维护当前访问某一共享资源的线程个数,并提供了同步机制.例如控制某一个文件允许的并发访问的数量. 例如网吧里有100台机器,那么最多只能提 ...

  4. vue初体验:实现一个增删查改成绩单

    前端变化层出不穷,去年NG火一片,今年react,vue火一片,ng硬着头皮看了几套教程,总被其中的概念绕晕,react是faceback出品,正在不断学习中,同时抽时间了解了vue,查看了vue官方 ...

  5. nginx反向代理配置及优化

    nginx反向代理配置及优化前言: 由于服务器apache抗不住目前的并发.加上前端squid配置后,问题依然无法解决.而页面程序大部分是动态.无法使用fastcgi来处理.因此想使用nginx做为反 ...

  6. cocos2d之z轴位置示例

    1:设置资源本地z轴位置 2:调整位置示例 3:调整两个资源为同一父节点 4:ImageView 设置资源,此赋值方法第一个为资源路径

  7. xml 解析的四种方式

    =========================================xml文件<?xml version="1.0" encoding="GB2312 ...

  8. 刷了OpenWrt Attitude Adjustment 12.09,很满意

    OpenWrt的这个新版本编译好的固件里集成了luci,图形界面还是很方便的. 装了wpad.qos之后,空间刚好剩下一点点,囧,4M闪存还是不够折腾啊. 发现一个bug:如果空间不够的情况下继续安装 ...

  9. Git使用实例分析

    记录下James工作中遇到的问题: 1. 在app目录下提交.cfg特制化文件,此时Git和Gerrit结合使用: 2. 对修改文件追加提交: 3. 查看当前目录的所有分支,包括:本地分支和远程分支: ...

  10. EF: Returns multi table from procedure

    原文:https://msdn.microsoft.com/en-us/data/jj691402.aspx