新的一天
太阳每天都是新的。早上起来,看着太阳,深吸一口新鲜空气,微笑着张开双臂,拥抱着这美好的新一天。
波涛汹涌的江面,逆流而上的小船。
1. viewport
iOS Sarari 浏览器允许网页 Head 里存在一个 Viewport 声明,用来规范浏览器对此页面的缩放特性,完整的声明如下:
Viewport 里目前有五个可以设置的属性,它们各自的作用如下:
通过控制这个,将网页的主体内容扩展到整个界面,能够给用户更好的阅读体验。
2. 横竖屏切换。
Mobile Safari for iPad 可以直接在 link 或者 style 标签的 media 属性里声明该样式是竖屏的还是横屏的。可以利用来在横竖屏下面做一些不同的内容布局。
中国近代这一百多年,跟春秋战国时期,魏晋南北朝时期,属于中国历史上最为波澜壮阔的宏大社会变革期,都需要仔细的去了解和品味。
之前听说了徐中约教授的饮誉中外的《中国近代史》,这本书讲了自清初到二十世纪九十年代初的大约400年的历史,书中的史料非常详尽, 讲述了很多教科书上不曾提到或者一笔带过的重大事件。这本书总共42章,但是大陆出版的像广电总局审电影似的了剪掉了非常多的史料,最后只剩下29章。推荐看看香港中文大学出版的那个版本。
我们在课本上学习的历史,往往将单一的历史事件割裂开来,对于事件的起因和后续的影响简单的带过。事实上历史是连续的。这本书中从清初开始讲起,是为了说明中国近代史并不是被鸦片战争的炮声突然轰开的,它有着之前深刻的社会背景,此前的200多年,西方的很多传教士进入了中国,已经将很多的先进技术带入了中国,只是中国并不重视,只是作为玩具和观赏艺术来对待。之前的西方国家也不敢小瞧这个巨大的国度,只是在后续的几次交锋中逐步摸清了中国虚弱的本质。
鸦片战争之后,中国先从经济军事、政治制度、思想文化上学习西方.二次鸦片战争之后开始了30年的以慈禧,奕訢、曾国藩、李鸿章等人领导的“中学为体,西学为用”的洋务运动,学习制造西方的现代船炮,打造了一支亚洲领先的北洋海军。然而中日甲午海战的惨败宣告仅仅学习经济军事是不够的。之后又开始了政治制度的学习,康有为梁启超学习英国和日本的君主立宪制度,孙中山学习美国的民主共和制度。最终戌变法失败了,辛亥革命成功了但却面临之后的多次复辟混乱,最终导致了军阀割据。说明中国还没有为这暂新的制度做好准备。强烈的挫败感和危机感,使得中国人又开始从思想文化上学习西方,陈独秀,胡适,鲁迅等领导的新文化运动,主张学习西方的科学和民主,矛头直指传统的儒家思想。运动动摇了封建思想的统治地位,大大解放了人民的思想。不过很多人带有非常偏激的情绪,主张摈弃中国民族文化,全盘西化,对中国传统思想文化,价值观念造成了相当大的破坏。不过建立起现代中国的社会基础已经准备好了。
北伐战争的胜利,使得中国重新统一了。但是国民党政府没有抓住历史的契机,进行土地改革,改善民生。而是忙于奔命处理内部不和,通货膨胀,与共产党内战和日本侵略等问题。最终赢得了抗日战争之后,却失去了民心的支持,逃往了台湾。中国也真正完成了三民主义中的民族革命。
对于新中国的历史,几乎还没有其他书籍做过系统的整理,历史课本就不用提了。看了这本书之后,相信对于大跃进,对于文革,对于改革开放,对于许多的历史人物,等等都会有更深刻的理解。例如中苏的交恶,文化大革命的发起,林彪的叛乱,80年代的通货膨胀。不能说太细了,不然我的博客要被墙了。
对于很多的历史人物和事件,我们需要更全面的去评价他们的成败得失。
对于中日甲午海战之后的百日维新戊戌变法,往往都说它是失败的,是一部悲剧。但是它对宪政,对民主起了很大的宣传作用,点燃了许多中国民众心中等政治火炬,大大加速了帝制的灭亡。
有一些人说孙中山又没有打过仗,辛亥革命发生的时候,孙中山甚至都不在国内,甚至都不一定知道有这回事。完全是个投机者。读了这段历史会发现,孙中山为了达到最后的目的,有时候真的有些不择手段。但是他的思想和远见,着实具有深刻的指导意义。他学习西方又不唯西方,而是结合中国社会背景,提出的三民主义和五权宪法,直到现在都有现实的价值。可惜我们现在也只是实现了民族主义,民权主义和民生主义还远未达到。五权宪法在孟德斯鸠的立法、司法、行政三权之外加上了考试权和监察权。科举考试是中国古代的非常重要和先进的一项人才选拔制度,后来出现问题不是考试制度的问题而是所考的内容出现了重大问题,变成了无用的八股文。监察权相信也是因为中国历史上贪污腐败横行而独立出来的,不过如果立法和司法真能够独立的话,相信监察权也许就不需要单独提出了。
喜欢看这段历史的童鞋,不妨去新浪爱问http://ishare.iask.sina.com.cn/上搜索下徐中约,中国近代史 42章,相信不少。徐中约的这本书提供了丰富的史料让我们了解这段历史,不过更多的体现在外交和国际关系层面上。社会和文化层面上,不知道你们有没有什么更详尽的书推荐.
中国每次的大变革时期,都是思想文化最开放的时期,为之后辉煌灿烂的文明打下坚实的思想文化和政治制度的基础,比如战国之后的秦汉,南北朝之后的隋唐。希望这一次也一样。
公司希望为我们的Web站点,开发一个html5版本,拓展到Pad端,给使用高级浏览器的用户一个更加完善的用户体验。其中一个重要的功能就是支持离线应用。
利用html5构建一个离线应用,主要依赖于三个新的特性
要使用离线缓存功能,需要在编写manifest文件,并指定使用的manifest.
manifest文件格式.
文件示例
上面提到过,目前html5提供了两种检测是否在线的方式
通常我们用cookie来存储数据,但是cookie存储的数据量太小.而且每次发起http请求都要带上,增加了数据的传输量.html5新引入了两种key/value存储方式,提供比较大规模,性能更高安全性更好的存储方式。 localStorage 和 sessionStorage
sessionStorage只在本次浏览器会话中保存,浏览器关闭之后存储就被丢弃。localStoage则可以比较长期的保存。但是使用方式都一样,非常简单.
直接
另一种方式是关系数据库存储,不过虽然chrome提供了websql特性。但是貌似html5工作组停止了这个标准的制定工作,转而支持另一种indexedDb的标准。但是indexedDB目前还没有浏览器实现。我的理解,前者基于Sqlite的Sql来操作数据,后者可能更像是ORM的方式,数据操作更加优雅更加对象化。所以可能暂时这个功能得不到大范围使用。
利用离线资源缓存,我们就可以能够访问读到应用了。然后利用状态检测和数据存储功能,我们就可以在离线的时候,将用户的操作保存起来,等到在线的时候,再将它们发布到服务器上。做了一些demo后发现,已经能实现一些简单的应用了, 还有一些问题需要解决,包括。
看到同事写的一片博客,项目开发中的小纸条,想想在他的带动下,这一年也试验了很多敏捷开发的方式。包括一开始使用的燃尽图,封闭开发期间推行的单元测试,现在使用的任务小纸条。应该说效果还是非常明显的,虽然不是在所有的项目中都采用了,但是在我们团队多人配合的周期在三周以上的大点的项目中,基本都是采用了。

