思考web应用

最近看到一篇文章,是思考关于web应用的。

他的考虑层面还是比较深的:

互联网时代,用户主要通过浏览器使用各种互联网服务。而2008年3月苹果推出的App Store掀起了移动应用的革命,虽然到今天仍然有许多公司坚持认为”浏览器是各种互联网服务的最终界面”,但实际上,有越来越多的云计算公司没有一个网页界面,或者通过可在多种设备上使用的客户端提供其服务。

为什么?

事实上,客户端软件存在的时间比互联网的历史更长。那么,为什么这些公司会转回头使用更老古董的客户端软件呢?有以下4个原因:

互联网:互联网让客户端软件焕发了第二春。互联网的普及让大多数的进程和存储都可以在云端进行,客户端软件成为一个接口,这让客户端软件更容易编写和维护。

设备革命:iPhone、iPad以及层出不穷的Android设备登上舞台,而客户端软件可以更好地发挥这些移动设备的性能。

计算能力的增强:我们周围有着更多的电脑,而且这些电脑的运算能力更为强大。iPhone的性能已经比2002年的大多数PC要强,Wii的运算能力超过了阿波罗登月时候所用的大型计算机。另一方面,客户端软件大小变得更小,但效率却更高,我们可以同时运行多个应用。

App Store模式:App Store的模型是一个”发现-安装”客户端软件的流程,随着Mac App Store的推出,我们可以在笔记本和台式机上获得相同的体验。Windows 8也是如此。

以后会怎样?

我是用Evernote的Mac客户端上一边听着Spotify一边敲出这篇文章的,这二者都是OSX客户端应用。事实上,Evernote的CEO Phil Libin曾经提到过,Evernote95%的流量来自于各种设备上的客户端。

evernote-devices.jpg

Spotify更彻底:它根本就没有Web服务。还有更彻底的:通过斯巴达计划,Facebook与手机的结合更紧密。像Instapaper这样的流行应用虽然有网页界面,但我怀疑到底有多少人在用它。

这与云计算有什么关系呢?

如果你有一家互联网公司,那么可能需要注意以下五点:

1.建立面向服务的架构:Jeff Bezos曾经曾经说过,当你载入Amazon的一个产品页面时,你实际上启动了200个不同的网络服务。这种架构具有明确的、具体化的、易于使用的接口,你可以快速地建立原生客户端应用程序。

2.给你的应用一个最好的界面:不要假设你的产品的第一个界面是网页界面,这应该取决于你的应用是什么样的应用,以及你要做什么。将移动界面作为你的产品的第一个界面是很正常的一件事情。

3.在所有市场份额领先的设备上建立原生应用:原生应用有许多优点,包括易于被用户在应用程序商店中下载使用和更好的用户体验。另你可以先从iOS和Android上入手,然后扩展到其他平台。

4.将网页应用作为另一个接口:在应用层面上单独考虑网页应用的界面。这样可以最大程度保证在其他设备上的界面的性能。

5.把用户放在心上:千万记住,在另一头的设备上用户在使用你的应用。你应该专注于为用户提供更好的用户体验,在正确的场合、以最佳的方式,把你的产品送到用户手中。

需要说明的是,设备大爆炸不会停止,而是会不断进化,新的设备和界面也将不断涌现。想一想电视、汽车、游戏机、家用电子、基于语音的接口(如Siri)等等,你应该做好拥抱变化的心理准备。

发表在 网站架构 | 标签为 | 3 条评论

Google地图的《将 PHP/MySQL 与 Google Maps 配合使用》

如题,最近看到这篇文章:

将 PHP/MySQL 与 Google Maps 配合使用:

http://code.google.com/intl/zh-CN/apis/maps/articles/phpsqlajax.html

。Mark一下,可以查看如何解决每天要查询那么多次接口

地址解析:

http://code.google.com/intl/zh-CN/apis/maps/articles/phpsqlgeocode.html#geocodephp

http://ditu.google.cn/maps/geo?output=json&key=abcdef&q=%s,%s

发表在 IT资源 | 标签为 | 2 条评论

netBeans启动失败,提示“JVM creation failed”的解决办法

原来一直用netbeans好好的,突然最近出现问题咯。经常报:

netBeans启动失败,提示”JVM creation failed”的解决办法,上网查了下碰到和我一样的朋友还很多的,现在把解决方法记录下:

在”netbeans_default_options”后的参数中,有一条”-J-MaxPermSize=384m”,这里定义了Java虚拟机能使用的堆栈的最大值为384m,最后经过多次修改尝试,将其值改为300m就可以了。

另外,也可以直接在这一行前面加上一个”#”,将该行注消。

发表在 实用工具 | 标签为 | 留下评论

一些相关的网址缩短服务:

一些相关的网址缩短服务:

