随笔分类 - [20]DesignAnalysis设计分析
-
优化
摘要:从老马那抠出点东西,由于是个视频,没有文档资料,遂观后做下总结,以便以后自己遇到优化的时候可以考虑考虑这些方面,下面我将总结的写出来,供大家分享,可能有不对的地方希望指出一.SOA服务的粒度的把控:建议:服务在设计时应该是自上而下或者在服务开发之前做相应的调整,尽量的保证服务粗粒度化,这样就能减少前端的调用次数,当然这跟减少页面的http请求的效果是一致的.另外现在通过UML序列图的方式也综合了自上而下的开发方式,为底层业务模型修改完善提供了更好的契机,那么在开发的时候也可以进一步去讨论需要公开的服务,补充上粒度比较细的那一部分.也就是说先把握大局从上到下,然后把握住细节从下而上.二.接口的定 阅读全文
-
总结一下遇到过的网络同步IO导致服务阻塞的问题
摘要:在上家公司曾写过这样一个服务,用户通过我的应用(以下简称fri_svr)索取自己的好友信息,而fri_svr需要向第三方平台(如:人人,Facebook)通过http协议批量请求用户数据,由于用户数据可能很大(几k几十k的级别),所以整个req/rep的过程通常会很慢,平均大概会在 1s – 10s 之间,这样当瞬时请求量到一定级别后,就会造成fri_svr的内存暴涨且响应不了前端的请求,原因在于fri_svr会对前端的每个请求hash到(根据user_id)专门用于http请求的线程队列中(也即是one thread per queue模型),当前端向fri_svr的请求速率大于平台响应fr 阅读全文
-
Portal-Basic Java Web 应用开发框架 v3.0.1 即将发布
摘要:Portal-Basic Web 应用开发框架(简称 Portal-Basic)是一套功能完备的高性能 Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 访问接口(已内置 Hibernate、MyBatis 和 JDBC 支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean 装配、国际化、文件上传下载和缓存等基础 Web 应用组件,提供高效灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持“Action 零配置”,支持传统 Web 应用程序和 RESTful 风格应用程序,文档和示例完善,非常容 阅读全文
-
利用Webkit抓取动态网页和链接
摘要:做爬虫的时候最头疼的就是遇到一些动态加载的页面或者是一些动态生成的链接。比如我们的博客园就是个例子:凤凰网的评论链接也是一样:今天我们就用Webkit来解决这个问题。预备知识可以看一下我前面几篇文章,准备工作参照利用InjectedBundle定制自己的Webkit(二)中的客户端程序。一切就绪之后我们开始!首先介绍一些重要的函数和回调在创建一个Page之后我们可以设置一些回调函数,其中有一个是:WKPageLoaderClient::didFinishDocumentLoadForFrame原型是:typedef void(*WKPageDidFinishLoadForFrameCallba 阅读全文
-
操作系统设计与实现:深入解析
摘要:《Operation System Design and Implementation》(中文名:《操作系统设计与实现》)这本书可以说是讲述操作系统原理的经典之作,但令人意犹未尽的是,书中的内容多侧重于“如何做”,而对“为什么要这么做”往往只有寥寥数语。本文及后续的文章试图从更深入的层次去解析书中的内容,与各位共探讨。我假定您读过这本书,并对书中的内容有一定的熟悉程度,因此对书中原有内容将不再重复。后面的内容均基于该书英文版第三版。在必要的时候我会列出和我所写内容相关的书的章节号。第一篇 关于临界段(原书相关内容:Section 2.2.3)先看书的作者给出的解决critical region 阅读全文
-
E-Learning是学习系统而不是教育系统
摘要:E-Learning是学习系统而不是教育系统从我开始开发企业E-Learning系统到现在已经四年了。这四年实在是有很多槽要吐,因此以下是一些胡言乱语。莫怪。几乎每个E-Learning系统均打着“随时”,“随地”学习的旗号,并声称这是网络化的学习方式。但是我认为大部分的E-Learning系统仅仅作为教学系统,而不是一个学习系统而存在。教育《说文解字》的解释,“教,上所施,下所效也”;“育,养子使作善也”。现代汉语中“教育”一词的通行,与中国教育的现代化联系在一起,期望从“以学为本”向“以教为本”的现代性转变。在西方,教育一词源于拉丁文educate。本义为“引出”或“导出”。从词源上说,西 阅读全文
-
微线程的网络服务框架
摘要:前面的文章介绍了一个基于微线程的调度器框架,并测试了使用微线程实现远程调用的效率。本文将微线程和网络事件框架结合起来,在微线程中处理所有的事件(网络消息,用户定时器事件),这样,在事件回调函数中可以放心的发起远程调用而不用担心阻塞整个线程,只要还有未被阻塞的微线程,就可以切换到那个微线程上去执行,继续等待在事件队列上处理新到的事件.typedef struct coronet{ netservice_t nets; msg_loop_t msgl; sche_t coro_sche; uint32_t last_check... 阅读全文
-
REST系列文章索引
摘要:博客园REST系列文章索引2012-12-02 17:49 by dreamhappy, 835 阅读,1评论,收藏,编辑最近在学习wcf和Rest,把博客园相关的文章做一整理,也是自己对wcf,Rest越来越深入的总结,大家在找资料时可以更方便对REST架构 风格下WCF的一点补充这篇文章的特点在我看来是提供了自定义客户端数据对rest服务端调用的实例,即使用webclient 发送自定义的数据到rest服务服务端。传统的wcf应用程序在客户端会生成一个代理类,服务端与调用方可以共同遵守一些数据约定,比如实体类在rest形势下,暴露给调用方的只有url ,get访问比较好处理,网上大部分基于 阅读全文
-
大数据处理的趋势-五种开源技术介绍
摘要:作者:杨鑫奇本篇文章是一篇翻译文章,对未来大数据领域的技术进行一些前瞻性的介绍,个人感觉他写的文章还是很好的,推荐的技术也具有的一定的代表性,遂将本篇文章翻译出来,感兴趣的大家能够看看。大数据领域的处理,我自己本身接触的时间也不长,正式的项目还在开发之中,深受大数据处理方面的吸引,所以也就有写文章的想法的了。原文链接:http://techcrunch.com/2012/10/27/big-data-right-now-five-trendy-open-source-technologies/Big Data is on every CIO’s mind this quarter, and f 阅读全文
-
Portal-Basic Java Web 应用开发框架 v2.6.2 发布(源码、示例及文档)
摘要:Portal-Basic Web 应用开发框架(简称 Portal-Basic)是一套功能完备的高性能 Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 访问接口(已内置 Hibernate、MyBatis 和 JDBC 支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean 装配、国际化、文件上传下载和缓存等基础 Web 应用组件,提供高效灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,非常容易学习和使用。 Portal-Basic 源码、示例及文档资源:请访问 google code 项目 ^. 阅读全文
-
Chrome下载无后缀问题
摘要:唉,老了,自己给自己造Bug(Chrome下载无后缀问题)问题:这几天,部分园子的技术同行反映:下载秋式广告杀手时,没有后缀。问题存在已久:其实这个问题,广大的微博粉丝精灵用户也反映了,不过纠结的是,本人本机千测试万测试,它就是正常的。我很努力的找问题:1:本人也换了N种浏览器测试(ie、firefox、chrome、maxthon等),它就是正常的。2:本人换了不同的下载软件测试(QQ旋风,迅雷等),还是正常的。。。。3:本人上网上搜尽各类关键字:(浏览器 下载 无后缀 等)的相关文字,它就是找不到一条相关性的文章。逼不得已,提醒用户:所以,这类问题,只能暂时放开了,不停的提示用户,部分浏览 阅读全文
-
站内信设计思路之己见(基于上百万用户)
摘要:大家都知道站内信,分为少量(10-999用户),中量(1000-99999用户),大量(100W用户)不同的站内信架构,消耗存储空间,和效率也是不同的。本人基于最大的架构,来于大家共同讨论,站内信这个小功能,究竟要怎么设计,才能更节约空间。下面是基于我个人的一些见解:站内信的功能是:1、用户与用户之间的交流,像邮件形式。2、管理员给用户发站内信。3、管理员群发消息给所有的用户(对于100W用户,你要怎么做?)开门见山,先看看我设计的数据库表关系:Message表:MessageID:标识列;SendId:发件人id;RecId:收件人id;TextId:消息id;Status:标识已读1/未读 阅读全文
-
第三方平台账号登陆流程总结
摘要:第三方平台账号登陆流程总结(附新浪微博一键登入代码) 最近了解了一下第三方登入的API,包括新浪微博、腾讯微博、人人网,因为QQ的API暂时还没成功实现,所以在这里还希望有成功实现的人能给我点拨下,或者提供demo参考。 下面废话不多说,先上一张流程图,经过我的实验,大致所有的流程都是如此: 有人会问为什么第三方登入成功后还要绑定账号,其实也可以不绑定。 如果你的站点本身就没有会员功能,你可以把验证成功后返回的UID当作用户账号,返回回来后判断该UID是否已存在于数据库内,如果有则自动登入,如果没有后台会帮你创建好一条记录并自动登入,这样就实现了一个无需注册,完全使用某第三方网站账号登... 阅读全文
-
新 DAO 访问接口
摘要:Portal-Basic Web应用开发框架(简称Portal-Basic或PB)是一套功能完备的超轻量级Web应用开发框架,内置MVC Web基础架构,支持可扩展的数据访问接口(已内置Hibernate、MyBatis和JDBC支持),集成Action拦截、Form Bean / DAO Bean装配、国际化、文件上传下载、页面静态化和缓存等基础Web应用组件,提供纯Jsp/Servlet API的使用接口,非常容易学习和使用。 Portal-Basic 源码、示例及文档资源:请访问 google code 项目 ^_*Portal-Basic 主要特点:1)功能完备:内置MVC基础架构、. 阅读全文
-
一步一步搭架子(完结篇)
摘要:如果您是初次阅读这个系列,请先去《Index & Writing Plan》查找并阅读“架构设计系列”的前两篇文章,顺序阅读会使您有更好的阅读体验强烈推荐配合源代码阅读本文:点击此处下载(可以直接运行,会在本地自动生成数据库)正文开始上一篇我们写完了Service,剩下Controller和View,但是这两个都是没什么可说的了:Controller其实就是接收Service处理过的数据,并且呈现给页面;因为业务逻辑已经在Service中处理过了,所以Controller无非就是将数据稍微修改一下,比如说日期的显示方式,2012/11/15,还是2012-11-15而View,也没什么 阅读全文
-
HBase Thrift 接口的一些使用问题及相关注意事项
摘要:HBase Thrift 接口的一些使用问题及相关注意事项这里结合对HBase Thrift接口(HBase版本为0.92.1)的使用经验,总结其中遇到的一些问题及其相关注意事项。1. 字节的存放顺序HBase中,由于row(row key和column family、column qualifier、time stamp)是按照字典序进行排序的,因此,对于short、int、long等类型的数据,通过Bytes.toBytes(…)转换成byte数组后,必须按照大端模式(高字节在低地址,低字节在高地址)存放。对于value,也是同样的道理。因此,在使用Thrift API(C++、Php、P 阅读全文
-
Portal-Basic Java Web 应用开发框架:应用篇(九) —— 多入口 Action
摘要:Portal-Basic Java Web 应用开发框架:应用篇(九) —— 多入口 ActionPortal-Basic Web应用开发框架(简称Portal-Basic或PB)是一套功能完备的超轻量级Web应用开发框架,内置MVC Web基础架构,支持可扩展的数据访问接口(已内置Hibernate、MyBatis和JDBC支持),集成Action拦截、Form Bean / DAO Bean装配、国际化、文件上传下载、页面静态化和缓存等基础Web应用组件,提供纯Jsp/Servlet API的使用接口,非常容易学习和使用。 Portal-Basic 源码、示例及文档资源:请访问 goog. 阅读全文
-
Hadoop HDFS学习总结
摘要:Hadoop HDFS学习总结 最近,又看了《hadoop权威指南》,学习了Hadoop文件系统HDFS,下面我总结一下我对HDFS的学习: HDFS的构建思路:主要针对是大文件, 访问模式是一次写入,多次读取HDFS把大文件分割成数据块进行存储,默认的块大小为64MB(比磁盘块大(512字节)目的是为了最小化寻址开销)利用%hadoop fsck / -files -blocks 可以查看各个文件有哪些块组成。运行模式:管理者-工作者模式 一个namenode 和多个datanode nd管理者文件系统的整个命名空间,维护文件目录,块所在的数据节点信息(不永久保存这些块的位置信息)还有一个辅 阅读全文
-
视频网站推荐服务概况
摘要:1.优酷几乎没有个性化和相关推荐,原因无非是它的视频库与其他视频网站进行资源对接,即你可以在搜酷中搜索你想看到的视频,算是百度视频搜索的垂直版吧2.土豆点击几步动漫后刷新首页的推荐显示如下:点击一部影片后下方显示:3.爱奇艺4.搜狐视频点击一部影片时,右下方显示:注:搜狐正在发力客户端(包括移动客户端),在播放器上的功能更丰富5.乐视网点击一部影片时,下方显示:6.腾讯视频点击一部影片时,下方显示:7.迅雷看看8.皮皮播放器:右边是与左边影片相关的影片,从准确度上来说还是比较好的,见下图:皮皮的个性化推荐在UI上实在“蹩脚”,准确度还可以,见下图:注:上图是我看了几个电影和几个时事新闻后推荐给 阅读全文
-
web服务器apache架构与原理
摘要:web服务器 在开始了解Apache前,我们先熟悉一下web服务器,因为apache也是web服务器的一种。 Web系统由客户端(浏览器)和服务器端两部分组成。Web系统架构也被称为B/S架构。最常见的Web服务器有Apache、IIS等,常用的浏览器有IE、Firefox、chrome等。当你想访问一个网页时,需要在浏览器的地址栏中输入该网页的URL(UniformResourceLocator,简称为URL)地址,或者是通过超链接链接到该网页。浏览器会向该网页所在的服务器发送一个HTTP请求,服务器会对接收到... 阅读全文