我只记得,我好像看过一幅漫画,讲述一枚鸡蛋和一只小鸡的故事,在那副漫画中,小鸡说了一句‘Hello World’ ——Brian Kernighan
前些天在微博看到腾讯玄武实验室的TK教主发了一个动态,大意是:以前有个家境很好的二代找到TK,表达了对信息安全的热爱,可是这位二代有个习惯每次要写代码的时候,就必须要开车到一个非常安静的地方然后开瓶红酒才能写得了代码。
当我在timeline中无意刷到这条动态的时候,瞬间感到当头一棒的惊醒,在过去的很长一段时间里,我也常常陷入了这样的误区里,更可笑的是我还不是能到处喝红酒的二代,只是个穷逼。在决定进入一个陌生的领域之前,我总是为自己设想了太多的阻碍,总是花了过多的时间和精力在准备做件事,而没有集中精力的去做这件事本身。
我总是力求完美的,造孽的处女座。
拿起键盘就是干
当我想通真正阻挡自己前进的原因之后,一切就变得简单而快乐了,管它用什么IDE、管它什么电脑配置,打开记事本拿起键盘就是干。于是,开始网上找教程,因为大学学过点C语言和网页设计, 毕业之后又自己学了点java啥,对编程心里还是有点底的(如果知道后面会遇到这么难题我打死都不会说出这句话的,脸被打肿了)。
就这样在网上晃荡了两晚上,决定用Python+Django来实现我的博客,为什么会是Python这个语言呢?我主要是基于这两个原因决定的:
- 人生苦短我用Python,对于小白的我这个语言足够友好,非常简单
- 我学编程主要想用来做行数据分析的,Python下面丰富的科学计算库无疑好利器
- 后面学爬虫,用来爬点不可描述的资源 呵呵
好了语言选好了,决心下了,阻碍扫除了,拿起键盘就是干。开始以为我这11年买的小黑耐不住我的折磨,没想到老一辈的小黑做工还是非常不错的。就这样每天白天完成了公司的工作之后,8点半回到家之后就开始一边看书,看教程敲了。过程中我之前设想的问题一个都没有出现,2G内存i3处理器的小黑也很给面子没有任何卡顿,各种工具安装,编译都异常的顺利。工程开展的异常顺利~哎又说早了
自己挖坑跳坑填坑
话音刚落随着项目的往前推进,需要的知识面开始变得复杂起来了。为了保证项目可以顺利按照预期完成上线,我一边对着教程完成工程的主体代码。一边学习其他的支线知识:恶补了html,学会了用git有了自己的github仓库,掌握了Markdown语法(再也不用被word的排版破坏心情了),期间还用小爬虫爬了一些不可描述的资源(我这是正经的科研学习)
在不断的自我挖坑填坑中,项目跌跌撞撞在11月下旬开始成型了,当我通过admin账号本地发出第一篇test时,这感觉就像初恋般的感觉(有点过了,飘了)。
没被linux折磨个3天3夜是不完整的
啊,终于走到这步了,本地的开发工作完成了,终于可以开始部署上线了!但是这个喜悦之情仅仅停留了不到1分钟,看完整个部署的教程之后我彻底蔫了。我对部署,服务器,linux是这个什么鬼我都没有一点概念,就知道是个服务器系统,对于是选Ubuntu还是其他镜像我都是一脸懵逼。
就这样我彻底蔫了一星期,没有去动项目代码,反复看了好几遍整个部署教程。看着距离项目上线的日期越来越近,整个人开始感觉越来越慌,眼看这就要deadline了。难道我又一次打退堂鼓?不存在的!还是拿起键盘就是干。(被自己帅到)
如果要让网站可以让人在外网访问到,那就必须要有一台正常运行的服务器和一个域名。之前对服务器一点概念都没有,在不断的看教程之中,我终于花了9.9元在阿里云顺利买到了一个ECS半年的服务器,又花了15块钱买了一个域名:isyd.fun。万事俱备,就差最后一鼓作气了。
按照教程的要求整个网站我使用了Ubuntu 14.04 64位,Nginx+Gunicorn来进行部署。就当我完成所有的准备,信心满满的时候,前面已经悄悄布好了许许多多的巨坑等我跳进。部署最让人抓狂的地方是,就算你跟着教程一步不差的来操作,也可能会导致失败,其中的原因各有各的复杂。
而我在整个部署中就是遇到了这个问题, 根据教程我顺利并且赶紧利落的完成了整个项目代码的拉取和部署,并也成功的启动了nginx,gunicon。就当我以为完美的上线时,在这之后的3天3夜中,我经历了无数次的修改,无数次的reload都无法成功完成部署,期间问了无数的人,都没有成功解决。就当我以为要重装系统,从头来过时,终于在修改了nginx配置文件的一行代码之后,就顺利的看到了我的网站成功上线了。是的,只是一行代码我写错了,只错了3个字母和少了一个空格。
解决这个问题我花了3天3夜。
但是当网站上线的那一刻我就知道,这个起码够我吹一段日子了。
那这一切都是值得的,在这一刻我终于体会到了“hello world”的快感!
这只是一个开始
这个还不够好看的博客上线,只够我吹一段日子而已,
这只是一个开始。
回到本文开头,我学编程的目的不是要成为一个专职的程序员,而只是在工作的这两年中我个人发现,对于互联网从业人员来说,对数据的挖掘、处理、分析、输出能力的要求已经越来越高。而我也开始习惯看数据说话,所以我告诉自己掌握一门数据分析语言已经变得越来越迫切,不然我可能会在未来的某一天被大潮抛弃。
当然,学习编程这个兴趣,对于我来说另一重要的影响是她可以让我学会更多的思考方式,在工作中处理问题时可以更加的理性分析问题。
致谢
也许你发现,我在整个开发的过程中都一直在强调说“教程”这个词。是的,没错!在此我衷心的感谢写出这么优秀教程的up主们。在写这个博客之前我已经花了很长的时间学习了Python的基础语法,数据结构了,而这些知识除了从书本中,更多的是来自网上的资源,非常感谢这些up主们的分享。
此外,还要感谢Django学习互助QQ群里的各位小伙伴,大家来自不同的城市,不同的身份,因为相同的兴趣遇到一起共同探讨学习。这真是很棒的感觉,感谢群里每位帮助过我的小伙伴。希望我有一天也可以写出能帮助到后来者的教程。
最后,要感谢写出网站前端模板的作者,整个网站的前端实现都是基于各类模板改造而成。后面随着我的知识点的深入,也许会慢慢的改掉升级,但是你们贡献的代码我会一直记住的。
PS 网址:www.isyd.fun(正备案中只能通过ip访问)
访问ip:120.78.149.82