- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 (十二)状态模式
// State.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include using namespace std;class Context;class State{public: virtual ~State(){} virtual void Handle(Cont
2016-02-29 17:57:29 277
原创 (十一)抽象工厂模式
抽象工厂模式(Abstract Factory),提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。【DP】我的理解:从C++的角度来看的话,可能是这样的,有两组相互依赖的对象,这两组对象都有自己的抽象类,而客户端在使用时,只需知道这两组抽象类即可。 这样就与细节解耦了。UML类图:从上图看,抽象工厂和抽象产品有依赖
2016-02-25 14:28:50 326
转载 对待开源的态度
https://yq.aliyun.com/articles/6042?&utm_campaign=sys&utm_medium=market&utm_source=edm_email&msctype=email&mscmsgid=111616022400526005&
2016-02-24 14:16:16 339
原创 sqlyog连接虚机中的mysql
他喵的,这个简单的东东竟然浪费了两个半天时间,在各种查查查,搜搜搜中搞定了。实际上,就是用sqlyog连接远端的mysql了,更虚机没啥关系的了,当让首先得保证真机能ping通虚机就行了。1.首先先干掉真机和虚机的防火墙真机就不谈了,相信大家可以花样关掉的。主要是linux的防火墙(很关键):[root@mysql ~]# chkconfig iptables --list
2016-02-23 16:53:40 1334
原创 MQ基本概念
背景 之前做日志收集模块时,用到flume。另外也有的方案,集成kafaka来提升系统可扩展性,其中涉及到消息队列当时自己并不清楚为什么要使用消息队列。而在我自己提出的原始日志采集方案中不适用消息队列时,有几个基本问题:1. 日志文件上传过程,有个基本的生产者-消费者问题;2. 另外系统崩溃时,数据丢失的处理问题。 今天,几位同事再次谈到消息队列这么个东西,很NB的样子,我也想
2016-02-23 13:41:49 646
转载 hash基础知识
作者:July、wuliming、pkuoliver 说明:本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 第一部分:Top K 算法详解 问题描述(百度面试题): 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假
2016-02-23 11:26:10 348
原创 (十)观察者模式
描述:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。【DP】UML类图: 具体源码如下:// Observer.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <memory>#include
2016-02-22 14:24:47 263
转载 memcached的内存存储原理
本次将介绍memcached的内部构造的实现方式,以及内存的管理方式。 另外,memcached的内部构造导致的弱点也将加以说明。Slab Allocation机制:整理内存以便重复使用最近的memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。 在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。 但是,这种方式
2016-02-18 15:56:29 391
转载 memcached简介
memcached是什么?memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为 mixi、hatena、 Facebook、 Vox、LiveJournal等众多服务中 提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并
2016-02-18 15:44:18 272
转载 MySQL数据类型和属性设置
好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键。M前言好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键。MySQL提供了一组可以赋给表中各个列的数据类型,每个类型都强制数
2016-02-18 09:32:45 2921
原创 (九)建造者模式
描述:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。[DP]我的理解,比如建造一个产品,有一些必要的部分组成,如自行车有前后两个轮子和车架,那么不论我生产山地车,还是公路车都需要建造这些部分,只是表示形式不同而已,那么可以把建造前后轮子和车架的接口抽象出来,然后定义山地车和公路车两种类作为生产线,而总经理只需要关心,我要造什么特种自行车就行了,具体的建造细节交给两种生产线
2016-02-17 17:07:34 261
原创 COALESCE()函数
COALESCE的格式如下:COALESCE (expression_1, expression_2, …,expression_n)含义:返回第一个不为null的表达式。用途,经常用作字段值为NULL值的处理。
2016-02-16 15:53:08 377
原创 (八)外观模式
权威定义:外观模式(facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。[DP]定义不是很容易理解,下面结合UML和例子来理解吧~~ 下面根据大话设计模式的说法,举个例子。先看源码:// Facade.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#in
2016-02-16 15:49:30 304
原创 (七)模板方法模式
定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤。[DP]我的理解:在父类中定义一个给客户端调用的方法,改方法需要调用一系列子步骤实现,由于为了不同的业务需要,总方法不变,顺序也不变,但是具体的方法需要做针对性调整,这时把那些具体方法在父类中抽象出来,然后在各个子类中重写。哈哈,实际上,我们如果经常写OOD C++的话,应
2016-02-01 10:49:53 313
算法图解.pdf
2018-04-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人