Oscaner

「未曾青梅,不见竹马」

MVCS 架构

前言 大家应该都知道 MVC 架构思路。 而 MVCS, 从名字就可以看出, 是基于 MVC 衍生出来的一套架构。 从概念上来说, 它拆分的部分是 Model 层, 拆出来一个 Service。这个 Service 专门负责数据存取。 但从实际操作的角度上讲, 它拆开的是 Controller。 这算是 Skinny Model 的一种方案, Skinny Model 只是专门用于...

CentOS 7 下添加 PHP-FPM 至系统服务

创建 Nginx 启动脚本 1 > vim /etc/init.d/php-fpm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53...

Memcached 的介绍及使用

基础命令 增删改查 增 1 2 3 4 5 > add key flag expire length # key:给值起一个独特的名字 # flag:标志,要求为一个正整数 # expire:有效期 # length:数据长度 Flag 的意义 Memcached 的基本文本协议要求数据以字符串形式存储。 这意味着,当你需要存入的数据为数组、对象等非字符串...

C++ 数据结构 (二) 向量 (7) 起泡排序

排序器: 统一入口 1 2 3 4 5 6 7 8 9 void Vector<T>::sort(Rank lo, Rank hi) { // 区间 [lo, hi) switch (rand() % 5) { // 视具体问题的特点灵活选取或扩充 case 1: bubbleSort(lo, hi); break; // 起泡排序 case 2: s...

C++ 数据结构 (二) 向量 (4) 有序向量

有序性及其甄别 无序/有序序列中, 任意/总有一对相邻元素顺序/逆序 因此, 相邻逆序对的数目, 可用以度量向量的逆序程度 1 2 3 4 5 6 7 template <typename T> // 返回逆序相邻元素对的总数 int Vector<T>::disordered() const { int n = 0; // 计数器 for (int i...

C++ 数据结构 (二) 向量 (3) 无序向量

元素访问 (循秩访问) 通过 V.get(r) 和 V.put(r, e) 接口, 可以读、写向量元素 但就便捷性而言, 远不如数组元素的访问方式: A[r] 是否可沿用借助下标的访问方式? 为此, 需重载下标操作符 1 2 template <typename T> T & Vector<T>::operator[](Rank r) const {...

C++ 数据结构 (二) 向量 (2) 扩容向量

静态空间管理 开辟内部数组 _elem[] 并使用一段地址连续的物理空间 _capacity: 总容量 _size: 当前的实际规模 n 若采用静态空间管理策略, 容量 _capacity 固定, 则有明显的不足 上溢 (overflow): _elem[] 不足以存放所有...

C++ 数据结构 (二) 向量 (1) 接口与实现

ADT VS DS 抽象数据类型 (Abstract Data Type) :数据模型 + 定义在该模型上的一组操作 抽象定义 外部的逻辑特性 操作 & 语义 一种定义 不考虑时间复杂度 ...

PHP - LCS

问题描述 给定两个字符串, 求解这两个字符串的最长公共子序列 (Longest Common Sequence) 如 str1: advantage;str2: didactical 则这两个字符串的最长公共子序列长度为 4, 最长公共子序列是: data 代码实现 该算法详解请看: 《C语言数据结构 (一) 绪论 (6) 动态规划 (2)》 1 2 3 4 5 6 7 8 9 ...

MongoDB 介绍

MongoDB 数据库是一种 NoSQL 数据库。 NoSQL 数据库并不是这几年才有的, 从数据库的初期发展就已经存在 NoSQL 数据库。 数据库之中支持的 SQL 语句是由 IBM 开发出来的, 并且最早就应用在了 Oracle 数据库。 SQL 语句的使用并不麻烦, 就是几个简单的单词: SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY。 ...