自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker-compose部署Nacos启动时报错 Failed to create database ‘/data/nacos/data/derby-data‘

-

2023-04-17 10:20:41 1586

原创 SpringData JPA 利用Case实现非规则排序

springData JPA利用Case实现非规则排序

2022-10-20 12:07:58 405

原创 Js中 const、var 、let 三者的区别

constconst定义常量不可修改,需要初始化,不存在变量提升现象varvar定义变量可以修改,具有函数作用域特征不需要初始化(默认undifine),存在变量提升现象letlet 声明的变量具有块作用域的特征,let内部定义的变量,对外部没有影响,不存在变量提升现象总结1.基本把 const 作为初始化常量看待2.var 和 let 较大的区别就是作用域,var 作用于函数、let 作用域块3.var 存在变量提升现象,而 let 和 const 没有...

2022-03-09 10:25:00 1470

原创 Vue脚手架的入门基础(五)—— 关于Vuex的简单使用

Vue脚手架的入门基础(四)—— 关于Vuex的简单使用0.配置Vuex1.原理图2.使用vuex① 创建store② 引入store③ 使用storeVuex其实有点像React+umi里面的DVA,和vue全局事件总线来比更加正规灵活一点。0.配置Vuex# yarn方式安装yarn add vuex# npm方式安装npm i vuex1.原理图以下为个人理解,主要方便记忆,vuex其实相当于构建了一个全局数据仓库,state就是全局数据,Mutations则是数据管理员,只有

2021-09-22 14:13:21 555

原创 Vue脚手架的入门基础(四)—— 关于插槽Slot

Vue脚手架的入门基础(四)—— 关于插槽1.什么时候用插槽2.插槽的三种使用方式① 默认插槽② 具名组件③ 作用域组件1.什么时候用插槽插槽其实就是一个Vue组件复用时候,某些部分可能需要使用该Vue组件的对象自定义。这样说比较笼统,这边给一个需求就知道了。下图是三个Vue组件的复用,除了背景Card,标题,卡片中的内容是自定义的,也就是用卡片的外部对象决定的,决定里面放的是图片、视频、列表、还是超链接。2.插槽的三种使用方式① 默认插槽其实就是最基础的插槽调用:1.定义了一个Catego

2021-09-18 15:31:09 382

原创 Vue脚手架的入门基础(三)—— 关于ref的使用

Vue脚手架的入门基础(三)—— 关于ref的使用ref是Vue提供的一个用来替代id的东西我们实现一个显示指定标签DOM的功能,先用平时的id标签属性来实现然后我们用ref标签属性来解决这个问题仔细看发现两个拿到的东西不一样了,id方法拿到的是渲染后的真实DOM内容,但是ref方法拿到的是HelloWorld这个VueComponent组件对象。...

2021-09-08 14:27:16 242

原创 Vue脚手架的入门基础(二)—— 项目结构

Vue脚手架的入门基础(二)—— 项目结构相对react的umi脚手架,vue的脚手架文件已经简单很多了。先看看那些外面的配置文件,主要看package.json吧,别的一般不太会去改。然后我们看看src里面的,重点来了,我们按照项目执行后的顺序来讲。在我们执行了yarn run serve之后启动服务器,首先找到的入口文件就是main.js,main.js引入了App.vue。App.vue是一个司令组件,里面引入所有项目要用到的子组件(这里引入HelloWorld组件),他自己本身没有实

2021-09-08 13:54:50 417

原创 Vue脚手架的入门基础(一)—— 脚手架搭建

Vue脚手架的入门基础(一)—— 脚手架搭建0.前言1.命令安装 VueCLI2.创建Vue脚手架项目3.运行Vue脚手架项目0.前言1.Vue脚手架就是我们说的Vue CLI (command line interface 命令行接口工具)2.1.命令安装 VueCLI首先默认已经有node环境了,这里提供两条语句下载:# yarn 下载yarn global add @vue/cli# npm 下载npm install -g @vue/cli注意,执行npm时候可能会报警告不用在

2021-09-08 11:01:32 411

原创 关于Java中的对象类型 ---- DO、BO、DTO、VO、AO、PO

关于Java中的对象类型 ---- DO、BO、DTO、VO、AO、PO 对象名全称介绍POPersistant Object用于表示数据库中一条记录映射而成的java对象,仅用于表示数据DAOData Access Object用于表示数据访问对象,包含CRUD操作。一般在持久层,向下封装数据库操作,向上暴露方法VOValue Object用于表示一个与前端交互的java对象DTOData Transfer Object用于表示一个数据

