课程学习

软件构造课程思考4

测试(Test) 测试用例=输入+执行条件+期望结果 写spec->写符合spec的测试用例->写代码执行测试反复修改 TDD(test-driven development) 好的测试用例的特性与好的测试的特性相似 *写测试用例时必须既要考虑有效输入也要考虑无效输入 单元测试 针对软件的最小单元模 ......
课程 软件

5.21学习总结——课后作业

课后作业——评价正在使用的输入法或者搜索类的软件产品。 百度搜索引擎作为全球最大的中文搜索引擎之一,其用户界面、记住用户选择、短期刺激、长期使用的好处坏处、不要让用户犯简单的错误等方面都有其独特的优缺点。 首先,百度搜索引擎的用户界面设计简洁明了,符合人体工程学,使用户能够快速找到所需的功能和操作。 ......
5.21 21

5.19学习总结-大道至简

大道至简,是宇宙万物发展之规律,是中华文化之精髓,是中华道家哲学,是大道理极其简单,简单到一两句话就能说明白。所谓“真传一句话,假传万卷书”。 “万物之始,大道至简,衍化至繁”出自老子的《道德经》。大道至简,不仅被哲学流派道家、儒家等所重视,也是人生在世的生活境界。 大道至简,大道无形,大道无法,这 ......
大道 5.19 19

5.13学习总结-大道至简

在学习任何东西之前,我们都要了解它的思想,因为思想对客观事物的发展具有促进作用。大道至简这本书注重的就是思想,它讲解了一些软件工程的思想,此书一共十一个章节,其中每个章节都有好几个小节,每一个小节都有一个生动且丰富的标题直指中心,框架结构比较明显,让人读起来并不那么枯燥乏味。在这本书的第一章,周爱民 ......
大道 5.13 13

5.14学习总结-大道至简

“万物之始,大道至简,衍化至繁。”语出老子的《道德经》 ,其中“大道至简”的意思就是大道理(指基本原理、方法和规律)是极其简单的,简单到一句话就能说明白。而作者给这篇关于软件编程的著作起名《大道至简》 ,正是想用简单的话语来向读者表明软件编程其实一点也不困难。 记得大一上学期刚接触c的时候,感觉编程 ......
大道 5.14 14

5.15学习总结-大道至简

本书是关于软件工程感想的书籍,作者亲历多国内软件工程的辉煌期和低沉期,从失败中觉醒而思考,对软件开发、工程中的现状深刻反思,从而完成这本著作。在缺乏独立思维、对国外工程理论亦步亦趋的软件开发界方面,这本书或许是第一本从工程实践出发溯源而论的著作。 通读下来,有几点我印象特别深刻: 将编程比作劳力活, ......
大道 5.15 15

5.16学习总结-大道至简

大道至简,知易行难,知行合一,得到功成,大道至简,悟在天成。 一门技术一门学问,弄得很深奥是因为没有看穿实质,搞的很复杂是因为没有抓住程序的关键。 在搏击较量中,出招过多就是多余无效的招数太多,有效的招数少; 医生开的药方越多,就越是把握不好方法,用那些判断不准的药来试。 博大精深就是没有认清实质、 ......
大道 5.16 16

5.18学习总结-大道至简

大道至简,知易行难 知道原理或者道理很简单,但是执行起来却是很难,为什么呢? 削减其实是一件很痛苦的事,比如一家企业里,有几个项目都运行良好,但是其中有些项目的前景空间很小,此时做企业的老板会做什么样动作呢?是继续并行这些项目,还是利剑砍乱麻,把前景不太好的砍掉,重点在运作前景好的项目呢?这个选择其 ......
大道 5.18 18

软件构造课程思考

