分类目录归档:Other
设计模式之结构模式
结构设计模式是通过识别实现实体之间关系的简单方法来简化设计的设计模式,并负责在不同类之间构建简单有效的类层次结构。
结构模式的示例包括:
- 适配器模式 :将一个类的接口“调整”为客户期望的接口。
- 适配器管道 :使用多个适配器进行调试。
- Retrofit Interface Pattern :一个适配器,可以同时用作多个类的新接口。
- 聚合模式 :Composite模式的一个版本,带有聚合子项的方法。
- 桥接模式 :将抽象与其实现分离,以便两者可以独立变化。
- 墓碑 :中间“查找”对象包含对象的真实位置。
- 复合模式 :对象的树结构,其中每个对象具有相同的接口。
- 装饰器模式 :在运行时向类添加附加...
设计模式之创作模式
创建设计模式是处理对象创建机制的设计模式,试图以适合于该情况的方式创建对象。对象创建的基本形式可能导致设计问题或设计的复杂性增加。创建设计模式通过某种方式控制此对象创建来解决此问题。
创作设计模式由两个主导思想组成。一个是封装有关系统使用哪些具体类的知识。另一个是隐藏如何创建和组合这些具体类的实例。
五种着名的设计模式是创作模式的一部分:
- 抽象工厂模式 ,它提供用于创建相关或从属对象的接口,而无需指定对象的具体类。
- 构建器模式 ,它将复杂对象的构造与其表示分开,以便相同的构造过程可以创建不同的表示。
- 工厂方法模式 ,允许类将实例化推迟到子类。
- 原型模式 ,它指定使用原型实例创建的对象类...
设计模式之行为模式
行为设计模式是识别对象之间的常见通信问题并实现这些模式的设计模式。通过这样做,这些模式增加了执行此通信的灵活性,使得软件更可靠且易于保持。
此类设计模式的示例包括:
- 责任链模式 :通过包含逻辑的处理对象处理或传递命令对象到其他对象。
- 命令模式 :命令对象封装操作及其参数。
- 解释器模式 :实现专门的计算机语言,以快速解决一组特定的问题。
- 迭代器模式 :迭代器用于顺序访问聚合对象的元素,而不暴露其底层表示。
- 中介模式 :为子系统中的一组接口提供统一接口。
- Memento模式 :提供将对象恢复到其先前状态(回滚)的功能。
- 空对象模式 :设计用作对象的默认值。
- 观察者模式 :又名 Publis...
MongoDB Limit与Skip方法
MongoDB Limit() 方法
如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
语法 limit()方法基本语法如下所示:
>db.COLLECTION_NAME.find().limit(NUMBER)
实例 集合 myycol 中的数据如下:
{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331a...
MacOS下安装Node.js
Node.js
使用 Homebrew 安装 Node.js:
$ brew update
$ brew install node
一般 Node modules 通常被安装在每个项目的本地文件夹 node_modules
,
但有几个包推荐你安装在全局:
CoffeeScript Less Grunt 或 Gulp
$ npm install -g coffee-script
$ npm install -g less
$ npm install -g grunt-cli
$ npm install -g gulp
Npm 使用
安装包:
$ npm install <packag...
在Mas OS下安装MySQL
MySQL
安装
我们将使用 Homebrew 安装 MySQL,同时也会安装 MySQL 的相关文件。
安装 MySQL:
$ brew update # 这是一个好习惯
$ brew install mysql
在使用 MySQL 前,我们需要做一些设置:
$ unset TMPDIR
$ mkdir /usr/local/var
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
使用
...Mac OS 包管理工具Homebrew
Homebrew
包管理工具可以让你安装和更新程序变得更方便,目前在 OS X 系统中最受欢迎的包管理工具是: Homebrew
安装
在安装 Homebrew 之前,需要将 Xcode Command Line Tools 安装完成,这样你就可以使用基于 Xcode Command Line Tools 编译的 Homebrew。
在 terminal 中复制以下命令(不包括 $
),跟随指引,将完成 Hombrew 安装。
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/...
Markdown基本语法
段落
非常自然,一行文字就是一个段落。
比如
这是一个段落。
会被解释成
<p>这是一个段落。</p>
如果你需要另起一段,请在两个段落之间隔一个空行。
这是一个段落。
这是另一个段落。
会解释成
<p>这是一个段落<p>
<p>这是另一个段落</p>
不隔一个空行的换行行为,在一些编辑器中被解释为换行,即插入一个<br />
标签。对与另外一些编辑器,会被解释为插入一个空格。对于后者,若要插入换行标签,请在当前一行的结尾打两个空格。
粗体、斜体
可以使用星号*
或下划线_
指定粗体或者斜体。
*这是斜体*
...
shell脚本入门
====================
什么是Shell脚本
示例
看个例子吧:
#!/bin/sh
cd ~
mkdir shell_tut
cd shell_tut
for ((i=0; i<10; i++)); do
touch test_$i.txt
done
示例解释
- 第1行:指定脚本解释器,这里是用/bin/sh做解释器的
- 第2行:切换到当前用户的home目录
- 第3行:创建一个目录shell_tut
- 第4行:切换到shell_tut目录
- 第5行:循环条件,一共循环10次
- 第6行:创建一个test_0…9.txt文件
- 第7行:循环体结束
mkdir, to...