自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 软件测试

随着时间的推移,修复缺陷的费用惊人的增长 螺旋模式:一开始不定义所有细节,实现部分功能后反馈,然后循环。由于无法完全测试软件,所以无法保证没有缺陷。 图P42 不是所有的软件缺陷都要修复。例如修复的风险太大或者是不常出现的软件缺陷。 可靠性是质量的一部分 测试:找出缺陷 QA(质量保证):创建和执行关于开发的标准黑盒测试(功能测试,行为测试): 白盒测试: 静态测试:不对软

2018-07-11 15:53:35 632

原创 动态黑盒测试

边界值测试: 将程序输入看成定义域(集合),输出看成值域(集合)。程序把定义域映射到值域。可以根据定义域和值域构造测试用例。缺点是容易出现冗余和覆盖不全。边界值分析:当失效问题不会由2个故障同时引发(单故障假设)时,也就是说变量是相对独立的,不会相互影响。将1个输入变量取图中(最大最小,略大于略小于),其他输入变量取正常值。健壮性测试:除了边界值分析的5个值,还要考察取值在范围

2018-07-11 15:53:20 2421

原创 动态白盒测试

根据覆盖指标,借助DD路径编写能够覆盖的测试用例。路径测试 考虑到代码级的依赖,即图上的某些路径由于违反代码的逻辑是不可行的。主要用于衡量测试的质量,而不是用于构造测试用例DD路径 从判断到判断的中间路径被压缩。(图9-1到图9-4) 循环覆盖:测试循环 循环的3种情况(图9-5)循环缠绕要使用数据流基路径测试 图中的所有路径都可以由基元构成。强连通图的圈数是基元的个数。在图

2018-07-11 15:52:47 1436

原创 集成测试

基于功能分解树: 自顶向下的集成:图13-3 使用桩代替真实代码参与测试自底向上的集成:图13-4 使用驱动器代替真实代码参与测试三明治集成基于调用图的集成:通过相邻集成避免开发桩或者驱动器。但是代价是故障的分离问题。而且在修复后又需要重新进行原来已经通过的集成测试。...

2018-07-11 15:51:01 1799

原创 系统测试

线索:单元级线索:DD路径集成级线索:MM路径系统级序列:ASF(原子功能系统)开始于某个端口输入事件,经过1条或多条MM路径,终止于某个端口输出事件...

2018-07-11 15:50:39 509

原创 公考

申论不是话题作文(高考议论文),而是材料作文, 小题非常重要,答案一定要分好层次 必须根据所给的材料作答,而不是硬套准备的热点 提高自己的阅读速度,迅速定位关键信息,要达到看完材料能把材料复述的七七八八的样子。至少练习二十篇以上阅读 由于改卷速度非常快,不要把太长时间用于小作文 字体一定要整齐...

2018-06-16 10:43:08 505

原创 人体

圆柱体 头高 注意男人的乳头位于2个头高,女人在其之下 男女差异

2018-06-04 08:51:02 101812

原创 构图

叠压,透视, 平衡 线条 第3幅图将目光引导向建筑 打破: 明暗

2018-06-03 17:23:42 235

原创 形体

借助CUDA架构,nVIDIA重新编写了PhysX物理加速程序,将PhysX物理加速引擎从AGEIA PPU移植到了nVIDIA GPU上。 利用CUDA,将PhysX引擎中的计算指令,翻译给GPU,让GPU去计算。这样做是因为GPU具有优秀的浮点计算能力和并行处理能力。 环境光奠定了一个场景的基本的色调。 环境光的效果在 Lighting 视图中设置 点击 Window 菜单栏下面的...

2018-06-03 17:23:09 245

原创 Direct3D

