编程所需学内容和技能(工具)- 以Django为例

@Django @知识框架

目录

  • 基础四大件(DTDO)(原理层面)
  • Web四大件(LAMP)(操作层面)
  • 辅助技术(工具)
  • 幸福感提升工具
  • 针对找工作的话,需要加餐
  • 关于学习顺序

基础四大件(DTDO)(原理层面)

  • DSA(数据结构和算法)
  • TCP/IP protocol (计算机网络)
  • Design Principles(设计原理)
  • OS (操作系统)

至少要达到全部理解,不限于Python和Django其实只要编程都要理解,要成为高手更要精通

Web四大件(LAMP)(操作层面)

  • linux
  • Apache(Nginx)
  • mySQL
  • Python(也可以说是PHP,因为这里说的是Django,所以用就Python)

这四个就要非常熟悉了,因为是使用层面的东西 1

辅助技术(工具)

  • 版本管理(Git和Github)
  • 远程操作工具(如ssh)
  • 虚拟环境工具(virtualenv+virtualenvwrapper, pipenv, docker等)
  • 文本编辑器(vim, pycharm, atom, sublime, vscode等)

说的是辅助,但是是必不可少的辅助,必须弄会,而且确实也不难,常用的都只是几个简单操作,要求掌握

幸福感提升工具

  • 论坛交流(stackoverflow, CSDN, 简书,知乎)
  • 英文多用用吧,最好试着用英文资料学编程(用就是学,英语好了学编程幸福感会好很多)
  • 油管和B站(看书看累了,看下视频教程也是不错的,英文中文都6起来吧)
  • 各种官方文档(虽然写的大多不是人话,总之英文好了,能看懂鬼话也是很幸福的)

针对找工作的话,需要加餐

  • 项目经验(没项目经验,就自己先写些小项目吧,或者小程序也行。这也是个鸡生蛋,蛋生鸡的问题)
  • Leetcode刷题
  • 学习网上的开源项目代码
  • 发表文章,论坛,个人博客,最好能有论文。论坛中不光要问,还要写文章,做贡献,HR应该也会喜欢你有自己的文章。

关于学习顺序

内容是按从基础到实战的顺序排列的,重要性不分先后,因为你缺了哪个,编程都学不好,或者至少学得很难受。
至于学习顺序嘛,我不喜欢循序渐进,个人觉得,从哪开始学都行,任性点,哪里觉得好玩就先学哪里,好玩的学完了,就学薄弱的。其实你在学好玩的那些部分的时候,经常需要查一些你觉得无聊的知识,这样慢慢的也学到了些,这样效率就高很多,因为都是相得益彰的。(当然,更推荐哪个挣钱先学哪个,哈哈。因为钱真的可以换时间,有了时间,你可以学更多的东西。)
重要的是,你对应该掌握的知识结构了然于胸,知道自己哪里会,哪里不会。


  1. 提到这个熟悉和使用,倒是很有些感想,感觉就是个鸡生蛋,蛋生鸡的问题。为什么要求非常熟悉,因为这个需要经常用啊;但你只有经常用,才会很熟悉啊,呵呵了。人都想捡现成的,可没有石头里蹦出来的生产力。
    活着不易,但既然活着就好好的寻找希望吧。
    生活有两种表相,一个真相,一个假相:
    一种是线性的,真相,这个是基础的,比如人的生命周期,生下来以后一定要奔赴死亡的,或快或慢,但终究不可逆,不可复制,不可复现。我们能做的就是让它持久些,美好些,所以珍惜当下吧。
    一种是循环式的,假相,就比如为什么工资低?技能低;为什么技能低?没空学;为什么没空学?工作累。为什么工作累?竞争大;为什么竞争大?技能低,门槛低。我觉得这里面的薄弱环节就在时间和精力上(没空学,工作累),至于怎么破,大家应该有自己的答案。
    人只要身体和精力还好,不管年龄多大,只要还有未来,总能找到貌似死循环里的薄弱环节。祝你好运,也祝我好运。 ↩︎

你可能感兴趣的:(Django,python,编程语言)