Dorado7框架升级成SSM,并且使用Vue进行前端开发
前言
目前在做微信端的开发,看着同事用这个框架,写着特别的痛苦
觉得这个东西,开发太慢,效率不高,坑比较多,而且应该没人维护了…吧
比如这位老哥的吐槽
- List item
https://bbs.csdn.net/topics/392067238
整体开发体系
前端界面就用这个东东写
后端Java只负责调用过程,基本没有用来写业务逻辑…(无力吐槽了)
数据库用的oracle
用这个写前端的东西,深有感悟,写错一个标点能找一天(淦),于是折腾起来,冲冲冲
相关文件下载
https://share.weiyun.com/ybbPHqMO
正题
先说结果
最终形态是可以达到前后端分离开发
后端
Spring + SpringMVC + Mybatis-Plus
前端
vue + layui + axios/ajax(jquery)(自己喜欢用哪个做请求处理都没问题)
当然,只修改后端是没问题的,前端看自己需求要不要改
修改后完全兼容原本的开发流程,就是说你原本的东西都可以用,不会有冲突
运行效果
原理/思路?
后端主要是升级,主要问题在前端
后端进行Spring的升级,把SpringMVC和Mybatis-Plus配置上
前端在dorado的xml文件(其实就是一个xml,dorado7这个框架应该有个渲染程序或者解析器去解析xml)中view节点中引用html文件,在html中引用vue.js库和挂载vue文件即可
开始
所有新增文件都会打包丢文章末尾,可以复制文中的,也可以下载下来复制到自己项目
pom.xml添加依赖
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus --><!-- 我项目用的jdk是1.7的,只支持mybatis-plus2.x,最好跟我的版本一样 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>2.1.9</version></dependency><!-- Druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.0</version></dependency><!-- AOP --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.8</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version></dependency><!--p6spy--><dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId><version>3.8.7</version></dependency><!-- hutool工具 推荐使用,当然不喜欢可以注释掉也不会有问题,注意jdk1.7只支持4.x --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.5.11</version></dependency>
Spring配置
在resources文件夹下面新增一个spring文件夹,里面新增3个文件分别是 spring.xml spring-mybatis.xml springmvc-servlet.xml
spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"><!-- Service包(自动注入) 请写自己service层的包,通配符--><context:component-scan base-package="com.xxx.*.service"/><import resource="classpath:spring/spring-mybatis.xml"/>
</beans>
spring-mybatis.xml
这个文件我是参考mybatis-plus官方demo配置的
传送门
https://baomidou.gitee.io/mybatis-plus-doc/#/install
https://gitee.com/baomidou/mybatisplus-spring-mvc
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"><!-- 配置数据源 --><bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><!-- 请修改成自己对应数据库的连接信息--><property name="driverClassName" value="com.p6spy.engine.spy.P6SpyDriver"/><property name="url" value="jdbc:p6spy:oracle:thin:@xx.xxx.xxx.xx:1521:dbname"/><property name="username" value="用户名"/><property name="password" value="密码"/><!-- 初始化连接大小 --><property name="initialSize" value="0"/><!-- 连接池最大使用连接数量 --><property name="maxActive" value="20"/><!-- 连接池最大空闲 --><property name="maxIdle" value="20"/><!-- 连接池最小空闲 --><property name="minIdle" value="0"/><!-- 获取连接最大等待时间 --><property name="maxWait" value="60000"/><property name="validationQuery" value="SELECT 1 FROM DUAL"/><property name="testOnBorrow" value="false"/><property name="testOnReturn" value="false"/><property name="testWhileIdle" value="true"/><!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --><property name="timeBetweenEvictionRunsMillis" value="60000"/><!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --><property name="minEvictableIdleTimeMillis" value="25200000"/><!-- 打开removeAbandoned功能 --><property name="removeAbandoned" value="true"/><!-- 1800秒,也就是30分钟 --><property name="removeAbandonedTimeout" value="1800"/><!-- 关闭abanded连接时输出错误日志 --><property name="logAbandoned" value="true"/><!-- 监控数据库 --><property name="filters" value="mergeStat"/></bean><!-- Spring整合Mybatis,更多查看文档:http://mp.baomidou.com --><bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!-- 自动扫描Mapping.xml文件 --><property name="mapperLocations" value="classpath:mybatis/mapper/*/*.xml"/><property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/><!-- 可能是mybatis-plus的bug, 必须确保你指定扫描到的文件夹中有枚举和实体类,即使不需要用,创建一个丢那里不管都可以,不然启动可能报错 --><property name="typeAliasesPackage" value="com.xxx.*.model"/><property name="typeEnumsPackage" value="com.xxx.*.model.enums"/><property name="plugins"><array><!-- 插件配置看自己需求是否打开 --><!-- 分页插件配置 --><bean id="paginationInterceptor"class="com.baomidou.mybatisplus.plugins.PaginationInterceptor"/><!-- 乐观锁插件 --><!--<bean id="optimisticLockerInterceptor"class="com.baomidou.mybatisplus.plugins.OptimisticLockerInterceptor"></bean>--><!-- 性能拦截器,兼打印sql,不建议生产环境配置--><!--<bean id="performanceInterceptor"class="com.baomidou.mybatisplus.plugins.PerformanceInterceptor"/>--></array></property><!-- 全局配置注入 --><property name="globalConfig" ref="globalConfig"/></bean><bean id="mybatisConfig" class="com.baomidou.mybatisplus.MybatisConfiguration"><property name="mapUnderscoreToCamelCase" value="true"/><!-- 部分数据库不识别默认的NULL类型(比如oracle,需要配置该属性 --><property name="jdbcTypeForNull"><util:constant static-field="org.apache.ibatis.type.JdbcType.NULL"/></property></bean><!-- 定义 MP 全局策略 --><bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration"><!-- 逻辑删除 定义下面3个参数--><property name="sqlInjector" ref="logicSqlInjector"/><property name="logicDeleteValue" value="-1"/><property name="logicNotDeleteValue" value="1"/><!-- 全局ID类型: 0, "数据库ID自增", 1, "用户输入ID", 2, "全局唯一ID", 3, "全局唯一ID"--><!-- <property name="idType" value="2"/>--><!-- 2.1-gamma+ 数据库自动识别,无需配置数据库类型<property name="dbType" value="mysql" />--><!-- 2.3+ 全局表前缀 mp_<property name="tablePrefix" value="mp_" />--><!--主键Sequence--><property name="keyGenerator" ref="keyGenerator"/><property name="dbColumnUnderline" value="true"/><!-- 公共字段填充处理器 --><!-- <property name="metaObjectHandler" ref="myMetaObjectHandler"/>--><!--数据库关键字转义符,'desc', "desc" 2.1-gamma+不需要制定--><!--<property name="identifierQuote" value="'" />--></bean><!-- 配置oracle主键Sequence, 其他类型数据库,请配置相应的类型--><bean id="keyGenerator" class="com.baomidou.mybatisplus.incrementer.OracleKeyGenerator"/><!-- 自定义处理器 --><!-- <bean id="myMetaObjectHandler" class="com.baomidou.test.MyMetaObjectHandler" />--><!-- 逻辑删除Sql注入器--><bean id="logicSqlInjector" class="com.baomidou.mybatisplus.mapper.LogicSqlInjector"/><!-- MyBatis 动态扫描 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.vinda.*.mapper"/></bean><!-- 配置事务管理 --><bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!-- 事务管理 属性 --><tx:advice id="transactionAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="add*" propagation="REQUIRED"/><tx:method name="append*" propagation="REQUIRED"/><tx:method name="save*" propagation="REQUIRED"/><tx:method name="update*" propagation="REQUIRED"/><tx:method name="modify*" propagation="REQUIRED"/><tx:method name="edit*" propagation="REQUIRED"/><tx:method name="insert*" propagation="REQUIRED"/><tx:method name="delete*" propagation="REQUIRED"/><tx:method name="remove*" propagation="REQUIRED"/><tx:method name="repair" propagation="REQUIRED"/><tx:method name="get*" propagation="REQUIRED" read-only="true"/><tx:method name="find*" propagation="REQUIRED" read-only="true"/><tx:method name="load*" propagation="REQUIRED" read-only="true"/><tx:method name="search*" propagation="REQUIRED" read-only="true"/><tx:method name="datagrid*" propagation="REQUIRED" read-only="true"/><tx:method name="*" propagation="REQUIRED" read-only="true"/></tx:attributes></tx:advice><!-- 配置切面 --><aop:config><aop:pointcut id="transactionPointcut" expression="execution(* com.vinda.*.service..*.*(..))"/><aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice"/></aop:config></beans>
springmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.3.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"><!-- 自动扫描包,实现支持注解的IOC --><!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --><context:component-scan base-package="com.vinda"use-default-filters="false"><context:include-filter type="annotation"expression="org.springframework.stereotype.Controller" /><context:include-filter type="annotation"expression="org.springframework.web.bind.annotation.RestController" /></context:component-scan><!-- 读取配置文件 --><!-- 如果需要全局扫包,才使用这个,但是可能会有隐藏的问题 --><!-- <context:property-placeholder location="classpath:*.properties,/WEB-INF/dorado-home/*.properties"/> --><!-- Spring MVC不处理静态资源 --><mvc:default-servlet-handler /><!-- 支持mvc注解驱动 --><mvc:annotation-driven /><!-- 静态资源处理 vue css js imgs 如果前端不需要支持vue开发,可以注释这个配置, 这个文件夹放vue使用到的所有东西 --><mvc:resources location="/WEB-INF/views/vue/" mapping="/vue/**"/><!-- 视图解析器 支持jsp--><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"id="internalResourceViewResolver"><!-- 前缀 --><property name="prefix" value="/WEB-INF/views/" /><!-- 后缀 --><property name="suffix" value=".jsp" /></bean>
</beans>
web.xml配置
在web.xml里面吧我们的配置注入进去就完成了
Mybatis-Plus配置
在resources文件夹下面新增一个mybatis文件夹,里面新增一个mybatis-config.xml配置文件和mapper的文件夹
mybatis-config.xml是mybatis-plus的配置文件
P6spy的配置
#3.2.1以上使用
#modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
#3.2.1以下使用或者不配置
#modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印 自己写的打印日志的Logger类,路径可以随意放,能访问到目标对象就行
logMessageFormat=com.xxx.config.P6SpyLogger
#日志输出到控制台
#appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
appender=com.p6spy.engine.spy.appender.Slf4JLogger
#appender=com.p6spy.engine.spy.appender.StdoutLogger
#appender=com.p6spy.engine.spy.appender.FileLogger
# 使用日志系统记录 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 设置 p6spy driver 代理
deregisterdrivers=true
# 取消JDBC URL前缀
useprefix=true
# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
driverlist=oracle.jdbc.driver.OracleDriver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 2 秒
outagedetectioninterval=2
P6SpyLogger
package com.rst.config;import com.p6spy.engine.spy.appender.MessageFormattingStrategy;import java.text.SimpleDateFormat;
import java.util.Date;/*** @author xqc* 配置P6Spy监控输出格式*/
public class P6SpyLogger implements MessageFormattingStrategy {private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");@Overridepublic String formatMessage(int i, String s, long l, String s1, String s2, String s3, String s4) {if (!s3.trim().equals("")) {/*return format.format(new Date()) + " | took " + l + "ms | "+ s1 + " | connection " + s2 + "\n " + s3 + ";";*/StringBuilder sb = new StringBuilder();sb.append("\n");sb.append("\n");sb.append("当前时间: ").append(format.format(new Date())).append("\n");sb.append("连接url: ").append(s4).append("\n");sb.append("耗时: ").append(l).append("ms\n");sb.append("类别: ").append(s1).append("\n");// sb.append("预处理: ").append(s2).append("\n");sb.append("最后结果: \n\n").append(s3).append("\n");sb.append("\n---------------------------------------------------------------------\n");return sb.toString();}return "";}
}
在dorado7的xml中引用html,进而挂载vue文件
<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig><Arguments/><Context/><Model/><View><Container><TabControl><!--嵌入外部百度网页--><IFrameTab><Property name="caption">BAIDU.com</Property><Property name="icon">url(skin>common/icons.gif) -100px -100px</Property><Property name="closeable">true</Property><Property name="path">http://www.baidu.com</Property></IFrameTab><!-- 嵌入内部vue页面--><IFrameTab><Property name="caption">VUE</Property><Property name="icon">url(skin>common/icons.gif) -100px -100px</Property><Property name="closeable">true</Property><Property name="path">${pageContext.request.contextPath}/vue/demo/index.html</Property></IFrameTab></TabControl></Container></View>
</ViewConfig>
所有配置的文件截图
阿里巴巴Druid监控
如果需要用到druid的监控功能,可以在web.xml配置这个
输入链接和设置的密码
http://localhost:8080/{项目路径}/druid/index.html
用户名和密码下面都设置成druid
<!-- Druid,监控数据库,以及WEB访问连接信息 --><!-- 参考: https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_%E9%85%8D%E7%BD%AEWebStatFilter --><filter><filter-name>DruidWebStatFilter</filter-name><filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class><init-param><param-name>exclusions</param-name><param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jsp,/druid/*,/download/*</param-value></init-param><init-param><param-name>sessionStatMaxCount</param-name><param-value>2000</param-value></init-param><init-param><param-name>sessionStatEnable</param-name><param-value>true</param-value></init-param><init-param><param-name>principalSessionName</param-name><param-value>session_user_key</param-value></init-param><init-param><param-name>profileEnable</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>DruidWebStatFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置 Druid 监控信息显示页面 --><servlet><servlet-name>DruidStatView</servlet-name><servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class><init-param><!-- 允许清空统计数据 --><param-name>resetEnable</param-name><param-value>true</param-value></init-param><init-param><!-- 用户名 --><param-name>loginUsername</param-name><param-value>druid</param-value></init-param><init-param><!-- 密码 --><param-name>loginPassword</param-name><param-value>druid</param-value></init-param></servlet><servlet-mapping><servlet-name>DruidStatView</servlet-name><url-pattern>/druid/*</url-pattern></servlet-mapping>
使用姿势/DEBUG
后端
接口调试
可以先登录到原来的后台
按F12后选network
随便点个查询
取登录后的cookie
丢到postman里面,或者接口调试工具(新版IDEA自带的也比较推荐), postman可以自己百度下载
前端
前端甚至可以脱离后端进行单独开发!!
样式问题
图标
我把加载的图标复制出来,放在图标文件夹下,下面链接可以在大图中某个小图标 如果有漏了,可以自己按F12刷新下页面找找
https://www.w3school.com.cn/tags/tag_map.asp
https://www.runoob.com/try/try.php?filename=tryhtml_areamap
控件样式可以使用样式表覆盖,具体控件可以自己进行css的封装
例如:
总结
dorado这个框架,真心不建议用来开发了,写前端的eclipse插件没有检查器,写错了个标点能找一天
而且那个语法规则真心看不来…
最后
如果本文章能帮助到你,欢迎在评论区留言,也可以选择捐赠给作者,目前我也在寻找一份更好的工作,顺便求一个面试机会~
我的微信
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 一次QNX上进程死锁排查
先有利器,才好干活通过pidin加参数 %B,可以看到当前进程的各个线程的STATE,例如:NANOSLEEP, SEM, JOIN,SEND,REPLY, RECEIVE, MUTEX, CONDVAR, 等等。 QNX系统好一点的是,能够标明线程被锁住的mutex的地址,mutex隶属的线程,被锁住的次数。还能标明自线程REPLY、SEND等…...
2024/5/6 21:05:09 - 全国12.5m米DEM分享下载学习ALOS DEM数据
众所周知,谷歌地球的高程DEM数据为30米分辨率,虽然可以通过 Global Mapper 等专业GIS软件提取10米等高线或高程点,但由于分辨率毕竟只有30米,因此在工程上应用时还是有些差强人意。下面是收集到的江苏省12.5米DEM数据,可以明显看出长江位置,河流形态。可做学习使用。12.5…...
2024/4/26 2:07:10 - 设计模式--简单工厂模式
简单工厂模式:定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类(本质是多态实现)优点:不需要用户自己去创建实例,工厂类会代替用户创建缺点:每次增加新的产品都需要修改工厂类,不符合开闭原则#include<iostream>using name…...
2024/4/25 0:03:53 - 【实战】Docker安装(二)
文章目录2.Docker安装3 Docker镜像3.1列出镜像3.2搜索镜像3.3拉取镜像3.3.1从docker hub拉取3.3.2从ustc拉取(**建议使用**)3.4删除镜像3.5导入导出镜像(镜像迁移)4.Docker容器4.1创建并运行容器4.2启动容器4.3进入容器4.4查看容器4.5停止容器4.6删除容器4.7复制文件 2.Docke…...
2024/4/25 0:03:55 - 日期或时间戳
date类 date.getTime()//获取从以前到现在的时间戳。 new Date() //当前日期 DateFormate 改日期显示格式 DateFormate是抽象类,需要使用他的子类SimpleDateFormat来进行格式转变.调用两个方法来进行 string format(Date date) 把日期转为字符串显示,Date parse(string zifu…...
2024/4/25 0:03:55 - HTTP协议的深入理解
HTTP协议 一、HTTP协议简介 HTTP协议即超文本传输协议(Hypertext transfer protocol),是一种应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。它规定了万维网(WWW)服务器与浏览器之间信息传递规范,指定了客户端可能发送给服务器什么样的消息,得到什么样的响应…...
2024/5/4 4:08:43 - 关于IDEA的使用:菜单栏隐藏找了半天
1、打开被隐藏的菜单栏:方法一:双击shitf键,搜索view,选择第一个,再Apperance->Main menu,切换右侧状态为ON。方法二:直接Ctrl+Shift+A 输入Main menu 切换右侧状态为ON。2、下面是调用最常需要的工具窗口的快捷方式列表:工具窗口快捷方式项目Alt+1版本控制Alt+9运行A…...
2024/4/25 0:03:52 - C语言-任务10
学习资料可自行百度或参阅 https://www.cnblogs.com/saolv/p/7793379.html #include <stdio.h>char name[20]; int math, computer, english;int main(void) {int idx = 0;printf("所有学生信息如下:\n");FILE * fp = fopen("D:\\info.txt", "r…...
2024/4/25 0:03:49 - LeetCode 66. 加一(Javascript)
题目给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。示例 2:输入: …...
2024/5/6 0:08:47 - pytorch学习笔记——VGG迁移学习(11)
把一个88的图片用VGG来做迁移学习确实有一点点夸张,但是我还是确实这么做了。 修改vgg的首个卷积层和最后的全连接层的尺寸,将88的图像利用双线性插值进行放大,标签不变。将预训练的vgg模型的权重进行冻结,训练少量的头部卷积层和尾部全连接层,有利于保证模型强大的泛化能…...
2024/5/4 13:49:02 - 操作系统笔记
参考文档:计算机操作系统概述 一、基本特征 1. 并发 并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。 并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。 操作系统通过引入进程和线程,使得程序能够并发运行。 2. 共享 共享是…...
2024/5/6 19:38:57 - 左连接与右连接的区别
Left Join / Right Join /inner join相关关于左连接和右连接总结性的一句话:左连接where只影向右表,右连接where只影响左表。Left Joinselect * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。简言…...
2024/4/14 20:50:21 - 从根儿上理解MySQL | 锁
目录InnoDB存储引擎中的锁InnoDB中的行级锁InnoDB中的表级锁MySQL语句加锁分析普通的SELECT语句锁定读语句INSERT语句InnoDB存储引擎中的锁InnoDB中的行级锁Record Locks 官方的类型名称为:LOCK_REC_NOT_GAP,记录锁又分为S锁和X锁:S锁:共享锁,英文名:Shared Locks。在事务…...
2024/4/27 8:52:18 - const修饰成员函数---常函数
常函数:成员函数后加const后我们称为这个函数为常函数。 常函数内不可以修改成员属性(本身this是指针常量,再加一个const,那就连值都不能修改)。 成员属性声明时加关键字mutable后,在常函数中依然可以修改。this指针指向被调用的成员函数所属的对象 this指针是隐含每一个非静…...
2024/5/4 12:50:34 - 数组去重方法总结-利用递归去重
function unique(arr) {var array= arr;var len = array.length;array.sort(function(a,b){ //排序后更加方便去重return a - b;})function loop(index){if(index >= 1){if(array[index] === array[index-1]){array.splice(index,1);}loop(index - 1); //递归loop,然后…...
2024/4/14 20:50:17 - JavaScript消息框
Alert(警告)框 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><…...
2024/4/14 20:50:16 - XML标签书写规则
XML标签的书写规则合法的标签名 适当的注释与缩进 合理使用属性 特殊字符与CDATA标签 有序的子元素合法的标签名标签名字要有意义 建议使用英文,小写字母,单词之间使用"-"分割 建议多级标签之间不要存在重名的情况<abc>abc</abc> 无意义命名 <考试$&g…...
2024/4/14 20:50:15 - 剑指offer 二叉树的深度(C++)
题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 代码实现 /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(N…...
2024/4/20 4:58:20 - 第四章总结(一)
目录创建和使用数组初始化部分字符串C风格字符串输入string类简介赋值,拼接和附加 创建和使用数组 创建数组就很简单了,就直接typeName arrayName[size],这里的typeName 可以是你自己定义的结构体,也可以是基本数据类型,然后这里的size如果是在VS编译器中,必须是常量或者是…...
2024/4/25 0:03:45 - 期货ML策略(一)数据获取
最近要开始研究期货上的机器学习(Machine Learning)策略了。相信关注我的朋友已经多多少少知道一些有关机器学习的基础知识了,对于机器学习的基础知识我这边不会介绍,只会简单的提一下,不懂的朋友自行网上搜索资料学习。未来一段时间里,我将会利用所学的知识开发一个期货…...
2024/4/25 0:03:44
最新文章
- Stateflow基础知识笔记
01--Simulink/Stateflow概述 Stateflow是集成于Simulink中的图形化设计与开发工具,主要 用于针对控制系统中的复杂控制逻辑进行建模与仿真,或者说, Stateflow适用于针对事件响应系统进行建模与仿真。 Stateflow必须与Simulink联合使用&#…...
2024/5/6 22:29:39 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/6 9:38:23 - 基于Swin Transformers的乳腺癌组织病理学图像多分类
乳腺癌的非侵入性诊断程序涉及体检和成像技术,如乳房X光检查、超声检查和磁共振成像。成像程序对于更全面地评估癌症区域和识别癌症亚型的敏感性较低。 CNN表现出固有的归纳偏差,并且对于图像中感兴趣对象的平移、旋转和位置有所不同。因此,…...
2024/5/5 23:21:49 - 阿里云8核32G云服务器租用优惠价格表,包括腾讯云和京东云
8核32G云服务器租用优惠价格表,云服务器吧yunfuwuqiba.com整理阿里云8核32G服务器、腾讯云8核32G和京东云8C32G云主机配置报价,腾讯云和京东云是轻量应用服务器,阿里云是云服务器ECS: 阿里云8核32G服务器 阿里云8核32G服务器价格…...
2024/5/6 18:16:31 - 从头开发一个RISC-V的操作系统(二)RISC-V 指令集架构介绍
文章目录 前提ISA的基本介绍ISA是什么CISC vs RISCISA的宽度 RISC-V指令集RISC-V ISA的命名规范模块化的ISA通用寄存器Hart特权级别内存管理与保护异常和中断 目标:通过这一个系列课程的学习,开发出一个简易的在RISC-V指令集架构上运行的操作系统。 前提…...
2024/5/5 1:33:57 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/4 23:54:56 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/4 23:54:56 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/6 9:21:00 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/4 23:55:16 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/4 23:55:06 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/6 21:42:42 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57