自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

探索软件工程的奥秘

路漫漫其修远兮,吾将上下而求索

  • 博客(120)
  • 资源 (27)
  • 收藏
  • 关注

原创 基于SpringBoot+Vue健康管理平台的设计与实现(源码+论文+部署)

技术基础:本文以Spring Boot和Vue为技术基础,设计并实现了健康管理平台。功能模块:系统管理、用户管理、健康档案、健康监测、健康评估、健康管理、随访中心、健康咨询、健康百科功能模块。专业绘图:使用软件工程中专业的系统架构图、用例图、顺序图、E-R图等。

2024-12-02 18:24:45 1191 4

原创 通义大模型概述

阿里云的大模型服务平台百炼是一站式的大模型开发及应用构建平台。不论是开发者还是业务人员,都能深入参与大模型应用的设计和构建。可以通过简单的界面操作,在5分钟内开发出一款大模型应用,或在几小时内训练出一个专属模型,从而将更多精力专注于应用创新。

2024-10-25 11:15:58 718

原创 Git版本控制

Git是一个开源的分布式版本控制系统。

2024-10-24 08:33:29 685

原创 若依框架定制

若依框架修改器是一个可以一键修改RuoYi框架包名、项目名等的工具。在子业务模块pom.xml文件中,添加核心模块依赖。在项目pom.xml文件中,添加子项目版本。选择文件,修改后项目目录如右图所示。(1)新建Module。(2)维护模块信息保存。

2024-10-23 08:15:00 839

原创 基于若依框架的“代码生成”实现学生信息维护

代码生成是若依框架的内置功能,可以基于数据库表结构,自动生成前后端的增删改查代码,支持前后端代码下载,将下载代码拷贝到对应路径下即可。

2024-10-22 08:37:53 843

原创 若依框架的下载与配置

导入数据脚本ry_2021xxxx.sql和quartz.sql,数据库脚本位置在后端项目的sql目录下。编辑ruoyi-admin模块下,resources目录下的application-druid.yml。在redis解压目录下,执行:redis-server.exe redis.windows.conf。基于MySQL数据库,创建数据库:ry-vue。RuoYi-Vue前后端分离版。默认密码是:admin123。默认账号是:admin。

2024-10-21 08:25:40 1319

原创 若依框架概述

RuoYi-Vue是一个Java EE企业级快速开发平台,是一套全部开源的快速开发平台。

2024-10-18 10:33:44 278

原创 Vue3组件通信

是使用频率最高的一种通信方式,常用与 :父 ↔ 子。4.默认插槽、具名插槽。

2024-10-17 14:47:28 241

原创 Vue3状态管理

理论上来说,每一个 Vue 组件实例都已经在“管理”它自己的响应式状态了。// 状态// 动作</script>-- 视图 -->状态:驱动整个应用的数据源;视图:对状态的一种声明式映射;交互:状态根据用户在视图中的输入而作出相应变更的可能方式。pinia是一个状态管理库,由Vue核心团队维护,对Vue 2和Vue 3都可用。

2024-10-16 08:48:39 521

原创 Vue3路由

路由组件通常存放在pages 或 views文件夹,一般组件通常存放在components文件夹。通过点击导航,视觉效果上“消失”了的路由组件,默认是被卸载掉的,需要的时候再去挂载。

2024-10-15 11:35:56 715

原创 Vue3组件的生命周期

Vue组件实例在创建时要经历一系列的初始化步骤,在此过程中Vue会在合适的时机,调用特定的函数,从而让开发者有机会在特定阶段运行自己的代码,这些特定的函数统称为:生命周期钩子。生命周期整体分为四个阶段,分别是:创建、挂载、更新、销毁。

2024-10-14 08:37:49 551

原创 Vue3基础语法

本质是一个函数,把setup函数中使用的Composition API进行了封装,类似于vue2.x中的mixin。复用代码, 让setup中的逻辑更清楚易懂。})//向外暴露数据。

2024-10-13 17:01:31 953

原创 Vue3概述

2020年9月18日,Vue.js发布3.0版本,代号:One Piece。Vite中文网。

2024-10-12 08:45:16 354

原创 npm包管理工具

npm(全称NodePackageManager)是包管理工具,随着Node.js的安装包一起被安装到了用户的电脑上。在终端中执行npm -v命令,来查看npm包管理工具的版本号。

2024-10-11 08:25:52 700

原创 Node.js概述

Node.js是一个基于Chrome V8引擎的JavaScript运行环境。Node.js 中文网。

2024-10-10 08:57:19 1042 1

原创 CSS高级技巧

CSS 精灵,也叫CSS Sprites,是一种网页图片应用处理方式。把网页中一些背景图片整合到一张图片文件中,再background-position精确的定位出背景图片的位置。优点:减少服务器被请求次数,减轻服务器的压力,提高页面加载速度。作用:可以为一个元素在不同状态之间切换的时候添加过渡效果。(2)作用:在网页中添加简单的、颜色单一的小图标。作用:设置整个元素的透明度(包含背景和内容)(1)字体图标:展示的是图标,本质是字体。属性:transition(复合属性)属性值:过渡的属性 花费时间(s)

2024-10-09 15:34:51 1409

原创 CSS定位

作用:灵活的改变盒子在网页中的位置。

2024-10-08 10:15:40 312

原创 CSS布局