2021-08-10 11:15:26 702

原创 Umi +React + dva + Ant Design Pro 的项目学习(六) Umi中Dva的使用

Umi中Dva的使用0.Dva1.文件位置2.Model结构3.创建Ui组件并连接4.完善Modelnamespacestateeffectreducers5.Ui组件获取数据6.效果0.DvaDva其实就是一个管理数据流的框架,学React的时候我们会发现各种组件之间传参,会通过状态上升,也就是props,上层调用下层,但是如果有好几层,就会使得这个数据传输过程十分繁琐,于是就有了Dva,类似于我们的一个数据中心管理。 1.文件位置符合以下规则的文件会被认为是 model 文件,一个m

2021-07-20 15:42:34 1346 1

原创 Umi +React + dva + Ant Design Pro 的项目学习(六) Umi的请求和Mock使用

Umi的请求和Mock使用1.Mock2.添加Mock文件3.发送Request请求4.异步发送Request请求5.不使用Mock的请求6.Mockjs工具1.MockMock是本地虚拟的数据文件,定义请求api所对应的数据内容Mock再umi中是默认启动的MOCK=none umi dev 指令启动umi可以关闭mockUmi 约定 /mock 文件夹下所有文件为 mock 文件。 2.添加Mock文件这里不一定要取名”index“,只要再mock目录下,都会被拆解成moc

2021-07-19 15:34:04 1582

原创 Umi +React + dva + Ant Design Pro 的项目学习(五) Umi的路由跳转

