自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程目录与前序

emmm... 最近写东西一个定时器的库,依旧很混乱。趁着调试空闲,整理一下。首先为什么要有这个东西? 很简单,如果所有程序都是单线程的话,那就很恐怖了。举个栗子:有这样一个单线程的程序:

2017-08-08 17:31:23 264

原创 游戏服务器的登陆框架

游戏登陆大致过程如下:1.客户端发送请求给登陆服务器,登陆服务器进行校验(账号睁不正确)2.发给全局服务器,获取登陆状态与令牌(这个账号是不是已经在登陆啦,或者在别的区服在玩啦),成功的话发一个令牌3.全局返回给登录服务器再返回给客户端客户端拿到这个令牌以后就登陆成功啦,可以用这个去请求一些其他的数据。客户端请求任何东西都是和网关服务器打交道,由网关服务器去与其他的什么游戏逻辑

2017-08-08 17:13:29 1950

原创 指针和引用与*操作符和&操作符

前言:最近在写一个新功能的时候,发现自己的指针和引用有点分不清,所以想做点整理。先来看看,指针和引用的具体定义:指针(Pointer): 利用地址,它的值直接指向(points to)另一个地方的值,地址指向该变量单元。引用(Reference): 某一变量的一个别名,对引用的操作与对变量直接操作完全一样。

2017-08-03 10:34:54 437

原创 一、ACE相关概述

1.ACE是什么?ACE是一个面向对象的工具开发包,它实现了通信软件的基本设计模式。2.ACE提供了什么?事件分离和事件处理程序的调度连接的建立和服务的初始化交互通信和共享内存管理动态配置和分布式通信服务并发、并行和同步高级分布式服务组件(名字服务,事务服务,日志服务等)下图为ACE各组件的垂直化和水平关系:

2017-05-10 12:09:42 559

原创 [verilog读书笔记]8.任务和函数

设计者常需要在程序的多个不同地方实现同样的功能,这就有必要将这些公共的部分提取出来,将其组成子程序,然后在有需要的地方调用这些子程序。一、任何和函数的区别                       函数                                                              任务                    

2016-09-13 15:17:42 2396

原创 [verilog读书笔记]6.数据流建模

在电路规模较小的情况下,由于包含的门数比较少,设计者可以逐个地引用逻辑门实例。但随着芯片集成度的迅速提高,数据流建模的重要性越来越显著。我们从数据流的角度,根据数据在寄存器之间的流动和处理过程来对电路进行描述。借助于计算机辅助设计工具,自动将电路的数据流设计直接转换为门级结构,这个过程也称为逻辑综合。

2016-09-12 20:02:41 1965

原创 [verilog读书笔记]5.门级建模

一、门的类型    1.与门(and)和或门(or)        与门和或门都具有一个标量输出端和多个标量输入端。门的端口列表中的第一个端口必定是输出,其后为输入端口。            2.缓冲门/非门        buf/not 门具有一个标量输入和多个标量输出。端口列表最后一个端口为输入端口,其他终端连接至输出端口。            3.实例数组

2016-09-12 20:00:55 1539

原创 [verilog读书笔记]4.模块和端口

一、模块        模块定义以关键字module开始,模块名、端口列表、端口声明和可选的参数声明必须出现在其他部分的前面,endmodule语句必须为模块的最后一条语句。模块内部的5个组成部分是:变量声明、数据流语句、低层模块实例、行为语句块以及任何和函数。在模块的组成部分中,只有module、模块名、endmodule必须出现,其他部分都是可选的,用户可以根据设计的需要随意选用。

2016-09-12 10:48:07 3438

原创 [verilog读书笔记]3.基本概念

一、词法约定1.注释:    单行注释:“//”;多行注释开始于“/*”,结束于“*/”。多行注释不允许嵌套,但是单行注释可以嵌套在多行注释中。2.操作符:     (1).单目操作符:"~";      (2)双目操作符:"&&";      (3).三目操作符:“?:”3.数字声明:    十进制('d或'D):16'd225   //表示16位十进制数

2016-09-11 15:35:28 708

