- 博客(62)
- 收藏
- 关注
原创 毕设(用例图)
毕设之用例图设计1.用例图的作用用例图是需求分析中的产物,主要作用是描述参与者与和用例之间的关系,帮助开发人员可视化地了解系统的功能。借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。2.用例图的构成元素用例图的构成元素又四个:参与者(角色)、用例、系统边界、元素之间的关系参与者(Actor)——与应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示用例(Use Case)——用例就是外部可见
2020-11-29 21:06:52
5155
原创 论使用svn的坑
idea使用svn采坑日记场景一SVN checkout时候会出现如下错误:Cannot load supported formats: Cannot run program “svn”: CreateProcess error=2原因SVN使用了命令行工具,如果本地没有SVN的命令行工具,则导致出错。解决办法1、安装客户端http://ncu.dl.sourceforge.net/project/tortoisesvn/1.8.7/Application/TortoiseSVN-1.8.7
2020-11-28 16:15:18
250
原创 netty基础知识
1.websocket 和netty的关系websocket是一个通信协议,而netty是一个Java网络编程框架。我们可以利用netty实现websocket通信,也可以用其他的。2.HTTP是单工的还是双工的还是半双工的先来区分三者的含义1.单工: 数据传输只允许在一个方向上的传输,只能一方来发送数据,另一方来接收数据并发送。例如:对讲机2.半双工:数据传输允许两个方向上的传输,但是同一时间内,只可以有一方发送或接受消息。例如:打电话3.全双工:同时可进行双向传输。例如:websocket
2020-11-24 16:35:42
6578
原创 文件系统-fastdfs初体验
FastDfs1.部署文件系统参考文章:https://blog.csdn.net/weixin_38066876/article/details/1053352102.引入依赖<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> </dependency>3.
2020-11-18 09:25:28
436
原创 redis超时解决方案
1.通过实现一个定时任务,来定时访问远程redis服务;2.通过设置一定的重试次数,来访问远程redis服务; private final int retryCount=3;//重试次数 for (int retry=0;retry<retryCount;retry++) { try { String obj = (String)redisTemplate.opsForValue().get(key); if (timeout>0) redisTe
2020-11-10 14:54:08
1335
原创 微服务学习笔记2
二、服务容错1.基础知识雪崩效应在微服务架构中,一个请求需要调用多个服务是非常常见的。如客户端访问A服务,而A服务需要调用B服务,B服务需要调用C服务,由于网络原因或者自身的原因,如果B服务或者C服务不能及时响应,A服务将处于阻塞状态,直到B服务C服务响应。此时若有大量的请求涌入,容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,造成连锁反应,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。雪崩的根本原因来源于服务之间的强依赖,所以我
2020-10-08 12:37:32
200
原创 微服务学习笔记1
springcloud初体验一、服务注册与发现总结1.组件的使用方式1.1 注册中心(1)Eureka搭建注册中心引入依赖 spring-cloud-starter-netflix-eureka-server<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server<
2020-10-08 12:33:53
105
原创 freemarker入门记忆点
入门举个例子<body> <h1>Welcome ${user}!</h1> <p>Our latest product: <a href="${latestProduct.url}">${latestProduct.name}</a>!</body>(root) | +- user = "Big Joe" | +- latestProduct | +- url
2020-09-05 11:21:38
143
原创 oracle入门注意点
Oracle入门1.连接字符串在Oracle中用**||** ,SqlServer中用+,MySQL中用concat(‘a’,‘b’,‘c’)在MySQL中from 后的表如果是(select…)这种,那么后面必须有别名Orcale的大字段用clob,图像用blob,clob字段在Hibernate的映射文件中用String就可以2.mysql,orcale,sqlserver 语句执行顺序开始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句-
2020-09-05 11:20:32
140
原创 springboot多环节配置即部署
1、多profiles的形式分别新增application-dev.properties和application-prod.properties配置文件,其中application-dev.properties中配置端口为:server.port=8081其中application-prod.properties中配置端口为:server.port=8082而原application.properties中配置的端口为:server.port=8080;测试:启动引导类,发现启动的端口为8080;
2020-07-07 19:10:12
522
原创 springboot结课总结
1.springboot入门简介•Spring Boot是基于Spring框架开发的全新框架,其设计目的是简化新Spring应用的初始化搭建和开发过程。•Spring Boot整合了许多框架和第三方库配置,几乎可以达到“开箱即用”。入门程序@SpringBootApplication 标记该类为主程序启动类**SpringApplication.run()**方法启动主程序类@RestController :该注解为组合注解,等同于Spring中**@Controller**+@
2020-06-30 02:14:08
2424
原创 springboot+后端校验+实体类映射工具+全局异常捕获+返回值封装
一.Java 实体映射工具 MapStruct声明:1、DO(业务实体对象),DTO(数据传输对象)。2、我的代码中用到了 Lombok ,不了解的可以自行了解一下,了解的忽略这条就好。在一个成熟的工程中,尤其是现在的分布式系统中,应用与应用之间,还有单独的应用细分模块之后,DO 一般不会让外部依赖,这时候需要在提供对外接口的模块里放 DTO 用于对象传输,也即是 DO 对象对内,DTO对象对外,DTO 可以根据业务需要变更,并不需要映射 DO 的全部属性。这种 对象与对象之间的互相转换,就需要
2020-06-29 22:47:39
865
原创 jq操作总结
1.ajax发送请求demo解析//注册//1.off()防止一次执行发送两次三次请求//2.submit 表单元素提交事件 $('.validateForm').off().submit(function () { //3.表单元素,例如input、textarea,通过设置name属性,来序列化表单为对象 var data=$('.validateForm').serialize(); //4发送ajax请求,传统写法也是最容易理解的
2020-06-29 22:18:19
128
原创 springboot之jar包文件上传
一.文件上传配置spring: servlet: ###多文件上传配置 multipart: file-size-threshold: 100MB max-file-size: 10MB max-request-size: 100MB或者###文件上传配置# 单个上传文件大小限制(默认1MB)spring.servlet.multipart.max-file-size=10MB# 总上传文件大小限制(默认10MB)spring.serv
2020-06-29 21:46:27
1876
原创 docker之spriingbooti部署篇
一.****下载 idea支持的dock插件包****地址为https://plugins.jetbrains.com/plugin/7724-docker-integration注意不是越高越好要看自己的idea版本,与自己版本发布时间接近靠后点就行1.打开ideafile–>setting–>Plugins–>install plugin from disk(在下面)–>选着你下下来的压缩包(红色说明不行,换个版本试试)或者按ctrl+alt+s进入设置-》Plugin
2020-06-29 21:23:41
171
原创 docker之基础命令部署篇
镜像与容器的关系镜像和容器的关系,类似于面向对象程序设计中的类和实例一样,镜像是静态的定义,而容器是镜像运行时的实体,可以看成是一个具备某个运行环境的非常轻量的虚拟机。容器可以被创建、启动、停止和删除等。在创建容器时,需要**显示地为容器指定镜像。**指定镜像之后,容器就具备了镜像中保存的运行环境了。例如,可以为容器指定Ubuntu14.04的镜像,然后该容器就具备Ubuntu14.04的运行环境了。Docker使用的基本过程容器需要基于一个镜像来创建和使用。因此,Docker容器的使用一般有以下三
2020-05-30 10:27:13
201
原创 软件工程课程设计总结之部署篇
选择以阿里云ecs服务器部署注意:以下的安装路径及版本以实际的位置为准,且涉及的端口需要在阿里云控制台安全组开发相应的端口号1.软件下载jdk1.8mysql5.7tomcat9nginx2.部署平台Linux 发行版centos/ubuntu3.Mysql部署下载与安装MySQL:这里采用Yum管理好了各种rpm包的依赖,能够从指定的服务器自动下载RPM包并且安装,所以在安装完成后必须要卸掉,否则会自动更新。1.安装MySQL官方的yum repository[root@loca
2020-05-29 21:55:57
884
1
原创 菜鸟abp框架学习入门总结
仓储IRepository接口在ABP中,仓储类要实现IRepository接口。最好的方式是针对不同仓储对象定义各自不同的接口IRepository,用来定义Id的类型为int(Int32)的实体。如果你的实体Id数据类型不是int,你可以继承IRepository<TEntity, TPrimaryKey>接口查询取得单一实体(有对应异步)1.Get2....
2020-04-24 07:21:06
1082
原创 mybatis-plus学习总结-第二天
实体作为条件构造器构造方法的参数修改实体加condition:别的地方如果想用等于也是可以的,就是写法要不一样。在实体中加的这个condition。只是实体作为条件构造器的构造函数的参数的时候才会生效,其他地方你可以把name等于直接用条件构造器构造,通过构造函数创建条件构造器时不传实体。多表联查,使用自定义的sql语句即可,sql后面可以加${ew.customSqlSegment}这...
2020-04-21 08:32:17
589
原创 mybatis-plus学习总结-第一天
Mybatis优势Mybatis劣势JPA优势ssm传统开发模式日志的配置entity中的常用注解@TableId 注解到实体类的表id字段 可以取代表中id主键不叫id的别名的对应驼峰写法 如 实体类 memberId, 表中 member_id@TableName 在实体类执行表名 别@TableName 表名映射@TableId 主键映射@TableFiel...
2020-04-21 08:31:18
159
原创 mybatis-plus之四种lambda方式
lambda四种表达形式前言使用了lambda表达式 可以通过方法引用的方式来使用实体字段名的操作,避免直接写数据库表字段名时的错写名字;一、LambdaQueryWrapper<>二、QueryWrapper<实体>().lambda()三、Wrappers.<实体>lambdaQuery()/** * 名字为王姓并且(年龄小于40并且邮箱不为...
2020-04-21 08:20:49
46483
3
原创 jvm学习总结1
一、java类的加载机制一、什么是类的加载类的加载指的是将类的**.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 Class对象**, Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器...
2020-04-16 23:03:28
1099
原创 java代码规范总结
一、编程规约(一)命名风格代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。纯拼音命名方式也要避免采用类名使用UpperCamelCase风格(首字母大写),但DO / BO / DTO / VO / AO / PO等除外。方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。常量命名全部大写异常类命名使用Exceptio...
2020-04-15 09:17:44
258
原创 多线程学习总结
多线程的作用线程或者说多线程,是我们处理多任务的强大工具。线程和进程是不同的,每个进程都是一个独立运行的程序,拥有自己的变量,且不同进程间的变量不能共享;而线程是运行在进程内部的,每个正在运行的进程至少有一个线程,而且不同的线程之间可以在进程范围内共享数据。也就是说进程有自己独立的存储空间,而线程是和它所属的进程内的其他线程共享一个存储空间。线程的使用可以使我们能够并行地处理一些事情。线程通过并...
2020-04-15 00:43:51
195
原创 ThreadPoolExecutor、Executors、ThreadPoolTaskExecutor线程池相关总结
1.ThreadPoolExecutor这个类是JDK中的线程池类,继承自Executor, Executor 顾名思义是专门用来处理多线程相关的一个接口,所有县城相关的类都实现了这个接口,里面有一个execute()方法,用来执行线程,线程池主要提供一个线程队列,队列中保存着所有等待状态的线程。避免了创建与销毁的额外开销,提高了响应的速度。相关的继承实现类图如下。一、线程池接口:Execu...
2020-04-15 00:11:49
704
原创 uni-app微信小程序入门知识总结
npm run dev:mp-weixinnpm i sass-loader node-sassvue create -p dcloudio/uni-preset-vue my-projectnpm install -g @vue/clirpx 小程序中的单位 75erpx=屏幕的宽度vw h5单位 100vw=屏幕的宽度 100vh=屏幕的高度数据展示·在js的data中定义数据...
2020-04-14 21:45:25
696
原创 es6和es7
ES6let与constlet 声明的变量只在 let 命令所在的代码块内有效const 声明一个只读的常量,一旦声明,常量的值就不能改变。let 是在代码块内有效,var 是在全局范围内有效:let 只能声明一次 var 可以声明多次: (对同个变量的声明)for 循环计数器很适合用 letconst 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错。...
2020-04-14 21:39:04
3494
原创 css3的一些总结
display:flex在不同方向排列元素重新排列元素的显示顺序更改元素的对齐方式动态地将元素装入容器采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员在 Flexbox 模型中,有三个核心概念:– flex 项(注:也称 flex 子元素),需要布局的元素– flex 容器,其包含 flex 项– ...
2020-04-14 21:37:57
90
原创 原生微信小程序实战总结
支付功能wx.request() 的封装//统计/同时发送异步请求代码的次数let ajaxTmes = 0;export const request = (params) => { ajaxTmes++; //显示加载中效果 wx.showLoading({ title: "加载中", mask: true, }...
2020-04-14 21:34:00
810
原创 原生小程序知识点总结
前言vue对应 小程序框架 mpvue注意:填写 url 以“/”开头 (大坑)插件(vscode)小程序助手easy lessmpvueCSS Tree 使用方法:按ctrl+shift +p 点击 generate tree 生成css树 张贴到.less文件中minapp .wxml 通过 ctrl+/可快速注释小程序快捷键...
2020-04-14 21:27:12
915
原创 abp框架学习入门总结
仓储IRepository接口在ABP中,仓储类要实现IRepository接口。最好的方式是针对不同仓储对象定义各自不同的接口IRepository,用来定义Id的类型为int(Int32)的实体。如果你的实体Id数据类型不是int,你可以继承IRepository<TEntity, TPrimaryKey>接口查询取得单一实体(有对应异步)1.Get2....
2020-04-14 21:03:26
1426
原创 c#可空类型
C# 可空类型(Nullable)C# 单问号 ? 与 双问号 ?? C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。例如,Nullable< Int32 >,读作"可空的 Int32",可以被赋值为 -2,147,483,648 到 2,147,483,647 之间的任意值,也可...
2020-04-14 21:01:24
74
原创 c#异步编程
C#中的async和await关键字是异步编程的核心。通过使用这两个关键字,你可以使用 .NET Framework 或者运行时的资源来创造异步方法——几乎和你写同步方法一样。你通过使用async和await定义的方法就相当于异步方法。// 在方法签名中需要注意的三个地方: // - 方法必须有async修饰. // - 返回类型必须是Task或者Task<T>(看 "...
2020-04-14 21:00:51
120
原创 c#lambda
lambda表达式lambda的语法: 参数 => 方法体。=>左边是要传入的参数,本例中是传入一个Int类型的变量,=>右边是具体的代码,相当于FeedbackToConsole(),{}中所做的操作一些规则:如果不传递参数: ()=>Console.WriteLine(“Hello World!”)传递一个参数:(int n)=>Console.Writ...
2020-04-14 21:00:17
173
原创 linq练习总结
Linq之Lambda表达式(以linq to sql为对象)查询 var users = db.user.Where(u => u.userName == "张跃") .Select(t => new { t.userName, t.userId }) .ToList();两表连接 var v1 = db.us...
2020-04-14 20:59:45
214
原创 vs快捷键
CTRL + M + O: 折叠所有方法CTRL + M + M: 折叠或者展开当前方法CTRL + M + L: 展开所有方法怎样快速切换不同的窗口?CTRL+TAB:切换Ctrl + J : 快速弹出智能提示.Ctrl + K + C : 注释所选代码.Ctrl + K + U : 取消对所选代码的注释.Ctrl + K+ D = 正确对齐所有代码#Region 和 #End...
2020-04-14 20:58:15
79
原创 .net core学习总结
ASP.NET Core 项目文件.csproj 是根据编程语言的文档所使用不需要卸载项目就可以编辑项目文件。项目文件不包含任何文件夹或文件引用。文件系统确定哪些文件和文件夹属于项目。TargetFramework在应用程序中指定你的目标框架(TargetFramework)指定目标版本需要用到的TargetFrameworkMoniker(TFM)AspNetCoreHo...
2020-04-14 08:24:54
976
原创 vue学习总结day07
今日目标1.Vuex概述2.Vuex基本使用3.使用Vuex完成todo案例1.Vuex概述Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享使用Vuex管理数据的好处:A.能够在vuex中集中管理共享的数据,便于开发和后期进行维护B.能够高效的实现组件之间的数据共享,提高开发效率C.存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据...
2020-04-14 08:20:17
102
原创 vue学习总结day06
###今日目标1.能够了解模块化的相关规范2.了解webpack3.了解使用Vue单文件组件4.能够搭建Vue脚手架5.掌握Element-UI的使用###1.模块化的分类####A.浏览器端的模块化1).AMD(Asynchronous Module Definition,异步模块定义)代表产品为:Require.js2).CMD(Common Module Definiti...
2020-04-14 08:19:31
88
原创 vue学习总结day05
k今日目标1.能够说出什么是路由2.能够说出前端路由的实现原理3.能够使用Vue-Router实现前端路由4.能够实现嵌套路由,动态路由5.能够实现命名路由以及编程式导航6.理解并实现后台管理案例1.路由的概念路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源。那么url地址和真实的资源之间就有一种对应的关系...
2020-04-14 08:18:26
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人