`
liufei.fir
  • 浏览: 675869 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
1、扩展velocity的视图 [code="java"]package org.christ.matrix.template.velocity; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServ ...
这个build失败的解决方案就是不要把你项目的 target目录放在src repository 里面,还有 .project 和.classpath 最好也别放到src repository 里。 具体的做法就是在新建项目的时候,在第一次commit 到 SVN 之前,先在项目的根目录设置一个 SVN 属性(我在eclipse 3.3 中,SVN插件是subclipse 1.4.0): 在eclipse中,右键点击项目根目录 Team -> Set Property ... 然后在弹出的对话框中,Property name 选 “svn:ignore”,Property Content ...
在发布你的应用程序之前,你首先要做的事情是为你的应用做数字化签名认证。在Google的Android开发者网站上,有一个整版都是介绍签名问题页 面,但如果你使用的是带有ADT (Android Developer Tools)插件的Eclipse来开发的,这个过程会变的出奇的简单:你在Package Explorer视图里右键点击你的应用项目名称,然后在右键菜单里选择“Android Tools”,然后选择“Export Signed Application Package”(导出签名应用程序包)。这会启动一个签名引导窗口,它会带着你一步一步走下去,基本上都是一些简单的填写表格的操作,你要提供 ...
印象中CAP理论开始流行是从Amazon Dynamo的论文开始的,Amazon的CTO还在他的博客中介绍了最终一致性的概念,从此以后,各种会议和交流中都少不了CAP的影子。然而,对于分布式系统工程设计和开发来说,CAP意味着什么呢? CAP 理 ...
CAP理论虽然告诉我们,一致性和可用性二者不可兼得,但这并不代表互联网系统都应该牺牲一致性,哪个特性更重要只有业务需求才能决定。 ACID是单机事务的特性,不过在分布式系统中,由于两台机器理论上无法达到一致的状态(参考Fischer等的论文),需要引入一个单点进行协调,这就出现了著名的两阶段锁协议。两阶段锁(Two-phase commit)协议是每个分布式工程师必须掌握的协议,大致如下: 1, Prepare:协调者(Coordinator)给每个参与者(Participants)发送Prepare消息,每个参与者要么直接返回失败,比如权限验证失败,要么在本地执行但不提交,到达一种“万事 ...
由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议。 ...
数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地 ...
高德对自己在移动互联网所处的位置很自信。其创始人兼CEO成从武说,“地图数据不仅仅是高德的基础,而且是整个移动互联网的基础,其他人绕不开高德。” 以IOS系统案例推算,成从武相信上百万的APP中有1/3以上需要位置服 ...
1. 认为“简单原则”,就是不加认真思考,制作最简单易于实现的系统。 殊不知真正的简单是深思熟虑之后得到的结果。要多视角考虑,并且,必要时还需要跳出来思考,避免钻牛角尖,这样,才可能拿出真正简单有效的方案 ...
1. 简介 本来想写一篇可伸缩性架构方面的文章,发现东西太多了,久久未能下笔,这里首先把大家最关注的数据切分(Partition/Sharding)方面的内容先写完,给大家参考。 我们知道,为了应对不断增长的数据,我们对数据进行切分,存储在不同的数据库里,本文提到的数据库在非特定指明的情况下,均指一个逻辑数据库(是一组数据库,比如Master-Slave),而非单一各个物理数据库。 其主要有两种方式:     垂直切分(Vertical Partition/Sharding):就是把不同格式的数据,存储到不同的数据库。     水平切分(Horizontal Partition/Sh ...
Spring Data 作为SpringSource的其中一个父项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储。 相关厂商内容 白皮书下载:JBoss Enterprise Application Platform 6迁移指南 白皮书下载:利用您的私有 ...
摘要: 上世纪90年代末,戴姆勒•克莱斯勒在公司内部成立了一个全新的部门。这个部门的职能不是设计,不是制造,也不是营销,而是研究和制作开关车门的声音。为 此,一位顶级的汽车工程师与我分享了他的有趣见解:如今 ...
近多次看到系统设计与实现的文章与讨论,再加上以前读过的其他资料以及自己的一些实践教训,让我觉得应该把这些资料汇总整理一下。如果要从讨论不同系统的众多资料中总结一条黄金法则的话,那只有一个词——“简单”;如果用一个英语单词来表达的话,那就是——KISS (Keep It Simple, Stupid!)。 麻省理工方法与新泽西方法(MIT Approach vs. New Jersey Approach)【1】【2】 这个观点来自一篇很经典的文章,Richard Gabriel在1989年写的文章中的一节“The Rise of 'Worse is Better'”。说来惭愧,我是直到20 ...
代码难以理解是软件行业的痼疾. 众多方法和方法论致力于解决这个问题, 不管主观还是客观. 造成理解困难的原因有很多, 我们今天讨论其中一种: 业务流程被分解在代码中, 支离破碎. 而这个原因的引申问题就是: 业务流程在代 ...
1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源 ...
Global site tag (gtag.js) - Google Analytics