<head><title>浮动</title><style>.div1 {.div2 {</style></head><body></body>

2024-10-07 16:34:11 1591

原创 CSS盒子模型

作用:布局网页,摆放盒子和内容。

2024-10-06 10:04:26 1102

原创 CSS选择器

步骤:定义类选择器(. 类名),使用类选择器(标签添加class = "类名")。,选择器N{CSS 属性},选择器之间用,隔开。步骤:定义id选择器(#id名),使用id选择器(标签添加id= "id名")。通配符选择器:*,不需要调用,浏览器自动查找页面所有标签,设置相同的样式。写法:父选择器 子选择器 { CSS属性 } ,父子选择器之间用空格隔开。选择器写法:父选择器 > 子选择器{CSS属性},父子选择器之间用>隔开。选择器写法:选择器1选择器2{CSS 属性},选择器之间连写,没有符号。

2024-10-05 20:34:11 840

原创 CSS相关属性和显示模式

例:background : pink url(./cat.png) no-repeat right center/cover;属性值:block(块级)、inline(行内)、inline-block(行内块)值:no-repeat、repeat(默认)、repeat-x、repeat-y。例2:background-position : 50px -100px;rgba表示法:rgba(r,g,b,a),a表示透明度(0-1)例:background-repeat : no-repeat。

2024-10-04 21:26:09 1623

原创 CSS概述

层叠样式表 (Cascading Style sheets,缩写为 CSS),是一种样式表语言,用来描述HTML文档的呈现(美化内容)。书写位置:title标签下方添加style双标签,style标签里面书写CSS代码。

2024-10-04 21:16:44 486

原创 HTML表单标签

HTML表单标签作用:收集用户信息,例如登录、注册、搜索等场景。

2024-09-17 17:34:31 367

原创 HTML标签

标签:dl嵌套dt和dd,dl是定义列表,dt是定义列表的标题,dd是定义列表的描述/详情。

2024-09-17 16:59:09 459

原创 HTML概述

HTML超文本标记语言,其中超文本是链接,标记也叫标签(即带尖括号的文本)。

2024-09-14 17:54:00 379

原创 软件项目管理

软件项目管理的提出是在20世纪70年代中期,当时美国国防部专门研究了软件开发不能按时提交、预算超支和质量达不到用户要求的原因,发现70%的项目是因为管理不善引起的,而非技术原因。软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。

2024-09-14 16:53:09 1237

原创 软件运行维护

软件的运行维护阶段是软件生命周期的最后一个阶段,其基本任务是保证软件在一个相当长的时期能够正常运行。软件维护工作量很大,大型软件维护成本高达开发成本的4倍左右。软件工程的主要目的之一就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。软件维护就是在软件已经交付使用之后,为了改正错误、提高性能或满足新的需要而修改软件的过程。改正性维护:17~21%;适应性维护:18~25%;完善性维护:50~66%;预防性维护等其他维护活动:4%左右。

2024-09-12 15:53:12 1131

原创 软件工程测试

通俗地说,软件测试是为了发现错误而执行程序的过程。软件测试:根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。是否有功能错误,是否有功能遗漏。是否能够正确地接收输入数据并产生正确的输出结果。是否有数据结构错误或外部信息访问错误。是否有程序初始化和终止方面的错误。

2024-09-12 15:27:42 1316 1

原创 编码与实现

程序设计语言是用于书写计算机程序的语言,是一种实现性软件语言。最早的机器语言,到汇编语言,到现在的高级语言。语言的发展越来越规范、简单,代码的复用性越来越高。程序员逐渐从复杂的编码中解放出来,把精力专注在软件的效率、可靠性、可移植性、安全性、易用性等方面。

2024-09-11 14:38:37 633

原创 面向对象设计

在面向对象的方法中面向对象的分析和设计的界限是模糊的,分析设计是一个逐步扩充、逐步细化的过程,也是一个反复迭代的过程。

2024-09-11 09:20:13 642

原创 结构化设计

软件设计的主要任务是要解决如何做的问题,要在需求分析的基础上,建立各种设计模型,并通过对设计模型的分析和评估,来确定这些模型是否能够满足需求;是将用户需求准确地转化成为最终的软件产品的唯一途径,在需求到构造之间起到了桥梁作用。软件与人(用户)之间的交互界面软件与硬件或其他软件系统之间的接口软件内部模块之间的接口设计数据存储方式的设计直接影响着软件的执行效率,主要考虑数据的存取方式和存储结构的设计。目前数据的存储多采用关系模型的数据库,即二维表结构。

2024-09-10 10:57:14 1231

原创 面向对象需求分析

以对象为中心,以类为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。功能模型描述所有参与者使用系统功能的情况。以用例为建立功能模型的基本单位,通过可视化的用例图展示参与者与系统交互的情况。用例图从用户的观点描述系统的功能,是用户所能观察到的系统功能的模型图,由参与者、用例以及它们之间关系所组成。什么是对象模型呢?对象模型(类图)是模型的静态结构,表示软件要处理的数据,它描述了系统逻辑设计中存在的包、类以及它们之间的关系。

2024-09-10 10:16:24 2247

原创 结构化需求分析

所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一 种无歧义的书面描述。功能模型用数据流图来描述数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能。例如:【学生购买教材系统】 --通过对现实环境的调查,获得当前系统的物理模型(1)分析:从刚才的物理模型中我们发现学生购买教材的处理流程包含了 很多物理地点,如教务处、教材科,会计室等。

2024-09-09 10:50:38 1872

原创 需求分析概述

某富翁想要娶老婆,有三个人选,富翁给了三个女孩各一千元,请 她们把房间装满。第一个女孩买了很多棉花,装满房间的1/2。第 二个女孩买了很多气球,装满房间3/4。需求获取涉及客户、用户和开发方。客户为软件投资方,用户为软件使用者,开发方的需求分析师要深入了解用户的工作领域。需求获取的方式有用户访谈、 问卷调查、原型系统、跟班作业、文档研究、头脑风暴等。(2)分析软件需求和书写软件需求规格说明书。(1)深入了解应用领域,开发高层的业务模型。【点评】相同的需求,不同的人理解不同。(4)获取具体的需求。

2024-09-09 09:57:49 677

原创 软件生存期模型

软件生存期模型是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。典型的软件生存期模型有瀑布模型、增量模型、快速原型模型、喷泉模型、螺旋模型、统一过程、敏捷开发模型等。

2024-06-18 17:28:54 1089

原创 软件工程概述

软件危机主要表现,如:对软件开发成本和进度估计不准确、软件产品的质量靠不住、用户对“已完成的”软件系统不满意、软件开发速度跟不上、软件不可维护以及没有适当的文档资料等。IEEE定义:软件工程是(1)把系统化的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;综上,软件工程采用工程的概念、原理、技术和方法来开发与维护软件,把管理技术和最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。1950’s~1960’s中,规模较小的程序,个体化 的软件开发,只有程序清单。

2024-06-18 17:04:31 504

原创 13.0 网络编程

如今,计算机网络已经成为人们日常生活的必需品,无论是工作时发送邮件,还是在休闲时和朋友网上聊天都离不开计算机网络。所谓的计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。位于同一个网络中的计算机若想实现彼此间的通信,可以通过编写网络程序来实现,即在不同的计算机上编写一些实现了网络连接的程序,通过这些程序可以实现不同计算机之间数据的交互。

2023-12-12 09:07:32 954

原创 12.0 多线程

多线程是提升程序性能非常重要的一种方式,也是Java编程中的一项重要技术。在程序设计中,多线程就是指一个应用程序中有多条并发执行的线索,每条线索都被称作一个线程,它们会交替执行,彼此间可以进行通信。本章将针对Java中的多线程知识进行详细地讲解等。

2023-12-12 08:52:56 1005

原创 11.3 基于JDBC实现的商品CRUD案例

使用JDBC实现商品信息的新增、修改、删除、查询所有功能,并实现MySQL数据库的操作。导入mysql-connector-java-8.0.27.jar包。MySQL数据库创建商品表,有主键、商品名称、商品价格信息。导入junit-4.6.jar包。(1)创建goods数据库。(2)创建t_goods表。

2023-12-01 10:31:39 927

原创 11.2 基于JDBC实现的学生CRUD案例

使用JDBC实现学生信息的新增、修改、删除、查询所有功能,并实现MySQL数据库的操作。导入mysql-connector-java-8.0.27.jar包。MySQL数据库创建学生表,有主键、姓名、年龄信息。导入junit-4.6.jar包。(1)创建student数据库。(2)创建t_student表。

2023-12-01 10:27:35 927

基于SpringBoot+Vue健康管理平台的设计与实现(代码+数据库+部署)

技术基础:本文以Spring Boot、Vue和MySQL为技术基础,设计并实现了健康管理平台。 功能模块:系统管理、用户管理、健康档案、健康监测、健康评估、健康管理、随访中心、健康咨询、健康百科功能模块。 下载内容:前端Vue代码+后端SpringBoot代码+MySQL数据库+部署文档 详细内容介绍请见:https://blog.youkuaiyun.com/lv_soso/article/details/144194695 声明:本内容仅可供参考及学习,不得被用于其他任何用途 。

2024-12-02

基于SpringBoot和Vue的健康管理平台设计与实现(参考论文)

技术基础:本文以Spring Boot和Vue为技术基础,设计并实现了健康管理平台。 功能模块:系统管理、用户管理、健康档案、健康监测、健康评估、健康管理、随访中心、健康咨询、健康百科功能模块。 专业绘图:使用软件工程中专业的系统架构图、用例图、顺序图、E-R图等。 详细内容介绍请见:https://blog.youkuaiyun.com/lv_soso/article/details/144194695 声明:本内容仅可供参考及学习,不得被用于其他任何用途 。 章节介绍: 1. 绪论 2. 相关技术介绍 3. 需求分析 4. 系统设计 5. 系统实现 6. 系统测试 7. 总结与展望 8.参考文献 详细内容介绍请见:https://blog.youkuaiyun.com/lv_soso/article/details/144194695

2024-12-02

Java程序设计(理论基础+实战案例)

《Java程序设计》是面向计算机相关专业的一门专业基础课,涉及Java语言中面向对象编程、多线程处理、网络通信等内容,通过本课程的学习,学生能够了解 Java 语言特征、常见的 Java 类库以及面向对象程序设计思想,学会利用 Java 语言编写面向网络应用的简单程序。 第一章 Java语言概述 第二章 Java语言基础 第三章 选择与循环 第四章 数组 第五章 方法 第六章 面向对象基础 第七章 面向对象进阶 第八章 泛型与集合 第九章 异常处理 第十章 输入输出 第十一章 数据库编程 第十二章 并发编程 第十三章 项目案例

2023-07-06

SpringBoot开发实战(实战案例)

案例01 Spring入门案例 案例02 基于xml配置的构造方法注入 案例03 基于xml配置的setter方法注入 案例04 基于注解的依赖注入 案例05 Bean的实例化 案例06 Bean的作用域 案例07 OOP方式实现日志记录 案例08 AOP方式实现日志记录 案例09 基于JdbcTemplate的学生信息维护 案例10 Maven入门案例 案例11 基于Maven构建实现学生新增 案例12 Spring MVC入门案例 案例13 Spring MVC参数传递 案例14 Spring MVC文件上传 案例15 Spring Boot入门案例 案例16 基于Spring Boot实现学生新增 案例17 基于Spring Boot+MyBatis的学生信息维护 案例18 基于Spring Boot+MyBatis的图书信息维护 案例20 图书信息系统的设计与实现文档 案例21 基于Spring Boot+Redis实现学生信息存储 案例22 基于Spring Boot+Redis实现图书信息存储 案例23 图书管理系统的设计与实现

2023-07-06

SpringBoot开发实战(理论基础)

本课程是基于Spring、Spring MVC和Spring Boot框架的理论与实践相结合的课程,主要讲解Spring、Spring MVC和Spring Boot框架的基础知识和实际应用。 通过本课程的学习,应: 首先,了解Spring、Spring MVC和Spring Boot框架的基础知识。 其次,掌握Spring Boot框架的基本思想与实践开发。 再次,掌握Spring Boot框架与MyBatis、Redis、RabbitMQ等框架的集成。 最终,能够独立设计并开发一个基于Spring Boot框架的企业级应用系统。 第一章 Spring基础 第二章 Maven基础 第三章 Spring MVC基础 第四章 Spring Boot入门 第五章 Spring Boot核心 第六章 Spring Boot数据访问 第七章 Spring Boot缓存管理 第八章 Spring Boot消息服务 第九章 Spring Boot部署 第十章 系统的设计与实现

2023-07-06

数字档案馆建设指南.pdf

数字档案馆建设指南 1 总体要求 2 管理系统功能要求 3 应用系统开发和服务平台构建 4 数字档案资源建设 5 保障体系建设

2020-07-01

DAT 58-2014 《电子档案管理基本术语》.pdf

DAT 58-2014 《电子档案管理基本术语》 1 范围 2 一般概念 3 电子档案的收集与整理 4 电子档案的鉴定与处置 5 电子档案的保存与利用 6 电子档案的安全

2020-06-28

DAT 18-1999 《档案著录规则》.pdf

DAT 18-1999 《档案著录规则》 1 范围 2 引用标准 3 定义 4 著录项目 5 著录用标识符 6 著录条目格式 7 著录用文字 8 著录信息源 9 著录项目细则

2020-06-28

数字档案室建设评价指标.pdf

数字档案室建设评价指标 组织建设5分 基础设施建设15分 应用系统建设30分 数字档案资源建设35分 保障体系建设15分

2020-06-27

数字档案馆系统测试办法.doc

第一条 为加强数字档案馆的科学建设、安全运维和绩效管理,推动全国档案事业可持续发展,根据《中华人民共和国档案法》《中华人民共和国档案法实施办法》《数字档案馆建设指南》等有关规定,制定本办法。 第二条 本办法适用于县级以上国家综合档案馆数字档案馆系统的测试,其他类型档案馆数字档案馆系统测试工作可参照本办法。 第三条 国家档案局成立数字档案馆系统测试工作领导小组,并组建测试专家队伍,负责数字档案馆系统测试工作,领导小组日常事务由国家档案局技术部负责。 第四条 数字档案馆系统测试依据是《数字档案馆系统测试指标表》(见附件1,以下简称《测试指标表》),测试采用百分制。测试结果达到80分以上认定为“通过国家级数字档案馆测试”,达到90分以上认定为“全国示范数字档案馆”。 第五条 具有以下情形之一的,不得申请参加测试: (一)尚未完成建立涵盖全部馆藏文件级目录数据库的; (二)馆藏纸质档案在50万卷以下但数字化率低于70%的,馆藏纸质档案在50-100万卷但数字化率低于60%的,馆藏纸质档案在100-150万卷但数字化率低于50%的,馆藏纸质档案在150万卷以上但数字化率低于40%的; (三)尚未进行电子档案接收工作的; (四)数字档案馆发生过重大安全事故或存在严重安全隐患的。 第六条 各单位可对照《测试指标表》对数字档案馆进行自测试,自测试分数达到80分以上的,根据自愿申报原则,省、自治区、直辖市,计划单列市和副省级市以上国家综合档案馆数字档案馆由同级档案行政管理部门填写《数字档案馆系统测试申请表》(见附件2,以下简称《测试申请表》),向国家档案局提出申请,由国家档案局组织测试。地市级及以下国家综合档案馆数字档案馆由同级档案行政管理部门填写《测试申请表》后,向省级档案行政管理部门提出申请,由省级档案行政管理部门组织测试。地市级及以下国家综合档案馆数字档案馆自测试90分以上的,由省级档案行政管理部门认定后填写《测试申请表》,向国家档案局提出申请,由国家档案局组织测试。 第七条 测试工作程序: (一)申请测试。按照本《办法》第六条规定,档案行政管理部门填写《测试申请表》,向省级档案行政管理部门或国家档案局提出测试申请。 (二)现场测试。测试专家现场使用辅助测试工具,对照《测试指标表》,对数字档案馆系统进行测试打分。 (三)测试审批。现场测试工作结束后的30日内,将可认定为“通过国家级数字档案馆测试”“全国示范数字档案馆”的测试结果报国家档案局审批。 第八条 国家档案局将适时通报全国数字档案馆系统测试工作情况。 第九条 本办法自发布之日起施行。

2020-06-27

企业数字档案馆(室)建设指南.pdf

企业数字档案馆(室)建设指南 1 概念与基本特征 2 建设目标与原则 3 基础设施建设 4 电子档案管理系统建设 5 数字档案资源建设 6 制度规范建设 7 安全保密体系建设 8 经费与人才保障 9 建设步骤

2020-06-27

DAT 48-2009 《基于XML的电子文件封装规范》.pdf

DAT 48-2009 《基于XML的电子文件封装规范》 1 范围 2 规范性引用文件 3 术语和定义 4 总则 5 电子文件封装结构模型 6 封装元数据 7 元数据的描述

2020-06-27

DAT 13-1994 《档号编制规则》.pdf

DAT 13-1994 《档号编制规则》 1 主题内容与适用范围 2 术语 3 档号编制原则 4 档号的结构 5 档号的编制方法

2020-06-27

电子档案管理系统基本功能规定

《电子档案管理系统基本功能规定》的框架结构设计以国家各级各类档案馆开展电子档案管理职能为基准,以电子档案管理业务的工作流程为主线,包含了总则、系统总体要求、档案接收、档案整理、档案保存、档案利用、档案鉴定与处置、档案统计、系统管理和附则共10章内容。

2020-06-27

C0126.1+国家政务服务平台数据交换与共享接口+第1部分:数据交换要求

C0126.1+国家政务服务平台数据交换与共享接口+第1部分:数据交换要求

2020-05-27

块设备驱动课程设计.doc

1、 编写一个简单的块设备驱动程序,该块设备包括打开、IO控制与释放三个基本操作。 2、 编写一个测试程序,测试字符设备驱动程序的正确性。 3、 要求在实验报告中列出Linux内核的版本与内核模块加载过程

2020-05-26

linux局域网聊天工具(附带文档和源码参考)

1 设计内容: 1.1 开发一个运行于LINUX平台局域网内部的通信软件,主要功能包括: 1、有方便实用的聊天界面; 2、可以实现对局域网内任意电脑的信息接受与发送。 1.2 开发环境 操作系统:Ubuntu 9.04 编译调试环境:VI+GCC+GDB 1.3 关键技术 C语言编程 Linux开发环境中开发工具的使用 Gnome图形设计——GTK+2.0 网络编程中socket“套接字”的使用 2 设计目标: 2.1 体会从需求理解出发,到软件概要设计,详细设计,编码,测试,发布的整个流程,熟悉软件开发的全部流程; 2.2 熟悉Linux操作系统下的C/C++应用程序开发环境,掌握linux系统下开发工具vi、gcc 和gdb的使用,以及makefile的写法; 2.3 掌握Linux环境下图形工具包GTK和网络编程中socket“套接字”的使用;

2020-05-26

功能点估算法方案.docx

1. 简介 2. 功能点估算法的用途 3. 适用功能点估算法的软件 3.1. 适合 3.2. 不适合 4. 功能点估算法优势 4.1. 功能点方法简单、实用 4.2. 能够在项目早期进行规模度量 4.3. 比其他度量方法更为客观 4.4. 提高软件项目的管理水平,提高软件开发效益,降低成本 5. 补充 5.1. 估算方法技术路线 5.2. 估算方法应用场景 5.3. 估算方法逻辑原型 6. 功能点估算工具

2020-04-02

ionic混合开发APP

1 简介 1、Native APP(原生) 2、Hybrid APP(混合) 3、React Native Hybrid App按网页语言与程序语言的混合,通常分为三种类型:多View混合型,单View混合型,Web主体型。 2 技术 2.1 技术选型 Ionic 2.1.1 Ionic介绍 Ionic是一款基于Angular、Cordova的强大的HTML5移动应用开发框架,可以快速创建一个跨平台的移动医用。可以快速开发移动APP、移动WEB页面、微信公众平台应用,混合APP WEB页面。 2.1.2 Ionic和cordova、Angular关系 Ionic = cordova + Angular + ionic Css Ionic 是完全基于谷歌的 Angular 框架,在 Angular 基础上面做了一些封装,让我们可以更快速和容易的开发移动的项目。Ionic 调用原生的功能是基于 Cordova,Cordova 提供了使用JavaScript 调用 Native 功能,ionic 自己也封装了一套漂亮的 CSS UI 库。 2.1.3 开发工具 Visual Studio Code 2.1.4 管理工具 Git 2.2 环境搭建 2.2.1 概述 2.2.2 JDK 2.2.2.1 版本 jdk1.8 2.2.2.2 配置 JAVA_HOME PATH CLASSPATH 2.2.3 Apache ant 2.2.3.1 版本 1.9.12 2.2.3.2 解压 2.2.3.3 配置 ANT_HOME: D:\android\apache-ant-1.10.4 Path: %ANT_HOME%\bin 2.2.3.4 查看安装版本 ant –v 2.2.4 android SDK 2.2.4.1 版本 r24.4.1 2.2.4.2 配置 ANDROID_SDK_HOME: D:\Android\android-sdk-windows Path:%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools 2.2.4.3 SDK 通过SDK Manager下载相关的版本 2.2.4.4 查看信息 android -h 2.2.5 node.js 2.2.5.1 版本 8.11.3 2.2.5.2 安装 2.2.5.3 查看版本 node –v npm -v 2.2.6 npm/cnpm 2.2.6.1 安装npm nodejs已经集成了npm 2.2.6.2 安装 cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 2.2.7 cordova 2.2.7.1 版本 8.0.0 2.2.7.2 安装 npm install -g cordova 可以使用cnpm代替npm cnpm install -g cordova ionic 2.2.7.3 查看版本 cordova -v 2.2.8 ionic 2.2.8.1 版本 3.20.0 2.2.8.2 安装 npm install –g ionic 可以使用cnpm代替npm cnpm install -g cordova ionic 2.2.8.3 查看版本 ionic –v 2.2.8.4 查看信息 ionic info 3 项目 3.1 创建 3.1.1 新建 3.1.2 启动 3.1.3 打包 3.1.3.1 添加 3.1.3.2 生产release版apk(签名后安装) 3.1.3.3 生成debug版apk 3.1.4 签名 3.1.4.1 生成签名文件 keytool -genkey -v -keystore testapp.keystore -alias testapp.keystore -keyalg RSA -validity 20000 3.1.4.2 apk签名 jarsigner -verbose -keystore testapp.keystore -signedjar app-release-signed.apk app-release-unsigned.apk testapp.keystore 3.1.5 安装 安卓手机安装使用

2018-07-18

SQL培训第一期

1 SQL基础 1.1 基本概念 结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行的信息查询,select。 1.2.2 数据操作语言(DML) 用于操作关系型数据库对象内部的数据,insert、update、delete。 1.2.3 数据定义语言(DDL) 用来建立及定义数据表、字段以及索引等数据库结构,create、alter、drop 。 1.2.4 数据控制语言(DCL) 用于控制对数据库里数据的访问,通常用于创建与用户访问相关的对象以及控制用户的权限,grant、revoke(撤销)。 1.2.5 事务控制命令(TPL) 用于管理数据库事务,commit、rollback、savepoint(在一组事务里创建标记点以用于回退)。 1.3 表的构成 1.3.1 字段 字段是表里的一列,用于保持每条记录的特定信息 1.3.2 记录 记录,也被成为一行数据,是表里的每一行 1.4 完整性的约束条件 1.4.1 实体完整性 关系模型的实体完整性在create table中用primary key约束实现,primary key约束用于定义主键,它保证主键的唯一性和非空性。 1.4.2 参照完整性 关系模型的参照完整性可以通过在create table中用foreign key (<外键>) references <被参照表名> (<与外键对应的主键名>)进行约束定义。 1.4.3 用户定义完整心 在create table语句中可以根据应用要求,定义属性以及元组上的约束。 常见的用户定义的完整性约束有: not null或null约束。 unique约束:唯一性约束。 default约束:默认值约束。 check约束:检查约束,check约束通过约束条件表达式设置列值应该满足的条件。 1.5 范式 1.5.1 第一范式 1.5.1.1 规范 无重复的列,确保每列保持原子性,即数据库表中的所有字段值都是不可分解的原子值。 1.5.1.2 举例 姓名 年龄 联系电话 地址 省 市 详细地址 1.5.2 第二范式 1.5.2.1 规范 属性完全依赖于主键,确保表中每列都与主键相关。 1.5.2.2 举例 订单表 订单Id 商品Id 总金额 商品名称 001 1 10 苹果 001 2 10 橘子 联合主键订单Id、商品Id => 商品表 商品Id 商品名称 单价 订单表 订单Id 总金额 1.5.3 第三范式 1.5.3.1 规范 属性不依赖于其它非主属性,确保数据表中的每一列数据都和主键直接相关,而不能间接相关,即要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。 1.5.3.2 举例 党员表 党员Id 党员姓名 组织Code 符合3NF 党员表 党员Id 党员姓名 组织名称 不符合3NF 组织表 组织Code 组织名称 1.6 外连接 1.6.1 准备 create table student_A( uuid varchar2(32), name varchar2(100)); create table student_B( uuid varchar2(32), name varchar2(100)); insert into student_A values('1','小黄'); insert into student_A values('2','小黑'); insert into student_A values('3','小红'); insert into student_B values('1','大黄'); insert into student_B values('2','大黑'); insert into student_B values('4','大红'); insert into student_B values('4','大紫'); 1.6.2 左连接(left join) 1.6.2.1 说明 查询指定的左表的所有行,而不仅仅是联接列所匹配的行;如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 1.6.2.2 语法 select A.*,B.* from student_A A left join student_B B on A.Uuid = B.Uuid; 1.6.2.3 结果 1.6.2.4 (+)表示 select A.*,B.* from student_A A,student_B B where A.Uuid = B.Uuid(+) 1.6.3 右连接(right join) 1.6.3.1 说明 查询指定的右表的所有行,而不仅仅是联接列所匹配的行;如果右表的某行在左表中没有匹配行,则在相关联的结果集行中左表的所有选择列表列均为空值。 1.6.3.2 语法 select A.*,B.* from student_A A right join student_B B on A.Uuid = B.Uuid; 1.6.3.3 结果 1.6.3.4 (+)表示 select A.*,B.* from student_A A,student_B B where A.Uuid(+) = B.Uuid 1.6.4 全外连接(full outer join) 1.6.4.1 说明 完整外部联接返回左表和右表中的所有行;当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值;如果表之间有匹配行,则整个结果集行包含基表的数据值。 1.6.4.2 语法 select A.*, B.* from student_A A full outer join student_B B on A.Uuid = B.Uuid; 1.6.4.3 结果 1.6.4.4 全外连接不支持(+)写法 1.6.5 (+) + 表示补充,即哪个表有加号,这个表就是匹配表。 1.7 运算符 1.7.1 比较 =、>,<,>=,<=,!=,<>, 1.7.2 确定范围 between and 、not between and 1.7.3 确定集合 in、not in 1.7.4 字符匹配 like(“%”匹配任何长度,“_”匹配一个字符) 1.7.5 转义字符 1.7.5.1 常规转义字符 “\”转义字符,“\%”则表示单纯的字符“%” 1.7.5.2 escape escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。 select * from Student_a where name like '%$%%' escape '$'; 1.7.6 空值 is null、is not null 1.7.7 集合查询 union(并)、intersect(交)、minus(差) 1.7.8 多重条件 and、or、not 1.7.9 对查询结果分组 <group by 列名> 1.7.10 分组筛选条件 [having <条件表达式>] 1.7.11 字符串拼接 select 'A' || 'B' from dual; // || 拼接 1.8 函数 1.8.1 聚集函数 count、sum、avg、max、min 1.8.2 case when 1.8.2.1 语法 select t.uuid, t.score, case when t.score > 90 then '优秀' when t.score > 60 then '及格' else '不及格' end from exam_user_exam t 1.8.3 decode 1.8.3.1 语法 select decode(x,1,'x is 1', 2 , 'x is 2','others') from dual 1.8.3.2 说明 当x等于1时,则返回‘x is 1’,当x等于2时,则返回‘x is 2’,否则,返回‘others’。 1.8.4 nulls first(nulls last)排序 1.8.4.1 语法 select * from dy_info t order by t.degree nulls first 1.8.4.2 说明 控制null显示行位置 1.8.5 Nvl 1.8.5.1 语法 select nvl(t.sap,'空') from dy_info t; 1.8.5.2 说明 如果sap号为空,则返回‘空’,否则返回sap号。 1.8.6 递归查询 1.8.6.1 语法 select t.* from g_organ t start with t.organcode = '080' connect by prior t.parentcode = t.organcode; //递归查询父节点 select t.* from g_organ t start with t.organcode = '080' connect by t.parentcode = prior t.organcode; //递归查询子节点 1.8.7 union 和 union all 1.8.7.1 语法 select * from dual union all select * from dual 1.8.7.2 说明 union 会对查询数据进行去重并排序,union all只是简单的将两个结果合并。 1.8.8 wm_concat 1.8.8.1 语法 select wm_concat(t.role_name) from g_role t where t.role_name like '%书记%' 1.8.8.2 说明 拼接字符串,结果为:‘党工委副书记,总支副书记,党支部书记,党委书记,党委副书记,党总支书记,党工委书记,党总支副书记,党支部副书记’ 1.8.9 相似度 1.8.9.1 语法 select utl_match.edit_distance_similarity('aaaaa','bbaaaa') from dual; 1.8.10 去格式 1.8.10.1 oracle正则表达式:去除<></>格式 select REGEXP_REPLACE(title,'<[^>]*>','') title from exam_question 1.8.11 rank() over (partition by …) 1.8.11.1 语法 select organcode,score,ranknum from ( select t.organcode, t.score, rank() over (partition by t.organcode order by t.score desc) ranknum from exam_user_exam t) where ranknum < 4 1.8.11.2 说明 获取每个组织,考试成绩前三名。 1.9 存储过程 1.9.1 定义 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 1.9.2 准备 create table t_user ( username varchar2(20), password varchar2(20) ); create table t_user_temp ( username varchar2(20), password varchar2(20) ); insert into t_user(username,password) values('小王','1111'); insert into t_user(username,password) values('小李','1111'); 1.9.3 创建存储过程 create or replace procedure adduser as begin insert into t_user_temp(username,password) select username,password from t_user t where t.username = '小李'; end adduser; 1.9.4 执行 begin adduser; end; 1.9.5 验证 select * from t_user; select * from t_user_temp 2 SQL深入 2.1 常用 2.1.1 表空间 2.1.1.1 创建表空间 create tablespace TS_DJY datafile 'd:/software/oracle/tablespace/ts_djy.dat' size 1024M autoextend on next 100M maxsize 2048M; 2.1.1.2 指定用户表空间 alter user cssdj default tablespace TS_DJY; 2.1.1.3 指定表的表空间 create table t_student( uuid varchar2(32) )tablespace TS_DJY; 2.1.2 自增sequence 2.1.2.1 创建 create sequence seq_student_uuid minvalue 1 maxvalue 999999999999999 start with 1 increment by 1 nocache; 2.1.2.2 使用 select seq_student_uuid.nextval from dual; //获取下一个 select seq_student_uuid.currval from dual; //获取当前 2.1.3 批量插入 2.1.3.1 查询结果批量插入 insert into tablea(cola,colb) select cola,colb from tableb; 2.1.3.2 创建相同的表结构并插入数据(备份表数据) create tab_new as select * from tab_old; 2.1.3.3 创建相同的表结构不插入数据 create tab_new as select * from tab_old where rownum=0; 2.1.4 伪列伪表 2.1.4.1 伪列 伪列不是表的真实列,但是你可以象使用真实列一样使用伪列,常用伪列:rowid行的绝对物理编号,每一行是唯一的。rownum序号,返回查询结果的每行序号。系统时间sysdate,返回系统当前时间。 2.1.4.2 伪表 select * from dual; 2.1.5 系统表 2.1.5.1 user_tables 当前用户表信息 2.1.5.2 user_tab_columns 当前用户表所有列信息,搜索列所在的表: select * from user_tab_columns t where t.column_name like '%ORGANCODE%'; 2.1.5.3 user_tablespaces 当前用户表空间 2.1.5.4 dba_users 数据库所有用户 2.1.5.5 dba_tables 数据库所有表 2.1.5.6 dba_tablespaces 数据库所有表空间 2.1.6 锁表解锁 2.1.6.1 查看锁表信息 select l.OBJECT_ID,s.SID,s.SERIAL#,s.USERNAME, s.MACHINE from V$locked_Object l,V$session s where l.SESSION_ID = s.SID; 2.1.6.2 解锁 alter system kill session 'sid,serial#'; 2.1.7 备份与恢复 2.1.7.1 导出 导出用户: exp cssdj/cssdj@zr owner=(cssdj,cssdj_zsy) file=d:/cssdj.dmp log=d:/cssdj.log 导出用户表: exp cssdj/cssdj@zr tables=(g_dict,g_dict_item) file=d:/cssdj.dmp log=d:/cssdl.log 2.1.7.2 导入 imp cssdj/cssdj@zr fromuser=cssdj_zsy touser=cssdj file=d:/cssdj.cmp log=d:/cssdj.log 2.1.7.3 数据泵 2.1.8 Dblink 2.1.8.1 创建 create database link orcllink connect to cssdj identified by cssdj using '(DESCRIPTION = (ADDRESS_LIST= (ADDRESS=(PROTOCOL = TCP)(HOST = 219.239.110.65)(PORT = 1521))) (CONNECT_DATA=(SID = orcl)))'; 2.1.8.2 删除 drop database link orcllink; 2.1.8.3 使用 select * from dy_info@orcllink; 2.2 Oracle与Mysql差异 2.2.1 Group by 2.2.1.1 Oracle select后面出现的列,如果没有使用集合函数,必须出现在group by 中。 select sno,sname,sum(grade) from student group by sno,sname; //合法写法 select sno,sname,sum(grade) from student group by sno; //非法写法 select sno,min(sname),sum(grade) from student group by sno; //建议用这种写法,效率高些 2.2.1.2 Mysql select sno,sname,sum(grade) from student group by sno,sname; //合法写法 select sno,sname,sum(grade) from student group by sno; //合法写法 2.2.2 分页 2.2.2.1 Oracle 使用rownum来表明分页位置,而且rownum只能小于某值,不能大于某值,故而rownum和where联用才能完成数据范围的控制 2.2.2.2 Mysql mysql的分页可以用limit startNum,pageNum 2.3 了解 2.3.1 事务 2.3.1.1 Rollback start transaction; --开始事务 insert into g_dict values('test','测试','1',''); --执行数据操作语言(DML) select * from g_dict where code = 'test'; --可以查看是否执行正确 rollback; --错误执行rollback操作 commit; --正确执行commit操作 2.3.1.2 Savepoint start transaction; --开始事务 insert into g_dict values('t1','测试','1',''); --执行数据操作语言(DML) savepoint pointA; insert into g_dict values('t2','测试','1',''); --执行数据操作语言(DML) select * from g_dict where code = 'test33'; --可以查看是否执行正确 rollback to savepoint pointA; 2.3.2 利用执行计划评估SQL语句的性能 2.3.2.1 工具 在PL/SQL Developer中写好一段SQL代码后,按F5,PL/SQL Developer会自动打开执行计划窗口,显示该SQL的执行计划。 2.3.2.2 查看总COST,获得资源耗费的总体印象 一般而言,执行计划第一行所对应的COST(即成本耗费)值,反应了运行这段SQL的总体估计成本,单看这个总成本没有实际意义,但可以拿它与相同逻辑不同执行计划的SQL的总体COST进行比较,通常COST低的执行计划要好一些。 2.3.2.3 了解执行计划的执行步骤 按照从左至右,从上至下的方法,了解执行计划的执行步骤; 执行计划按照层次逐步缩进,从左至右看,缩进最多的那一步,最先执行,如果缩进量相同,则按照从上而下的方法判断执行顺序,可粗略认为上面的步骤优先执行。每一个执行步骤都有对应的COST,可从单步COST的高低,以及单步的估计结果集(对应ROWS/基数),来分析表的访问方式,连接顺序以及连接方式是否合理。 2.3.2.4 分析表的访问方式 表的访问方式主要是两种:全表扫描(TABLE ACCESS FULL)和索引扫描(INDEX SCAN),如果表上存在选择性很好的索引,却走了全表扫描,而且是大表的全表扫描,就说明表的访问方式可能存在问题;若大表上没有合适的索引而走了全表扫描,就需要分析能否建立索引,或者是否能选择更合适的表连接方式和连接顺序以提高效率。 2.3.2.5 分析表的连接方式和连接顺序 表的连接顺序:就是以哪张表作为驱动表来连接其他表的先后访问顺序。 表的连接方式:简单来讲,就是两个表获得满足条件的数据时的连接过程。主要有三种表连接方式,嵌套循环(NESTED LOOPS)、哈希连接(HASH JOIN)和排序-合并连接(SORT MERGE JOIN)。我们常见得是嵌套循环和哈希连接。 嵌套循环:最适用也是最简单的连接方式。类似于用两层循环处理两个游标,外层游标称作驱动表,Oracle检索驱动表的数据,一条一条的代入内层游标,查找满足WHERE条件的所有数据,因此内层游标表中可用索引的选择性越好,嵌套循环连接的性能就越高。 哈希连接:先将驱动表的数据按照条件字段以散列的方式放入内存,然后在内存中匹配满足条件的行。哈希连接需要有合适的内存,而且必须在CBO优化模式下,连接两表的WHERE条件有等号的情况下才可以使用。哈希连接在表的数据量较大,表中没有合适的索引可用时比嵌套循环的效率要高。 2.3.3 优化器 Oracle优化器分为基于规则的优化器(RBO)和基于代价的优化器(CBO)。 2.3.3.1 规则的优化器(RBO) RBO的优化方式,依赖于一套严格的语法规则,只要按照规则写出的语句,不管数据表和索引的内容是否发生变化,不会影响PL/SQL语句的"执行计划"。 2.3.3.2 基于代价的优化器(CBO) CBO计算各种可能"执行计划"的"代价",即cost,从中选用cost最低的方案,作为实际运行方案。各"执行计划"的cost的计算根据,依赖于数据表中数据的统计分布,ORACLE数据库本身对该统计分布是不清楚的,须要分析表和相关的索引,才能搜集到CBO所需的数据。 2.3.4 表分析analysis 2.3.4.1 说明 analyze table,一般可以指定分析表、所有字段、所有索引字段、所有索引,若不指定则全部都分析。 2.3.4.2 表分析 analyze table dy_info compute statistics; 2.3.4.3 删除分析数据 analyze table dy_info delete statistics; 2.3.5 oracle添加强制索引 如果使用的是CBO的话,可能SQL不执行索引,则可以添加强制索引执行索引。 2.3.5.1 语法 /*+index(tablename indexname)*/ 2.3.5.2 举例 select /*+index(t INDEX_SAP)*/* from dy_info t where t.sap = 'T6000890'

2018-03-14

Mysql迁移Oracle方案

1、环境准备 1.1 导入机 1.2 oracle生产环境 1.3 Oracle SQL Developer配置 2 数据迁移 2.1 数据准备 2.1.1 生产数据备份 2.1.2 导入机还原备份文件 2.2 Oracle SQL Developer配置连接 2.2.1 连接本机mysql数据库 2.2.2 连接生产oracle数据库 2.3 执行迁移 2.3.1 关联移植资料档案库 2.3.2 捕获方案 2.3.3 设置数据映射 2.3.4 转换为oracle模型 2.3.5 生成数据结构执行脚本 2.3.6 迁移数据结构 2.3.7 设置“数据移动选项” 2.3.8 迁移数据 2.3.9 删除移植资料档案库 2.4 迁移数据准确性验证 2.4.1 过程验证 2.4.2 数据验证

2018-03-14

屏幕保护程序(含文档)

本程序设计的是一个飘雪的屏幕保护程序,当系统检测到一段时间内没有鼠标和键盘消息输入(即空闲了一段时间,此长度可以设置)时,程序便会运行,屏幕不再是一个静止的画面,而是在屏幕上飘起了雪白的雪花。当然,在屏保运行期间可以设置雪花的颜色,而一旦有鼠标左键的击键命令或是特定键盘击键命令,可以让屏保程序关闭,从而恢复屏保前的正常状态。

2014-08-30

java火狐浏览器兼容

java系统火狐浏览器兼容解决方案,与ie进行对比

2013-07-05

myeclipse 9.1_crack.jar

MyEclipse 9.1在windows 的破解工具

2013-07-05

内部排序算法比较 数据结构课程设计

一、需求分析 1、本演示程序对以下6种常用的内部排序算法进行实测比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。 2、待排序表的表的元素的关键字为整数,表长不小于100;其中的数据要用伪随机数产生程序产生(乱序)和由键盘输入(正序、逆序);至少要用5组不同的输入数据作比较;比较的指标为有关关键字参加的比较次数和关键字的移动次数(关键字交换记为3次移动)。 3、演示程序以用户和计算机对话的方式执行,即在计算机终端上显示“提示信息”下,用户可由键盘操作,由伪随机数产生器产生或由用户键盘输入待排序数据,每次测试完毕,列表显示各种比较指标值。 4、最后对结果做出简单分析,包括对各组数据得出结果波动大小给予解释。

2011-06-21

空空如也

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

TA关注的人

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