architecture
陈小峰_iefreer
创办踏得网,写了Stone、Myway、MyAvatar 3D等元宇宙引擎。
展开
-
JCR和RDBMS数据模型的技术选择
对于Java程序员,在选择数据存储的时候,可能会经常遇到这样的疑惑,究竟该使用JCR引擎,还是直接使用关系型数据库?有一篇老文章对此作过详细的解释,https://dev.day.com/content/ddc/blog/2009/01/jcrrdbmsreport/_jcr_content/images/jcrrdbmsreport/jcr_rdbms_report_chapuis.pdfhtt原创 2013-07-04 22:13:50 · 3972 阅读 · 0 评论 -
两款高性能并行计算引擎Storm和Spark比较
原文发表于踏得网。Spark基于这样的理念,当数据庞大时,把计算过程传递给数据要比把数据传递给计算过程要更富效率。每个节点存储(或缓存)它的数据集,然后任务被提交给节点。所以这是把过程传递给数据。这和Hadoop map/reduce非常相似,除了积极使用内存来避免I/O操作,以使得迭代算法(前一步计算输出是下一步计算的输入)性能更高。翻译 2014-06-20 16:29:55 · 50531 阅读 · 3 评论 -
计算机编程模型简介
任何计算机都是在数据上执行指令,无论串行还是并行。指令流(算法)告诉计算机每步做什么,而数据流(算法的输入)被这些指令所操作和影响。一个被广泛使用的并行系统分类方式,是根据程序执行时处理器能同时看到的指令流和数据流个数而定,分为以下4种:单指令流,单数据流 Single Instruction stream, Single Data stream (SISD)多指令流,单数据流 Multiple翻译 2014-08-03 20:43:57 · 4551 阅读 · 0 评论 -
Apache: 使用mod_deflate模块启用gzip功能
检查你的网站是否启用了gzip,用chrome打开网站比如http://www.techbrood.com选中一个请求,查看Response header部分,如果没有包含Content-Encoding:gzip那么你还没有开启gzip网页压缩功能。开启方法是在httpd配置文件中添加如下语句(注意,这里使用了apache2里面的mod_deflate而不是1.3里面的mod_gzip): A原创 2014-04-02 01:41:11 · 13997 阅读 · 3 评论 -
Node.js日志框架选型比较:Bunyan
Bunyan(by Trent Mick)是另外一个值得考虑的日志框架,以略微不同的方式处理结构化,机器可读性被重点对待。其 是,bunyan每行日志记录实际上就是JSON.stringify的一个输出。安装(Installation)npm install bunyan使用(Usage)var bunyan= require('bunyan');var log=bunyan.createLogg翻译 2014-06-25 19:32:03 · 16744 阅读 · 0 评论 -
跨域服务调用基本概念及解决方法
跨域服务调用基本概念及解决方法:服务代理、跨子域名访问、跨源资源共享、JSONP协议、跨文档消息原创 2013-09-09 00:41:10 · 21122 阅读 · 5 评论 -
Magento技术架构简介
http://magentophp.blogspot.jp/2010/08/magento-architecture.html原创 2014-06-04 23:34:53 · 9050 阅读 · 2 评论 -
Yii: 片段缓存的使用
Yii没有插件支持页面静态化,但很好的支持页面片段缓存,虽然仍然需要经过PHP处理,考虑到网络因素,已经能和静态页面达到差不多的性能效果。下面是代码示范,解决的问题是根据用户会话情况来判断缓存的使用:beginCache('USER_DIV', array('varyBySession'=>1))) { ?> endCache(); } ?>如果使用的是文件缓存,该片段缓存保存在cache原创 2014-03-19 22:57:03 · 3588 阅读 · 1 评论 -
Joomla!的一些基本概念: Component, Module, Plugin
[译注:Component, Module, Plugin在不同的框架里面代表的含义并不一样, 因此容易让人感到迷惑. 比如在Cake中Component代表的是控制器一些公共逻辑的组装, Plugin则代表着一个独立的扩展应用.]本文将解释这3个概念在Joomla中的定义和区别:组件(Component),模块(Module)和插件(Plugin)。组件(Component)事实上,一个组件是一翻译 2012-03-06 15:49:47 · 6047 阅读 · 2 评论 -
PHP架构-PHP内核
http://blog.areawebsolutions.com/php-architecture-the-php-core.html/comment-page-1翻译 2013-11-01 18:58:16 · 6146 阅读 · 3 评论 -
MySQL:索引工作原理
MySQL索引原理详解:为什么需要索引(Why),什么是索引(What),什么时候用索引(When),索引怎么工作的(How)翻译 2013-11-15 16:15:43 · 103233 阅读 · 27 评论 -
MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY)
在上一篇文章MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介中介绍了EXPLAIN语句,并举了一个慢查询例子,本篇详细说明MySQL查询执行过程原理及优化方法。原创 2013-10-12 00:04:59 · 9776 阅读 · 3 评论 -
MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介
网站或服务的性能关键点很大程度在于数据库的设计(假设你选择了合适的语言开发框架)以及如何查询数据上。我们知道MySQL的性能优化方法,一般有建立索引、规避复杂联合查询、设置冗余字段、建立中间表、查询缓存等,也知道用EXPLAIN来查看执行计划。但对MySQL复杂查询语句执行过程和内部机制,MySQL Optimizer本身所做优化以及查询语句调整对性能所产生的影响及其原因知之甚少。原创 2013-10-11 18:31:31 · 10002 阅读 · 2 评论 -
SCRUM团队中架构师角色和职责
如果开发的应用比较复杂,涉及到移动客户端/网站/服务端以及各种用户权限,那么就需要有一个系统架构的工作。传统的开发模式可能是架构师在前期单独制定架构,然后推行给开发人员,但在SCRUM的理念里面,强调知识分享和共识,那么架构师的角色会有所不同,简单而言,在SCRUM模式下,架构师关注于如下方面:辅助创建架构,而不是强制推行 一个架构Owner和整个team紧密合作,制定架构并根据实际开发情况使架构翻译 2013-09-10 21:02:22 · 3279 阅读 · 0 评论 -
高性能WEB服务器和I/O设计模式
高性能web服务器的关键在于如何处理数据I/O,下面是05年的一篇老文章,主要讲解了同步/异步,阻塞/非阻塞的概念以及Reactor/Proactor I/O设计模式。http://www.artima.com/articles/io_design_patterns.html概括而言,1、同步/异步的概念区别在于I/O操作由谁发起,如果由用户进程/线程发起则为同步,如果由OS完成然后通过回调机制通原创 2013-08-27 20:56:56 · 2724 阅读 · 0 评论 -
RESTFUL服务中POST/PUT/PATCH方法的区别
经常会混淆HTTP的POST/PUT方法,因为这两个方法似乎都可以用来创建或更新一个资源。区别是细微但清楚的:POST方法用来创建一个子资源,如 /api/users,会在users下面创建一个user,如users/1POST方法不是幂等的,多次执行,将导致多条相同的用户被创建(users/1,users/2 ...而这些用户除了自增长id外有着相同的数据,除非你的系统实现了额外的数据唯一性检查原创 2013-08-27 19:41:24 · 60212 阅读 · 0 评论 -
基于Java的开源CMS系统选择
1. http://sourceforge.net/projects/walruscms/?source=dlp基于spring,无单独后台,管理员登陆后可直接编辑前台页面,所见即所得2. http://www.magnolia-cms.com/3. http://www.jahia.com4.http://www.infoglue.org 5.http://www.onehippo.org提供在原创 2013-07-02 18:34:52 · 41528 阅读 · 4 评论 -
服务定位器模式(Service Locator Pattern)详解和代码示范
模式所要解决的问题Service Locator模式想要解决的问题是解耦合服务提供者和用户,用户无需直接访问具体的服务提供者类。比如发送短信/邮件,在应用程序的很多地方都会被使用,有两种简单的方法来实现:SmsComponent::send(...)SmsComponent::getInstance()->send(...)前者使用了静态方法,后者使用单例模式。但这两种情况,用户都必须直接访问Sm原创 2013-07-16 14:39:36 · 12566 阅读 · 2 评论 -
踏得网(Techbrood.com):云主机选择
本文简单介绍技术创业微门户:踏得网(http://www.techbrood.com/) 主机选择上的考虑因素,不同类型的网站以及不同的发展阶段对于主机的要求是不一样的,这里仅供移动互联网创业者参考。云主机运营模式云主机有两种模式,一种是EC2,一种是GAE,前者是Amazon对IaaS的实现,后者是Google对PaaS的实现。原创 2013-12-26 22:16:48 · 4926 阅读 · 0 评论