1.意图用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。2.别名无3.动机面向对象设计鼓励将行为分布到各个对象中。这种分布可能会导致对象间有许多连接。在最坏的情况下,每一个对象都知道其他所有对象。4.适用性以下情况使用Mediator模式:
一组对象以定义良好但是复杂的方式进行通信。产生的相互依赖关系结构混乱且难以理解。...
分类:
其他好文 时间:
2015-06-25 21:20:18
阅读次数:
153
uitable单元格高度自动适配的前提是你要开启auto layout选项,不明白或者不熟悉的同学先看看这里 http://lvwenhan.com/ios/430.html
按照很多用例上的步骤,不想却踩了坑:
1,禁止实现代理函数 - (CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(N...
分类:
其他好文 时间:
2015-06-25 21:18:22
阅读次数:
118
描述:有p门的课,每门课都有若干学生,现在要为每个课程分配一名课代表,每个学生只能担任一门课的课代表,如果每个课都能找到课代表,则输出"YES",否则"NO"。
二分匹配
#include
#include
#define maxn 305
using namespace std;
int c,s;
int rem[maxn][maxn];
int visit[maxn],map[maxn];...
分类:
其他好文 时间:
2015-06-25 21:20:40
阅读次数:
139
今天遇到奇怪的事:SVN本地代码的标记突然没了,Clean up也报错
脑子一想这种情况,可以先把原来的目录改一个名字,重新把代码check out下来,再合并提交更新,但这样也太LOW了吧
上网上百度了下,发现了两篇文章,提供了解决方案,我的SVN版本为1.8,实践了方法一,果然奏效了!适用SVN低版本的方法二有待各位尝试了!
解决方案如下:
从SVN库更新项目代码,导致SVN状态异常,...
分类:
其他好文 时间:
2015-06-25 21:17:54
阅读次数:
255
git配置ssh密钥
如果主机(当前登录用户)之前没有git账号,即添加第一个git账号,并配置ssh密钥时,
按照如下的步骤:
1 cd ~/.ssh
2 ssh-keygen -t rsa -C 'liulian@gmail.com'
3 cat id_rsa.pub
4 拷贝公钥到git服务器上
5 测试:git clone
git@git.host....
分类:
其他好文 时间:
2015-06-25 21:17:12
阅读次数:
115
有时候我们编译一个大的项目的时候,会出现很多错误使得屏幕堆满了很多无用的信息。一般情况下我们需要找到首次出现错误的地方,在gcc中添加编译选项可以使编译停止在第一次出现错误的地方:$ gcc -Wfatal-errors foo.c // GCC 4.0 and later
$ g++ -Wfatal-errors foo.cpp
$ g++ -fmax-errors=N foo.cpp...
分类:
其他好文 时间:
2015-06-25 21:17:19
阅读次数:
124
??
标准库类型(二)
--vector类型
引子:
vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的内存。
我们将vector称之为容器,一个容器中的所有对象都必须是同一类型的!
[cpp]
view plaincopyprint?
#include ...
分类:
编程语言 时间:
2015-06-25 21:17:57
阅读次数:
184
??
标准库类型(三)
--iterator
序言:
迭代器是一种检查容器内元素并遍历容器元素的数据类型。
所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作;因此,现代C++更倾向于使用迭代器而不是下标操作访问容器元素。
正文:
1、容器的iterator类型
每个标准库容器类型都定义了一个名为iterator的成员;
...
分类:
编程语言 时间:
2015-06-25 21:18:08
阅读次数:
151
1.意图给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。2.别名无3.动机如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各种实例表述为一种简单语句中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。4.适用性以下情况使用Interpreter模式:
当有一种语言需要解释执行,并且你可以将该语言中的句子表示为一个...
分类:
其他好文 时间:
2015-06-25 21:17:48
阅读次数:
113
??
标准库类型(四)
--biteset
序言:
位是用来保存一组项或条件的yes/no信息[标识]的简洁方法。
[cpp]
view plaincopyprint?
#include using std::bitset;
#include
using std::bitset;
正文:
1、bitset对象的定义和初...
分类:
编程语言 时间:
2015-06-25 21:18:33
阅读次数:
155
多线程同步之互斥对象
作者:vpoet
mail:18200268879@163.com
在http://blog.csdn.net/u013018721/article/details/46637215一文中介绍了使用临界区
对卖票问题进行线程间同步,本文将在上文的基础上,使用互斥对象对线程进行同步。
首先看看window...
分类:
编程语言 时间:
2015-06-25 21:18:57
阅读次数:
189
??
本文代码托管于github cmake_demo
cmake中一些预定义变量
PROJECT_SOURCE_DIR 工程的根目录PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/buildCMAKE_INCLUDE_PATH 环境变量,非cmake变量CMAKE_LIBRARY_PATH 环境变量CMAKE_...
分类:
其他好文 时间:
2015-06-25 21:18:30
阅读次数:
118
??
网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务。最终成功的方法如下:
Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情,需要的命令只有一条:
sudo apt-get install openssh-server
...
分类:
系统相关 时间:
2015-06-25 21:16:04
阅读次数:
211
#198 House Robber
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them...
分类:
其他好文 时间:
2015-06-25 21:16:15
阅读次数:
110
在游戏中排行榜是很常见的需求,之前一直使用的是redis的sortedset,所以就把...
分类:
其他好文 时间:
2015-06-25 21:18:11
阅读次数:
140
preface: 忙于最近的任务,需要用到libsvm的一些命令,如在终端运行java
svm_train train_file model_file. python
subset.py file train_num train_file test_file等命令,但file的准备又是通过python写好的,file需要是libsvm能够接受的格式,故用python写好特征,转为libsvm...
分类:
编程语言 时间:
2015-06-25 21:16:33
阅读次数:
177
打开PopupWindow的源码,你会发现它其实也是通过WindowManager来添加view的。
private void invokePopup(WindowManager.LayoutParams p) {
if (mContext != null) {
p.packageName = mContext.getPackageName();...
分类:
移动开发 时间:
2015-06-25 21:17:39
阅读次数:
172