自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

樱桃小丸子

remark every thing

  • 博客(46)
  • 收藏
  • 关注

原创 mysql安装

添加mysql的远程访问https://blog.csdn.net/h985161183/article/details/82218710修改mysql的root密码https://blog.csdn.net/aigang2002/article/details/102304956

2021-11-27 12:19:47 226

原创 UML和模式应用

什么是面向对象的分析和设计面向对象分析:建立分析场景,发现场景中的对象或者虚拟的概念面向对象设计:把场景中的对象或者概念和软件中的概念对应起来,主要来描述对象之间的交互、消息、属性等。可以使用任何语言实现。面向对象程序设计:采用特定编程语言定义和实现面向对象设计中设计的对象、属性。面向对象的分析和设计示例定义用例(use case):对现实人们的使用进行描述(操作的过程、操作的目的),例如:骰子游戏请求掷骰子,系统显示结果:骰子的总点数是7,则游戏者胜利,否则游戏者输。定义领域模型: 对场

2021-11-20 18:25:03 2393

转载 苹果阅读法

2021-10-26 08:23:31 211

原创 EBNF的语法的代码表示

EBNF的代码表示的目的计算产生式的first和follow集合,消除递归下降算法的回溯问题,提高分析性能。假如文法如下expression : assign ;assign : equal | assign1 ;assign1 : '=' equal assign1 | ε; equal : rel equal1 ;equal1 : ('==' | '!=') rel equal1 | ε ;rel : add rel1 ;rel1 : ('>=' | '>

2021-10-20 23:21:26 692

原创 四则混合运算的BNF推导过程

直觉表示方法expression -> num | id | expression + expression | expression * expression// expression可以代表:数字、id、加法表达式、乘法表达式直觉表示法的问题—语法存在二义性// 推导 3+4*5,先推导为加法expression -> expression + expressionexpression ->

2021-10-19 09:52:18 854 1

原创 2021-7-29总结

如何使用jquery-UI同时拖动两个选中的元素react-beautiful-dnd的使用demoantd x6如何拖动两个选中的元素js的事件系统如何编写

2021-07-29 19:30:11 188

原创 CRC循环冗余编码

CRC循环冗余编码原理类似于模的运算,以模12的10进制数举例:发送的数据为3// 需要把他构造成一个可以被12整除的的数据,即:30+x = n12,其中x为找到的数据30 / 12 = 2*12+6 // 其中2为商,也是上面表达n的值,6即x的值得到的编码数据:30+6 = 36计算二进制数据的表达式为:D·2^(n-k) + F = zP// D:k位的二进制数据// F:n-k位的二进制,也叫生成多项式,类比上面的余数6// z:正整数,类比上面的商2// P:n-k+1位

2021-07-17 16:31:29 177

原创 从机内码到区位码

从机内码到区位码原理:区位码 = 机内码 - A0A0H;1011 0100 1111 0011 // 机内码:大1010 0000 1010 0000 // A0A0H-------------------------------------0001 0100 0101 0011 // 区位码:计算结果0001 0100 0101 0011 // 查表获得的区位码电路减法器可以转为加法器实现,即求出-A0A0H的补码即可采用加法器实现1010 0000 1010 00000101

2021-07-14 08:27:38 4591

原创 七段数码管驱动电路

七段数码管驱动电路七段数码管显示数字0-9,需要4位二进制数表示。4位二进制可以表示数据0-15 > 9,满足显示的要求七段数码管的真值表根据真值表,仿真结果总结什么是编码器?对0-9的十个数字进行编码,即:0 和数码管显示的0的编码对应起来...

2021-07-14 00:52:04 13312

原创 在GB2312国标码的基础上产生汉字内码

在GB2312国标码的基础上产生汉字内码以“大”举例:在GB2312的码表中查找“大”的行号(20),列号(83)计算其区位码(区+列):001 0100 101 0011分别在区和列上加32,步骤3的计算结果区号和列号都补充8位可得,0011 0100 0111 0011 = 3473H,其中的34H与字符“4”的ACSII码相同,73H和字符“s”的ACSII码相同。把区号和位号的最高未设未1后,得到“大”的内码:1011 0100 1111 0011 =

2021-07-13 15:47:43 814 1

原创 从真值到机器数

**真值:**现实世界中的数据,使用+/-表示数据的正负,采用十进制表示数据的值。现实世界中数据的分类:**现实世界数据表示:**一般形式和科学计数法机器中的数据:在机器中以固定位数的byte位置,每个位置以0/1存储的数据从真值到机器数:例:真值整数:12、-967小数:39.12、-0.000000098、-32.102388科学计数法:12X10^0、-0.33333X10^-2如何把上述真值转化为机器数呢?如何解决正负号的表示问题,使用一位byte位置即可表示+/-两种

2021-07-12 08:38:51 1862

原创 计算机组成原理数据的表示

计算机组成原理—数据的表示内存中数据的存储内存以字节作为最小的操作单位,即,每次最少CPU读一个字节(8位二进制数)— CPU的数据位宽是8的倍数每个字节有8个位置,每个位置可以存储一位0/1数据如何让内存的数据有意义,即:可以组和1个或者多个字节表示不同的数据类型(工程意义上的数据类型,int,char, long等)C语言中数据和字节的对应关系,根据工程实践及数据的表示范围为了让数据具有意义,数据在存储的过程中就要解决数据不同部分的存储顺序问题(即数据大小端问题)

2021-07-09 13:30:38 206

原创 逻辑运算基本规则

逻辑运算与 (取值运算)xyresult000100010111或(取值运算)xyresult000101011111非(三态门)xresult0110异或(加法运算)xyresult000101011110同或运算(减法计算)xyresu

2021-07-09 10:58:16 17302

原创 generator的工作原理

generator的工作原理使用示例useage例子:基本用法// 定义function* test(args){ console.log('start-->>>',args); yield 'test-1'; console.log('args-->>>',args); yield 'test-2'; return 'test-3';}// 像普通函数一样执行const tt = test('ccc');//

2021-07-09 08:27:11 569

原创 logsim基础使用方法

Logisim的基本使用新建工程,ctrl+s保存(需要提前创建好目录)添加子电路,如图:引脚子电路在子电路中添加输入输入引脚双击选中引脚子电路,展开线路库,按住鼠标左键拖拽引脚,到绘图区按照上一步的操作同样拖出一个引脚,在左下角是否输出引脚设置为是,即可表示输出引脚按住鼠标左键,拖出一条线和输出引脚相连,点击左侧基础库,选择戳工具,点击输入引脚,输出引脚也变为绿色调用子电路,切换到选框工具,双击main打开主电路,单击引脚子电路按住鼠标左键,拖拽到

2021-07-06 00:40:36 5885

原创 VIM中的点命令

VIM中的点命令作用是重复执行上一个修改操作例:替换文件中的let为const// 替换文件中的let为constlet one = "1";let two = "2";let three = "3";在预览模式中输入/let,光标高亮let三个字母,点击回车光标在上一步中高亮的字母上闪烁输入cw,进入到进入编辑模式并自动剪贴掉高亮的let字符输入const,按退出编辑模式,按字母n,匹配下一个let(搜索命令不算作修改操作,所以如果连续按.会在当前行进行替换)按.执行上次的修改

2021-07-05 14:04:35 427

原创 计算机组成原理学习路径

学习CPU的结构 (能够使用Axture画CPU的内部结构示意图)学习存储的结构(了解存储的逻辑分段管理机制,熟练掌握logsim的仿真界面及相关库)学习指令,能够熟练指令的4种寻址方式(每种模式举例)熟悉CPU的工作模式,最大工作模式/最小工作模式(能够看懂时序图)能使用MASM调试汇编程序(熟悉汇编程序结构,熟悉MASM的程序包结构,熟悉MASM的调试技巧)...

2021-06-30 09:15:23 120

原创 vim 输入模式

一、输入模式i:在当前的字符前面插入a:在当前的字符后面拼接s:替换到当前光标的字符o:在当前行下面创建一个新行二、重复输入模式在预览模式下输入10i,进入到编辑模式,输入文本,如:hello,world!!!,按esc退出输入模式,会自动地把文本在一行重复10遍10o+hello,world,会输出10行hello,worldyy+10p也会输出10行hello,world三、使用寄存器"a 表示使用a寄存器在预览模式下输入 "ayiw 表示把光标选中的单词复制到a寄存器中,在输入

2021-06-29 13:04:50 2754

原创 VIM文件导航

一、字符导航h:向前移动一个字符j:向下移动一行k: 向上移动一行l:向后移动一个字符二、相对行号、移动计数12j:从当前行向下移动12行9l:从当前字符向后移动9个字符三、单词导航w:移动下一个单词的词首;2w向后移动2个单词e:移动下一个单词的词尾;b:向前到上一个单词的词首;ge:向前到上一个单词的词尾巴;四、当前行0:当前行的开头;0w当前行的第一个非零字符$:当前行的结尾n|:当前行的第n列f:在当前向后查找字符,使用;继续查找下一个匹配 ,向上查找上一个匹配t

2021-06-28 18:00:55 239

原创 状态模式与策略模式,命令模式的区别

状态模式稳定点对象具有不同的状态,状态和多个行为相关联。即一个对象有多个行为收到状态的控制。即在多个方法中要获取状态,让方法联动与策略模式区别一个具体的实现方法,有多种不同的实现方式,不同的实现方式就是策略与命令模式区别多个对象具有相同的行为(发送者),点击执行某些方法,方法的实现方式可能不同或者为了屏蔽系统差异,需要封装到不同的对象里(接收者),中间加一层命令对象连接...

2021-06-03 13:02:17 309

原创 js 原型继承

<script> function SuperType(){ this.property = true; } SuperType.prototype.getSuperValue = function(){ return this.property; } function SubType(){ this.subproperty = false; } SubType.prototype = new

2021-05-25 19:47:05 47

原创 jquery-ui widget源码

<script> $.Widget = function () { } $.Widget._childConstructors = []; $.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", defaultElement: "<div>", options: { classes: {},

2021-05-25 13:04:14 206

原创 getPrototypeOf、setPrototypeOf

<script> Object.appendChain = function (oChain, oProto) { if (arguments.length < 2) { throw new TypeError('Object.appendChain - Not enough arguments'); } if (typeof oProto === 'nu

2021-05-25 12:38:13 153

原创 javascript instaceof

<script>//instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上 function C(){} var o = new C(); // C.prototype == o.__proto__ // 默认原型 console.log(o instanceof C); C.prototype = {name:'123'}; var o2 = new C();

2021-05-25 12:37:13 66

原创 javascript继承

function object(o) { function F() {} F.prototype = o; return new F();}var mm = object({name:'123'});let animal = { eats: true};let rabbit = Object.create(animal);console控制台打印

2021-05-25 10:44:53 95 1

转载 JavaScript类

https://zh.javascript.info/class-inheritance#homeobject

2021-05-24 18:52:11 67

原创 jquery easy-ui 组件

2021-05-21 18:04:11 53

原创 UML 类图

https://www.w3cschool.cn/uml_tutorial/uml_tutorial-pohy28t3.html

2021-05-20 15:40:57 32

原创 命令模式

命令模式:1.一个用户界面有很多的菜单,每个菜单的实现方式可能不太相同,相同的可以抽象的部分有:菜单的名称、菜单代表的动作2.菜单代表的动作是稳定点,具体每个动作的实现由具体的实现完成(可以直接在子命令类中实现,或者在具体的接收者中实现,屏蔽平台的差异)策略模式:1.在界面上完成一个动作,动作是稳定点,这个动作有多种的实现方式...

2021-05-19 08:46:17 28

原创 汇编语言大纲

汇编语言大纲计算机组成运算器()存储器(寄存器,内存)控制器输入设备输出设备结构英特尔8086是16位架构寄存器CS—代码段 ss----堆栈短 DS数据段指令集(ISA)

2021-05-12 23:33:29 89

原创 算法

数组删除排序数组中的重复项删除排序数组中的重复项 II移除元素移动零数组中重复的数字旋转数组螺旋矩阵两数之和三数之和四数之和较小的三数之和最接近的三数之和合并两个有序数组寻找旋转排序数组中的最小值寻找旋转排序数组中的最小值 II除自身以外数组的乘积...

2021-05-10 13:01:53 31

原创 Maria框架总结

Maria框架总结Maria框架实现前端MVCA model contains domain data(领域数据). When a model changes, it informs its observers(需要收集view到model中).A view observes a model(在view的创建或者使用某个model的某个属性的时候,把view注册到model中) and represents(view持有对model的引用) its model’s current state. A

2021-05-08 12:55:56 482

转载 组合模式

对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象)并调用执行,牵一而动百,其中使用了递归调用的机制来对整个结构进行处理。由于容器对象和叶子对象在功能上的区别,在使用这些对象的代码中必须有区别地对待容器对象和叶子对象,而实际上大多数情况下我们希望一致地处理它们,因为对于这些对象的区别对待将会使得程序非常复杂。组合模式为解决此类问题而诞生,它可以让叶子对象和容器对象的使用具有一致性。组合多个对象形成树形结构以表示具有“

2021-05-07 10:02:07 46

原创 观察者模式

Subject抽象类,也叫被观察者,它是观察者的寄存处(Subject -> Observer关联关系)Observer接口,也叫观察者,具体展现的类,被收集到Subject中ConcreteSubject继承Subject抽象类,添加了subjectState,提取业务的状态数据并添加get、set方法,subjectStata是观察者观察的业务数据ConcreteObserver实现了Observer接口,引用ConcreteSubject,获取State依赖收集在ConcreteObs

2021-05-07 09:44:32 38

原创 策略模式

策略模式:稳定点:实现的目标是固定的,比如无论是否打折或者采用某种打折方式,付款的动作(目标)是一定要完成的变化点:采用那种打折方式依赖倒转原则(Dependency Inversion Principle, DIP):抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。打折方式依赖打折的抽象类(抽象类相当于付款的动作,是稳定的)依赖倒转原则要求我们在程序代码中传递参数时或在关联关系中,尽量引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明、

2021-05-07 09:01:45 53

原创 MVC---view和controller的关系

MVC要实现的目标是将软件用户界面和业务逻辑分离组成MVC的三个模式分别是组合模式、策咯模式、观察者模式组合模式只在视图层活动观察者模式有两部分组成,被观察的对象和观察者,观察者也被称为监听者。对应到MVC中,Model是被观察的对象,View是观察者,Model层一旦发生变化,View层即被通知更新。View层和Model层互相之间是持有引用的.策略模式是View和Controller之间的关系,Controller是View的一个策略,Controller对于View是可替换的, View和Co

2021-05-06 06:41:13 803 1

原创 typescript 泛型

function add(arg1: T, arg2: T): T{return arg1 + arg2;}add(1, 2);add(‘1’, ‘2’);let addFn: (arg1: T, arg2: T) => T;addFn = add;addFn(‘1’, ‘2’);addFn(1,2);let addFn2: { (arg1: T, arg2: T): T };addFn2 = add;addFn2(‘3’, ‘4’);addFn2(3, 4);interfa

2021-05-03 07:07:13 101

原创 数据结构与算法

数据结构数据对象在计算机中的组织方式逻辑结构物理存储结构数据对象必定与一系列加在其上的操作相关联完成这些操作所用的方法就是算法抽象数据类型(Abstract Data Type)数据类型 (抽象—封装)数据对象集数据集合相关联的操作集抽象:描述数据类型的方法不依赖于具体实现与存放数据的机器无关与数据存储的物理结构无关与实现操作的算法和编程语言均无关...

2021-05-02 17:38:25 40

原创 线性表

线性表List MakeEmpty():初始化一个空的线性表ElementType FindKth(int k,List L):根据位序列K,返回相应元素int FInd(ElementType X, List L): 在线性表L中查找X的第一次出现的位置void Insert(ElementType X, int i,List L):在位序i前插入一个新的元素Xint Length(List L):返回线性表L的长度实现方式数组连续性可以随机访问稀疏数据—克服数组的缺点链表

2021-05-02 09:54:18 45

原创 编程语言特性

变量定义算术运算for 循环语句,while 循环语句函数定义,函数调用递归静态类型系统类型推导lambda 函数面向对象垃圾回收指针算术goto 语句

2021-04-25 10:57:25 143

空空如也

空空如也

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

TA关注的人

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