我初中的时候接触过网页制作,那时候是用dreamweaver做的静态页面,一直对动态页面怀有比较大的好奇。机缘巧合下,由于要帮同乡会做做网站,走上了web开发这条不归路。(╬▔ ω▔)
由于陆陆续续有人跟我请教学习web开发的一些事情,我把我自己的一些经验、建议整理一下,分享给大家。
我当时学习的时候,跟师兄请教了一下,他让我去学asp.net,说这个简单好学。我自己去查了一下,aps.net使用两种语言C#和VB,由于我对VB有所偏见(觉得那是给菜鸟用的(╬▔ ω▔),所以我选择了C#。从图书馆借了2本书,一本C#(很厚,红色带肖像那种,好像是C#高级编程吧)和另外一本asp.net的书(比较烂,书名没记住)。
C#那本挺不错的,我简单浏览了一遍,基本对C#和windows编程有了比较全面的了解。asp.net那本就比较不知所谓,写得不是一般的烂!看了好久感觉连个简单的页面都不知怎么建。觉得这么下去不是办法,所以到网上搜了视频教程,找到北大青鸟的那个,看完发现挺不错的,强烈推荐!虽然北大青鸟“臭名昭著”(听说有些企业会过滤简历带北大青鸟的应聘者),但这个视频到真的是不错,有兴趣的可以去搜下。
学得差不多的时候,我开始在网上找免费的web服务空间(那时候比较抠门吧,觉得有免费不用是傻B),找到一个heliohost.org,据说支持asp.net,但由于服务器负载的原因,那时候刚好暂时停了asp.net,但支持php。
我也记不清那时候为什么有那么大的魄力,决定放弃asp.net,转学php(为了免费空间这个理由实在够猥琐。。),当时吧,对php的印像就是一门比较原始的语言/工具(相比asp.net有微软强力的支持和vs这个牛X开发环境,直接运行,连服务器都可以不用自己去配)。我首先最感兴趣的就是IDE的问题,工欲善其事,必先利其器嘛,找了很久都没有满意的答案,对于那些说用Vim和Editplus的我甚至感到诧异!(关于vim这个牛X编译器,我建议学学,我博客也有相应的文章),所以编译器的问题一直困扰我。
由于web开发有很多方面还是相通得,所以改学php也不是太痛苦。由于之前学asp.net尝到了视频教程的甜头(怎么说呢,像这种比较注重所见即所得,即“wysiwyg”的技术,还是看视频比较好,看书的话具体效果你还得自己在脑海里想象,或者自己再花时间动手做),学php的时候我直接上网搜视频教程,很幸运,我找到了php100的教学视频,不是一般的好,是灰常灰常的好!在php100的视频的提示下,我也跟着用Eclipse来写php(挺好用的!终于解决我寻找IDE的一大难题!)。后来基本通过看这个视频我就学会了php的开发,连书都没怎么看。反正会C++的话,基本给变量名前面加个 $ 就可以开发php了。
至于开发环境,刚开始不懂,还单独去装mysql,php什么的,搞得焦头烂额,而且mysql安装得不好启动会有点问题,而且卸载后再装也不济于事。其实现在基本都是用集成的开发套件(因为我是自学的,所以之前不太清楚,最后筋疲力尽,到网上一搜,还真有集成好的),windows下我是用wamp,而ubuntu下我是用xampp/lampp。
然后顺便再说说以后的就业问题。我比较庆幸自己当初改学php,因为后来上网一查,web开发基本php的居多,或者JSP,asp.net还是比较受人冷落,不过好像有些小公司喜欢,可能开发比较容易吧。asp.net被冷落,有性能的原因,更重要的是版权的原因吧,配asp.net一般就得win的服务器,开销挺多的。不过,web开发的一些基本原理是相通的,所以,对于语言的问题,要提起注意,但对于初学者来说,倒是关系不大。顺便说一下,ruby on rails 据说很牛,敏捷开发什么的,不过我暂时还没时间去研究。但国内web开发基本没见过招ruby的,这是个大问题啊,最后找不到工作那就悲剧了。
好了,上面主要讲的是后台的开发语言,是比较重要的部分。当然,对于web开发,还有很多的其他方面。
开发第一个网站的时候,我考察了一番,最后选定了GB2312。但后来发现电子通讯录里面有乱码,排查一番,最后确认是编码的问题。人名里面有生僻字是很常见的,这个很致命,所以后来改用GBK了。但像wordpress这种国际化的cms,内置是UTF-8,也是情理之中。编码的话,mysql里面要改,html里面要改,javascript(默认UTF8)里面如果用了ajax也要改,这个还是挺要命的。
更多内容,参考这篇文章吧: 做网站用UTF-8还是GB2312?http://kb.cnblogs.com/page/60552/
参数编码 完全解决方案
http://kb.cnblogs.com/page/69293/
下了一本javascript的书,内容太多,实在看不下去。后来还是决定直接当C++来写。(╬▔ ω▔) 看了php100的视频,学了XMLHttpRequest 做Ajax 和 getElementByID这两样东西,做简单的网站基本够了。但裸开发(不用js库)确实是挺麻烦的,我只写了一点js脚本就已经觉得受不了了。后来接触了JQuery,完美解决了我的需求!强烈推荐大家学JQuery!简单总结一下,JQuery有两方面的内容:
JQuery确实很好,正如JQuery自己所说的,write less,do more!而且重要的是屏蔽了浏览器的兼容问题,用来做Ajax更是方便。其实JQuery还蛮简单好学的,书籍的话,我自己是看《锋利的JQuery》挺不错的。学完JQuery可以继续学JQuery UI,挺不错的UI库!而且跟JQuery一样简单!
这个的话,其实还比较简单,建议去www.w3school.com.cn 看看,就是熟悉一下标签(相当于桌面程序的控件吧)。xml的话,其实web入门也不需要了解的太多。
浏览器的兼容问题让我比较头疼,但CSS的语法本身来说还是挺简单。我不擅长处理这种繁琐的问题,但基本的CSS可以写。书籍的话也没什么好推荐的。
网站开发完了, 就得部署到web上了,我换了好几家服务商, 不稳定, 宕机, 乱换ip(影响域名解析),速度慢, 数据库数据丢失....这些都是比较头疼的问题。
国内的域名、服务器的话还得备案,我可不想备案,所以我选择美国主机。
最后在网上找了几家口碑好的
http://bloghost.cn/
http://www.gegehost.com/
http://www.wopus.org/
纯友情推荐, 我目前用的是第一个,速度可以参考这个网站www.ctgps.org , 如果觉得合适,欢迎点击上面的链接进行购买,举手之劳(有点中介费的啦)。这些服务商好像都是购买国外的主机然后分拆成小空间进行出售吧,我对国外的服务商还是比较有信心的,只要这些转售商不超售,速度还是比较好的!一般的话,个人博客什么的选最小的套餐已经够用了,如果访问量大,我建议自己去国外大的host网站购买,比如
http://www.ixwebhosting.com/
http://mediatemple.net
神马的。。。
还是再提醒一下,网站的重要数据要注意备份! (用dropbox似乎不错,等有空我搞搞看)
之前开发网站的时候考察了好几个cms,简单小结一下,给大家参考参看
个人博客,小型sns社区(有buddypress插件) | wordpress(架构清爽,扩展方便!) |
垃圾站 | 织梦cms(dedecms)(国内用得蛮多的) |
大型社区(博客+论坛...) | 康盛创想 |
内容型纯cms | 织梦cms, Joomla |