自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 设计模式(十三) 职责链(chain of responsibility)

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍装饰模式的实现。 职责链模...

2014-04-08 14:47:00 73

转载 设计模式(十二):bridge模式

刚开始看到这个模式并不是很理解,之后在网上看到别人的博客,才大致抓住了脉络。何谓抽象和实现分离:就是将一个实际的物件跟它的所具有的功能分离。《大话设计模式》中有对手机品牌和具体的手机应用进行桥接模式分析的例子。具体见http://www.cnblogs.com/jiese/p/3164940.html。附加的理解就是,某个抽象类的子类,与具有的实现形成了一个交叉的二维的关系。...

2014-04-04 16:24:00 93

转载 linux 进程通信 管道

1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,...

2014-04-03 06:45:00 153

转载 信号量sem

一、什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。信号量是一个特殊的变量,...

2014-04-02 23:21:00 209

转载 一道求递增数的题目

网上看到有人对一道题目的求解,看了半天,没看明白。于是自己动手来做了一下。原文链接:http://www.cnblogs.com/justcxtoworld/p/3598791.html题目:描述:输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递减数为345。输入:输入...

2014-03-27 15:50:00 177

转载 Flask 重新认识

总是觉的学习东西有点猴子掰玉米的感觉。今天就重新再掰一次吧。 Installation: 安装之前建议先安装virtualenv,这个东东是帮助你在多个python版本之间保持同步,不至于python版本变化了,项目就奔溃了。 某些程序猿的装备好些,可能用的是mac,自有类linux的安装方法。无奈本屌丝只能在win下来写写程序。所以只提供win的virtu...

2013-09-26 23:01:00 93

转载 linux 多线程基础

参考出处:http://www.cnblogs.com/skynet/archive/2010/10/30/1865267.html1、进程与线程 进程是程序代码在系统中的具体实现。进程是拥有所需资源和执行方案的集合。 线程是进程中划分出的可独立执行的一个控制流程。 两者区别: 每个进程有各自独立的地址空间。进程崩溃不会影响到其他进程。...

2013-06-18 09:29:00 85

转载 linux 进程内存基础

一、进程虚拟空间 linux所有的进程都运行在自己的虚拟地址空间中,每个进程都有自己的内存地址。在32位系统中,4GB的进程地址空间被分为用户空间和内核空间两个部分。用户空间占用0-3GB,内核空间范围是3-4GB。 每个进程都会占用如下的数据段: 1. 代码段 用于保存可执行文件的操作指令和程序定义的常量(const,字符常量等)。为...

2013-05-31 22:28:00 66

转载 c调用python记录

C调用python的实例。 1. 应用场景 c代码中需要数据库的支持,但是引入数据库十分的复杂且麻烦,所以考虑用python读取配置文件,然后将数据返回到C。 2.调用步骤 a, 添加必要的宏和python路径#define MS_NO_COREDLL#include "C:\Python27\include\python.h"...

2013-05-23 11:29:00 83

转载 doubango类面向对象研究

