技术共享
文章平均质量分 70
若水003
1:喜欢追求探索事物的本质。
2:喜欢阅读。
展开
-
简洁、明晰!数据库设计三大范式应用实例剖析(二)
本文引用http://db.rdxx.com/MySQL/2007/6/281623676637_2.shtml假设仓库管理关系表为StorehouseManage(仓库ID, 存储物品ID, 管理员ID, 数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系: (仓库ID, 存储物品ID) →(管理员ID, 数量) (转载 2008-04-02 23:28:00 · 1156 阅读 · 0 评论 -
一次的面试体会
一次的面试体会 ——————如何面试? 进入新公司快三年,难得有次机会去面试人,个人感觉这次面试还是比较成功。 这次面试结果通过该兄弟在后继的表现得到了验证。我当初第一次面原创 2011-06-26 19:50:00 · 1018 阅读 · 0 评论 -
设计模式应用之使用COMPOSITE模式实现流程(四)
设计模式应用之使用COMPOSITE模式实现流程(四) 最近在工作的过程中,完成了一个实现动态流程的任务。因此将我的demo程序共享出来,给大家参考如何使用COMPOSITE实现流程的编写。在前面序列文章,我本来计划利用MEMENTO解耦COMPOSITE 对象,使COMPOSITE 对象得到共用,但是在实际开发过程中,我发现这样在开发上有一定的难度,因此我没有采用这样的思路去开发。原创 2012-03-11 22:15:26 · 818 阅读 · 1 评论 -
从项目始末谈面向对象——领域分析、需求分析、分析模型、设计、实现
从项目始末谈面向对象——领域分析、需求分析、分析模型、设计、实现 序言 在旅行之前,先介绍下我所从事的项目的一些特点。我从事的是存储行业的软件开发,主要做的事情是解决存储系统的性能、可靠性问题。原创 2012-06-12 21:09:55 · 1294 阅读 · 0 评论 -
谈异步线程池的设计
谈异步线程池的设计 异步线程池的作用就是统一进行线程调度,利用有限的线程处理系统中所有的异步任务。其实一个系统中的异步线程数量跟CPU的核数是有一定的关系,线程太多,容易浪费资源,而且各个线程之间的CPU调度,也不见得使性能提高,反而会对性能有一定的影响。但是,线程多,不容易照成死锁。为什么呢? 很多情况,我们在设计异步线程池的时候,很少去考虑原创 2012-06-23 10:57:30 · 5041 阅读 · 0 评论 -
SSD 的运用
SSD 的运用 自从SSD一出江湖,江湖就流传了关于这个快刀很多传说, 也有很多人,都寄希望予这个快刀,所有的慢的问题,都一刀了结。 但是,快刀也有快的缺陷,首先如果一直用刀的某一处一直砍东西,那么刀的某一处就很容易钝掉,甚至有缺口。 而且,出刀的时候,由于刀刃比较长,所以在场所比较小的地方,很不容易使开来,不能横扫、斜屁,只能直刺。原创 2012-08-25 23:13:02 · 939 阅读 · 0 评论 -
读IDEO 设计改变一切的思考
花了三个月终于把《IDEO 设计改变一切》这本书看了一遍。在这本书里面提到了设计思维,但没有明确归纳什么是设计思维。设计思维包含了三个空间:灵感、构思、实施。这里的灵感是指那些激发人们寻找解决方案的问题或者机遇,构思即生产、发展、测试想法的过程,实施是把想法从项目工作室推向市场的途径。灵感,是跟个人对问题的思考有关。一个人的问题遇到越多,就更有可能产生灵感。尤其是在互联网时代,为什么有些人可以开发原创 2012-12-17 23:14:45 · 2283 阅读 · 0 评论 -
Linux 内核编程总结
Linux 内核编程总结 从事了几年的内核编程,对内核编程有一定的经验,现总结、吐槽下,作为标记。 任何进程都有有进程的入口点,用户态的进程,其入口点是,main函数。 那么内核的入口点是什么?个人理解整个OS,运行起来就是一个进程, 内核的入口点是init进程,在这个进程中负责: 1)子进程的创建,包括内核的线程、用户态的进程。原创 2015-01-10 18:51:28 · 820 阅读 · 0 评论 -
码农的视角:马云菜鸟物流的一个简洁版实现
龟兔赛跑的物流玄机 80后的我们大都接受了一个励志的寓言故事:龟兔赛跑。这个寓言有很多版本,有的说兔子太骄傲,在比赛的时候睡大觉,结果被乌龟给拼命地赢了。有的说,乌龟很聪明,在比赛的路上不满了同伴,每个同伴看到兔子来,就开始跑,结果乌龟聪明地赢了兔子。 龟兔赛跑的第二个版本,充满了物流玄机:假如一个用户在XX地方买了一个商品,那什么样才能更快地把商品送到该用户手中。用龟原创 2015-01-10 19:05:17 · 2625 阅读 · 0 评论 -
借力用力,一两拨千斤——抛弃程序员天生的自负
程序员要抛弃自负情节,复用别人成功的案例。数据方案组件化、平台化,收拢数据访问。原创 2015-01-11 00:11:32 · 3385 阅读 · 0 评论 -
电商系统架构——系统鸟瞰图
电商系统架构原理原创 2015-01-16 21:54:33 · 26730 阅读 · 1 评论 -
千里之行
千里之行之系统演进工作了几年,总想写些什么,思考再三决定根据自己的工作经验,写互联网系统演进,一方面总结自己的系统架构知识,一方面也抛砖引玉,该序列的博客包含:系统如何演进进程技术篇系统技术编部署技术篇总结系统如何演进演进驱动演进历史思想工程方法演进驱动大型系统是天生如此巨大,还是在使用中不断演进?大型系统的概貌是预先设计的,还是在使用过程中不断演进的? 系统之复杂,是很少有原创 2015-03-21 17:14:02 · 1590 阅读 · 0 评论 -
千里之行之思想
系统演进思想分治重构经济、简单之约束处理分治系统发展到一定的程度,或者初期,我们要及时对系统采取分治的思想。系统分治,首先必先分层。但是分层的层次也不应该太多,我们不能为了分层而分层。层次太多,架构太复杂、性能太差。那我们到底要分几层呢?我们来分析一下系统的基本流程,其流程大致都是这样的:客户端->服务器(CGI)->数据库。从客户端到数据库,我们现有这样的层次观,如图2.0所示。 2原创 2015-03-22 16:39:33 · 1512 阅读 · 0 评论 -
如何采用 coreseek(sphinx) 搭建搜索系统
coreseek 实战总结该文章包含以下内容:coreseek 的典型架构实时性解决方案mmseg 分词使用经验同义词使用经验后继目标coreseek 的典型架构coreseek 的典型结构,就是通过增量索引来满足近似实时性,对于新增的记录无法及时搜索可见。对于搜索系统存在的记录,非字符串字段的更新,我们一般是调用update方法进行更新。如果搜索引擎要返回业务的其他字段,这时字段的实时原创 2015-04-04 17:48:12 · 1893 阅读 · 0 评论 -
敏捷不是神话
敏捷不再是一个神话 敏捷是当今流行的一种软件开发方法,也是一种快速响应外部变化的软件开发能力。 但个人认为不要给敏捷带高帽子,我们应该从工程的角度去审视我们的活动,最终选择适合的方法。 众所周知,每一项工程都有自己的工程实施和管原创 2011-06-26 18:31:00 · 923 阅读 · 0 评论 -
对软件开发的思考
对软件开发的思考 在开始这篇文章之前,我先给出构思这篇文章的人性假设。假设是人思考的出发点,人的思考活动往往围绕着一定的假设展开的。 人性假设:P1:人总是有惰性的。P2:人总是按照自己的习惯做事情,对陌生事物具有一定的抵触。(一) 界面程序界面程序包括:桌面程序,web程序。对原创 2008-07-05 20:56:00 · 1275 阅读 · 0 评论 -
C++ 程序设计特别版学习笔记(一)
前言 本系列笔记在学习裘宗燕的中文译本-------C++程序设计特别版过程中总结出来的比较好技巧。基础技术引用& 引用是某一个对象的别名,必须对引用做初始化。引用的效果跟指针一样,但是安全的。 可以用 extern X原创 2008-04-02 23:45:00 · 941 阅读 · 0 评论 -
C++程序设计特别版学习笔记(五)
前言 本文是在学习裘宗燕翻译的C++程序设计特别版的总结。 类层次结构多重继承 多重继承:一个类有多于一个直接基类。采用多于一个直接基类的情况通常称为多重继承。 Ex: Class Satellite:public Task,public Display{原创 2008-04-03 00:20:00 · 839 阅读 · 0 评论 -
简洁、明晰!数据库设计三大范式应用实例剖析(-)
----------声明本文引自http://db.rdxx.com/MySQL/2007/6/281623676637.shtml 引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些转载 2008-04-02 23:26:00 · 937 阅读 · 0 评论 -
c++程序设计特别版学习笔记(三)
前言 C++程序设计特别版学习笔记是在学习裘宗燕翻译的C++程序设计特别过程中总计的经验,现在拿出来跟大家分享。虚函数、指针(引用)、动态绑定[1] 虚函数 是指在普通成员函数前用virtual 修饰为了在虚函数声明起到作为在派生类里定义的函数的界面的作用,在派生类里,对有关函数所原创 2008-04-02 23:58:00 · 955 阅读 · 0 评论 -
C++程序设计特别版学习笔记(四)
前言 该笔记是在学习裘宗燕翻译的C++程序设计特别版过程总结出的。 派生和模板 模板和派生 都是从已有类型构造新类型的机制,通常被用于去写利用各种共性的代码。这两种机制的组合是许多有用技术的基础的。 从一个非模板类派生出一个模板类,这是为一组模板提供一个公原创 2008-04-03 00:05:00 · 930 阅读 · 0 评论 -
分布式软件设计之DECORATOR模式(一)
分布式软件设计之DECORATOR模式 本人在工作过程中,修改了一个SOCKET通信的程序。这个程序和其他程序之间的关系如以下图(1)描述的模式。 图(1)图(1)模块说明: 1:客原创 2008-04-27 18:18:00 · 766 阅读 · 0 评论 -
分布式软件设计之DECORATOR模式(二)
分布式软件设计之DECORATOR模式 上接分布式软件设计之DECORATOR模式(一),由于模块之间的关系是建立在通信的协议上。因此只要模块彼此之间的通信协议跟以前版本的模块之间的通信协议是一致的,我们可以使用该模式。 在图(2)增加的DECORATOR(模拟局方),就是在不修改监控中心的现有功能,增加了以下一些功能。1)DECOR原创 2008-04-27 19:42:00 · 990 阅读 · 0 评论 -
ICE 的回调
ICE 的回调 使用分布式计算中间件ICE到现在已经有一年多了,在这一年里里面对ICE的理解、应用比较熟悉。 使用ICE写分布式软件,确实是很方便:ICE比较稳定、可靠,调用返回速度低延迟,使用简单,学习曲线不是很陡。 总之利用ICE开发分布式软件,是一个可行的选择。 在实际的过程中,ICE客原创 2008-07-25 21:02:00 · 7987 阅读 · 6 评论 -
关系数据库的代数性质(一)
关系数据库的代数性质 前言 本文只是尝试利用代数的方法推倒关系数据库的一些性质。下面简要回顾一下关系数据库的发原创 2008-05-17 12:48:00 · 2018 阅读 · 0 评论 -
设计模式应用之使用COMPOSITE模式实现流程(一)
——使用COMPOSITE模式实现流程 (一)问题的来源、模式介绍 最近在工作的过程中,完成一个类似10086的流程。在实现的过程中,感觉基于C过程式的实现方式:把一个流程写成一个函数调用,包含庞大的case,写起来很费记忆力,而且这样的实现方式不可配。 换句话来说:我们不能动态配置流程。因此在实现这个原创 2008-05-23 00:13:00 · 1133 阅读 · 0 评论 -
设计模式应用之使用COMPOSITE模式实现流程(三)
(三) 流程的COMPOSITE模式 10086流程的基本过程:播放语音、播放语音取按键、根据按键执行特定的操作。因此,可以定义流程的每一个基本操做为一个STATE模式,流程是由这些STATE组成,即流程可以分解成一些基本STATE的集合。流程与用户之间有很多的交互,与用户的交互结果决定了原创 2008-05-25 18:09:00 · 958 阅读 · 1 评论 -
设计模式应用之使用COMPOSITE模式实现流程(二)
(二)问题的分析、模式的选择在上一篇文章的结束,我提到我的解决方法。因此在这篇文章中,我得分析我的理由。其实大家都使用过移动的10086流程。流程的每个分支也可以定义一个状态,也可以定义一个动作。我们抛开概念的差异性,来分析10086流程。 以下是10086的部分流程图:流程的当前行为都基于当前的状态MEMENTO,根据当前的MEMENTO改变程序的行为。因此这是采用S原创 2008-05-23 00:35:00 · 1135 阅读 · 0 评论 -
ACE之旅的开始问题
ACE之旅的开始问题 最近闲来,没什么事情做,就来研究ACE。刚开始,接触ACE遇到一些莫名其妙的问题。 以下是我碰到的问题,以及解决方法: 问题一:调用ACE::select(int,ACE_Handle_Set) 返回-1。 调 ACE_ERROR_RETURN((LM_DEBUG,"%原创 2008-09-09 21:56:00 · 2537 阅读 · 4 评论 -
分布式软件设计之DECORATOR模式(三)
分布式软件设计之DECORATOR模式 自从上次写了两篇文章 分布式软件设计之DECORATOR模式(一)、(二)。在前两篇文章举的例子还不能充分说明利用这个模式的有点。 不过之所以把这个方法叫DECORATOR模式,可能是因为这个方法就是在不修改当前的软件设计,而是仅仅加了一些职责。这样的方法姑且套用设计模式的DECORATOR模式。原创 2008-06-27 21:35:00 · 799 阅读 · 0 评论 -
SOA服务经验总结
XX电商SOA服务化严重缺陷很荣幸进入XX电商公司从事SOA服务化的工作,由于时间仓促,在服务化的过程中出现了一个严重缺陷,为什么这么说:SOA基本指导思想电商SOA服务合理分层错误的SOA分层*错误的代价边重构边生活SOA基本指导思想分层思想 SOA基本原理就是分层,分为聚合服务、原子服务、适配服务。通过聚合服务达到业务逻辑的实现,原子服务则是对不变的业务进行原子化,同时也确定业原创 2015-11-06 02:52:23 · 5665 阅读 · 1 评论