自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【学习笔记】动手学深度学习 Task01

最近参加了伯禹教育的动手学习深度学习项目,现在对第一章(线性回归)部分进行一个总结。这里从线性回归模型之从零开始的实现和使用pytorch的简洁两个部分进行总结。  损失函数,选取平方函数来评估误差,公式如下:1)从零开始实现    首先设置真实的权重和偏差w,b。随机生成一个二维数组并由此生成对应的真实labels。num_inputs = 2 #二个自变量nu...

2020-02-14 21:12:44 223

原创 软件构造系列之可维护性的构造——基于语法的讨论

    今天终于展开了对可维护性的构造的最后一部分的复习,这一部分主要讨论的就是两个问题:语法以及一种语法的一个特殊子类:正则表达式。    不得不说,这个语法(grammar)和我们日常理解的语法还是有一定的不一样的,这里的语法指的是一种方法:判定一下字符串是否合法,解析成程序里可以使用的数据结构。    在语法这块儿,语法解析树是一个很重要的概念,那么很自然的,涉及到一棵树

2018-06-16 22:19:56 213

原创 关于设计模式的讨论(6)——迭代器模式(Iterator)

这是我们讨论设计模式中的最后一部分 迭代器模式:迭代器用的比较多,注意事项相对来说也较少 其实这一篇不需要写一个完整博客的 但是还是要保证完整性的嘛对吧~ 一点点干货送给大家:迭代器模式(Iterator Pattern)迭代器模式属于行为型模式,这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示它主要解决的问题就是:提供了一种方法顺序访问一个聚合对象中的各个元素,而又无需暴露该对象...

2018-06-15 16:46:50 195

原创 关于设计模式的讨论(5)——模版模式(Templete)

今天想和大家分享的第五种设计模式就是——模版模式(Templete),闲话少叙,直接上干货。模版模式(Template Pattern)模版模式:模版模式是属于行为型模式,一个抽象类公开定义了执行它的方法的方式/模版。划重点哦:执行它的方法的模式子类可以按照重写方法实现,但调用将以抽象类中定义的方式进行意图:定义一个操作汇总的算法的骨架,而将一些步骤延迟到子类,模版方法使得子类可以在不改变一个算法...

2018-06-15 16:03:10 240

原创 关于设计模式的讨论(4)——策略模式(Strategy)

策略模式Strategy Pattern 是行为型模式中的一种,它指的是一个类的行为或者它的算法可以在运行时进行更改。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的context对象,策略对象改变context对象的执行算法定义一系列的算法,把它们一个个封装起来,并且使他们可以相互替换。主要解决的问题:在有多种算法相似的情况下,使用if…else所带来的复杂和难以维护何...

2018-06-15 15:44:25 165

原创 关于设计模式的讨论(3)——外观模式(Facade)

标题外观模式外观模式隐藏了系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。外观模式向现有的系统添加一个接口。外观模式涉及到了一个单一的类,该类提供了客户端请求的简化方法和对现有系统的委托调用为子系统的一组接口提供了一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一个子系统更加容易使用。何时使用:客户端不需要知道系统内部的复杂联系,整个系统只需要提供一个总的接口就行,也就是系统...

2018-06-15 15:17:30 191

原创 关于设计模式的讨论(2)——装饰器模式(Decorator)

    装饰器模式允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰器模式也是属于结构型模式。    装饰器模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整的前提下,提供了额外的功能。    动态地给一个对象添加一些额外的指责,新增加一些功能,比生成子类又更为灵活。    使用的场景一般是扩展一个类的功能或者是动态的增加功能/动态的撤销。基本上可以代替继承。         ...

2018-06-15 14:47:52 154

原创 关于设计模式的讨论(1)——适配器模式(Adapter)

    适配器模式是作为两个不兼容的接口的桥梁。适配器模式的设计模式属于结构型模式,它结合里两个独立接口的功能。    适配器模式涉及到了一个单一的类,这个类负责加入独立的或者不兼容的接口功能,比如说读卡器或者转换器就可以作为电脑和存储盘之间的适配器。简单来说就是一个转换接口。    适配器模式可以将一个类的接口转换成客户希望的另一个接口,适配器模式可以使得原本由于接口不兼容而不能一起工作的那些类...

2018-06-15 14:19:25 197

原创 软件构造系列之可复用性的构造(3)——关于系统级的可复用性探讨

委托的几种形式dependency:临时性的委托:调用他的方法association :永久性的委托:允许一个对象实例引起另一个对象执行一个动作composition:更强的委托:一个对象包含另一个对象aggregation:对象存在另一个之外,在外部创建,然后作为参数传给构造者。设计系统级的复用:库和框架对于设计API只做好一件事情API要尽可能的小但是要满足要求实现不影响API文档很重要:为每...

2018-06-15 13:47:03 326

