背景:
去年辞职,在家里学习了哲学,自以为懂得世间最难的学问后,自信心爆棚。
春节过后,想要干点实事,于是开始自满地进入软件编程开发,切入点是python django web开发。
入职小公司,没有该技术方面的前辈指导。
经历:
我自学了django后,也看了官方的说明文档,每个功能及使用方法很详细,能够像看电器说明书那样,想用啥就照着做,并且自己根据文档,编写出自己的web,感觉还是蛮简单实用,还感叹现在互联网的技术发达到能实现这样傻瓜操作式开发,心情极其好。
面试了几家公司(在三线城市),发现市场上这方面的岗位和人才并不多,基本上都是Java的岗位;面试过程都十分轻松,没有问什么技术上面的问题,可能是因为我的学历背景和无经验背景吧,而自己又比较孤傲,开发地容易程度让我想选择一些更大的挑战,于是选择一家.net后端转型django后端的公司,没有python方面的前辈指导。
在实践过程中渐渐发现,问题远比想象的多:
- 项目开发周期要求
- 前后端分离
- 兼容老项目的接口
- 复杂而庞大的数据模型
尽管努力了,但效果不是很理想:
- 时间的紧迫性要求功能的实现为第一要素,造成开发代码的零乱
- 前后端分离,跨域,API接口格式的制定、兼容、规范化,API文档书写,因为需求的变化,API文档不断重写,工作量实际上还是蛮大的
- 因为一些老项目的重构需要兼容一些接口,最开始开发时候,按照老式接口开发,往往是基于FBV写代码,每个接口都得调试,还要兼容许多符号拼写错误,后来在新接口开发的过程中,重新整理代码,基于CBV书写,才体会到真正的高效
- 最开始的零乱代码在复杂庞大的数据模型中维护性相当差,逼得我加班加点重写之前的代码
总结:
总体感觉django已经没有我之前想象的那么简单,而且自己学习效率也实在低,遇到一个问题,搜索,筛选,实验测试,项目工程测试,有些踩了两遍的坑才印象深刻,极为耗时耗力,离自己的目标越来越远,往往拖死骆驼的是一根稻草。要更好地解决方式....
知识在这个时代是容易获得的,但正确的体系化的知识在这个时代能更快速的应用并产生效果,好的知识渠道很重要。
我在搜索和查找了各个方面的资料,得到一个结论,尽管django-restframework 官方文档写得很详细,但自己去记那么多的方法、变量名称,对自己的大脑压力确实蛮大的,于是想着去看源码,解构djangorestframework,找到了老男孩的视频解说,收获颇丰,对django和restframework有了更深入的理解,而且,关键是真正接触到一线互联网开发人员的各个思维方式,编程的思维(比如面向对象如何高效开发),学习框架的思维(如排名第五的Django),学习各种实现原理等等。
当然,也知道了自己的博客应该没什么人看,应该勤快地多写点笔记~~~~
所谓学习,最重要的应该是思维方式,而不是各个知识点。 大学时候,尽管985,但其实都是放养式的,自我探索。虽说都可以学得到,但自学是各种摸爬滚打中探索出来一个良好的思维方式,在这个时代代价是蛮大的;从优秀的人那里学到好的思维方式,然后再进行更深入的摸爬滚打,也就是站在巨人的肩膀上,才是更好的方法。 不要执着于自己从前的思维习惯,不同的行业,不同的领域,都有更适合的思维方式,谦虚学习~~~