软件工程和数据库系统
文章平均质量分 63
Kang_TJU
Talk is cheap!
展开
-
数据库基本概念学习-数据库设计
本文主要参考了[数据库的概念设计与逻辑设计]译文。复习了数据库当中的概念设计、逻辑设计、物理设计等基本概念。基本概念概念设计 概念设计的目的是根据需求分析的结果,将用户对数据的需求综合成一个统一的概念模型,它是整个数据库设计的关键。 设计时,一般是先根据单个应用的需求,画出能反映每个应用需求的局部E-R模型。然后把这些E-R图合并起来,并消除冗余和可能存在的矛盾,得到系统的E-R图。原创 2017-02-14 15:26:13 · 1190 阅读 · 0 评论 -
面向对象设计方法理解
基本概念什么是面向对象 总的来说,面向对象方法认为客观世界是由各种对象所构成。任何事物都可以看作是对象,复杂的对象是由较为简单的对象以某种关系复合而成; 每个对象都被划分为一个对象类,每个对象类都分别定义了一组数据和一组方法,按照子类(也叫做派生类)和父类(也叫做基类)的关系, 若干个对象类可以组成一个系统,这种系统均为层次结构,在这种层次结构中,不同的对象类之间仅能通过传递原创 2017-02-21 16:14:22 · 797 阅读 · 0 评论 -
UML学习-用startuml画用例图
基本概念用例图: 参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。参与者: 参与者是指存在于系统外部并直接与系统交互的人、系统或设备等。参与者按是否使用系统核心功能可分为主要参与者与次要参与者。在uml中用Actor表示。用例: 用例系统为参与者提供的功能。对于用例的命名我们可以给用例取一个简单的名称,概括性的名称。一般是带有动作性的名称。用例在画图中用椭圆原创 2017-02-12 11:36:56 · 2726 阅读 · 0 评论 -
leveldb-原理学习
这几天都在看leveldb的原理,但是并没有仔细考虑过这种设计的好处以及为什么要这么设计?所以,自己想简单总结一下。动机这一部分主要参照了这个链接[LevelDB 的原理和动机] 为什么写硬盘? 持久化,这也是有别于redis的区别,因为后者狂吃内存,我们现在用leveldb的原因也就是在于,内存村不下这么多的用户搜索历史。 log文件的作用是什么?为什么要设计这个文件?原创 2017-07-11 15:28:45 · 402 阅读 · 0 评论 -
设计模式-单例模式
本文记录我对单例模式的学习。参考了如下链接:[C++设计模式——单例模式]基本概念以及一种基本版本的实现什么是单例模式? 何为单例模式,在GOF的《设计模式:可复用面向对象软件的基础》中是这样说的:保证一个类只有一个实例,并提供一个访问它的全局访问点。首先,需要保证一个类只有一个实例;在类中,要构造一个实例,就必须调用类的构造函数,如此,为了防止在外部调用类的构造函数而构造实例,需要将构造函数的原创 2017-07-28 18:16:38 · 412 阅读 · 0 评论 -
leveldb-c++版本安装
主要是参照了这个链接[在Linux下编译Google leveldb数据库及在C++中操作示例]安装leveldbgit clone https://github.com/google/leveldb.git 下载leveldb,下载完成之后会生成levedb的文件夹。cd leveldb // 进入leveldb有如下的文件:2.make编译 编译之后结果: 其中,out-shared存原创 2017-06-30 14:30:11 · 1732 阅读 · 0 评论 -
leveldb-编码
参考这个链接[ leveldb源码剖析–编码],把为什么要编码以及如何编码讲的比较清楚。 我再简单记录下我自己的学习心得。主要是回答几个问题,回答清楚就行了。 为什么要编码? 假设key = “hello”, value=”world”,对于这个pair,你应该怎么存储呢?显然直接存成一个字符串可以。但是,那么怎么知道谁是key谁是value .所以,建议的存储方式:key_len, ke原创 2017-08-30 13:52:39 · 442 阅读 · 0 评论