avatar
文章
53
标签
29
分类
8

首页
时间轴
标签
分类
清单
  • 音乐
  • 照片
  • 电影
友链
关于
Ther的小站
搜索
首页
时间轴
标签
分类
清单
  • 音乐
  • 照片
  • 电影
友链
关于

Ther的小站

软件工程
发表于2023-03-21|更新于2023-10-30|计算机基础学科|软件工程
软件工程概述软件危机1 什么是软件危机 定义:计算机软件的开发和维护过程所遇到的一系列严重问题。 表现:(1)对软件开发成本和进度的估算很不准确(2)用户很不满意(3)质量很不可靠(4)没有适当的文档难于维护(5)软件成本比重上升(6)供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势 2 软件危机的原因 客观:软件本身独有的特点确实给开发和维护带来了困难 Ps:逻辑部件、规模庞大、维护数量不断膨胀(软件维护通常意味着改正或修改原来的设计) 主观:与软件开发和维护的许多错误认识和做法的形成有关Ps:忽视需求分析、认为软件开发=程序编写、轻视软件维护 3 如何解决软件危机 组织管理用现代工程的概念,原理,技术和方法进行计算机软件的开发,管理和维护(编写程序所需的工作量只占软件开发全部工作量的10%~20%)做好软件定义时期的工作 技术措施软件开发技术与方法(例如面向对象技术等)软件工具(例如配置管理工具、测试工具等) 软件工程1 软件工程的概念 软件工程(Software Engineering)是指导计算机软件开发和维护的一门学科,采用工程的概念、原理、技 ...
离散数学期末复习笔记【保命版】
发表于2023-03-21|更新于2023-10-30|计算机基础学科|数学
前言这是当初考离散时整理的笔记,其中包含了自己对于一些知识点的体悟。纸质笔记只有一份,不易分享。因此把它拍照整理后放到这里。这样既能帮助到更多被离散折磨的学弟学妹们🥺,又能当作纸质笔记的一个备份。 本文主要是助离散期末考试只求低分飘过的小可爱们一臂之力~ 如若对自己的成绩有更高的要求,那么本文能做的最多也只是帮助你回顾一下基础知识而已。 一般来说,离散考试的难度主要是在于题目所涉及的知识点数量太过繁杂,并不在于知识点会考多深。所以考前最重要的是了解每个知识的概念和简单运用,这样基本就能够通过考试。不过为了防止某次考试老师把许多题目难度都设定得很高,在看完本文后若是还有一些的复习时间,可以去做一做更难的题目。 一、数理逻辑1. 命题逻辑 2. 等值演算 3. 主合取范式、主析取范式 4. 【题】推理证明 5. 辖域、自由变元、约束变元 二、集合1. 环和、环积,幂集,笛卡尔乘积 三、 二元关系1. 自反、对称、传递 2&3. 合成运算,逆关系、闭包 4. 哈斯图、上下界、偏序 5. 等价关系、划分 四、代数1. 幺元(么元、单位元)、零元、逆元,半 ...
编译原理(复试版)
发表于2023-03-18|更新于2023-10-30|计算机基础学科|编译原理
编译原理概述编译程序工作过程 (1) 词法分析 词法分析的任务是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。执行词法分析的程序称为词法分析程序或扫描器。 源程序中的单词符号经扫描器分析,一般产生二元式:单词种别;单词自身的值。单词种别通常用整数编码,如果一个种别只含一个单词符号,那么对这个单词符号,种别编码就完全代表它自身的值了。若一个种别含有许多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出自身的值。 (2) 语法分析 编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位。编译程序的语法规则可用上下文无关文法来刻画。 语法分析的方法分为两种:自上而下分析法和自下而上分析法。自上而下就是从文法的开始符号出发,向下推导,推出句子。而自下而上分析法采用的是移进归约法,基本思想是:用一个寄存符号 ...
ArrayList的属性
发表于2023-03-18|更新于2023-10-30|后端|Java
### 1、ArrayList的属性 123456789101112131415161718public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ @java.io.Serial // 序列化Id private static final long serialVersionUID = 8683452581122892189L; // 默认初始容量 private static final int DEFAULT_CAPACITY = 10; // 空数组 private static final Object[] EMPTY_ELEMENTDATA = {}; // 空数组,如果使用默认构造函数创建,则对象内容默认值为该值 private static final Object[] DEFA ...
形参与实参
发表于2023-03-18|更新于2023-10-30|后端|Java
## 形参&实参 方法的定义可能会用到 参数(有参的方法),参数在程序语言中分为: 实参(实际参数,Arguments) :用于传递给函数/方法的参数,必须有确定的值。 形参(形式参数,Parameters) :用于定义函数/方法,接收实参,不需要有确定的值。 1234567String hello = "Hello!";// hello 为实参sayHello(hello);// str 为形参void sayHello(String str) { System.out.println(str);} 值传递&引用传递程序设计语言将实参传递给方法(或函数)的方式分为两种: 值传递 :方法接收的是实参值的拷贝,会创建副本。 引用传递 :方法接收的直接是实参所引用的对象在堆中的地址,不会创建副本,对形参的修改将影响到实参。 很多程序设计语言(比如 C++、 Pascal )提供了两种参数传递的方式,不过,在 Java 中只有值传递。 为什么 Java 只有值传递?为什么说 Java 只有值传递呢? 不需 ...
项目 + 毕业设计
发表于2023-03-18|更新于2023-10-30|生活|考研复试
isMusic项目1 项目概述项目的背景与目的 背景与目的:音乐是人类文化的重要组成部分,而随着互联网的发展和普及,音乐分享平台也成为人们分享、发现和交流音乐的主要渠道之一。我们的音乐分享平台以提供高质量、社区氛围良好的音乐分享服务为目标,致力于打造一个用户体验优秀、功能丰富、性能稳定的音乐分享平台。我们使用 SpringBoot 和 Vue 作为开发框架,实现了丰富的音乐资源管理、搜索、播放功能,同时也具备良好的安全性、稳定性和用户体验。 项目的主要部分 需求分析阶段:收集周边同学对类似平台的需求与痛点,并对需求进行分析,设计方案,确定项目的功能需求、性能需求等等。 总体设计与详细设计阶段:初期根据需求分析确定了项目的主要功能与设计方案,绘制了层次图、模块功能的流程图、使用UML建模工具来更好地呈现项目的结构和设计,同时为模块制定详细的接口文档,以确保团队成员之间的沟通和协作。 前端开发和后端开发阶段:通过Vue框架,使用HTML、CSS和JavaScript等技术实现平台的前端页面和交互功能。使用 SpringBoot 框架,使用Java语言实现平台的后端逻辑和接口功能,同 ...
面试
发表于2023-03-18|更新于2023-10-30|生活|考研复试
# 加分论文 面试对话分布式系统1、简述一下什么是分布式系统 分布式系统,说得简单一点就是建立在网络之上的软件系统,分布式系统将原有的软件系统拆分为一个个独立的模块,每一个模块分布在联通的计算机之上,模块与模块之间使用消息传递进行通信和动作协调。 2、为什么要搭建分布式系统 随着互联网的快速发展,公司的业务也在不断的发展,注册用户增加、网站应用的功能、规模不断扩大,特别是移动互联网的发展,APP、微信、自助终端机等访问渠道的增加,各种新业务,新需求不断涌入,系统会出现下面这些问题: 应用代码耦合严重,功能扩展难度增大 新需求开发工程量大,测试困难 新加入团队的成员难以快速熟悉庞大的系统架构 系统性能提升困难 如果使用分布式架构能够将系统拆分为多个独立的服务,每一个服务可以部署到单独的服务器上,系统的耦合程度被大大降低,开发新服务与维护旧服务的成本也大大降低。同时系统性能的提升也脱离了传统的“烟囱式”垂直搭建方式,而是可以通过扩“横向”扩展模式,所谓横向扩展是指通过增加更多的机器来提升整个系统的性能,而不是靠升级单台计算机的硬件,横向扩展则没有,每当性能下降的时候,你就需要增 ...
408计算机网络笔记 —— 传输层
发表于2023-03-18|更新于2023-10-30|计算机基础学科|计算机网络
1. 概述1.1 传输层的意义传输层的由来有了MAC地址和IP地址,我们已经可以在互联网上任意两台主机上建立通信。接下来的问题是,同一台主机上有许多程序都需要用到网络,比如,你一边浏览网页,一边与朋友在线聊天。当一个数据包从互联网上发来的时候,你怎么知道,它是表示网页的内容,还是表示在线聊天的内容?也就是说,我们还需要一个参数,表示这个数据包到底供哪个程序(进程)使用。这个参数就叫做”端口”(port),它其实是每一个使用网卡的程序的编号。每个数据包都发到主机的特定端口,所以不同的程序就能取到自己所需要的数据。“端口”是0到65535之间的一个整数,正好16个二进制位。0到1023的端口被系统占用,用户只能选用大于1023的端口。不管是浏览网页还是在线聊天,应用程序会随机选用一个端口,然后与服务器的相应端口联系。“传输层”的功能,就是建立”端口到端口”的通信。相比之下,”网络层”的功能是建立”主机到主机”的通信。只要确定主机和端口,我们就能实现程序之间的交流。因此,Unix系统就把主机+端口,叫做”套接字”(socket)。有了它,就可以进行网络应用程序开发了。 网络层可以 ...
408计算机网络笔记 —— 网络层
发表于2023-03-18|更新于2023-10-30|计算机基础学科|计算机网络
1、网络层功能概述1.1 网络层的功能网络层提供两种主要功能: 分组转发 和 路由选择 。 网络层的具体任务有:信源到信宿的传输,逻辑寻址,路由,地址转换,复用,流量和拥塞控制,网络互连。 网络层中,数据传输的单位是分组。 拥塞控制 拥塞:网络或其中一部分出现过多的包,导致网络性能下降的现象。 拥塞原因主要是1)节点处理速度有限;2)链路传输速度有限。 拥塞控制方法有5种:配缓冲区,丢弃包,限制网内包数量,流量控制,阻塞包。 拥塞控制的两种方法,开环控制和闭环控制。 流量控制 :保证发送方发送的信息量不会超过接收方的接受能力。 1.2 SDN 的基本概念网络层的主要功能是分组转发与路由选择,于是可以将网络层抽象为数据层面(也称转发层面)与控制层面,转发是数据层面实现的功能,路由选择是控制层面的功能,如下图就是一个典型的网络控制与转发图:/ 而SDN(软件定义网络)是一种新型的网络架构方式。它采用集中式的控制层面和分布式的数据层面,使两个层面相互分离,控制层面利用接口对数据层面上的路由器进行集中式控制,方便软件控制整个网络。网络由分布式控制变为了集中式控制,如下图 ...
考研复试计算机系统笔记
发表于2023-03-18|更新于2023-10-30|计算机基础学科|操作系统
操作系统操作系统组成内核态与用户态 **内核态(Kernel Mode)**与 **用户态(User Mode)**:是CPU运行的两种模式。 内核态是操作系统核心代码运行的特权级别。在内核态中,操作系统有完全的访问权限和控制权限,可以执行任意指令、使用任意寄存器、访问系统内存和硬件资源。内核态可以执行系统级别的操作,如创建和销毁进程、分配内存、读写硬件设备等等。由于内核态具有最高的特权级别,因此在该模式下执行的代码具有非常高的安全风险,因此只有操作系统核心代码可以运行在内核态中。 用户态是应用程序运行的特权级别。在用户态中,应用程序只能访问到分配给它的资源和内存,不能直接访问系统内存或硬件资源。应用程序不能执行特权指令或系统调用,这些操作只能通过操作系统提供的接口来实现。用户态运行的程序具有较低的特权级别,因此不能访问内核态中的数据或资源。 CPU工作状态的切换: 用户态 -> 内核态:通常是使用访管(Trap)命令实现,也就是常说的陷入机制。同时还可以通过中断、异常来实现切换。 内核态 -> 用户态:由一条改变 psw(程序状态字寄存器) 值的特权指令来实 ...
1…456
avatar
Ther
文章
53
标签
29
分类
8
Follow Me
公告
This is my Blog
最新文章
高级软件工程2023-10-30
软件分析与测试2023-10-30
概率论与数理统计2023-10-30
无题2023-10-30
研一选课2023-10-30
分类
  • 中间件5
  • 分布式系统1
  • 前沿技术6
  • 前端4
  • 后端10
  • 生活8
  • 计算机基础学科10
  • 运维2
标签
大模型 Vue开发 区块链 软件工程 环境搭建 ElasticSearch Docker Python工具包 机器学习 操作系统 计算机网络 C++ 学校 编译原理 Vue 考研复试 MySQL Java开发 数学 课堂学习 旅行 软件测试 Java基础 Java 游戏 数据结构与算法 AI ubuntu Python
归档
  • 十月 202336
  • 七月 20231
  • 四月 20232
  • 三月 202314
网站资讯
文章数目 :
53
本站总字数 :
267.7k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By Ther
框架 Hexo|主题 Butterfly
搜索