本来对面向对象理解就不深,拿到doubango的代码,感觉无从看起。 挑个通用的面向对象的实现的代码部分,来探究一下。比如,创建sip message的消息时,会调用tsip_message_create()函数,函数内容如下:tsip_message_t* tsip_message_create(){ return tsk_object_new(tsip...

2013-05-22 14:50:00 81

转载 设计模式(十一):迭代器模式

定义:迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 即不论对象内部的元素是以数组存放还是容器类型存放,都可以对外表现为迭代器形式。#include <iostream>#include <string>#include <assert.h>using namespace st...

2013-05-12 00:24:00 51

转载 设计模式(十):模板模式

此时的模板模式不同于C++中自带的模板泛型。模板方法模式——在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。下面,是大家很熟悉的一段代码——《Head First 设计模式》中第8章模板方法模式中星巴兹咖啡因饮料代码的C++版。#include <iostream&...

2013-05-10 20:23:00 87

转载 设计模式(九):外观模式

定义:外观模式提供了统一的接口,用来访问子系统中的一群接口。跟适配器模式是为了符合用户的意图而改变接口不同,外观模式只简化子系统的一群接口而已。class CPU {public: void freeze() { ... } void jump(long position) { ... } void execute()...

2013-05-08 22:13:00 74

转载 排序算法研究

作为非计算机专业的苦比,需要从头温习一下有点模糊的排序算法: (一)插入排序 一般的算法教科书上,第一个介绍的排序算法就是插入排序,这属于内排序( 数据量小,数据全部位于内存中)。 a. 直接插入排序 依次将待排序的记录,按照关键字的大小,插入到一个已经排序好的序列中。void InsertSort( int *pA...

2013-04-24 12:23:00 146

转载 git安装

为了安装emacs的插件,先安装个git,会方便很多。 但是,作为一个身处祖国怀抱的苦逼程序员,你只能通过其他一些途径来获取一些非常有用的东西,比如git就是其中一个。本处默认你有vpn,可以下载到git的源文件,或者可以通过其他linux的安装命令来安装git。 如果下载到git源文件,直接编译,./configure,然后make,然后make insta...

2013-04-23 23:08:00 63

转载 emacs配置

这么久了,从来没有在工具上面花太多的时间,VIM用过,emacs用过,现在发现其实还有比较好用,容易上手的sublime。可是在很多自认为有技术含量的公司,却对这个工具比较看重。也是,公欲善其事,必先利其器。就发个狠,搞定emacs得了。 安装就不用说了,地球人都会的,当然是在linux下。unbuntu里面有apt-get,opensuse本来是有yapper的,可是...

2013-04-23 21:54:00 116

转载 python笔记

5.1 序列类型 5.2字符串类型5.5XRangeType 类型5.6缓冲区类型5.7映射类型5.8可调用类型 可调用类型表示所有允许以函数方式调用的对象。它包括用户定义函数、用户定义方法,内建函数、内建方法、classic类及其实例、new-style 类及其实例。5.8.1用户定义函数 用...

2013-04-19 14:22:00 68

转载 设计模式(八):适配器模式

适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器(Adapter)模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。也叫包装器(Wrappter)。有两类适配器模式: ·对象适配器模式 - 在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。 ·类适配器模式 - 这种适配器模式下,适配器继承自...

2013-04-14 14:04:00 52

转载 设计模式(七):命令模式

命令模式的定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 怎么理解呢,举个遥控器的例子,但是这个 遥控器上面的按钮,跟普通不一样。简单来说,就是有分别控制电视开关,电灯开关,风扇开关,空调开关等的按钮。普通情况下,如果你对遥控器编程,那么就会通过遥控器对象,来分别调用电视对象的开关方法,或者风扇对象的开关...

2013-04-13 22:30:00 53

转载 avl树

具体的执行过程,摘自维基百科,很容易懂。http://zh.wikipedia.org/wiki/AVL%E6%A0%91#include <stdio.h>#include <malloc.h>#include <assert.h>typedef int ElementType;typedef str...

2013-04-12 10:19:00 51

转载 设计模式(六):单件模式

有时候你需要系统只产生一个类的实例,比如你的手机上面所有的应用,只能共享同一份电话薄。 python的代码很简单:http://blog.csdn.net/insistgogo/article/details/9412863def Singleton( cls ): instance = {} def GetInstance(): ...

2013-04-11 20:47:00 42

转载 设计模式(五):工厂模式

设计模式,是一种指导思想,是一种需要融合进代码设计的一种提纲挈领。 今天进入工厂模式探究: 简单工厂: 简单工厂即在工厂类中,根据所输入产品的类型,生产对应的产品。但是,这样的话,工程类就需要包含所有产品的生产实现。例子如下: #include <iostream>using namespace std;enu...

2013-04-10 21:26:00 58

转载 设计模式(四):代理模式

Head Fisrt设计模式上面有一句话:代理模式要做的:控制和管理访问。代理类似于明星的经纪人,可以处理来访的需求,但不影响明星本人的行为。 下面的例子,TV是对电视的操作,有channel表示当前的频道,power表示电视电源开关。通过proxy代理,可以记录曾经的操作,如打开的次数,转频道的次数等。import randomimport unittest...

2013-04-07 21:29:00 67

转载 设计模式(三):装饰模式

装饰模式,是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式。就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能。 大概明白,还没想好怎么说明#include <iostream>using namespace std;class Widget{public: ...

2013-03-29 21:15:00 45

转载 设计模式(二):观察者模式

在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。 通俗点来说,就是一个主题类(subject)在状态发生改变时,通过观察者(observer)提供的方法,来更新观察者的状态。首先观察者需要到主题类中注册。附带维基百科的代码:python:相对简洁...

2013-03-29 00:24:00 48

转载 设计模式(一):策略模式

“把模式装进你的脑子里面,然后在你的设计和已有的应用中,寻找何处可以使用它们。” a.策略模式: 假设有个Duck类,类中需要fly和quack接口,一个表示鸭子会飞,一个表示鸭子的叫声。如果需要产生一个橡皮鸭子,就需要从鸭子类继承产生,但是fly也会被继承下来。实际上橡皮鸭子被限制为不会飞(当然,也可以在橡皮鸭中,将fly接口重新实现。但是,实例仍然调用的是叫fly的接...

2013-03-24 13:32:00 62

转载 js 处理json数据记录

之前从QQ微博接收的数据为json数据。具体过程如下: 1. 从QQ微博接口接受数据,需要构造请求url,如下所示:url_str = 'https://open.t.qq.com/api/statuses/home_timeline?oauth_consumer_key=%s&access_token=%s&openid=%s&clientip=%...

2013-03-23 14:33:00 207

转载 qq微博oauth认证记录

首先,登录开发者页面,申请网页应用接入。http://dev.t.qq.com/development。获取到app_key,和app_secret.转载于:https://www.cnblogs.com/bracken/archive/2013/03/17/2964099.html...

2013-03-17 01:07:00 97

转载 实战python-instagram

python-instagram是github上面的一个专门用来获取instagram的API的库。地址:https://github.com/Instagram/python-instagram 我们的示例将从SAE开始。框架为Flask。 1.首先获取应用的client_id和client_scret.CONFIG = { "client_id": ...

2013-03-16 00:38:00 283

转载 instagram 的api研究

instagram目前好像在国内还不是用的很广泛。 其获取instagram的数据有两种方式: 1. 获取公共热点图片不需要用户认证,只需要将你申请的client_id发送到instagram即可。 2. 获取用户相关数据,需要通过instagram认证之后所颁发的access_token. 在第二种方式下,如何获取access_token呢? 1.首先,需...

2013-03-10 23:34:00 487

转载 flask-login解读

摘自:https://github.com/maxcountryman/flask-login/blob/master/docs/index.rst flask-login为flask提供用户的session管理机制。它可以处理登陆、退出和session等的服务。 作用: 1.将用户的id储存在session中,方便登陆、退出等流程。 2.Let you ...

2013-02-25 22:11:00 108

转载 flask的信号

什么是信号?信号可以帮助我们消除flask核心框架或者扩展应用之间的耦合,通过某个动作发生时发出通知消息来实现这个机制.简言之,信号允许特定的发送者在某事件发生时,发送通知消息给订阅者. flask有一系列的信号和扩展来实现信号机制.请记住信号是发送给订阅者的,订阅者无权修改数据.你会发现某些信号的功能和内置的渲染器很类似(例如:request_started类似于before_r...

2013-02-22 21:01:00 56

转载 C++知识点复习

1.const 如果一个变量被定义为常量,则需要添加const限定符。例如:const int const_var = 3;把变量声明为const,必须为其设定初始值。 2.静态变量 static 静态变量在程序的整个生存周期中一直存在,如果没有提供初始值,系统会自动初始化为0.static int count; 寄存器存储类型,直接在...

2013-02-15 11:29:00 68

转载 github 操作纪录

1.非常详尽的github操作记录看这里http://www.worldhello.net/gotgithub/index.html2. 回滚提交的纪录 首先查看push的纪录,命令git log:➜ flaskBlogDemo git:(flaskblogforheroku) git logcommit 84967c10584eb81a5e6ca918f...

2013-02-14 18:03:00 65

转载 flask and postgre on heroku

http://blog.y3xz.com/blog/2012/08/16/flask-and-postgresql-on-heroku/给出链接,还没来得及整理。1.heroku addons:add heroku-postgresql:dev可能出现如下错误:/Users/bracken/.rvm/gems/ruby-1.9.3-p194/gems/heroku-2.3...

2013-02-13 23:17:00 79

转载 flask-sqlalchemy 关系(一对多)

假设我们想要创建一个博客系统,这个系统中最关键的部分就是博客内容,而这个内容则是归属于某个用户的博客。从数据库角度来看,这就是一个一对多的关系。一个用户,可以对应多个博客内容。 一对多的关系表创建如下:class User(db.Model): id = db.Column( db.Integer, primary_key=True) name = ...

2013-02-13 11:33:00 88

转载 flask-sqlalchemy 初步

先创建数据库依赖文件如 flask-sqlalchemy.pyfrom flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()然后,创建数据库表单,database.pyfrom database_extention import db class User(db.Model): id...

2013-02-03 23:49:00 45

转载 flask 范例学习

链接在此:http://dormousehole.readthedocs.org/en/latest/tutorial/introduction.html 当然,直接根据上述链接一步一步来就可以实现所有的功能。但是,根据我在学习的过程中的心得,我觉得有必要记录一下。 一。环境搭建 跟前面我的记录的flask环境搭建有些不同,我在这里介绍另外一种搭建环境的方式。...

2013-01-29 22:20:00 97

转载 flask 初步

1. URL构建 flask可以通过url_for方法来构造所需的URL。话不多说,上代码:>>> from flask import Flask, url_for>>> app = Flask(__name__)>>> @app.route('/')... def index(): pass...&...

2013-01-26 09:30:00 102

转载 flask 环境搭建

之前在SAE上面部署的应用是基于python的bottle框架,bottle也是一个轻量级的web框架。今天主要研究一下flask-另外一个轻量级的框架。以下内容均取材于:http://dormousehole.readthedocs.org/en/latest/ 教程推荐通过virtualenv来安装,好处是virtualenv可以帮你解决使用不同版本的python库而导致...

2013-01-25 23:51:00 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除