国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > 《Android系统源代码情景分析》连载回忆录:灵感之源

《Android系统源代码情景分析》连载回忆录:灵感之源

来源:程序员人生   发布时间:2017-03-07 08:54:28 阅读次数:3541次

       上个月,在花了1年半时间以后,写了55篇文章,分析完成了Chromium在Android上的实现,和Android基于Chromium实现的WebView。学到了很多东西,不过也挺累的,平均不到两个星期1篇文章。本来想休息1段时间后,再继续分析Chromium使用的JS引擎V8。不过某天晚上,躺在床上睡不着,鬼使神差想着去创建1个个人站点,用来连载《Android系统源代码情形分析》1书的内容。

       事情是这样的,躺在床上睡不着,就去申请了1个域名,0xcc0xcd.com。域名申请到了,总不能不用吧。用来做甚么呢?想起我写的那本书《Android系统源代码情形分析》,从2012年10月出版至今,也有4年多的时间了,得到了大家的厚受。不过网络上也逐步的出现了1些盗版PDF。不用说,质量肯定很差。干脆我把这本书的内容在我的个人站点上放出来吧。后面征得了出版社的同意,就着手开始干了。

       网站名称为“进击的程序员”,主要是为了配合0xcc0xcd.com这个域名。从Windows时期过来的老司机可能1眼就可以看出这个域名是甚么意思。看不懂的,如果大家有兴趣,后面我也能够详细说说,怀念1下逝去的青春。

       从开始有想法,到把网站建好,和将书前3章(准备知识、硬件抽象层、智能指针)的内容放上去,花了不到1个月的时间。在这不到1个月的时间里,学习到了挺多东西:申请域名、云服务器、域名解析、域名邮箱、网站备案和开发网站等等。由于我1直都是做客户端开发,刚毕业几年做的是Windows客户端,后面做的是Android端,没有做过网站相干的开发,包括前端和后端,所以学习进程还是有些小波折。不过整体上来讲还是比较顺利的。这也跟网站的技术选型有关吧。

       现在不是提倡做全栈工程师吗?这个建站进程也算是小小地实践了1把。怕时间久了会忘记1些关键细节和踩过的坑,所以就计划把建站连载书的进程记录下来。也希望能够帮助到有兴趣做全栈工程师的同学们。

       网站使用的是LNMP架构,以下图1所示:


图1 进击的程序员网站架构

       网站运行在云服务器上,系统装的是Ubuntu 14.04,除Nginx、PHP和MySQL,还搭了1个GIT仓库,用来管理网站源码。这个GIT仓库除用来管理网站源码,还用来将源码散布到网站中去。

       具体是这样的,在本地用自己的电脑开发网站(其实就是用vim编辑网页和PHP)。测试没有问题以后,就用git push命令将源码上传到GIT仓库。然后再登录到云服务器上,在网站根目录用git pull命令从GIT仓库中取得最新网站源码。

       另外,在本地还搭建了1个管理后台。这个管理后台就是用来给管理员管理网站的。主要就是操作1下数据库,例如查看数据、插入数据、更新数据等等。正规的网站会专门提供1些页面供管理员操作。鉴于这个网站不是很正规,管理员又是1个技术控,因而就直接使用Python脚本来实现这个管理后台了,想要甚么功能就直接写个脚本。

      Oracle提供了1个Python版的MySQL数据库驱动库MySQL Connector/Python,通过它很容易用Python脚本操作MySQL中的数据。这样1个简单的管理后台就搭建起来了。

      全部网站的架构非常简单,可以非常快上手,同时它又5脏俱全。网站的前端主要用Ajax、jQuery开发,后端没有用甚么高大尚的框架,基本上是徒手写的PHP。主要是斟酌这个网站要做的事情很简单,就是连载《Android系统源代码情形分析》的内容,基本功能就是阅读和评论。所以就以最简单最快的方式实现。

      为了让大家利用碎片时间更好地浏览书的内容,网站在提供PC版的同时,也提供了移动版。移动版和PC版的功能是1样的,只是它们的页面表现情势不1样。所以网站在设计之初,就斟酌了模块化和代码复用,用最小的本钱取得同时实现PC端和移动真个功能。

      不知道为何,说起PHP, 总是会想起“PHP是最好的语言”这句话。从这1个月的经历看,PHP是否是最好的语言不知道,但是用来建网站,PHP的确是最好的语言。用PHP和JS开发网站,效力比用Java/OC开发App,高多了。不过,网站的体验不如App。所以移动开发目前还是王道。

       接下来,我会用1个系列的文章分享全部建站进程,包括:

       1. 域名、云服务器、域名解析、网站备案、域名邮箱、CA证书申请

       2. LNMP开发环境搭建,包括如何配置SSL加密的HTTPS站点

       3. 支持SSH访问的GIT仓库搭建

       4. 网站基本功能开发,PC版和移动版代码复用

       5. 基于MySQL Connector/Python的管理后台开发

       欢迎大家关注!想在线浏览《Android系统源代码情形分析》1书的,点击进击的程序员进入!

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生