Umi的路由跳转1.声明式跳转LinkNavLink2.命令式跳转1.声明式跳转Link声明式路由跳转就是用了Umi自带的一个 < Link > 标签,改变其中的 to 属性就可以直接设置需要跳转的路由。我们对上次的导航栏进行一些修改,加上需要的链接。header.tsx import React from 'react'; import {Link} from 'umi'; const Header = (props: any) => { // props

2021-07-19 10:24:24 1770

原创 Umi +React + dva + Ant Design Pro 的项目学习(四) Umi的路由实现

Umi的路由实现1.单页面2.创建一个路由3.填充页面组件4.多重路由5.页面模板1.单页面首先我们需要搞懂一个概念,就是Umi是一个单页面应用 , 就是一个html页面,他不会进行跳转,你所看到的页面变换,只不过是在同一个页面上重新渲染了别的组件。所以Umi的路由路径关联的其实是一个个组件文件。 2.创建一个路由进入Umi的配置文件 .umirc.ts,我们在routes增加我们需要创建的路由对象,并且绑定它所关联的组件路径。这里的 “@/page/hello” 中的 "@"表示

2021-07-18 12:05:33 852

原创 Umi +React + dva + Ant Design Pro 的项目学习(三) Umi项目的常用配置

Umi项目的常用配置1.配置目录2.配置对象hash 配置base 配置outputPath 配置title 配置targets 配置proxy 配置theme 配置1.配置目录这章的主角就是我们的 .umirc.ts文件,其实通常情况下因为配置比较复杂,我们往往会把 .umirc.ts 配置到 config/config.ts 中,然后会把config里面的部分给分离出来,比如 routes.ts ,下图就是一个分离完的config目录。但是只是简单对umi的学习我们还是使用 .umirc.ts来进行

2021-07-16 17:40:10 883

原创 Umi +React + dva + Ant Design Pro 的项目学习(二) Umi项目的目录结构介绍

Umi项目的目录结构介绍上一章:Umi项目的快速创建

2021-07-16 16:37:58 760

原创 Umi +React + dva + Ant Design Pro 的项目学习(一) Umi项目的快速创建

Umi的快速入手0.Umi简介1.环境准备2.Umi项目创建3.启动Umi项目0.Umi简介Umi 是什么?Umi,中文可发音为乌米,是可扩展的企业级前端应用框架。Umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。然后配以生命周期完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求。Umi官网文档链接:https://umijs.org/zh-CN/docs1.环境准备1.首先得有 node,并确保 node 版本是 1

2021-07-15 09:51:49 1706

原创 React学习-event.preventDefault()方法的简单介绍

React学习-event.preventDefault()方法的简单介绍react官方文档中有这么一段:在 React 中另一个不同点是你不能通过返回 false 的方式阻止默认行为。你必须显式的使用 preventDefault。例如,传统的 HTML 中阻止表单的默认提交行为,你可以这样写: <form onsubmit="console.log('You clicked submit.'); return false"> <button type="submit"&gt

2021-07-12 10:10:49 2705

原创 关于Android 动态权限获取

关于Android 动态权限获取最近做服务端发送文件给android端的功能,再获取本地读写路径时候,出现了以下报错:java io FileNotFoundException /storage/emulated/0/Download/test.jpg (Permission denied)很明显是权限没给到,但是我的Manifest文件该给的静态权限都已经给了怎么回事呢?查找资料后知道:Google在 Android 6.0 开始引入了权限申请机制,将所有权限分成了正常权限和危险权限。应用的

2021-06-08 16:33:03 653 2

原创 马上看懂各种内聚类型(逻辑内聚、过程内聚、顺序内聚)

各种内聚模式内聚概念内聚其实是一个模块内部各成分之间相关联程度的度量。用来表示说,你这个模块里面各个元素之间关系好不好,是不是每天勾肩搭背,还是冷眼相对或者是偶尔打个招呼。内聚类型这里用【元素】来统一表达一个模块中各种操作、部分等说法。内聚模式概念举个例子偶然内聚各个元素关系比较松散不认识的几个人,偶然之下几个人被分到一个班了逻辑内聚各个元素逻辑上是有关系的,但实际功能来看是没有关系的哥几个都擅长体育,逻辑上说应该有关系,然而并无时间内聚各个元素必须再同

2021-05-18 20:08:09 13350 11

原创 快速理解各类软件开发过程模型(瀑布模型、螺旋模型、喷泉模型等)

快速理解各类开发过程模型(瀑布模型、螺旋模型、喷泉模型等等)1.开发模型-基础概念2.结构化模型瀑布模型V模型3.原型化模型快速原型模型增量模型(演化模型)螺旋模型4.面向对象化模型喷泉模型5.其他模型构建组装模型6.稍作总结1.开发模型-基础概念首先开发模型有几种主要的分类:原型化模型、结构化模型、面向对象化模型、Jackson模型等等,这些都是模糊的分类概念,没有很明确的划分标准。重要的是能区分原型化模型和结构化模型,因为两者是互补的,其他只要抓住他们的具体特点就可以了,这里不做赘述。2.结构化

2021-05-16 16:35:16 4927

原创 移动应用开发实践-Task16-实现天气预报选择城市

移动应用开发实践-Task16-实现天气预报选择城市目的1.增加下拉功能2.实现指定城市的天气预报显示3.轻量本地化目的1.增加一个下拉刷新功能2.实现指定城市的天气预报显示3.实现轻量级本地化(关闭后再打开会保留最后看的城市)1.增加下拉功能在总的SrollView外套用SwipeRefreshLayout组件 <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/swip

2021-04-01 11:05:45 396

原创 移动应用开发实践-Task15-丰富拓展天气预报界面

移动应用开发实践-Task15-拓展天气预报界面目的1.增加近三日天气预报模块2.增加空气质量模块3.最终效果目的增加近三天的天气预报信息UI模块,增加空气质量指数UI模块。1.增加近三日天气预报模块增加模块UI,以及模块ItemUI,最后把模块UI添加到主界面。模块UI<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/

2021-04-01 09:45:08 225

原创 移动应用开发实践-Task14-配置一个简易的天气预报界面

移动应用开发实践-Task14-配置一个简易的天气预报界面目的1.创建主要的Layui2.WeatherActivity目的设计一个建议的天气预报UI,如下图:1.创建主要的Layui这里主要是把按钮和两个include把两个细节页面引用(weather_title、weather_now),模块化界面,方便后续操作。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schema

2021-03-28 14:57:23 593 1

原创 移动应用开发实践-Task12&13-输出天气信息的测试

移动应用开发实践-Task12&13-输出天气信息的测试目的1.创建相关类2.配置工具类 WeatherApiUtil3.WeatherActivity的实际调用4.运行结果目的创建两种输出类(空气质量、天气预报)和它们的辅助类,直接做输出测试,看是否能通过url拿到json数据。1.创建相关类两个不同颜色的框对应两种输出类,其余为基础数据类型。主要也就是为了和json传过来的数据类型一一对应而已,不重要。Basic.javapackage com.example.fyn_weat

2021-03-28 14:06:50 212

原创 移动应用开发实践-Task11-配置Toolbar和optionMenu

移动应用开发实践-Task11-配置Toolbar和optionMenu目的1.配置Toolbar2.配置opt_menu3.改写MainAcitivity(已改名为SelectCityActivity)4.运行效果目的将搜索、返回、初始化数据库的功能配置到optionMenu中。配置Toolbar的目的是能自定义左上角的标题内容,使之变成我们点击的省份或者显示China。1.配置Toolbar我们现在用的是A系统自动配置的ActionBar,为了不和ToolBar冲突我们要先去掉ActionB

2021-03-25 12:02:58 291

原创 网络空间安全导论-第三章习题

网络空间安全导论-第三章习题TCP/IP模型共有几层?各层各有什么功能?应用层:访问网络服务的接口,例如为操作系统或网络应用程序提供访问网络服务的接口。表示层:提供数据格式转换服务,如加密与解密、图片解码和编码、数据的压缩和解压缩。会话层:建立端连接并提供访问验证和会话管理。传输层:提供应用进程之间的逻辑通信。网络层:为数据在节点之间传输创建逻辑链路,并分组转发数据。例如,对子网间的数据包进行路由选择。数据链路层:在通信的实体间建立逻辑链路通信。物理层:为数据端设备提供原始比特流传输的通

2021-03-24 18:18:21 3434 1

原创 移动应用开发实践-Task10-运用AsyncTask初始化城市数据

移动应用开发实践-Task10-关于安卓的异步查询操作目的1.配置GenerateDatabaseTask2.MainActivity中的调用3.修复关于level_0_id的bug4.结果目的在最开始载入guolin中所有中国的城市数据,保存到数据库。1.配置GenerateDatabaseTaskGenerateDatabaseTask是继承AsyncTask的,我们主要重写onPostExecute、onProgressUpdate、doInBackground三个方法。package co

2021-03-21 15:53:54 115

原创 移动应用开发实践-Task9-关于安卓的异步查询操作

移动应用开发实践-Task9-关于安卓的异步查询操作目的1.升级CityDataBase2.MainActivity调用异步查询方法目的将之前的查询所有省份、按照parentId查询城市、模糊查询城市的三个方法都通过异步方法封装,放到线程中执行。1.升级CityDataBase1)暴露一个接口,来实现将一个List对象传导到外部调用。 public interface OnQueryFinished { public void onFinished(List<City>

2021-03-21 14:30:14 121

原创 移动应用开发实践-Task8-城市数据库模糊查询

移动应用开发实践-Task8-城市数据库模糊查询目的1.改写CityDatabase2.配置CityAdapter3.主函数MainActivity改写目的City增加lookup字段存放对象关键词组合,实现模糊查询数据库。1.改写CityDatabase(1)增加方法generateLookup,生成关键词组合字段。private String generateLookup(City city) { String name = city.getName(); St

2021-03-18 12:23:20 144

原创 移动应用开发实践-Task7-城市列表导入数据库

移动应用开发实践-Task7-城市列表导入数据库目的1.编写 CityDatabase2.MainActivity改写目的使用数据库导入浏览到的在线城市列表,实现离线浏览1.编写 CityDatabase主要实现数据库初始化(建表)、打开数据库、结束数据库、导入对象、导入对象列表、重置数据库、通过游标获取对象列表、通过sql语句获取对象列表、查询所有省份等。package com.example.fyn_weather_task8_0.db;import ...public class C

2021-03-18 12:00:49 104

原创 网络空间安全导论-第二章习题

网络空间安全导论-第二章习题(物理安全)1.什么是物理安全?物理安全就是保护信息安全系统的软硬件设施、设备以及其他介质免遭地震、水灾、火灾、雷击等自然灾害、人为破坏或操作失误,以及各种计算机犯罪导致破坏的技术和方法。在信息系统安全中,物理安全是基础。2.如何防止硬件失窃或损毁?应将主要设备放置在机房内。应将设备或主要部件进行固定,并设置明显的不易除去的标记。应将通信线缆铺设在隐蔽处,如铺设在地下或管道中。应对介质分类标识,存储在介质或档案室中。应利用光、电等技术设置机房防盗报警系统。

2021-03-15 16:10:15 1640

原创 移动应用开发实践-Task6-城市列表的层次引导

移动应用开发实践-Task6-城市列表的层次引导目的1.更新City类2.MainActivity3. 运行结果目的设置level用于判断当前列表属于哪一层,并完成各级之间的进入和返回。level显示内容url格式例子level_0显示所有省份http://guolin.tech/api/china北京、上海、天津 …level_1显示某省份所有城市http://guolin.tech/api/china/17杭州、湖州、嘉兴…level_2显示某城市

2021-03-14 19:05:36 105

原创 移动应用开发实践-Task5-通过Json获取城市列表

移动应用开发实践-Task5-通过Json获取城市列表目标1.City类2.JsonUtil工具类(核心代码)3.MainActivity调用工具类4.运行结果目标封装一个Json转City类的JsonUtil方法,调用来获得指定url的city列表对象。json数据来源:http://guolin.tech/api/china1.City类在Task4基础上增加了parentId、enName、initialName属性,和相关 get 和 set 方法。public class Cit

2021-03-14 13:39:59 202

原创 移动应用开发实践-Task4-pinyin4j汉语插件

移动应用开发实践-Task4-pinyin4j汉语插件目标1.配置pinyin4j(此次测试使用2.5.0版本)2.配置工具类PinyinUtil(本次核心代码)3.新建Activity测试4.运行结果目标测试一下pinyin4j外库官方网站:http://pinyin4j.sourceforge.net/1.配置pinyin4j(此次测试使用2.5.0版本)将原来显示方式的安卓换成Project将pinyin4j的jar包放入app/libs目录下右键jar包入库pinyin4j

2021-03-11 14:19:39 216

原创 AndroidStudio 关于安卓项目的复制拷贝 - 防止影响源文件

AndroidStudio 关于安卓项目的复制拷贝 - 防止影响源文件1.在文件管理器中复制粘贴需要拷贝的对象,重命名为你想要的名字2. Import 刚才复制的重命名过的文件(不要open!)3.进入应用结构,修改项目ID3. 清除project4.Refacor文件名5.修改values经常会遇到想备份一个安卓项目,然后在他的克隆上进行添加功能,但是有时候一运行安装就把之前的覆盖了,这个时候要如何处理。1.在文件管理器中复制粘贴需要拷贝的对象,重命名为你想要的名字2. Import 刚才复制的重

2021-03-11 13:51:31 1983

原创 移动应用开发实践-Task3-Gson的简单应用

移动应用开发实践-Task3-Gson的基础应用目标:在Task2的基础上,分别使用以下三个方法,将json对象配置为自定义java类。json的单个获取gson的单个获取gson的列表获取Task2链接:https://editor.csdn.net/md/?articleId=114660183Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。1. 配置g

2021-03-11 13:25:15 114

原创 移动应用开发实践-Task2-封装HttpUtil

移动应用开发实践-Task2-简单封装OkHttp目标:在Task1的基础上,封装OkHttp的功能性代码做工具类。Task1链接:https://blog.csdn.net/Biu_Destiny/article/details/1146592311.创建Utility目录,新建工具类HttpUtil2.配置HttpUtil主要是创建新的接口,用于使用者自定义回调,这里传参了activity,是因为需要在activity外部方法创建线程,不然到时候直接在MainActivity中调用会出

2021-03-11 12:48:36 119

原创 移动应用开发实践-Task1-OkHttp的基础使用

移动应用开发实践-Task1-OkHttp的基础使用目标:获取下图的json对象1.配置OkHttp(这里用的3.8.1版本)implementation 'com.squareup.okhttp3:okhttp:3.8.1'2.做一个简单的获取页面<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

2021-03-11 12:24:31 181

原创 Web工程案例分析与开发-MyBatis开发环境搭建

搭建MyBatis开发环境一、创建web工程并导入jar包二、创建数据库使用MyBatis的开发步骤:一、创建web工程并导入jar包1.新建Web项目(例子使用IntelliJ IDEA)2.选中web框架,应用服务器用tomcat (下载地址:https://tomcat.apache.org/)3.自定义路径4.在/web/WEN-INF下创建classes目录和lib目录5.进入项目结构(project Structure)6.设置编译输出路径(classes),将路径设置为

2021-03-09 20:24:42 264

原创 网络空间安全导论-第一章习题

1.网络空间安全有哪些定义?定义1:网络空间安全即对网络空间中信息的机密性、完整性和可用性的保护。(Cybersecurity is “preservation of confidentiality,integrity and availability of information in the cyberspace”. — ISO/ICE 27032:2012)定义2:网络空间安全致力于确保个人用户和组织的资产在网络环境中免受相关安全风险的危害。(Cybersecurity striv

2021-03-08 20:33:00 5702 11

空空如也

空空如也

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

TA关注的人

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