部署到sae代价
折腾了几天 我发觉我搞不定了
折腾了几天 我发觉我搞不定了
**标题取名为“会有点长”是准备一直写下去,不是小说,不是情绪,不是琐事记录,算是学习记录吧。把它写起来,留点料以后看看,还能总结总结,在打字的同时顺便整理思路,想想接下来怎么做。**
好的,进入正题。这学期开始的前一个礼拜,起源于fappy bird的风行,逛“知乎”的时候,看到网上牛人贴了自己做的代码app版的和html5网页版的,于是想自己按照他的教程自己尝试尝试做出来,那几天,装了一个游戏开发引擎,按照他说的弄了几天没弄出来。没有觉得挫败,倒是燃起了一股热情,于是像饿死鬼一样的浏览各种信息,最初想知道app怎么做出来的,接着想知道网页和网站是怎么开发出来的。几天后,自己捯饬了一番,终于弄了一个demo版app到手机上,算是知道是java开发,用eclipse就能做出来,但是如果我真要做个好的有功能的app,虽然有java基础但是对于开发android应用,还是得学习语言。想起来,这将是一段多么艰辛的过程!......其实,在折腾demo版的app的时候,我还在了解另外一条线。做网站!对的。html看了一会就能看懂了,花了2个小时吧,然后从网上找了一些网站的模板,下载几个相册模板,flash的炫酷效果吸引到了我,于是下载完了之后开始改起代码,html+xml代码很好办,上手很快让我成就感,于是去网上找了一家能免费提供服务器的网站申请了子域名。改好了代码,换上了自己的相册,了解了如何上传愿代码和文件到服务器后,http://www.henryluki.comuf.com 上成了我自己的网站,并以我喜欢的内容和样式展现。
然后就开学了,到2月底的这个时候,很多idea开始萌生,尽管这些idea或者可以称为“幻想”,但是,如果这时候把学习与未来的方向感加进来,相比之前我可能更知道我想要干什么了。那几天,逛“知乎”我陆续把“web开发”“android开发”这些话题加关注,也开始更加了解前端、后端的概念,并且把一些IT社区和开源网站添加到书签。到这里,我算是才开始真正的燃起兴趣吧。
是这样的,这学期的重点在于“web开发”,android开发我就暂时不管了。两条线:第一条是JavaScript/jquery+PHP/mySQL 这是我现在这一学期主要学习的前端与后端;第二条是java web即JSP 鉴于要上这门课,于是就不是这学期自学的内容了。说到这里,解释一下为什么要做web开发,其实具体来说,是搭建一个博客系统,web2.0。经常上轻博客和之类的网站,有写文字和发布图片的这样习惯,所以想自己开发一个。这个系统和其他博客或者轻博客的基本功能要一样,当然网上有用开源的worldpress直接开博客,但是我不会用。我要自己去一步一步做完前端再做完后端来完成它。我会加上自己的设计,加上我喜欢的UI和功能。
这就是我的想法,此想法成型于3月初,具体实施时间期限为4个月,时间说长不长,说短不短,可是因为要自学很多东西,预留4个月差不多的。
(以上是背景部分)
<!--more-->
3月11日:
这两个礼拜,跟打了鸡血似的看书和用bootstrap做网页,demo版的网站界面基本成型,但是设计和UI需要进一步优化,理论知识的储备还很低,完成了html+css+javascript+jquery的基本了解,出现了这些问题:第一,css布局还有些属性未能了解;第二,javascript的基本语法已了解,但是未能自己实践,还没有自己编过程序;第三,jquery的书籍目前正在拜读,除了没看完之后,现存的问题也是还没自己编过代码。
解决方案是:①找css布局范例,进行修改,并试着自己设计,目的是了解透基本属性的用法;
②社区有demo实例和javascript源代码,理解之后自己编程实践;
③现阶段看完jquery的书籍是要务。
3月15日:
今天晚上这个时候困得不行,什么都想干的就来写写。本地服务器已经搭好了,正在构思实现动态建站的过程,这几天没有去管之前的代码,看了《Head First HTML5 Programing》,了解到两个API和动态应用的建立,但是其实没什么用,最终还是要用PHP来写,也还不知道用怎么用数据库呢。
对于网站的设计构思和功能的想法开始进入困境,找不到定位,因此设计和功能的畅想也止步了,下一步是去多看看动态网站的范例,这阵子不想去折腾前端,又得去图书馆借借书看,找点头绪了。
3月17日:
6天前要看完jquery的书,实际上就那天看了一点就一直没碰过了。是前天开始的PHP那天
从图书馆又拿过来一本HeadFirst系列的PHP&MySQL 然后就开始接触PHP了,这两天看完了四分之一吧,书不难读,但是挺厚,600来页,很想快点结束它。晚上又从图书馆借来一本PHP,应用型的,是项目开发。准备看完HF之后再接着用的,可以对照着书打打代码,很好的实践。这个礼拜应该就是好好的看书了吧。这个礼拜过去,一个月就过去了。
3月19日:
是刚刚从图书馆回来的,今天像是打了鸡血,上午两节课,一边上课一边看电子版的PHP,下午睡了一个午觉,2点醒来后,2点半就到图书馆看纸质版的PHP,下午没回宿舍,晚餐在斋区吃完后,直接去师院上马克思,除了跟小安子闲聊之外,还是在看PHP,当然下了课还是继续回到了图书馆。是担心这个礼拜看不完了吧,尽管今天解决了将近200页,但还有200多页要解决。4天,440页,有点快,但我不是在走马观花。书本来是比较通俗易懂的,代码不难理解,那本书的精髓主要在web应用的设计,功能实现,和问题解决。主要是引导思考,提出新想法并解决问题。几天下来是给了我比较多的ideas,比如:登录注销账户的实现,游客身份与会员界面的不同,还有数据库信息的存储,图像文件的上传存储,以及HTTP协议的安全认证之类的问题,所以到现在,我要创建的应用的具体问题大致知道要怎么实现了。另外一点,上午上操作系统的时候,灵感一来,想到可以做一个“分享计划”的网站,我主要想到的实现“图书分享”应用,登录注册之后,每个会员都能发布自己的图书分享内容,大致像是以书换书这样的分享,也能分享观后感之类,当然还可以分享点别的东西,具体板块也还没有想清楚。
这些日子要好好的进行知识储备吧,PHP和MySQL这一块目前是要花很多时间的了。
3月23日:
凌晨1点半没睡,本来想看视频的,可是看完估计今晚又要到很晚了。
《Head First PHP&MySQL》整整6百多页全部看完了,认真的过了一遍,手痒痒了,想要开始做项目了。明天是打算再将这本书整体过一遍,做点记录,顺便理清一下思路。下个阶段我也不知要干嘛,网站是跃跃欲试,可是还要学thinkPHP这一门框架,为此还有20多个学习视频要看,这很耗时的啊。应该设计数据库和页面以及想想具体要实现的功能了,觉得一个人可能做不下来,这毕竟是个很多工作的事情。就说这么多吧。
3月26日:
我没想到一门框架学起来会这么的吃力,框架比语言还拿学,确实是没想到。之前在优酷看兄弟连的视频,我觉得讲的东西因为出的比较早,用的版本稍微早了一点,而且讲的很基础,只是在认真看了几个之后,就放弃了那个系列。这几天找到一个后盾网的系列,因为他顺带会讲项目,而且蛮高清的就看起了这个系列,1小时之前感觉还好,看到11集的时候,觉得自己跟不上了。首先是thinkphp本身的一些语法,有些函数我之前没见多,今天讲了异步处理,我对AJAX也还没了解,甚至是一些复杂的javascript代码也看不明白了。这个礼拜是按着视频来学习的,现在出现这些情况也是没有想到的,除了今后要多次看用法手册之外看来是没有其他办法了。...真是不知道框架竟然这么难学。
4月2日:
这几天什么都没干,这几天一直都是大暴雨,天色很暗,阴郁,整个人都没激情。干了点什么?事实上,从上周五到现在,六天时间,看完三季《少狼》,呵呵,学习进度被搁下了。好歹今天算是全部结束了,今天就找点激情继续学习好了。目前一直在学框架,CI框架,上次说thinkphp框架太难学,所以就换了一个轻量级的框架CI,目前正在入门。老实说,最近这几天没用心学习。
4月19日:
来继续写吧,从4月2号到现在,就是这个网站从demo到现在上线测试所花的时间。前一个礼拜一直在做后台,可能一般人都对后台没什么概念,后台其实是动态网站的核心功能所在。纯HTML是写死的,不能更新。那样子的静态网站很好办,我只花了三台就设计成了现在前台的样子。让数据能动态更新,为此才是网站的核心功能所在。
第一个礼拜过后,后台完成了百分之60%吧,然后因为不满意前台,就花了三天设计前台,再接着,再花了几天完成了基本的后台。
然后就是部署上线了,本来一开始想自己注册域名,再去租服务器的,想到一个域名:www.nickwebsite.com,但被注册了,.cn还有,但是没想立即去注册,因为想了想,每年近200多,说多也不多说少也不少。还好之前关注过新浪、百度、腾讯云,搜了搜,新浪短期是不花钱,在我看来最好的了。于是在上周二就决定部署到新浪云sae上。
从部署到最终上线这三天,我经历了,开心,郁闷,失望,到最后兴奋的几个过程。开心的是,第一天晚上能显示出来一个界面。周三下午继续弄,修改几小处代码,为此出来了差不多所有的界面。但问题来了,后台登陆的验证码出不来,(现在也没解决,为此我没要验证码了),index.php没有隐藏,我在.hacess文件写掉了这部分,但是sae有自己的规则我的不管用,当然这也不算什么,按新规矩重写就好了。郁闷的是,重写的路由没了,现在地址栏那一长串看着真捉急,不爽。我试了好多次,到现在也没解决这个问题。接下来的问题最要命,我在代码里写了图片的上传路径,但是sae是采用storage存储的,为此先要把文件在代码上传的路径改为她的要求,官方是提供了API没错,但是那种代码是原生的php代码,我根本不知道怎么修改我用ci框架写的代码。
我当时心里捉急啊,心想:如果解决不了这个问题,gallery部分没办法实现,我的网站就会是一个半成品啊。于是我去网上搜资料,找了很久,根本就没有将文件写入storage的有用的方法。而大部分人是贴了sae的api示例,这些人,就这样子转过去算是别人访问的骗流量的吧。其实,是有一种办法,我使用是的ci框架,网上有大神修改了这个框架来适应sae叫ci for sae。我好像看到希望,觉得看懂他的示例就能通过增加我框架中没有的文件,修改一点点代码来解决让我郁闷的问题。于是花了时间看懂范例,又照着改了改我的代码,增加了它的文件,然后满怀信心的部署上去后,但是,显示的一个空白页却让我摸不着头脑。
说到这,来吐槽吐槽sae的“空白页打击”吧。就算一个符号出错,就能整页不显示,而且还没有任何提示哪里有bug。调试有多头痛写过程序的人应该都知道,而没有提示信息的这种调试更想屎。
调不了,为此我没有任何头绪,我想啊,就这样改代码绝对不对,行不通。Ci for sae 或许没问题,但问题在我的代码不能就这么搬过去。可是,我更不能用它重新写一遍我的代码啊。然后我开始失望了,是吧,明明有免费空间用,却不能,不会用,然后就不知道肿么办了。。。。。
故事到这里,其实大家都知道,这个故事卖关子的技术含量一点不高,明明你的网站现在不好好的在这了吗,最后肯定找到解决办法了。没错,我周四晚上是解决了这个问题,这让我在那天晚上,像有人白给我送钱一样特别开心。我还是再说说吧。那天,从下午到晚上我一直找解决办法,我逛社区,sae社区,ci社区,一直找呀找,找呀找,好多点进去,又关了,无头苍蝇样乱找。然后,功夫不负有心人,让我找到这么一个链接。这个链接给了我出路。在这里,要感谢不知道哪个大神,他刚好把改写的上传图片的方法和demo放在了git上面。他在上面介绍说,用ci写了项目,要部署到sae,遇到文件上传,目录无法写进这样的麻烦,他不想半途而废,为此就自己改写了ci框架的几处代码。大神不愧是大神,真厉害,他改的正是我需要的!接下来,我沉住气,其实这个时候就开始觉得有人在给我送钱了。我小心的改了一处上传路径的代码,然后慢慢调试,一开始几次没成功,再弄几次就成功了。这里插一句,本来我还能压缩图片的,但是现在压缩不了了,而为了前台图片显示加载速度快一点,我设置都限制上传图片1M以下了。然后呢,然后就修改了所有应该修改的地方,一处行,处处行咯。那时候,就觉得别人给我送的钱是越来越多。
就是这样,周四晚上熬了个小夜,解决了big big problem。这让我一下又活力四起,整个人精神百倍了。
第二天,周五7点多,我睡了不到6个小时,就爬起来,又为博客栏添加了一个内容搜素功能。从下午下课回来,就开始调试网站的整体功能。调试的时候生怕出bug,战战兢兢。是种这样的感觉,你还很小的时候去上学,你妈妈害怕你回家路上会出事的那种担心。然后,一直到8点吧,基本调试完之后,就迫不及待就把信息通过各大社交网站散出去,带着一种像是自己很腻害的,就是那种想炫耀“我很吊!”的感觉。
嗯,整件事情这是这样,诶呦,你听完了,我也写累了。话说回来,这些日子这么用功。接下来,就先给自己放几天假吧。