初始化:创建设备(Device)和上下文(Context) 通过该接口与硬件进行交互。 Device接口用于检测显示适配器功能和分配资源。 Context接口用于设置管线状态、将资源绑定到图形管线和生成渲染命令。HRESULT D3D11CreateDevice ( //指向需要使用物理显卡 IDXGIAdapter *pAdapter, //选择...

2018-05-29 19:49:13 2546

原创 GPU

GPU是一种SIMD(Single Instruction Multiple Data)架构, 成百上千个核在同一时间最好能做同样的事情。GPU的工作计算量大,但没什么技术含量,而且要重复很多很多次。 GPU用很多简单的计算单元去完成大量的计算任务,纯粹的人海战术。这种策略基于一个前提,就是小学生A和小学生B的工作是互相独立的。 GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于...

2018-05-29 19:48:38 386

原创 图形学

向量值常用于表示力,位移,速度等物理量 单位向量:模为1点积:叉积:计算结果是向量 叉积只能用于3D向量,2D向量没有叉积。向量w同时垂直于u和v。 左手拇指定则(用于左手坐标系):指定w的方向将拇指之外的4个手指指向第一个向量u的方向向v的方向转动手指矩阵用于描述缩放、旋转,平移,更换坐标系等几何变换。 将矩阵的每一行/列视为一个向量。矩阵乘法: 结果...

2018-05-29 19:48:10 2007

原创 网络游戏

在网络游戏中有多个玩家参与游戏。 游戏状态由多个玩家的操作共同决定,玩家操作对游戏产生的影响通过网络通信的方式传递到其他玩家的游戏世界,实现玩家之间游戏世界的同步 。 网络游戏通常使用 C/S 构架(客户端和服务器构架)实现游戏客户端之间的信息状态同步 。在 C/S 构架中,每个游戏玩家运行一个客户端程序,通过互联网和网络游戏的服务器通信。服务器检查客户端发生的数据是否合法。 如果数据合法,服

2018-05-04 18:25:54 346

原创 逆向动力学

为玩家添加角色模型,在玩家动画控制器 Animator中开启 IK 功能 :Animator——》Layer 列表——》小齿轮 ——》勾选 IK Pass RobotPlayer 对象——》添加球体子对象BodyObject ——》调整大小和位置——》放置在玩家躯干内 Gun 对象——》添加4个球体子对象分别对应玩家的双手、 头部和躯干。 调整这些球体的大小和位置。 将玩家右手对应的...

2018-05-01 10:30:22 2112

原创 散列表

在关键字范围远大于元素个数时,减少储存空间的大小。 关键字通过散列函数计算出相应的下标。 散列函数:尽量将每个关键字散列到所有的位置 装填因子α:表示平均储存元素。当需要插入的元素个数为n,散列表的槽位数为m。α=n/m链地址:相同的放在同一链表中 最坏情况:全部在同一个槽,查找的时间复杂度为Θ(n)平均情况:计算的复杂度为O(1),在平均情况下,1次查找成功的复杂度为O(1+α)...

2018-04-24 08:13:31 221

原创

邻接链表:稀疏图 邻接矩阵:稠密图深度优先遍历:栈 广度优先遍历:队列 时间复杂度为Θ(V+E) 使用map实现邻接链表。使用set标记遍历过的节点。 https://github.com/EVANOMA/nonlinear-structure拓扑排序: 例如课程的学习具有先后顺序,在修课程B前需要预修课程A。 需要用vector记录每个节点的入度(为0表示没有前驱节...

2018-04-23 10:29:33 111

原创

深度:从根到节点路径的长度树的每一层包含了同一深度的所有节点高度:根到叶节点最长的路径树中节点的最大深度

2018-04-23 09:35:44 130

原创 从C++到C#

看完书要做题实践懂得如何取舍,编程能力是一种解决问题的能力。如果问题没能被很好地解决,知道再多也没用。 编程不是解各种脑筋急转弯的问题 计算机科学有两类根本问题。一类是理论:算法,数据结构,复杂度,机器学习,模式识别等。理论走的是深度,是在追问在给定的计算能力约束下如何把一个问题解决得更快更好。 一类是系统:操作系统,网络系统,分布式系统,存储系统,游戏引擎,等等等等。系统走的是广度,是

2018-04-10 21:42:35 890

原创 光源

Hierarchy——》删除 Directional Light Hierarchy——》红色小球——》鼠标右键——》Light——》Point light ——》Point light 子对象——》 Inspector 视图中的 Light——》Color 属性为红色——》Intensity 属性(光源的强度)为 4 Intensity。Hierarchy——》BigBall 点击鼠标右键—

2018-03-29 14:26:24 164

原创 图形渲染

创建材质: 我们在Project视图中,在Assets标签下点击鼠标右键 选择Create下的Material完成材质的创建 我们将新创建的材质重命名为Wood 表示木质材质,然后我们需要将Wood贴图绑定到 Wood材质的Albedo属性上,这里有两种方法 首先我们点击Wood材质 在Inspector检视视图中会显示Wood材质的属性 此时我们将Project视图中 Textures文件夹下的

2018-03-29 14:25:27 251

原创 物理效果

domino 对象 拖到 Project 视图中的 prefabs 文件夹下 制作 domino 预制件(方便一次性修改场景中的多个对象 )接下来我们把 Project 视图中 的 domino 预制件拖入 Hierarchy 层级视图中 便可以批量生产相同的 domino 游戏对象 添加刚体组件: inspector ——》add component ——》physics ——》rigidbo

2018-03-29 14:21:41 227

原创 python容器

list list里面的元素的数据类型可以不同list元素也可以是另一个lists = ['python', 'java', ['asp', 'php'], 'scheme']print(len(s))增删l = [365, 'everyday', 0.618, True]l.append(1024)#push_backprint (l[4])l = [

2018-03-23 15:31:55 121

原创 字符串

ASCII编码:127个字符,大小写英文字母、数字和一些符号Unicode:把所有语言都统一到一套编码里,最常用的是用两个字节表示一个字符UTF-8编码:把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。 如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。这里写

2018-03-23 15:30:39 131

原创 面经

二叉树的镜像 写代码的时候要考虑到各种情况。包括NULL,只有一个结点,普通二叉树,二叉树所有结点只有左结点/右结点等。针对下面几种情况都要满足需求。void MirrorRecursively(TreeNode *pRoot) 2 { 3 if((pRoot == NULL) || (pRoot->left == NULL && pRoot->rig...

2018-03-10 12:10:29 126

原创 PAT总结

1.容器:用vector构建二维数组vector<vector<int>> v(m,vector<int>(n));set只能通过*iter读取内容迭代器的类型:迭代器失效泛型算法(关联容器自己的算法更快)s.find(c)//没找到返回-1auto iter=find(v.cbegin(),v.cend(),val);...

2018-03-10 12:08:01 304 1

原创 软件工程

源代码就是软件设计。测试和调试是软件设计必不可少的一部分。 评价架构设计的好坏就是评价它应对改动有多么轻松。软件架构的关键目标: 最小化在编写代码前需要了解的信息。尽量减少代码改动所波及的范围。 问题分析:在设计之前先考虑清楚,选出最适合的数据结构和算法先使用已经写成正确的代码输入/输出数据格式和数量特别事件需求程序最重要的部分错误事件用户接口可移植性扩展/维护...

2018-03-10 12:02:28 364

原创 递归

LeetCode112 寻找一条从根节点到树节点的路径,要求之和为指定的数字。bool hasPathSum(TreeNode *root, int sum) { if (root == NULL) return false; if (root->val == sum && root->left == NULL && root->right == NULL) re

2018-03-09 10:38:19 117

原创 动态规划

LeetCode70 可以1次爬1层或2层楼梯。问n层楼梯有几种爬法。 对于第n层楼梯有2种总的情况: 1.先爬到n-2层,然后1次爬2层 2.先爬到n-1层,然后1次爬1层 所以steps[n]=steps[n-1]+steps[n-2]. int climbStairs(int n) { vector<int> steps(n,0); steps[0]=1;

2018-03-09 10:09:03 143

原创 LeetCode456

判断在一组数列中按从左到右的顺序,是否存在第3个元素小于第2个元素且大于第1个元素(132)在discuss中的简便方法class Solution {public: bool find132pattern(vector<int>& nums) { stack<int> stk;//存放可能的第3个元素 int s2 = INT_MIN;//第2个元素

2018-03-04 16:32:50 231

原创 LeeetCode621

字母代表等待运行的任务。每2个相同任务之间需要有n个间隔。求运行所需的最短时间。分析后得出关键在于数量最多的任务。最终使用的公式是建立在n>0的基础上的。但是没有考虑到n=0的特殊情况。class Solution {public: int leastInterval(vector<char>& tasks, int n) { vector<int> cnt(26, 0);

2018-03-04 15:49:58 140

原创 LeetCode137

给出1个数,最少用多少个自然数的平方相加而成int numSquares(int n) { while (n % 4 == 0) { n /= 4; cout << "n="<<n << endl; } if (n % 8 == 7) return 4; bool min2 = false; for

2018-03-02 16:39:32 148

原创 Leetcode560

统计数字序列中连续子列和为指定数字的个数 原来的想法为累积以后,从第二项开始逐级递减,但是复杂度比较高。所以该解法通过“nums[i] - k”:即如果得到的差等于之前的累加和,说明该和后面至此的序列之和为指定的数字。for (int i = 1; i < nums.size(); ++i) { nums[i] += nums[i - 1]; } unordered_

2018-03-01 10:10:12 244

转载 PAT1068

对于计算机而言,颜色不过是像素点对应的一个24位的数值。现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大。#include &lt;cstdio&gt;#include &lt;vector&gt;#include &lt;map&gt;using namespace std;int m, n, t...

2017-12-07 23:13:41 188

原创 PAT1054

#include <iostream>#include <cstdio>#include <string.h>using namespace std;int main() { int n, cnt = 0; char a[50], b[50]; double temp, sum = 0.0; cin >> n; for(int i = 0; i < n

2017-12-06 23:27:11 263 1

原创 PAT1062

一个分数一般写成两个整数相除的形式:N/M,其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按从小到大的顺序列出它们之间分母为K的最简分数。#include&lt;iostream&gt;using namespace std;int gcd(int a, int b) { return b == 0 ...

2017-12-06 08:29:37 143

原创 PAT1060

定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(&lt;=N)。#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;algorithm&gt;using namespace std;int main() { in...

2017-12-05 10:52:47 129

原创 PAT1059

冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;algorithm&gt;#include &l...

2017-12-05 10:48:41 198

原创 PAT1051

复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式 R(cos(P) + isin(P))。现给定两个复数的R和P,要求输出两数乘积的常规形式。#include&lt;iostream&gt;#include &lt;math.h&gt;...

2017-11-30 16:35:55 156

原创 PAT1050

本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m&gt;=n;且m-n取所有可能值中的最小值。#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;algorithm&gt;#include &l...

2017-11-30 15:52:39 170

原创 PAT1045

著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定N = 5, 排列是1、3、2、4、5。则:1的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管3的左边元素都比它小,但是它右边的2它小,所...

2017-11-29 17:08:47 155

空空如也

空空如也

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

TA关注的人

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