原创 软件构造系列之可复用性的构造(2)——如何构造之子类型多态和委托部分

设计类可复用性的外部观察类型可变:类型参数化,可以适应不同的数据类型,可复用组件应当是泛型的,并且要满足LSP实现可变:ADT有多种不同的实现,提供不同的representation和AF,但是具有同样的spec(前置条件,后置条件,不变量)从而可以适应不同的应用场景功能分组:提供完备的细粒度的操作,保证功能的完整性,不同场景下复用不同的操作共性抽取:将共同行为抽象出来,形成可复用实体子类型多态和...

2018-06-15 00:17:37 203

原创 软件构造系列之可复用性的构造(1)——关于软件的可复用性基本概念理解

度量软件的复用性不同应用中使用的频率复用花费的成本代码层面/模块层面/库的层面/系统层面:框架 对类的复用继承:写更多方法, 重写委托(delegation)调用其他对象的方法(比如说调用库函数)例子:做比较。可以调用别人的比较器分为两种:显示的和隐示的委托的形式use(a use b)composition/aggregation(a owns b)association(a has b)在库函...

2018-06-14 16:05:12 386

原创 面向健壮性和正确性的构造(3)------技术篇之断言和防御性编程

今天为大家带来的是第三部分的论述——断言和防御性编程,希望与君共进步设计一个ADT防御方式静态检查,动态检查,不可变性,等来保证消除bug让bug 局部化,只影响一个局部范围what and why 断言Assert  断言失败会抛出 断言异常断言优于if else1.对程序的假设起到适当的文档作用在实际运行时不会带来性能问题(实际运行时断言可被禁止)什么时候用断言内部不变量类的不变量控制流程不变...

2018-06-13 18:10:17 285

原创 面向健壮性和正确性的构造(2)------技术篇之错误和异常处理

今天为大家带来的是技术篇中的错误和异常处理的相关知识介绍,希望对大家有所帮助哦错误和异常处理通用的异常和处理错误错误这里的错误就是程序里面的所有异常情况错误的类型用户的输入错误设备错误,硬件错误硬件限制:硬盘满了,可用内存已经没有了代码错误:空指针,数组越界错误处理预先阻止错误中进行恢复优雅的退出处理错误告诉用户有错误保存工作返回到安全的状态并且保证用户处理其他的控制允许用户保存工作并且优雅的退出...

2018-06-12 20:50:38 191

原创 面向健壮性和正确性的构造(1)------概念篇

今天这篇博客想要和大家分享的是面向健壮性和正确性的构造里面的一些概念以及用到的一些技术,不多说了,直接上满满的干货,这些干货都是笔者学习这一单元的时候上课所记到的笔记,希望能给大家带来一些帮助。7.1 健壮性和正确性主题健壮性编程程序可以处理异常情况和预期之外的操作策略:给用户一个提示:问题出在哪了优雅的退出健壮性法则用户不愿意破坏代码,代码是可能有错误的给用户提供一个不需要看代码的提示提示要准确...

2018-06-12 20:44:58 309

原创 关于ADT的最后一篇文章——ADT中的spec

    今天这篇博客我们来讨论一下关于ADT中规约(spec)的问题。    规约简单来说就是一份合同,一份契约:它规定了ADT的实现者需要按照规约进行实现,而客户则像使用说明书一样来使用规约,spec给实现者以及客户端两方都提供了要求。    好的,那我们首先就来稍微讨论一下为什么会存在规约这个东西?有这么几点:第一呢是说很多的bug都是来源于实现者和客户端之间的误解,两段代码的接口行为由于误解...

2018-06-12 15:25:26 312

原创 对于ADT中关于R空间A空间RIAF的一些细节讨论

    在我的上一篇博客中,从表层对ADT这个重要的抽象概念进行了一些浅层次的挖掘。今天我们博客主要是围绕ADT中一些细节进行展开的论述。    首先是R空间和A空间的论述。对于R空间来说,也就是表示空间,它包括的是实际实现实体,这句话的意思就是说R空间其实就是我们客观世界中想要表示的东西的一个集合。而对于A空间这个抽象空间来说,他里面代表的是客户端可以看到和使用的值的集合。对于这两个空间,ADT...

2018-06-11 17:01:40 414

原创 对于ADT的一些讨论与理解

    众所周知,ADT对于整个整个程序设计的过程中有着很重要的作用。使用ADT省略和隐藏了低级的细节,对系统的不同部分进行了很好的封装。而在我们学习的过程中,在这一部分涉及到了很多概念,正如文章题目所讨论。由于其重要性,在学习时我就比较仔细的想要弄明白各个的含义和不同。写成博客权当参考。    ADT中的一大特性就是表示独立性(Representation Independence)这个RI并非...

2018-06-08 16:38:03 742

空空如也

空空如也

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

TA关注的人

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