原创 [verilog读书笔记]2.层次建模

1.设计方法学数字电路设计中有两种基本的设计方法:自底向上和自顶向下设计方方法。而在典型的设计中,这两种方法是混合使用的,设计人员首先根据电路的体系结构定义顶层模块。逻辑设计者确定如何根据功能将整个设计划分为子模块;与此同时,电路设计者对底层功能块电路进行优化设计,并进一步使用这些底层模块来搭建其高层模块。2.举个例子----四位脉动进位计数器3.模块Veril

2016-09-11 12:57:08 3289

原创 [verilog读书笔记]1.Verilog HDL数字设计

1.HDL(Hareware Description Language---硬件描述语言)的出现出现的原因:随着集成电路的发展,芯片上集成的逻辑门越来越多,设计过程也因此越来越复杂,因此设计者希望某些设计阶段能够自动完成。也正是因为这种需要促进了电子设计自动化(Electronic Design Automation, EDA)设计方法的总体概述:设计者可以使用HD

2016-09-11 11:44:30 961

原创 时序(四)----有限状态机FSM

一、基本概念    1.一个有限状态的组成M位输入,N为输出和K位状态,同时还具有一个时钟信号和可选的复位信号。包含两个组合逻辑块:下一状态的逻辑(next state logic)和输出逻辑(output logic)以及一组用于存储状态的寄存器。     2.运作方式在每一个时钟沿,有限状态机进入下一状态,这个下一状态是根据当前状态和输入值计算和出来的。

2016-09-09 15:04:35 1307

原创 时序(三)---同步逻辑设计

一、同步时序电路    1.时序电路与组合电路- 在电路中包含环路(输出直接反馈到输入)的是时序电路,而不是组合电路。- 组合逻辑没有环路和竞争。- 特定值输入到组合逻辑中,输出将在传输延迟内稳定为一个正确的值,但是,包含环路的时序电路存在不良的竞争和不稳定的动作。- 为了避免这些问题,设计师们在环路中插入寄存器以断开环路,将电路变成了组合逻辑电路和寄存器的组合。

2016-09-09 13:41:11 676

原创 2016.09.09

[数字设计-异步电路]:这是一个输出直接反馈到输入的异步电路设计例子。异步电路中经常会出现竞争而难以掌握。为什么会出现竞争条件?是因为其电路的行为取决于两条通过逻辑门的路径中哪条更快。这样的电路表面上看是相同的电路,如果用几个延迟稍微不同的门替换就可能无法正常工作;而且这样的电路只能在一定的温度下工作,只有在这个特定条件下其逻辑门的延迟才刚好正确。

2016-09-09 12:47:16 229

原创 时序(二)----时序逻辑电路

时序逻辑输出取决于当前的输入值和之前的输入值,所以说时序逻辑具有记忆功能。而锁存器和触发器是能够存储一位状态的简单时序逻辑电路。一、锁存器和触发器    1.双稳态元件但是这个电路的初值往往是未知和不可预料的,电路每一次启动的初值都有可能不同。   所以虽然它可以存储一位的信息,但因为没有用于控制状态的输入,它并没有什么实用价值。    2.SR锁存器

2016-09-08 08:34:50 861

原创 时序(一)