Iknowgo – Iknowgo:世界上最强的网址缩短服务(输入”7″即. 比较有意思的是,这样的服务,如果我是创办人,我会给那些单个字母和单个数字的指令设置成转向到比较热门的网站。 …

linkbun – Linkbun.ch可以让你把一个很长的URL地址变的非常的短,就是这么简单。

is.gd – is.gd: 又一个URL网址缩短服务 · is. gd是又一个URL网址缩短服务,类似的缩短网址已经有太多太多.大家似乎在拼的是谁更短,is.gd确实够短.它可以把 …

Linkgap – Linkgap是一项非常简单的网址缩短服务, 但它比较特别的地方在于, 可以自定义URL的后缀地址.

Linkslash – 回顾一下,看看我之前介绍过哪些URL缩短服务,is.gd, … Make long URLs Short! Shorter! Shortest! (0); Linkgap: 自定义URL的缩短网址服务 (1) …

WideURL – 你想要缩短URL地址, 你可以使用TinyURL, MooURL, Linkgab, Linkbun, shorty等等. 那如果你想要增长URL地址呢? 现在, 你可以使用WideURL, 它通过对网址添加分隔符来 …

发表在 SEO资料 | 标签为 | 留下评论

努力坚持做一件事

马云说:”公司初创,融了钱就开始犯错。尽招有著名大公司经历的人。寒流起,此群人大都犹如蝗虫,只留下一堆概念,ppt和不屑。多年来总有一批’人才’在各公司甚至竞争对手间奔走,加薪升职!其实错在自己。看到十年换过七八份工作的人,就象十年内结过七八次婚,漂亮但无忠诚,您敢娶和该娶吗?!”

看到这句话时,感触挺多,一转眼毕业3年了。换了好几份工作,虽然一直是一个行业,感觉最近一直没什么进步

发表在 程序人生 | 留下评论

优化网站要素

前一阵子一直忙着优化网站,一直没时间更新blog。现在花点时间将主要的优化点描述下:

1.使用yslow来做网站检测,发现网站的不足,优化前我们的网站得分是74分,在优化之后达到了92分。翻了很多。速度上也增加了。

2.并行下载原则。什么叫并行下载?就是网页的很多东西可以将其分开到不同的域名下尽量分离。这样可以有效的提高整个页面的加载速度。

3.css式样图片的整合,尽量将css图片整合在一张图片中。

4.页面内容的精简,设计合理,保持dom数量最优。

5.代码层做好分离,同时层次结构清晰。这样对以后维护升级都相对操作起来方便。

6.数据库查询应该优化每一条复杂的SQL语句,能够使用存储过程或是视图的,尽量使用这些。

7.图片尽量做cdn加速,这个是很重要的。

8.数据缓存的重要性。现在我们使用的memcache。但是在不久的将来我们会用redis,一种noSQL关系型数据库。

9.最后一定要有很好的耐心来做这一件事。

当然,除了这些SEO,服务器配置等都是重要方面,不过这次不是我们讨论的话题,下次再写下关于这两方面的东西。

发表在 网站架构 | 标签为 | 留下评论

APP学习计划图之android学习

13XP8.jpg

发表在 IT资源 | 标签为 | 留下评论

骑车注意安全

天天骑车。安全是第一位。如何做到安全到位?

我每天都提醒自己要注意一下几点:

1.多看,不仅前后而且左右都要注意安全。

2.慢行,在一些关键的地方懂得刹车。

3.平和,心态急躁容易出事。

发表在 程序人生 | 留下评论

redis帮助手册下载

redis帮助手册下载:
http://www.itegg.net/f/redis.chm 

什么是redis?

redis是一个开源的key-value数据库。它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有 list,set ,sorted set和hash类型。当然这些类型的元素也都是string类型。也就是说list,set这些集合类型也只能包含
string 类型。你可以在这些类型上做很多原子性的操作。比如对一个字符value追加字符串(APPEND命令)。加加或者减减一个数字字符串(INCR命令,当 然是按整数处理的).可以对list类型进行push,或者pop元素操作(可以模拟栈和队列)。对于set类型可以进行一些集合相关操作 (intersection union difference)。memcache也有类似与++,–的命令。
不过memcache的 value只包括string类型。远没有redis的value类型丰富。和memcahe一样为了性能。redis的数据通常都是放到内存中的。当然 redis可以每间隔一定时间将内存中数据写入到磁盘以防止数据丢失。redis也支持主从复制机制(master-slave replication)。redis的其他特性包括简单的事务支持和 发布订阅(pub/sub)通道功能,而且redis配置管理非常简单。还有各种语言版本的开源客户端类库。

 

 

 

发表在 服务器 | 标签为 | 留下评论

Apache Expires设置

开启Apache Expires设置,能减少网站的访问量,配置如下,有些东西时间应该要设置长一些

ExpiresActive On
ExpiresDefault “access plus 4 hours”
ExpiresByType application/javascript “access plus 1 week”
ExpiresByType application/x-javascript “access plus 1 week”
ExpiresByType text/javascript “access plus 1 week”
ExpiresByType text/css “access plus 1 day”
ExpiresByType text/html A900
ExpiresByType text/xml A14400
ExpiresByType text/plain “access plus 1 hours”
ExpiresByType image/gif “access plus 1 day”
ExpiresByType image/jpg “access plus 1 day”
ExpiresByType image/jpeg “access plus 1 day”
ExpiresByType image/png “access plus 1 day”
ExpiresByType image/bmp “access plus 1 day”
ExpiresByType image/x-icon “access plus 1 week”
ExpiresByType application/x-shockwave-flash A3600

发表在 服务器 | 留下评论