乔布斯曾经说过:我觉得每个人都应该学习一门编程语言,学习编程教你如何思考。嗯,老乔都说了,那我就学呗。
起初我一直以为这应该是一件很简单的事情吧,你看,官网上Demo代码都给出来了。我依葫芦画瓢难道还不会?但是,我错了,我以为是葫芦,其实根本不是。我找了高中同学,做过3年Java开发,在我眼中就是大牛了。但是他说他学的Java如果要做个网站出来,那得研究下。啥?当时我心想:做个网站没这么难吧,你这样的做起来不是轻轻松松吗?我偏不信邪,本着死磕的精神,我就开始尝试着自己来写,一开始肯定不能太难,于是我开始搜索什么语言比较容易上手,那句slogan萦绕耳边“人生苦短,我用Python”。上手容易是一码事,可能不能做到我开始设想的网站是另外一回事啊!而这时候不是行路难,而是我还没找到上哪条路。这为后来悲惨的故事埋下了伏笔。
所以当我就去找到了自认为的光明大道。既然要学,就得认真点,于是来到黑马报了班。
课程开始学基础技能,Linux基础、Github基础、MySQL基础,Vim使用,我学起来还是很吃力,但我也咬牙坚持着,然后终于来到了让我兴奋的第二周的课程,第二周有十个实验跟五个挑战。一点都不意外,我还是没完成。课程内容量异常多,助教老师提前就说了,没有基础的话,选一个方向学一下,不然肯定是学不完的。我不信邪啊,这有什么学不完的。大不了晚上少睡一会呗。
后面每两周有不同的主题:Python Web开发,Scrapy 开发爬虫,Python 数据分析。这三个方向每个方向涉及的东西对我来说异常的多,经常是学了前面忘后面,各种以前没听过的术语哗啦啦的忘大脑灌输。
就拿我最开始想的来说:开发个BIM模型标注展示网站,说用什么Flask框架,框架入门学了一堆东西,路由啦,视图函数啦,模板渲染,GET POST, session ,cookies等等杂七杂八的,以前闻所未闻的东西。
然后网页要有展示,这块我略有了解,HTML CSS,但他说是后端渲染,配合Jinja2,还有Bootstrap,得了,又不知道。
有框架有前端,还得有数据。什么MySQL ORM,Flask框架配合的SQLAlchemy,后面还有些其他的像MongoDB的NoSQL数据库,Python访问MongoDB和Redis我都不说了。。。
这仅仅是第二周的课程内容,我整个人都快崩溃了
接下来的两个月并没有奇迹发生,我仍然学的头晕脑胀,但是渐渐适应了敲代码的感觉,我甚至在学爬虫的课程时,自己爬了一整个演员资料库网站,以后就能按身高、年龄之类的属性筛选了,算是苦中作乐吧。
数据分析这一章我学的并不好,因为找不到工作中重合的点,本来想做的是结合爬虫爬取招聘网站的资料,用图形形式显示BIM从业人员的薪资水平,放以后有机会再实现吧。
课程的最后两周是在Github上协同开发,然后利用Nginx+Gunicorn进行部署。我也照着教程一步步完成了。自己注册的域名,买的VPS服务器。网站很简单,就是类似招聘网站那样的,可以注册账号,发布招聘信息。
写代码很辛苦,之前我还没有这么深刻的体验。花一小时写代码,花三小时改bug,对于我这种小白来说家常便饭,有时候改到欲哭无泪。
回头想想,如果是一个非技术出生的人,通常会错误估计程序开发的工作量,特别是一些能力强的老板,什么都是分分钟搞定,想必他觉得自己规划的东西应该也是分分钟上马。
截至到发稿之时,我的网站仍然没完成,因为前端模型显示是要用Javascript的API,可是我没学,又得再补课,而服务器端的API我仍然在想怎么用Python结合,因为RESTful数据接口那一节我学的并不熟练,而且找不到人问,教课程的老师也不清楚我搞的这个BIM到底是要干啥,只能自己慢慢摸索了。
这篇文章思索再三,克服以后被打脸的恐惧发出来。 |
|