一、时序1.延迟:一个输出响应输入的改变而改变需要一定的时间。通俗一点,当我们的输入改变的时候,输出不是立刻就作出反应改变的,它需要一定的时间,从而产生了一定的延迟。这个图称为时序图(timing diagram)传输延迟(propagation delay):传输延迟是输入改变直到对应的一个或多个输出达到它们最终的值所经历的最长时间。最小延迟(contaminatio

2016-09-06 12:34:31 2062 1

原创 [Java]一、Java开发基本步骤

1.先下载安装对应的jdk版本,并进行相关的配置略2.编写代码【HelloWorld.java】  i.打开一个txt,重命名为:HelloWorld.java  ii.在这个文件中敲下一下代码://HelloWorld为类的名字,类名要与文件名相同public class HelloWorld{ //main函数:是java程序的入口,也就是说java程序从main中开始一行一行的

2016-09-05 13:15:35 636

原创 软件测试基础(六)----黑盒测试之场景法

1.应用场合    适合场景法的软件界面特点:没有太多填写项,所有的操作都是通过鼠标的点击、双击、拖拽等完成。(类似于:银行柜台操作界面、五子棋游戏,这些都是通过鼠标的点击、拖拽等来完成的。)2.核心思想    把自己当成最终的用户,使用软件,设计出在使用软件过程中重要的操作,一般包括两类:模拟用户完成正常功能、核心业务逻辑的动作,以验证功能的正确性模拟用户操作中出现的主要

2016-08-22 14:34:42 13252 1

原创 软件测试基础(五)---正交排列法

1.应用场合    有很多控件,每个控件有很多个取值,要考虑不同控件不同取值之间的组合。并且组合数较大,而且没有必要为每一种组合编写用例。在这种情况下,我们就不采用因果图法来设计测试用例,而是选择正交排列法。    正交排列法核心思想是从大量的数据中挑选适量的、有代表性的点进行测试。正交排列法与因果图法的区别:    因果图法要求控件较少,并且要求把所有的组合测试全面。

2016-08-20 16:27:29 6463

原创 软件测试基础(四)---黑盒测试之因果图法

1.应用场合  等价类划分法和边界值分析法都是着重考虑输入条件的,并没有考虑输入之间是否存在着相互制约的关系。如果在测试时必须考虑输入条件的各种组合,就需要利用因果图。总结来说,在一个界面中,有多个控件,控件之间存在组合关系,而且不同的输入组合会产生不同的输出结果,这种情况下就使用因果图法。适合的控件一般包括按钮、单选按钮、复选框、只有2-3项取值的列表框。2.核心概念 1).因—原因,输入动作

2016-08-07 23:04:30 3500 3

原创 软件测试基础(三)---黑盒测试之边界值法

1.应用场合  只要有数据输入的地方,一般就可以使用边界值。一般可以将边界值法与等价划分法结合起来进行应用。2.边界条件  边界:可以理解为有效等价类无效等价类(最大值/最小值),或者就是等价类之间的边界值。   普通的边界条件是很容易找到的,它们在产品说明书中有定义,或者在使用软件的过程中确定。但有些边界在软件内部,这些边界条件成为次边界条件或者内部边界条 【例子:2的乘方和ASCII表】

2016-08-07 12:58:36 4259

原创 软件测试基础(二)---黑盒测试案例设计技术

1.什么是黑盒测试?  顾名思义,黑盒测试就是把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。通过软件的外部表现来发现缺陷和错误。测试工作就是进行输入、接收输出、检验结果。2.什么是测试用例?  测试用例是将测试行为具体量化的方法之一,简单来说,就是设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果,如果达不到,那么就表示软件有缺陷。   测试用例主要记录

2016-07-23 12:43:19 1960

原创 软件测试基础

1.如何编写缺陷报告(缺陷报告的组成)(1).缺陷编号(defect ID)   所提交的bug的顺序 (2).缺陷标题(summary)   简明扼要地说明一下该缺陷 (3).缺陷的发现者(Detected By) (4).发现缺陷的日期(Detected on date) (5).缺陷所属的模块(subject)   在测试哪个模块的时候发现的bug (6).发现缺陷的版本(De

2016-07-20 21:41:13 561

原创 软件测试基础(一)

1.软件测试的历史Bug的由来: +我们一般将软件缺陷(defect)称为Bug +1947年,哈佛大学的Mark II突然停止了工作,后来发现一只飞蛾粘在了继电器上。计算机软件缺陷便由此诞生了。历史上著名的软件错误案例:+英特尔奔腾浮点除法软件缺陷: 一位博士在他的奔腾PC机上进行了以下计算: $\sqrt{x^3}$

2016-07-20 18:33:37 907

原创 软件测试笔记目录总表

软件测试笔记目录总表1.软件测试基础(一):+软件测试的历史+

2016-07-20 18:02:02 1197

空空如也

空空如也

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

TA关注的人

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