一、软件构造多维度试图 1.Build Moment(Code):Source Code,Interface-class-Attribute-Method Moment(Component):Package,File,Static-Linking,Library,Test Case Period(C ......
课程 软件

C#学习笔记 -- 变量、内存、

变量 1、变量在内存中分配空间 以变量名对应的内存地址为起点, 以其数据类型所要求的存储空间为长度的一块内存区域 (1)值变量如何存储在内存上 内存在计算机中被分成了一个字节一个字节的区域, 其中每个8个bit构成一个字节, 每个字节有自己唯一标识 操作系统会预留一部分内存, 别的进程无法使用 用橙 ......
变量 内存 笔记

C#学习笔记 -- 类继承、屏蔽与覆写基类方法

1、类继承 通过继承可以定义一个新类, 新类纳入一个已经声明的类并进行扩展 可以使用一个已经存在的类作为新类的基础, 已存在的类称为基类(base class), 新类为派生类(derived class), 派生类成员的组成如下 本身声明中的成员 基类的成员 要声明一个派生类, 需要在类名后写基类 ......
笔记 方法

linux 性能自我学习 ———— 理解平均负载 [一]

### 前言 linux 系统上性能调查的自我学习。 ### 正文 什么是平均负载? 使用uptime: ![](https://img2023.cnblogs.com/blog/1289794/202305/1289794-20230521225559793-695111271.png) 可以看到 ......
性能 linux

基于强化学习的倒立摆平衡控制系统simulink仿真,可以显示三维虚拟模型动画效果

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现 ......
控制系统 simulink 模型 效果 动画

git 学习笔记3

####远程仓库 远程仓库并不复杂, 在如今的云计算盛行的世界很容易把远程仓库想象成一个富有魔力的东西, 但实际上它们只是你的仓库在另个一台计算机上的拷贝。你可以通过因特网与这台计算机通信 —— 也就是增加或是获取提交记录 话虽如此, 远程仓库却有一系列强大的特性 首先也是最重要的的点, 远程仓库是 ......
笔记 git

学习笔记-Java8新特性-第七节-新时间与日期API

# 新时间与日期API ## 本地时间 ### 类 * LocalDate * LocalTIme * LocalDateTime ### 简介 * 人读的时间 * 提供以ISO-8601为标准的日期和时间 * 提供简单的日期或时间 * 并不包含当前的时间信息 * 也不包含与时区相关的信息 ### ......
特性 日期 时间 笔记 Java8

学习笔记-Java8新特性-第六节-接口中的默认方法与静态方法

# 接口中的默认方法与静态方法 ## 默认方法 * 在接口中可以使用default修饰方法,为方法提供默认实现 * public interface MyInterface { default void getName() { System.out.println("DEFAULT"); } } * ......
方法 静态 特性 接口 笔记

git学习笔记2

###在提交树上移动 在接触 Git 更高级功能之前,有必要先学习在你项目的提交树上前后移动的几种方法。 一旦熟悉了如何在 Git 提交树上移动,你驾驭其它命令的能力也将水涨船高! ####HEAD 我们首先看一下 “HEAD”。 HEAD 是一个对当前所在分支的符号引用 —— 也就是指向你正在其基 ......
笔记 git

Netflix 网站架构学习

# Netflix 网站架构学习 Netflix 架构的特点是他们没有自建数据中心,而是将服务直接架设在 AWS 的云服务上(EC2 和 S3)。Netflix 采用微服务架构,将复杂业务流程拆解成独立的小型服务,服务间通过 REST 或 RPC 彼此调用。 ![Netflix 架构](https: ......
架构 Netflix 网站

java学习日记20230521-HashTable

存放的键值对 k-v 键和值都不能为空,否则会抛出NullPointException 使用方法和HashMap一致 线程安全,HashMap线程不安全 继承的dictionary实现了Map接口 底层是一个entry数组,初始化大小为11,临界值为8,第一次扩容为23,按照自己的扩容机制,2N+1 ......
HashTable 20230521 日记 java

学习笔记-Java8新特性-第四节-StreamAPI

# StreamAPI * 利用StreamAPI可以像流水线一样操作处理数据源(数组、集合……) * Stream自己不会存储元素 * Stream不会改变数据源,而是会返回一个持有处理结构的新Stream * Steam操作时延迟执行的,他们会等到需要结果的时候才执行 * 称为惰性求值 ## S ......
StreamAPI 特性 笔记 Java8 Java

学习笔记-Java8新特性-第五节-Optional类

# Optional类 * Optional\是一个容器类 * 代表一个值存在或不存在 * 致力于解决空指针异常问题(NPE) * 可以快速锁定发生NPE的位置 * (这东西真的好用吗?) 常用方法 * Optional.of(T t) * 创建一个Optional实例 * 不能传入空指针,会报NP ......
Optional 特性 笔记 Java8 Java

学习笔记-Java8新特性-第二节-Lambda表达式

# Lambda表达式 ## Lambda表达式是什么 * Lambda是一个匿名函数 * 是一段可以传递的代码 * 是一种语法糖 * 使用Lambda可以写出更简洁、更灵活的代码 * 如果要使用Lambda表达式,需要函数式接口的支持 ## Lambda的语法格式 ### 基础语法 * Java8 ......
表达式 特性 笔记 Lambda Java8

学习笔记-Java8新特性-第三节-方法引用与构造器引用

# 方法引用与构造器引用 ## 什么是方法引用 * 对方法的引用 * 若Lambda体中的内容,已经有方法实现了,我们可以使用该方法的方法引用作为替代 * 已经有方法实现了是指,该方法的参数列表和返回值类型和lambda的一致 * 可以将方法引用理解成Lambda表达式的另外一种表现形式 ### 语 ......
特性 笔记 方法 Java8 Java

java学习日记20230416-Map

Map接口实现类的特点 Map与Collection并列存在,Key-Value双列映射 Map中的Key和Value可以是任何引用类型的数据,会封装到HashMap$Node对象中; Map中的Key不允许重复,当有相同的key时,等价于替换 Map中的Value是可以重复的 Map中key和Va ......
20230416 日记 java Map

java学习日记20230521-HashMap

HashMap底层维护了node类型的数组table,默认为null 当创建对象时,将加载因子loadfactor初始化为0.75 当添加key-value时,通过key的哈希值得到table的索引,判断该索引处是否有元素,如果没有元素直接添加,如果该索引处有元素, 继续判断元素的key和准备添加的 ......
20230521 HashMap 日记 java

学习笔记-Java8新特性-第一节-简介

# Java8 新特性 简介 * Lambda表达式 * 函数式接口 * 方法引用与构造器引用 * StreamAPI * 接口中的默认方法与静态方法 * 新时间日期API * 其他新特性 优点: * 速度更快 * HashMap在底层使用哈希表,数组+链表+红黑树 * 链表长度大于8,容量大于64 ......
特性 笔记 简介 Java8 Java

babylon.js 学习笔记(5)

前面我们画的小房子,基本上都是用内置的标准形状组合而成,但并非所有对象都这么简单,今天我们来画一个小汽车,汽车由多个零件组成,控制这些零件的缩放、位置、旋转,如果每个都单独用代码来修改position/roration/scaling,未免太复杂,幸好babylon.js中,对象有所谓的child/ ......
babylon 笔记 js

深度学习基础入门篇[8]::计算机视觉与卷积神经网络、卷积模型CNN综述、池化讲解、CNN参数计算

# 深度学习基础入门篇[8]::计算机视觉与卷积神经网络、卷积模型CNN综述、池化讲解、CNN参数计算 # 1.计算机视觉与卷积神经网络 ## 1.1计算机视觉综述 计算机视觉作为一门让机器学会如何去“看”的学科,具体的说,就是让机器去识别摄像机拍摄的图片或视频中的物体,检测出物体所在的位置,并对目 ......
卷积 神经网络 CNN 深度 模型

GO web 学习(三)

# 路由 Controller / Router ## 角色 - main():设置类工作 - controller: - - 静态资源 - - 把不同的请求送到不同的 controller 进行处理 它会根据请求,匹配最具体的 handler ## 路由参数 静态路由:一个路径对应一个页面 /ho ......
web GO

spring security授权过滤器FilterSecurityInterceptor学习

本文记录了spring security中处理权限控制的过滤器FilterSecurityInterceptor的执行流程, 对此过滤器进行配置的两种方式 ExpressionUrlAuthorizationConfigurer和UrlAuthorizationConfigurer 的使用和源码... ......