使用燃尽图的时候,产品的理想开发周期应该在三周左右。我们一开始将任务拆分出来,粒度在半天左右的。列出开发计划,每一天完成多少个功能点。需求不明确的,要尽快跟产品人员沟通确认。在白纸上或者白板上,以功能点个数为纵轴,开发工作日为横轴的坐标上,标出每天的剩余的未完成功能点数,连成曲线。然后每天标出实际的剩余功能点数,汇出另外一条曲线。如果发现实际曲线高于计划曲线,说明项目进度慢于预期,那么项目将可能面临延期的风险。如果实际曲线低于计划曲线,并且差距越来越大,说明项目可能能够提前完成。理想的情况应该是两条曲线基本吻合,否则要么是我们的估计出现了偏差,要么是项目中出现了意外情况。根据曲线的偏离情况,可能需要及时的做出调整,保证项目的正常完成。项目中团队每天下班前需要碰一下,报告完成的功能点数。
根据项目的情况,我们可以在几个关键的功能点上标明项目的里程碑,重点关注几个里程碑的开发进度。相对完整的功能块及时提交给测试人员。使得他们能够提前介入测试,缩短项目周期。
任务条的部分我们是上一个项目开始使用的,详细情况参见同事的文章。
燃尽图和小纸条都属与scrum开发方式的组成部分。它要求我们一开始就将任务能够拆分的足够细致。开发过程中发现曲线偏离过大的,及时的做出风险提示,并尽快找到原因,作出修正。每天团队有短暂的会议来相互沟通,跟踪进度。测试能够尽快进入。实现产品需求的快速迭代。
这些技术应该說还是不难使用的,最关键的地方还是一开始的功能拆分,需要完全理解产品的需求,不明确的尽快沟通。任务需要拆分的足够细致,并分配到具体的人,才能做好开发的时间评估。这个工作要一整天甚至更多的时间。之后需要每天通过短暂的会议沟通,坚持绘制曲线和移动小纸条。需要注意的是任务的完成需要以能够提交给QA测试为标准,而不是差不多完成了。說差不多完成了的时候,往往还需要一半的时间来做到真正的完成。
至于单元测试的东西,改天我再写一写当初我们的经历。
最后感兴趣的朋友我推荐一本书
硝烟中的Scrum和xp 网上可以免费下载。
Copyright © 2012 苇叶舟 All rights reserved. Theme by Laptop Geek.