现在距离上手python已经两三星期了, 刚刚我把一个简单的成绩查询程序部署到了sae上. 虽然仅仅完成了两个的小功能, but I thought it is about time that I surmised it, 但好歹是通啦, 我想是个时候总结下了.
接纳一个新事物进入自己的世界, 总是让人怀着这样那样的期待的, 对一个六七年没碰编程的geek来说更是如此. 但有期望也会有失望, 我在这里总结走过的坑和坎, 简单评估下自己的进展, 顺便给大家一些经验----so that you may never want to touch programming让你看了后永远都不想碰编程! ! !
我想大概会分为【为何选择python】【python基础】【python与flask】【python与sae】这四个方面说.
【为何选择python】
期望:
Python是一门简洁优雅的语言, 易上手, 对初学者十分友好. 同时python似乎可以做任何事情, 做网站写博客做后台支撑网站&微信公众平台&移动客户端样样都行, 而且python在那些最前沿的领域似乎尤其吃香, 数据挖掘, 数据分析,机器学习全都清一色以python为主力语言. 最重要的是, 由于秉承着不再造轮子的理念, 你几乎不需要写任何代码来完成那些基础功能, 因为繁荣的社区, 你想用的任何功能别人都已为你写好, 你只需要简单import引用一下, 便可以直接展开自己的工作了, 多么美妙的事情啊! ~
mis期望:
等你真正上手, 面临的第一个问题是Python2还是Python3. Python3是最新版本, 貌似应该选他, 但细研究就发现Python2 is far away from dying-主流环境仍然是python2的天下, 主流云服务gae , sae 依然是Python2.7的版本. 纵然Python3带来了一系列的改进, 但似乎没有一项能让你不得不抛弃2. 我秉承着喜新厌旧的精神果断选了3. 当然这是个大坑, 暂且不表.
紧接着面临的问题是, 你要用python来做什么. 毕竟是要用来吃饭的, 总要做点实事吧. 本想选数据挖掘分析, 机器学习这种高大上的方向, 可想想蹭过数据挖掘课那厚厚的一本书, 光是看明白算法就够我吃一壶的了, 还python? 机器学习的神经网络倒是挺通俗易懂, 但做起来需要对业务的高度了解, 我现在特么了解毛的业务啊! 去拉钩搜一搜, 清一色都是做后端的. 我思忖了一下, 选择了网络爬虫作为入门: 一是好上手有成就感, 二是算是对做网站和后端打基础, 再者跟数据挖掘沾点边.
【python基础】
期望:
简单了解下语法就啪啪啪开干了.
mis期望:
语法确实简洁优雅,但坑还是很多, 这里分点说
1.教程匮乏:Py2占据大半江山, 教程亦是如此. 这是最坑的, 因为教程多的话, 你碰到的问题, 总有人会说到的, 但少就不一定了! 啃了半天3的教程, 看不懂又搜些其他. 好不容易找到个能看懂的, 抬眼一看----特么是Py2的!
2.编写与调试工具: 按说每个语言都有那么一两个best choice的IDE, 我以为py也是, 但我太幼稚了. IDLE多么坑就不说了, 特么推荐IDE的没一个靠谱的, 不说别的, vim那陡峭的学习曲线让我直想砸键盘! 特么有你们这么虐新手的么. 还好机智如我, 果断选择了idle+notepad++打基础, PyCharm做进阶. Pycharm的git也是个坑, 后面会说.
3.Web基础知识匮乏: 虽然语法简单, 但做的事还是一样的, 不理解Web基础都不知道从哪上手. 模拟登录, postdata, cookie处理, 字节码编码, 对我这个伪geek来说处处是坑. 但还是有些开心时刻的, 比如纠正教程里的错误时→_→, 哈哈!
【python与flask】
期望:
快速轻量扩展性良好, 读读文档啪啪啪就开干了.
......
至少别人是这么说的. →_→
mis期望:
与Web基础一样, 难点在于对Web框架的了解. 还有服务器部署, 这还是两个坑! 本地部署一个, 部署到云端一个! 算上本地配置模拟云端调试环境就特么是三个! ! !
就是啃概念, 中间打算部署到sae, 所以去infoQ看了不少云计算的视频其实还挺有意思的. 天猫生鲜搞活动, 买了点做了酱牛肉很好吃, 感觉也就没那么难堪了.
【python与sae】
期望:
部署到云端, 全天候在线. 还有免费配额, 不花一分钱. Git管理代码, 高效先进.
mis期望:
sae是和git在一起的, 而且坑点很特殊. 怎么说呢, 按说sae的文档写的是很简洁, 却使我陷入了万坑不复的深渊. 可能因为对新浪有偏见吧, 看了文档觉得他喵的写这么少肯定全是坑我去看博客了. 辗转数个博客, 踏坑无数后回来看了sae文档, 原来精华这儿呢, 就是写的位置太坑, 提前根本想不到会写在那种地方.
再说git, 坑在PyCharm. 我是用过svn, git类工具的, 虽然是gui, 但commit push什么的我也懂.但PyCharm你git支持不好就不要乱支持好吗? 一commit就成功, 一push就失败, 其实除了commit就没有成功的. 该填的我全填好了就是不成功我也没法啊. 最后, 按sae文档打命令----add, commit, push----三行(háng)成功, 真他喵的简单. 难怪没人用PyCharm的git管sae代码.
前面提到的本地配置模拟云端调试环境, 其实就是运行个devserver.py, 眼睁睁看着在那个目录里, 一运行就说找不到. 对, 不是运行错误, 就说找不到文件. 最后看文档三行命令搞定了.~_~
还有git管理代码不会下载config.yaml, 要在本地自己创建, 也不知道想改能不能push上去. 微信公众平台验证url迟迟不成功, 因为没sae实名认证, 任何网络访问的response都会带个"该页面的提供者尚未完成实名认证您的访问可能存在风险" . 所以也不知道是代码有问题还是因为sae附的这句话.
我要做自动查询成绩的微信公众号, 所以预感微信平台也是个大坑, 等我爬出来再写吧.
最后终于到了大家喜闻乐见的总结中心思想升华主题的环节了.
---------------------莫名奇妙出现的分割线-----------------------
此处话锋一转.
----------------------又离奇消失的分割线------------------------
这么多年, 我们都有过很多期待, 期待发生一件事让你的美梦成真, 期待出现一个人和你幸福到老. 但期待是美好的, 结果却往往不尽如人意. 现实的情况常常是我们受到的打击太多, 于是便不再期待. 冷了自己的心, 还美其名曰看淡一切, 放下我执.
事实是这样的, 期待是美好的, 期待是一切顺利的情况下, 最令人欢喜的结果.
期待让你日思夜想, 充实你的每一天, 根源在于它是切切实实可能发生的! 如果你喜欢音乐, 有天赋, 家人支持, 又去了一所很棒的音乐学校. 那么你完全可以期待自己在音乐上有所成就. 这样合理的期待, 会在每一天, 每一秒帮你离它更近一步. 但如果你出身草根, 毫无乐理知识, 仅仅凭着喜欢吼两嗓子有一两个人夸过就想当明星, 这就不是合理的期待了. 只能称作妄想, 它只会被现实无情的碾碎. 人要是妄想过多, 要么坠入痛苦的深渊, 要么变得麻木不仁.
还好, 我们可以总结经验, 用几个方法削去不切实际的妄想, 让你的期待变得可爱起来.
我目前总结的几点有:
1. 了解自己究竟想要什么. 不要等得到了, 才发现得到的是别人想要的东西.
2. 找到经历过的人, 弄清他们这么做后最讨厌的几点是什么, 你能不能接受.
3. 收集超级多的资料, 并动用超强的逻辑分析能力.
4. 小规模试验.
5. 开启上帝视角, 想象已经得到或完成. 然后想象可能因此遇到的烦恼, 想象如果回到最初, 还愿不愿意付出那么多来得到它.
以上是我解决妄想, 合理期待的五个步骤, 希望你也能从中得到些什么.
就酱, Ctrl S, 晚安~