Sql Server 2008 配置管理器无法连接

SQL Server配置管理WMI问题_HYunEr的博客-CSDN博客 👆提供了几种具体的解决方案 其中最后一种起了效果 但我在尝试最后一种方法时遇到了一个问题:被拒绝访问了 解决方案在下面的链接👇

Python常用英语词汇(第二部分)

没有人天生就会英语,不学不练,永远不会, 百看不如一练! 十三:定义函数与设定参数 1.birthday : 出生日期 2.year : 年份 3.month : 月份 4.day : 日期 5.type : 类型 6.error : 错误 7.missing : 丢失 8.required : 必须 9.positional : 位置 10.ansupported : 不支持 十四:设定收集参数 1.create : 创建 2.info : 信息 3.age : 年龄 4.height : 高度 5.width : 宽度 6.weight : 重量 7.splicing : 拼接 8.params : 参数 9.volume : 体积 10.operand : 操作数 十五:嵌套函数/作用域/闭包 1.inside : 内部 2.oatside : 外部

文件查找find命令

#!/bin/bash find /etc -name '*.conf' find /etc -iname "aa" #不区分大小写 find . -user hdfs find . -group yarn find /etc -type f #文件 find /etc -type d #路径 find /etc -size +1M #文件大小大于1M find /etc -size -100k #文件大小小于100k find /etc -mtime -5 -name '*.conf' #5天内修改的文件 find /etc -mtime +10 -user root #10天前属主用户是root修改的文件 find /etc -mmin -10 #10min内修改的文件 find /etc -mmin -10 -type d #10min前修改过的路径 find /etc -mindepth 3 #/etc的三级子目录开始搜索

【STM32】常见问题解决——头文件找不到

一. 问题描述 …\HARDWARE\UART\usart2.c(13): error: #5: cannot open source input file “timer.h”: No such file or directory 当头文件中找不到指定文件时 二.解决方法 1.工程文件目录下 新建HARDWARE->TIMER放入文件 2.右键后打开manage Project items… 3.添加指定源文件 4.包含头文件的路径 重新编译,即可解决问题

CentOS部署主从DNS服务器

几个概念: 域名解析为IP地址:正向解析 IP地址解析为域名:反向解析 主DNS服务器:在特定区域内具有唯一性,负责维护该区域内的域名和IP地址之间的对应关系。 从DNS服务器:从服务器中获得域名和IP地址对应关系并进行维护,以防主服务器宕机的情况。 BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。 主机名称主机IP地址备注bind1192.168.17.117DNS主服务器bind2192.168.17.118DNS从服务器 主DNS服务器的配置: 1、安装bind服务程序: yum install -y bind bind-utils 2、修改主配置文件/etc/named.conf: [root@bind1 named]# cat /etc/named.conf // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // // See the BIND Administrator's Reference Manual (ARM) for details about the // configuration located in /usr/share/doc/bind-{version}/Bv9ARM.

DML & DQL & DCL

目录 DML—数据库操作语言 添加数据 给指定的字段添加数据 给全部字段添加数据 批量添加数据 注意 修改数据 删除数据 DQL数据查询语言 基础查询 查询多个字段 查询所有字段 设置别名 去除重复记录 条件查询 (WHERE) 聚合函数 分组查询 (GROUP BY ) WHERE 与HAVING区别 注意 排序查询(ORDER BY) 分页查询(LIMIT) DCL—数据控制语言 用户管理 查询用户 创建用户 修改用户密码 删除用户 权限控制 常见权限 查询权限 授予权限 撤销权限 DML—数据库操作语言 用来对数据库中表的数据记录进行增删改操作 添加数据(INSERT) 修改数据 (UPDATE) 删除数据 (DELETE) 添加数据 给指定的字段添加数据 INSERT INTO 表名(字段1,字段2,……)VALUES (值1,值2,……); 给全部字段添加数据 INSERT INTO 表名 VALUES (值1,值2,……); 批量添加数据 INSERT INTO 表名(字段1,字段2,……)VALUES (值1,值2,……),(值1,值2,……),(值1,值2,……); INSERT INTO 表名 VALUES (值1,值2,……),(值1,值2,……),(值1,值2,……); 注意 插入数据时,指定的字段顺序要与值得顺序时一一对应的。字符串和日期型数据应该包含在引号中插入的数据大小,应该在字段的规定范围内 修改数据 UPDATE 表名 SET 字段1=值,字段2=值2,……WHERE 条件;

java 获取上周开始时间和结束时间,上上周开始和上上周结束时间

以周一为开始,周日结束为例: public static void main(String[] args) { // 上一周 LocalDate d1 = LocalDate.now().minusWeeks(1).with(TemporalAdjusters.previous(DayOfWeek.SUNDAY)).plusDays(1L); LocalDate d2 = LocalDate.now().minusWeeks(1).with(TemporalAdjusters.next(DayOfWeek.MONDAY)).minusDays(1L); System.out.println("上一周开始日期: " + d1); System.out.println("上一周结束日期: " + d2); LocalDate d3 = LocalDate.now().minusWeeks(2).with(TemporalAdjusters.previous(DayOfWeek.SUNDAY)).plusDays(1L); LocalDate d4 = LocalDate.now().minusWeeks(2).with(TemporalAdjusters.next(DayOfWeek.MONDAY)).minusDays(1L); System.out.println("上上一周开始日期: " + d3); System.out.println("上上一周结束日期: " + d4); } 网上代码太糟糕了,基本没有正确的。 只能自己写了

Matlab 中imread读取图片后,使用imshow无反应的问题

笔者在进行app设计时,发现imread读完的图片,使用imshow命令后,无弹窗也无反应。从网上翻阅后发现大多是自己的代码与imshow命令中某些代码发生了冲突,但是每个人遇到的情况不一样,很多时候我们无法找到具体哪段代码出了问题。 本人遇到的问题是: set(figure,'visible','off'); 在设计app界面时,为了防止其他窗口的弹出,特意写了这一段,结果发现因为这行代码导致imshow失效。 当然咯大家也可以通过下面的代码将图片重新输出 image = imread("1.jpg"); imshow(image) figure(1)

CAN调试只能收无法发解决记录

问题现象 mcu是杰发科的车规级AC7811,用的官方sdk例程,用can盒接上can口调试最初没有反应,用两个can结点组成一个回路再把此结点也接上,此时只能收到can盒的消息但不能发。 调试过程 手上没有示波器,于是用万用表量总线通信时的电压,发现两个can盒之间通信电压大概在0.36v,而等到用单片机发送时却没有电压。于是开始怀疑can收发器,往硬件方向排查 查看原理图如下 找到tja1042的数据手册,一开始怀疑是STB引脚配置不正确,测试之后发现无用 继续翻手册找到这个地方 里面说到vcc的最低电压为4.5v我拿万用表一量发现只有3.2v,然后此处接高拉到5v后问题解决,一切正常。 解决方法 解决方法就是供电给到5v就ok

基于Java的贪吃蛇小游戏

一、开发思路 设定一个一定大小的且大小不可变的游戏窗口 在创建的窗口上绘制游戏的基本面板样式 使用提前保存的素材图标绘制一条静态的小蛇 使小蛇能够移动;实际只需蛇头坐标移动,每节身体覆盖前一节身体坐标,设置定时器Timer timer =new Timer();监听时间让小蛇能移动 监听键盘操作,使用户能通过键盘控制蛇的方向 定义一个食物坐标,用random随机数类实现食物随机生成 小蛇吃到食物时身体长度+1,实际是蛇头坐标与食物坐标重合时 boolean定义游戏失败的判断,当蛇头与任何身体部位坐标重合(或撞到边界)则游戏失败,可再设置积分系统,每吃到一次食物加一定分数 二 新建一个Data类,作为图片资源 package snake; import java.net.URL; import javax.swing.ImageIcon; public class Data { public static URL headerURL = Data.class.getResource("/statics/header.png"); public static ImageIcon header; static { assert headerURL != null; header = new ImageIcon(headerURL); } public static URL upURL = Data.class.getResource("/statics/up.png"); public static URL downURL = Data.class.getResource("/statics/down.png"); public static URL leftURL = Data.class.getResource("/statics/left.png"); public static URL rightURL = Data.class.getResource("/statics/right.png"); public static ImageIcon up = new ImageIcon(upURL); public static ImageIcon down = new ImageIcon(downURL); public static ImageIcon left = new ImageIcon(leftURL); public static ImageIcon right = new ImageIcon(rightURL); public static URL bodyURL = Data.

SpringBoot整合`AOP`实现日志功能

SpringBoot整合AOP实现日志功能 1.引入依赖 <!--aop--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <!--json--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.71</version> </dependency> 2.创建自定义的工具类 标题2.1BusinessType枚举类 package com.yurui.manage_system_springboot.utils; /** * @Author YurUi * @Version 1.0 */ /** * 业务操作类型 */ public enum BusinessType { /** * 其它 */ OTHER, /** * 查询 */ SELECT, /** * 新增 */ INSERT, /** * 修改 */ UPDATE, /** * 删除 */ DELETE, /** * 授权 */ ASSGIN, /** * 导出 */ EXPORT, /** * 导入 */ IMPORT, /** * 强退 */ FORCE, /** * 更新状态 */ STATUS, /** * 清空数据 */ CLEAN, } 2.

docker镜像学习

0 目录 创建镜像方法 (docker commit; Dockerfile) 特性 (缓存(生成镜像,下载镜像),kernel共用,分层, copy-on-write, Dockerfile指令执行方式(shell和exec格式) RUN CMD ENTRYPOINT区别 本地registry搭建 思考 1 创建镜像方法 (docker commit; Dockerfile) 1.1 docker commit 将当前运行的容器作为一个镜像并生成 运行一个容器 打开一个新命令行,docker ps查正在运行的容器,选择一个容器的names列 运行docker commit strange_jones my_image,执行完了这个容器就生成了一个镜像 1.2 Dockerfile 类似于通过一个脚本生成镜像,脚本叫Dockerfile,先找一个路径,路径里面创建Dockerfile(D大写),Dockerfile里写命令,写完了docker build -t my_images my_context_path my_context_path如果为当前目录就写个. 2 特性 2.1 缓存 生成镜像和下载镜像时逐层生成镜像,如果有相同命令就用上次的镜像作为自己的镜像,不需要再弄个新镜像曾浪费资源 2.2 kernel共用 即一个主机即使有多个镜像,但每个镜像用的都是镜像所在host的kernel 2.3 分层 镜像下载,生成时都是分层弄得,Dockerfile每条命令会把当前的镜像复制个临时镜像,然后以这个新镜像为base镜像执行命令,把执行完命令的作为新镜像,删掉以前的镜像。镜像这样逐层累加最后生成目标镜像 2.4 copy-on-write 1. 对容器的修改不会修改镜像,因为镜像一般是只读 2 写操作在镜像最上层会有一层容器可写层,一些写操作会在这层可写层记录,而不会修改那些镜像层 3 如果镜像的多个镜像层存在相同文件,以最上层镜像文件为准,即容器内的这个文件是最上层镜像的这个文件,而不是再往底下的镜像的同名文件 3 Dockerfile指令执行方式(shell和exec格式) 3.1 shell dockerfile中shell格式命令长这样 RUN apt-get update CMD echo $vara

Python常用英语词汇

第一类 :交互式环境与Python输出 1.python:打印/输出 2.coding:编码 3.syntax:语法 4.error:错误 5.invalid:无效 6.identifier:名称/标识符 7.character:字符 第二类 :字符串的操作 1.user:用户 2.name:姓名/名称 3.attribute:字段/属性 4.value:值 5.key:键 第三类 :重复/转换/替换/原始字符串 1.upper:上面 2.lower:下面 3.capitalize:用大写字母写或印刷 4.title:标题 5.replace:替换 6.old:旧的 7.new:新的 8.count:计数 9.swap:互换 10.case:情形 11.path:路径 12.new:新的/新建 13.project:项目 14.test:测试 15.file:文件 16.data:数据 第四类 :去除/查询/计数 1.strip:去除 2.index:索引 3.find:查找 4.count:计数 5.start:开始 6.end:结束 7.char:字符 8.sub:附属 第五类 :获取输入/格式化 1.input:输入 2.prompt:提示 3.ID:身份证 4.format:格式化 5.args (argument):参数 6.kwargs:关键字参数 7.year:年 8.month:月 9.day:日 第六类 :元组 1.tuple:元组 2.Max:最大 3.min:最小 4.iterable:可迭代 5.key:关键字 6.function:方法/函数 7.stop:停止 8.object:对象 第七类 :列表 1.list:列表

scrapy框架了解与使用

scrapy介绍与安装 Scrapy 是开源和协作的一个基于 Twisted 实现的异步处理爬虫框架使用纯 Python 语言编写,被誉为爬虫界的Django,Scrapy 框架应用广泛,常用于数据采集、网络监测,以及自动化测试等 Scrapy安装 mac、linux系统 pip install scrapy 在Windows中可能会出现报错等情况这是因为依赖没有安装需要先安装相关依赖 1.pip install scrapy # 报错安装下面依赖 2、pip3 install wheel #安装后,便支持通过wheel文件安装软件 xx.whl 3、pip3 install lxml 4、pip3 install pyopenssl 5、下载并安装pywin32:https://sourceforge.net/projects/pywin32/files/pywin32/ 6、下载twisted的wheel文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 7、执行pip3 install 下载目录\Twisted-17.9.0-cp36-cp36m-win_amd64.whl 8、pip3 install scrapy 创建Scrapy爬虫项目 创建爬虫项目:scrapy startproject 项目名 创建爬虫:scrapy genspider 名字 网址 启动爬虫:scrapy crawl 爬虫名字 --nolog 在pycharm中运行 # 新建run.py from scrapy.cmdline import execute execute(['scrapy', 'crawl', '爬虫名','--nolog']) Scrapy架构工作流程 Scrapy 框架构成组件: 引擎(EGINE)引擎负责控制系统所有组件之间数据流,并在某些动作发生时触发事件。调度器(SCHEDULER)用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回,可以想像成一个URL的优先级队列,由它来决定下一个抓取的网址是什么,同时去除重复网址下载器(DOWLOADER)用于下载网页内容,并将网页内容返回给EGINE,下载器是建立在twisted这个高效的异步模型上的爬虫(SPIDERS)开发人员自定义的类,用来解析responses,并且提取items,或者发送新的请求项目管道(ITEM PIPLINES)在items被提取后负责处理它们,主要包括清理、验证、持久化(比如存到数据库)等操作下载中间件(Downloader Middlewares)位于Scrapy引擎和下载器之间,主要用来处理从EGINE传到DOWLOADER的请求request,已经从DOWNLOADER传到EGINE的响应response,可用该中间件做一下几件事:设置请求头,设置cookie,使用代理,集成selenium爬虫中间件(Spider Middlewares)位于EGINE和SPIDERS之间,主要工作是处理SPIDERS的输入(即responses)和输出(即requests) Scrapy 工作流程示意图如下所示:

[SCI][计算机视觉][图像处理]一二三四区期刊(自用)

COMPUTER-AIDED DESIGN 影响因子:3.652/Q1 平均审稿速度:3.0个月 Artificial Intelligence Review 影响因子:9.588/Q1 平均审稿速度:5.3个月 Computer Vision And Image Understanding 影响因子:4.886/Q1 平均审稿速度:14.0个月 APPLIED INTELLIGENCE 影响因子:5.019/Q2 平均审稿速度:4-8周 NEUROCOMPUTING 影响因子:5.779/Q2 平均审稿速度: PATTERN RECOGNITION LETTERS 影响因子:4.757/Q2 平均审稿速度: IET Computer Vision 影响因子:1.484/Q4 平均审稿速度: COMPUTATIONAL INTELLIGENCE 影响因子:2.142/Q3 平均审稿速度: International Journal of Pattern Recognition and Artificial Intelligence 影响因子:1.261/Q4 平均审稿速度: International Journal of Machine Learning and Cybernetics 影响因子:4.377/Q2 平均审稿速度: MultiMedia Tools and Applications 影响因子:2.577/Q2 平均审稿速度:4.8个月 Pattern Analysis and Applications 影响因子:2.307/Q3 平均审稿速度:7.5个月 Visual Computer

Calendar日期操作

Calendar calendar = Calendar.getInstance(); //获取当前年份 int year = calendar.get(Calendar.YEAR); //获取当前月份 int month = calendar.get(Calendar.MONTH) + 1; //获取本月天数 int days= calendar.getActualMaximum(Calendar.DATE) SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); // 获取当前时间 String today = dateFormat.format(calendar.getTime()); // 获取本月第一天 calendar.add(Calendar.MONTH, 0); calendar.set(Calendar.DAY_OF_MONTH, 1); String fristDay = dateFormat.format(calendar.getTime()); private static final SimpleDateFormat SDF_YMD = new SimpleDateFormat("yyyy-MM-dd"); // 获取age个月前的第一天 private String getFirstDayOfMonthAge(Integer age) { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, age); calendar.set(Calendar.DAY_OF_MONTH, 1); return SDF_YMD.format(calendar.getTime()); } // 获取age个月前的最后一天 private String getLastDayOfMonthAge(Integer age) {

分布式搜索引擎Elasticsearch(概念、索引库、文档、RestAPI)

目录 了解Elasticsearch ELK(elastic stack)技术栈 elasticsearch和lucene 倒排索引 正向和倒排 ES的一些概念【文档、字段、索引、映射】 mysql与elasticsearch 分词器 索引库操作【相当于数据库表】 mapping映射属性【相当于表的结构】 索引库的CRUD【Kibana编写DSL方式】 快速查询CRUD 创建索引库和映射 查询索引库 修改索引库 删除索引库 文档操作【Kibana编写DSL方式】 快速查询CRUD 新增文档 查询文档 删除文档 修改文档 全量修改 增量修改 RestAPI mapping映射分析 特殊字段【location、all、copy_to 】 JavaRestClient操作流程【针对索引库、文档】 了解Elasticsearch elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 ELK(elastic stack)技术栈 elasticsearch结合kibana(数据可视化)、Logstash和Beats(数据抓取),也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。 而elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。 elasticsearch和lucene elasticsearch底层是基于lucene来实现的,lucene是Apache的开源搜索引擎类库,提供了搜索引擎的核心API 倒排索引 倒排索引的概念是基于MySQL这样的正向索引而言的 正向索引是逐行扫描,也就是全表扫描,随着数据量增加,其查询效率也会越来越低。当数据量达到数百万时,就是一场灾难。 倒排索引中有两个非常重要的概念: 文档(Document):用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息 词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的词语就是词条。例如:我是中国人,就可以分为:我、是、中国人、中国、国人这样的几个词条 创建倒排索引是对正向索引的一种特殊处理,流程如下: 将每一个文档的数据利用算法分词,得到一个个词条创建表,每行数据包括词条、词条所在文档id、位置等信息因为词条唯一性,可以给词条创建索引,例如hash表结构索引 如图: 倒排索引的搜索流程如下(以搜索"华为手机"为例): 正向和倒排 那么为什么一个叫做正向索引,一个叫做倒排索引呢? 正向索引是最传统的,根据id索引的方式。但根据词条查询时,必须先逐条获取每个文档,然后判断文档中是否包含所需要的词条,是根据文档找词条的过程。 而倒排索引则相反,是先找到用户要搜索的词条,根据词条得到保护词条的文档的id,然后根据id获取文档。是根据词条找文档的过程。 是不是恰好反过来了? 那么两者方式的优缺点是什么呢? 正向索引: 优点: 可以给多个字段创建索引根据索引字段搜索、排序速度非常快缺点: 根据非索引字段,或者索引字段中的部分词条查找时,只能全表扫描。 倒排索引: 优点: 根据词条搜索、模糊搜索时,速度非常快缺点: 只能给词条创建索引,而不是字段无法根据字段做排序 ES的一些概念【文档、字段、索引、映射】 1.【文档】:elasticsearch是面向文档(Document)存储的,可以是数据库中的一条商品数据,一个订单信息。文档数据会被序列化为json格式后存储在elasticsearch中。 2.【字段】:Json文档中往往包含很多的字段(Field),类似于数据库中的列。 3.【索引】:就是相同类型的文档的集合。例如:所有用户文档,就可以组织在一起,称为用户的索引。因此,我们可以把索引当做是数据库中的表。

4.Hive 查询出错 Exception in thread “main“ java.lang.IncompatibleClassChangeError

Hive和Hadoop里面guava jar包的版本兼容性问题导致的hive 查询失败 1.在hive 里面做查询,出错了 hive> select * from struct_score; Exception in thread "main" java.lang.IncompatibleClassChangeError: Class com.google.common. collect.ImmutableSortedMap does not implement the requested interface java.util.NavigableMap at org.apache.calcite.schema.Schemas.gatherLattices(Schemas.java:498) 2.原因 guava jar包在hadoop 里面和在hive 里面不兼容。 [hadoop@big81 current]$ ll /data02/apache-hive-3.1.2-bin/lib/guava-19.0.jar -rw-r--r-- 1 hadoop hadoop 2308517 Apr 23 12:03 /data02/apache-hive-3.1.2-bin/lib/guava-19.0.jar [hadoop@big81 current]$ ll /data02/hadoop/share/hadoop/common/lib/guava-11.0.2.jar -rw-r--r-- 1 hadoop hadoop 1648200 Jan 12 17:58 /data02/hadoop/share/hadoop/common/lib/guava-11.0.2.jar hive3.1.2里面默认的guava版本是:19.0 Hadoop3.1.1 里面的guava版本是:11.0.2 。我是将hadoop里面的guava-11.0.2.jar 复制到了hive里面去。所以报错,hive里面保持默认的版本guava-19.0.jar 可以。hadoop里面使用guava-11.0.2.jar 就正常了。 3.查询验证 hive> select * from score;

Kubernetes常用命令

node 1、获取所有节点 kubectl get nodes 2、删除节点 在master节点执行以下命令即可删除 # 先卸载节点,但是还未删除 kubectl drain node1 --delete-local-data --force --ignore-daemonsets # 删除节点 kubectl delete node node2 还需要在work节点上执行以下命令来清空ini配置 kubeadm reset 3、加入节点 先在主节点创建令牌 # 执行后会返回一个 kubeadm 开头的命令 kubeadm token create --print-join-command #然后在需要加入集群的节点中执行令牌,注意这里的命令是通过kubeadm token create --print-join-command命令返回的结果 # 在工作节点上执行以下命令即可加入集群 kubeadm join cluster-endpoint:6443 --token xxx.xxx --discovery-token-ca-cert-hash sha256:xxx namespace 1、获取所有namespace # 第一种用法 [root@master ~]# kubectl get namespaces NAME STATUS AGE default Active 16h # 所有未指定namespace的对象都会被分配在default空间 kube-node-lease Active 16h # 集群节点之间的心跳维护,v1.13开始引入

Shell变量替换

变量替换总结: 1、${变量#匹配规则} #从头开始匹配,最短删除 2、${变量##匹配规则} #从头开始匹配,最长删除 3、${变量%匹配规则} #从尾开始匹配,最短删除 4、${变量%%匹配规则} #从尾开始匹配,最长删除 5、${变量/旧字符串/新字符串} #替换变量内旧的字符串为新字符串,自替换第一个 6、${变量//旧字符串/新字符串} #替换变量内旧的字符串为新字符串,全部替换 例子1: var1="I love you,Do you love me" [root@k8smaster shell]# var2=${var1#*ov} [root@k8smaster shell]# echo $var2 e you,Do you love me [root@k8smaster shell]# var2=${var1##*ov} [root@k8smaster shell]# echo $var2 e me [root@k8smaster shell]# var3=${var1%ov*} [root@k8smaster shell]# echo $var3 I love you,Do you l [root@k8smaster shell]# var3=${var1%%ov*} [root@k8smaster shell]# echo $var3 I l [root@k8smaster shell]# var4=${PATH/bin/BIN} [root@k8smaster shell]# echo $var4

李宏毅深度学习笔记——呕心整理版

李宏毅深度学习笔记——呕心整理版 闲谈叨叨叨: 之前看过吴恩达的一部分课程,所以有一定理论基础,再看李宏毅的课程会有新的理解。我先以有基础的情况写完学习过程,后续再以零基础的角度补充细节概念(估计不会啦,因为懒~)。长篇预警!可以慢慢看。多数只是自己的笔记,不会太有语言的概念解释,建议自己看一遍视频(往后字可能会越来越多,听我慢慢叨咕吧)。笔记只是提供回忆、巩固理解的工具。若有问题,欢迎评论讨论,有时间我会改正哒! 经过我多年学习经验(没有啦~),预习真的很重要,其实更多是重复记忆,加深理解。我的建议是先看吴恩达的课程了解机器学习和深度学习的基本知识框架和概念,还有理论推导,理解就可以,这就相当于预习;然后看李宏毅的课程,换个思路,以实际应用加深理解,就会感觉吴恩达的课程缘由不太清楚的自然而然就通了;看李宏毅的课程同时,看刘二大人的pytorch课程,动手操作,学会后完成李宏毅的作业;pytorch需要线性代数和概率论(这些课上要好好学,忘了的可以速学一下考研课程)以及python基础,我会整理一些推荐课程和学习路线。 关于李宏毅课程的视频顺序,我大多是先看2021年,用2022年视频作为补充,快速过一遍,选修部分也看。视频链接还有一位大佬整理的资源我会附在正文的引入部分。 目录附上: 文章目录 李宏毅深度学习笔记——呕心整理版1 引入1.1 机器学习&深度学习1.2 课程规划1.3 机器学习例子1.3.1 训练过程(training)1.3.2 改进(很牛逼,建议有基础后回看)1.3.3 激活函数1.3.4 神经网络Neural Network 1.4 深度学习简介1.4.1 反向传播(back propagation)1.4.2 回归 Regression1.4.3 分类(classification)1.4.4 逻辑回归(Logistic Regression) 1.5 Homework 2 优化分析2.1 局部最小值(local minima)与鞍点(saddle point)2.2 批次(Batch)与动量(Momentum)2.3 自动调整学习率 (Learning Rate)2.4 损失函数(Loss)也会有影响2.5 批次标准化(Batch Normalization)2.6 深度学习 3 卷积神经网络(CNN)3.1 卷积神经网络(CNN)3.2 Spatial Transformer Layer 4 自注意力机制(Self-attention)4.1 引入4.2 self-attention4.3 Multi-head Self-attention 5 Transformer 正片开始: 1 引入 视频资料整理:李宏毅2021&2022机器学习视频:2022-机器学习相关规定 1.1 机器学习&深度学习 机器学习就是寻找一个复杂函数。 深度学习的函数就是类神经网络。 函数的输入可以是向量、矩阵、序列等等;函数的输出可以是数值(称为regression 回归)、类别(classification 分类)、文本、图片等等 回归 regression: 分类 classification:

celery介绍与使用

一.celery介绍 celery作用 1.celery可以实现异步任务来提高项目的并发量,完成延迟任务、定时任务 2.celery是一个简单、灵活、可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具 celery架构 1.消息中间件:broker 提交的任务(函数)都放到这里,celery本身不提供中间件,需要借助于第三方:redis,rabbitmq 2.任务执行单元:worker,真正执行任务的地方,一个个进程,执行函数 3.结果存储:backend,函数return的结果存储在这里,celery本身不提供结果存储,借助于第三方:redis,数据库,rabbitmq celery特点 celery是独立的服务 1.可以不依赖任何服务器,通过自身命令,启动 2.celery服务为其他项目服务提供异步解决任务需求的 注意:会有两个服务同时运行,一个是项目服务,一个是celery服务,项目服务将需要异步处理的任务交给celery服务,celery就会在需要时异步完成项目的需求 二.celery快速使用 1.安装模块 官方介绍:Celery is a project with minimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform(不支持windows,请不要打开与该平台相关的任何问题) pip install celery pip install eventlet # Windows系统需安装 2.使用步骤 新建包:celery_task -在包先新建一个 celery.py -在里面写app的初始化 -在包里新建app_task.py 编写相关任务 -其它程序,提交任务 -启动worker ---》它可以先启动,在提交任务之前-->包所在的目录下 celery -A celery_task worker -l info -P eventlet -查看任务执行的结果了 '''celery_task/celery.py''' from celery import Celery backend = 'redis://127.

idea常用快捷键汇总

idea常用快捷键汇总 厉害的提示 ctrl+alt+v shift+f6 多处修改 5.fori —for循环(int i=0;i<5) fori 是正序 forr 是倒序 数组名称.fori —(int i=0; i<数组名称.length) psvm :Mian函数 ctrl+r:替换 打开多行输入 选中文件夹,alt + insert 创建类 ctrl——f12 查看类中的方法列表 ctrl h 查看接口的实现类 ctrl f 替换查找 CTRL + ALT + O “优化导入” ALT +回车 和eclipse的ctrl+1功能一样,提示 Ctrl+alt+l 格式化 sout:打印 提取重复代码到方法:Ctrl+Alt+m Ctrl+shift+f10:启动 Ctrl+Alt+T`,可以把代码包在一个块内,例如:`try/catch debug调试: f7 可以进入到被嵌入的方法内部f8 不进入到被嵌入的方法内部f9 跳到第二个断点的位置 Ctrl+d:复制当前行到下一行 先 alt + F3, 然后使用 F3 或 shift + F3, 上下移动 :查找相同变量 在new Object()括号中按ctrl p:关于构造函数的提示 Foreach :Ctrl+j iter | fori

泰迪云课堂数据分析案例:广电大数据营销推荐项目

泰迪云课堂数据分析案例:广电大数据营销推荐项目,通过学习本案例,可掌握缺失值和重复值处理的常用方法,熟悉绘制pyplot图形进行探索分析的方法,并可以构建相关特征和推荐模型,为后续相关课程学习及将来从事数据分析工作奠定基础。 随着经济的不断发展,人民的生活水平显著提高,对生活质量的要求也在提高。广电为了提升自身的竞争力,需要不断提高用户体验,基于已有数据挖掘其价值。本案例以产品信息数据为数据源,通过对数据进行预处理,然后再通过可视化直观的展示数据情况,再进行用户画像的构建最后进行算法模型的构建与分析。 广电大数据营销推荐项目案例主要分析目标包括:1、通过深入整合用户的相关行为信息,构建用户收视偏好统一视图;2、利用产品信息数据,针对用户提供个性化精准推荐服务,有效提升用户的转化和生命周期价值。 在学习过程中,技术要点包括: pyplot图形绘制;Simple TagBased TF-IDF算法;Popular流行度推荐模型等 数据分析案例:广电大数据营销推荐项目学习目录包括以下几个方面: 案例知识讲解及数据代码 包括:案例知识讲解;数据介绍与探索;数据预处理;数据可视化;构建标签库;用户画像构建等。另外在课程最后会附上课程配套数据、代码及PPT。 建议学习数据分析案例:广电大数据营销推荐项目前,先学习Python编程基础、Python数据分析与应用、Python数据可视化、Python机器学习实战等

Kafka(二)- Kafka集群部署

文章目录 一、安装部署1. 集群规划2. 虚拟机前置准备工作(1)配置IP(2)修改主机名称和hosts文件(3)关闭防火墙,关闭防火墙开机自启(4)克隆虚拟机 3. 集群部署(1)解压安装包(2)修改配置文件(3)编写集群分发脚本① scp(secure copy)安全拷贝② rsync 远程同步工具③ xsync 集群分发脚本 (4)SSH 无密登录配置① 配置 ssh② 无密钥配置 (5)修改集群其他服务器的配置(6)配置环境变量(7)kafka启动集群(8)kafka关闭集群(9)kafka集群启停脚本 一、安装部署 1. 集群规划 例如在3台服务器上安装zookeeper和kafka hadoop102hadoop103hadoop104zookeeperzookeeperzookeeperkafkakafkakafka 2. 虚拟机前置准备工作 (1)配置IP 需要保证 Linux 系统 ifcfg-ens33 文件中 IP 地址、虚拟网络编辑器地址 和 Windows系统中VMnet8网络IP地址相同 1.首先配置虚拟网络编辑器地址,点击编辑选择虚拟网络编辑器 2.选择VMnet8,修改子网IP网段为10,只要跟其他网段不冲突就行 3.点击Net设置,网段配置一致也是10,网关最后一位默认是2 4.在Windows上打开网络和共享中心,配置VMnet8 5.在root用户下输入vim /etc/sysconfig/network-scripts/ifcfg-ens33,当前BOOTPROTO="dhcp"表示动态获取IP地址,每次重启虚拟机,IP都会变化。所以需要修改为BOOTPROTO="static"表示IP地址固定不变。 6.还需要多加几行配置,最终配置如下: (2)修改主机名称和hosts文件 1.配置hostname,输入vim /etc/hostname,修改为hadoop100 2.在Linux上配置主机名称映射,输入vim /etc/hosts,添加以下内容 3.重启虚拟机,输入reboot 4.启动后,验证IP 验证主机名称 5.修改Windows的主机映射文件hosts,在文件在C:\Windows\System32\drivers\etc目录下 (3)关闭防火墙,关闭防火墙开机自启 [root@hadoop100 ~]# systemctl stop firewalld [root@hadoop100 ~]# systemctl disable firewalld.service 注意:在企业开发时,通常单个服务器的防火墙是关闭的。公司整体对外会设置非常安全的防火墙 (4)克隆虚拟机 1.利用模板机 hadoop100,克隆三台虚拟机:hadoop102 hadoop103 hadoop104 注意:克隆时,要先关闭 hadoop100

SpringBoot使用Pio-tl动态填写合同(文档)

poi-tl(poi template language)是Word模板引擎,使用Word模板和数据创建很棒的Word文档。 poi-tl官方网址 项目中有需求需要动态填充交易合同,因此想到了使用poi-tl技术来实现 一、引入依赖 <!-- 生成word并且导出 --> <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.5.0</version> </dependency> <!-- 上面需要的依赖--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.9.1</version> </dependency> 二、填充合同 1、金额转换工具类 public class MoneyUtils { private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分"; private static final String DIGIT = "零壹贰叁肆伍陆柒捌玖"; private static final double MAX_VALUE = 9999999999999.99D; public static String change(double v) { if (v < 0 || v > MAX_VALUE){ return "

HTML快速入门及简单的创建网页实战演示

目录 HTML文件结构 HTML元素 第一个HTML代码 添加标题 添加并修改图片 添加超链接 修改网页标题 内容居中 HTML文件结构 <!DOCTYPE html>——————————HTML文档声明,告诉浏览器我是一个HTML文件 <html lang="en">——————————HTML根元素 <head>————————--————————————————HTML头(一般放入原数据,搜索引擎的keyword,title,脚本,css文件链接等) <meta charset="UTF—8"> <title>Document</title> <head>——————————————————————————HTML头 <body>——------------------------HTMLbody(放入HTML元素,上网时所看到的页面内容就是body里的内容) <body>--------------------------HTMLbody </html>——————————HTML根元素 HTML元素 <a>百度</a> <a>:开始标签 </a>:结束标签 开始标签和结束标签成对出现,结束表现多个/ <a href="https://www.baidu.com">百度</a> href="https://www.baidu.com即为属性 属性规则:属性名=“属性值” “百度”是内容 HTML元素太多了记不住怎么办,这里给出一个网站https://developer.mozilla.org/zh-CN/does/Web/HTML/Element 记录了所有的html元素及其属性 下面直接进入实战 第一个HTML代码 1.首先打开cscode,下载两个辅助我们的插件给我们提示和节省时间 Live Server HTML CSS Support 2.在phpstudy中创建好网站(详细可见《第一个PHP程序》) 3.点开这个网站的根目录并且创建一个HTML文件index.html 4.使用vs code打开这个文件 ,即可在编译器敲我们的代码了 5.直接输入感叹号(记得是英文状态下)点击回车,我们的插件就已经生效了,HTML的基本框架已经出现 6.删除第五行第六行(没用的东西) 7.接下来在body中即可输入我们的内容,输入经典语句Hello,World! 访问刚刚创建的网站 第一步已迈出 添加标题 我们从标题开始,将刚刚的hello world删除,输入h1按下Tab键,标题格式即自动生成,在中间输入“第一个HTML” 刷新刚刚创建的网页 同理输入h2按tab键生成副标题 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>第一个HTML</h1> <h2>一起努力</h2> </body> </html> 保存刷新 添加并修改图片 首先先把我们相加的图片保存在根目录中

flink 消费Kafka 空指针问题

flink 消费Kafka 空指针问题 error: 2021-12-02 10:51:55,644 WARN org.apache.flink.runtime.taskmanager.Task [] - Source: Custom Source (1/3)#4 (92d97e5b78862c632d32b272b843bf4b) switched from RUNNING to FAILED with failure cause: java.lang.NullPointerException at java.lang.String.<init>(String.java:515) at org.apache.flink.api.common.serialization.SimpleStringSchema.deserialize(SimpleStringSchema.java:78) at org.apache.flink.api.common.serialization.SimpleStringSchema.deserialize(SimpleStringSchema.java:36) at org.apache.flink.api.common.serialization.DeserializationSchema.deserialize(DeserializationSchema.java:82) at org.apache.flink.streaming.connectors.kafka.internals.KafkaDeserializationSchemaWrapper.deserialize(KafkaDeserializationSchemaWrapper.java:58) at org.apache.flink.streaming.connectors.kafka.internals.KafkaFetcher.partitionConsumerRecordsHandler(KafkaFetcher.java:179) at org.apache.flink.streaming.connectors.kafka.internals.KafkaFetcher.runFetchLoop(KafkaFetcher.java:142) at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.run(FlinkKafkaConsumerBase.java:826) at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:110) at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:66) at org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:269) 2021-12-02 10:51:55,644 WARN org.apache.flink.runtime.taskmanager.Task [] - Source: Custom Source (1/3)#4 (92d97e5b78862c632d32b272b843bf4b) switched from RUNNING to FAILED with failure cause: java.lang.NullPointerException at java.lang.String.<init>(String.java:515) at org.

Mac M1 Datasophon 安装

Mac M1 Datasophon 安装 什么是 Datasophon DataSophon 是致力于自动化监控、运维、管理大数据基础组件和节点的,帮助您快速构建起稳定,高效的大数据集群服务。 网络要求 要求各机器各组件正常运行提供如下的网络端口配置: 组件默认端口说明DDHApplicationServer8081、2551、85868081 为http server 端口,2551 为rpc 通信端口,8586 为 jmx 端口WorkerApplicationServer2552、9100、85852552 rpc 通信端口,8585 为 jmx 端口,9100 为主机数据采集器端口nginx8888提供 UI 端通信端口 客户端浏览器要求 推荐 Chrome 以及使用 Chrome 内核的较新版本浏览器访问前端可视化操作界面。 关闭防火墙 各主机防火墙需关闭。 配置主机 host 大数据集群所有机器需配置主机 host。 配置主机名: hostnamectl set-hostname 主机名 配置 /etc/hosts 文件 免密登录配置 部署机器中,DataSophon 节点以及大数据服务主节点与从节点之间需免密登录。 生成ssh 秘钥: ssh-keygen -m PEM -t rsa ,一路回车。 执行 ssh-copy-id 目标主机。 环境要求 Jdk环境需安装。建议 mysql 版本为 5.7.X,并关闭 ssl。 (本机为 mysql 8)

2.2.2同向放大器、同向放大器的设计

笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验,共同互勉!全套资料领取扫描文末二维码! 温馨提示:学而不思则罔,思而不学则殆。实践是检验真理的唯一标准! 目录 2.2.2 同相放大器 1.基本同相放大器 2.同相比例放大器 2.同相放大器的设计 1)运算放大器的选择 2)外围参数的选择 2.2.2 同相放大器 凡是输入信号从运算放大器同相输入端输入的运算电路都称为同相放大器,它也是应用电路中最基本的类型。 1.基本同相放大器 图2.2.7所示为基本同相放大器的原理电路图,与反相放大器一样,外部元件可以是电阻元件、电抗元件甚至是一个复杂的网络。 图2.2.7 基本同相放大器 同相放大器具有下列共同特点。 ① 同相放大器的闭环增益AF(jω)和输入阻抗具有相同的形式: ② 流经输入回路的电流和流经反馈回路的电流相同: ③ 反相端和同相端电压相等,且总等于共模电压Vc: 这一点要特别引起注意,由于Vc的存在,同相放大器存在共模电压堵塞现象,这一点与反相放大器不同。 2.同相比例放大器 在基本同相放大器中,外部元件为纯电阻时,即构成同相比例放大器,显然它是基本同相放大器的一种特例。图2.2.8所示为原理电路及理想等效电路图。 1)闭环增益 理想闭环增益为 图2.2.8 同相比例放大器 由式(2.2.52)可知,当运算放大器具有理想特性时,同相比例放大器的闭环增益AF仅与外部电路元件RF、Rf有关,而与放大器本身参数无关。此外,同相比例放大器的闭环增益总是大于或等于1。电阻Rp是为消除偏置电流及漂移的影响而设置的补偿电阻。 2)同相与反相比例放大器的比较 综上所述,同相比例放大器与反相比例放大器的主要差别如下。 ①同相输入时,输出与输入同相;反相输入时,输出与输入反相。 ② 同相输入时,闭环增益总是大于或等于1;反相输入时,闭环增益可大于1,也可小于1。 ③同相放大器的输入电阻很高,远大于反相放大器的输入电阻。 ④同相放大器的输入端存在共模输入电压,因此输入电压不能超过运放的最大共模输入电压Vicm,并要求放大器要有较高的共模抑制比。而反相放大器不存在这一问题。 2.同相放大器的设计 1)运算放大器的选择 选择运算放大器除要考虑设计反相运放电路选择运放的因素外,还要特别注意考虑运放CMRR和Vicm两项指标,要尽量选择高CMRR、Vicm的运放,一方面减少定态误差,另一方面防止堵塞。 2)外围参数的选择 外围电路元件的选择与反相放大器相同。采用与反相放大器完全相同的分析方法可得反馈电阻RF的取值应遵从下面公式: 关注回复【更多资料】海量嵌入式资料赠送 笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验,共同互勉! 

PCL点云旋转(平面参数)

#include "stdafx.h" #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/io/ply_io.h> #include <pcl/point_cloud.h> #include <pcl/console/parse.h> #include <pcl/common/transforms.h> #include <pcl/visualization/pcl_visualizer.h> /*输入输入点云,输出点云地址和分割平面方程,返回旋转完的点云,可直接xy面z轴0值分割*/ pcl::PointCloud<pcl::PointXYZRGBA> Rotate(pcl::PointCloud<pcl::PointXYZRGBA> input,double A,double B,double C, pcl::PointCloud<pcl::PointXYZRGBA> &transformed_cloud) { //点云旋转,基于平面标准式法向量原理 //先绕x旋转,再绕y旋转 /* Reminder: how transformation matrices work : |-------> This column is the translation | 1 0 0 x | \ | 0 1 0 y | }-> The identity 3x3 matrix (no rotation) on the left | 0 0 1 z | / | 0 0 0 1 | -> We do not use this line (and it has to stay 0,0,0,1) METHOD #1: Using a Matrix4f This is the "

Namespace:集群环境共享与隔离

kubernetes 通过 Namespace (命名空间)和 Context 的设置对不同的工作组进行区分,使得它们既可以共享一个 Kubernetes 集群的服务,也可以互不干扰。 创建Namespace 为了在 Kubernetes 集群中实现这两个分组,首先需要创建两个命名空间。 使用 namespace-development.yaml,创建 development 命名空间: apiVersion: v1 kind: Namespace metadata: name: development 使用 namespace-production.yaml,创建 production 命名空间: apiVersion: v1 kind: Namespace metadata: name: production 使用kubectl create命令完成命名空间的创建: [root@master1 ~]# kubectl create -f namespace-development.yaml -f namespace-production.yaml namespace/development created namespace/production created 查看系统中的命名空间 [root@master1 ~]# kubectl get namespaces | grep -v 'kube' NAME STATUS AGE default Active 2d16h development Active 18s production Active 18s 定义Context 接下来,通过kubectl config set-context命令定义 Context,并将 Context 置于之前创建的命名空间中。为这两个工作组分别定义一个 Context,即运行环境。这个运行环境将属于某个特定的命名空间。

安装了tensorflow导入keras报错

代码1 from keras.models import Sequential from keras.layers import Input, Dense, Activation, Conv2D, MaxPooling2D, Flatten from keras.datasets import mnist 报错: from keras.models import Sequential ModuleNotFoundError: No module named 'keras' 代码修改为 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Input, Dense, Activation, Conv2D, MaxPooling2D, Flatten from tensorflow.keras.datasets import mnist 代码2 from tensorflow.keras.utils import np_utils 报错 ImportError: cannot import name 'np_utils' from 'tensorflow.keras.utils' 代码修改为 from tensorflow.python.keras.utils.np_utils import to_categorical

推荐一个开源的 .NET 二维码生成库

你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用! 介绍 QrCodeGenerator 是开源的 .NET 二维码生成库,它支持从文本字符串和字节数组生成二维码图片。 这个库是基于 .NET Standard 2.0 构建的,所以它可以在大多数现代 .NET 平台(.NET Core、.NET Framework、Mono 等)上运行,包括 .NET 6, .NET 7。 核心特点 • 遵循 QR Code Model 2 标准, 支持完整的 40 种版本(大小), 以及 4 个不同的二维码纠错级别。 • 输出 svg, png 等多种格式。 • 基于 MIT 协议,开源免费。 • 跨平台支持,macOS, Linux, iOS • 项目提供了 WinForms、WPF、ASP.NET、ImageSharp、SkiaSharp 等的示例代码。 如何使用 1. 通过 Nuget 安装 Net.Codecrete.QrCodeGenerator。 Install-Package Net.Codecrete.QrCodeGenerator -Version 2.0.3 1. 在程序中添加下面的代码 var text = "

MySQL

一.概念与作用 长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”, 用来保存,管理数据 二.运行机制 三.结构化查询语句分类 四.数据值和列类型 1.数据值:规定数据库中该列存放的数据类型 分为:数值类型 字符串类型 日期和时间型 NULL值 2.列类型分类 2.1数值类型 2.2字符串类型 2.3日期和时间型 2.4.NULL值 理解为“没有值”或“未知值” 不要用NULL进行算术运算,结果仍为NULL 五.操作 库操作 查看所有数据库名 SHOW DATABASES; 选中指定数据库,使用指定数据库 USE 指定数据库名; 查看当前使用的数据库 SELECT DATABASE(); 创建数据库 CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHAREST 字符集] [COLLATE排序规则]; 删除数据库 DROP DATABASE 数据库名; DROP DATABASE IF EXISTS 数据库名; 表操作 查询当前数据库所有表 SHOW TABLES; 查询表结构 DESC 表名; 查询指定表的建表语句 SHOW CREATE TABLE 表名; 创建表 CREATE TABLE 表名( 字段1 字段1类型[COMMENT 字段1注释], 字段1 字段1类型[COMMENT 字段1注释],

git------git log 与 git reflog 查看历史记录(被删除的历史commit ID)

区别:如果在回退以后又想再次回到之前的版本, git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录 git log则不能查看已经删除了的commit记录. git blame - 显示文件的每一行最后修改的版本和作者(详细内容待加入) 推荐采用的命令(结果简洁明了,非常实用) --abbrev-commit: hash值commitID简短形式出现 --graph:以ASCII 图形表示的分支合并历史 git log --pretty=oneline --abbrev-commit -<number> // 以一行的形式展示历史,number表示要展示的最近的几条 git log --pretty=format:"%h - %an %cr : %s" --graph -<number> // 以对应格式展示历史记录,graph是以ASCII 图形表示的分支合并历史 git rev-parse branch_name // 775337e59686c0a9b197f9adfbe7afaa744ca7b3 ; 当前最新的commitID 一、git log git log --pretty=format:"%h - %an %cr : %s" --graph // 美化日志 git log --graph --oneline --decorate git log 查看所有(未被回退)的commit id 和提交的信息 如果觉得太繁琐,在命令后加上参数 --pretty=oneline,只会显示版本号和提交时的备注信息 命令总结 1.--oneline标志来简化日志

Spring Boot Security 自动配置

1. 概述 在本教程中,我们将了解Spring Boot对安全性的看法。 简单地说,我们将重点关注默认安全配置,以及在需要时如何禁用或自定义它。 2. 默认的安全设置 为了向我们的 Spring Boot 应用程序添加安全性,我们需要添加安全启动器依赖项: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> 这还将包括包含初始/默认安全配置的SecurityAutoConfiguration类。 注意我们在这里没有指定版本,假设项目已经使用 Boot 作为父项目。 默认情况下,为应用程序启用身份验证。此外,内容协商用于确定是否应使用 basic 或 formLogin。 有一些预定义的属性: spring.security.user.name spring.security.user.password 如果我们不使用预定义属性spring.security.user.password 配置密码并启动应用程序,则会随机生成一个默认密码并打印在控制台日志中: Using default security password: c8be15de-4488-4490-9dc6-fab3f91435c6 有关更多默认值,请参阅Spring Boot Common Application Properties参考页面的安全属性部分。 3. 禁用自动配置 要放弃安全自动配置并添加我们自己的配置,我们需要排除SecurityAutoConfiguration类。 我们可以通过简单的排除来做到这一点: @SpringBootApplication(exclude = { SecurityAutoConfiguration.class }) public class SpringBootSecurityApplication { public static void main(String[] args) { SpringApplication.run(SpringBootSecurityApplication.class, args); } } 或者我们可以在application.properties文件中添加一些配置: spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration 但是,在某些特殊情况下,此设置还不够。 例如,几乎每个 Spring Boot 应用程序都是通过类路径中的 Actuator 启动的。**这会导致问题,因为另一个自动配置类需要我们刚刚排除的那个。**因此,应用程序将无法启动。

npm install 报错node-sass

npm install 报错node-sass@4.13.0 postinstall:`node scripts/build.js` Failed at the node-sass@4.13.0 原因​ 这个是因为 sass 安装时获取源的问题,先修改 sass 安装的源,再运行npm install就成功了 解决办法​ 第一种方法 npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass 拷贝 第二种方法 先删除node-modules文件夹,删除 package-lock.json 文件 rm -rf node_modules rm package-lock.json 拷贝 再使用淘宝镜像安装,使用--registry=https://registry.npm.taobao.org参数 npm install --registry=https://registry.npm.taobao.org

mapbox 天地图 底图切换组件

地图却换组件 效果: <template> <div id="layerswitch"> <div id="right-panel"> <div id="panel-head"> <span class="head-text">底图</span> <div> <span @click="closePanel"> <a-icon type="close" /> </span> </div> </div> <div id="panel-body"> <div v-for="(layer, idx) in baseLayers" :key="idx" class="item" :class="{ active: activeType == layer.lyrName }" @click="changeBaseLayer(layer)" > <span class="image-link" :id="('icon-' + layer.lyrName)"></span> <span class="image-text">{{ layer.label }}</span> </div> </div> <div id="panel-footer"> <div class="header-head-text"> <span>地名</span> <a-checkbox :indeterminate="indeterminate" style="float:right" :checked="checked" @change="onChange"></a-checkbox> </div> <div class="footer-head-text" v-for="(layer, idx) in overLayers" :key="idx" > <span>{{ layer.label }}</span> <a-checkbox :indeterminate="

BigDecimal的踩坑和使用

通常我们遇到精度问题,大都会想到用BigDecimal来解决问题。可是BigDecimal也存在一定的坑,确实需要我们去注意。 一、踩坑 使用BigDecimal避免不了我们去创建他的对象,他有几种创建对象的构造方法。 我们可以从中看到,当我们使用double和float的构造方法构造BigDecimal时,显示的精度有问题,这就是我们特别需要注意的地方。然而我们换一种方式,将 double和float 转换成字符串之后再构造BigDecimal,就不会出现这种问题。 综上所述,我们再使用BigDecimal的时候,需要特别注意这一点。 二、使用 1、格式化 一般货币会保留2为有效数字,四舍五入。百分数也是按照保留下小数个数,进行四舍五入,包括他们的乘积也是保留两位小数,四舍五入。 2、格式化(保留固定小数,不足补0) 从上面可以看出,调用下面的formatToNumberStr()方法,可以做到正确保存小数的问题。 3.工具类 /** * 用于高精确处理常用的数学运算 */ public class ArithmeticUtils { //默认除法运算精度 private static final int DEF_DIV_SCALE = 10; /** * 提供精确的加法运算 * * @param v1 被加数 * @param v2 加数 * @return 两个参数的和 */ public static double add(double v1, double v2) { BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.add(b2).doubleValue(); } /** * 提供精确的加法运算 * * @param v1 被加数 * @param v2 加数 * @return 两个参数的和 */ public static BigDecimal add(String v1, String v2) { BigDecimal b1 = new BigDecimal(v1); BigDecimal b2 = new BigDecimal(v2); return b1.

python中列表介绍及用法(通俗易懂)

python 的列表介绍及用法 目录 python 的列表和字典介绍及用法 一、列表 介绍:列表有什么用? 1.列表的格式 2.引用列表 3.往列表里添加删除和修改元素 4."list" 函数 5.制做一个小程序 ——————————————————————————————————————————— 列表 列表有什么用?(可看可不看) 任何程序都需要实时将不同数据获取,我们往往用变量来保存,就比如“a=1”,变量“a”储存了数字“1”。但变量只能提前设定,保存固定方面的数据,一旦数据的数量随机,就不行了。 假如一个程序要求用户输入任意量的字符串,最后全打印出来,如果用变量来储存,如何知道用户输入了多少组字符串呢,该提前设定多少变量来储存呢?这做不到。所以有了列表。列表用于储存各种数据,更重要的它很方便,可以储存任意数量的数据。 (以上均为我本人的看法) 1.列表的格式: 列表的创建方式和普通变量一样,不过要写在中括号里 “a=[要输入的数据] ” ——这样就创建了一个列表 想要储存多个数据,就用逗号隔开: “a=[数据1,数据2,数据3]” 也可以创建一个空列表 “a=[]” 举个例子: data1='我是data1' data2='我是data2' #创建拥有一个数据的列表 a1=[data1] #创建一个空列表: a2=[] #储存多个数据的列表 a3=[data1,data2] #打印出来 print(a1) print(a2) print(a3) 结果: >>>['我是data1'] >>>[] >>>['我是data1','我是data2'] 在上面以"data"作为数据,那么现在做一个小程序,用列表储存用户的年龄、姓名、爱好 a=input('名字')#用户输入“李锦天” b=int(input('年龄'))#用户输入 13 (是的本人十三) c=input('爱好')#用户输入“打代码” d=[a,b,c] d=d.split('[]')#去除列表两旁的中括号 print('个人数据为:\n'+d) #结果: 个人数据为: '李锦天',13,'打代码' 2.引用列表 往列表里储存了数据,也要提取数据,如何提取数据呢?在列表里,数据依据从左到右的顺序从0开始每一组数据都赋予编号。 比如第一组数据编号为“0”,第二组则为“1”,第三组为“2”...... 通过编号来获取信息。 格式: 列表名[编号] 比如 "a[0]" #获取列表a的第一组数据 举个例子: a=['复杂的python','丰富的python','便捷的python'] #创建一个列表 #分别打印 print(a[0]) print(a[1]) print(a[2]) #结果: 复杂的python 丰富的python 便捷的python 成功获取了列表a当中元素

RK3588开发板的性能参数、功耗及功能特点|飞凌动态讲解

内容来源:飞凌嵌入式官网-www.forlinx.com 2021年12月16日第六届瑞芯微开发者大会上,瑞芯微发布了全新一代旗舰处理器——RK3588。 相较前一代产品,RK3588的性能提高20%~30%!同时采用新一代8nm制程工艺,也将大幅度降低功耗。这款处理器芯片集成60多亿晶体管,采用8核CPU,8个EEGPU,6TOPS算力NPU,具有高算力、超强多媒体、丰富接口等特点。 作为与瑞芯微有着多年深度且密切的合作关系的合作伙伴,飞凌嵌入式也基于这款性能强悍的旗舰处理器开发出了相应的核心板与开发板产品——FET3588-C核心板和OK3588-C开发板。作为飞凌嵌入式的重磅明星产品,这款产品集匠心设计、高超性能、可靠品质于一体。 硬件设计方面 飞凌嵌入式FET3588-C核心板采用12V供电,更高的供电电压不光提升了供电功率上限,也能减小线路损耗,确保飞凌核心板可以满负荷长时间稳定运行;电源采用RK单PMIC的方案,支持动态调频等;飞凌RK3588核心板采用100pin超薄连接器实现核心板与底板连接,连接器合高1.5mm,极大的缩小了核心的厚度;选用4片100pin连接器,共计400个引脚;CPU的所有可引出的功能全部引出,且高速信号的地回路引脚充足,电源供电及回路引脚充足,确保信号完整性和电源完整性。 尺寸方面,飞凌这款核心板大小仅为50 x68mm,小于市面上大部分核心板,仅仅相当于半个名片大小,轻便小巧的体积,更便于集成到用户的产品设计中去。 性能方面 RK3588采用了Big.Little大小核架构,4个Cortex-A76大核可在高负载工作时提供性能支撑,4个Cortex-A55小核可在低负载工作时降低功耗运行,A76的主频高达2.4GHz,A55的主频也有 1.8GHz,充分考虑了性能和功耗的平衡。 通过GeekBench和安兔兔跑分实测可以看到,相较于上一代旗舰RK3399,性能提升了有3.5倍。 算力方面 RK3588芯片集成了瑞芯微自研的第三代NPU处理器,支持INT4/INT8/INT16/FP16混合运算,算力高达6TOPS,可满足大多数人工智能模型的算力需求,赋能各种AI场景。 当然RK3588处理器不仅性能强,在功耗控制方面也是下足了功夫,8nm的先进制程工艺,为高性能、低功耗提供了强大支撑。实测中,我们在不加任何散热措施情况下,在飞凌嵌入式RK3568开发板上运行了2个小时的大型游戏。 通过测温,RK3588处理器表面温度仍然可以控制在67℃左右,表现尚佳。 OK3588-C开发板设计方面 为了便于用户的对功能、性能进行测试,飞凌嵌入式也做了更多思考。不仅最大限度发挥核心板的原生功能,例如HDMI输入、HDMI输出、Type-C、Camera、双千兆网、CAN总线、PCIe x4、GPIO、eDP输出等,还适配了Camera、WIFI6、5G等外设模块,且合理排列接口,避免了当将接口插满时可能产生的不便,同时飞凌嵌入式OK3588-C开发板将所有FPC排线座全部放在了板边,方便插入排线引出。核心板和底板的各个接口信号以及电源都经过严格测试,确保信号质量良好、电源文波在规定范围内。 从稳定性及器件EMC防护方面来说,为保证开发板品质,为客户的研发设计和功能评估提供可靠的参考,我们的防护几乎做到了面面俱到。OK3588-C开发板特意增加了接口防护电路,避免因为意外造成的开发板损坏;CAN和RS485接口均具备静电3级、雷击浪涌3级、快速脉冲群3级防护能力;其它接口如USB、Ethernet、Type-C、HDMI TX、HDMI RX、TF、SIM、按键也都设置了静电3级防护。客户在用开发板评估过性能后可直接根据参考设计开发自己的功能底板,加速项目落地。 同时飞凌嵌入式为了简化用户开发流程,降低用户开发难度,针对RK3588也提供了大量的开发资料和参考设计,包括RK3588原理图、常用工具、软件源码、开发环境、测试例程、芯片数据手册、软件手册、硬件手册、编译手册、应用笔记、常见QA问答手册、引脚复用及引脚功能对照表等等,帮助用户的产品快速开发上市。 多年以来飞凌嵌入式与瑞芯微有着深度且密切的合作关系,除RK3588外,基于瑞芯微的处理器飞凌嵌入式也开发出了多款深受市场好评的产品,如搭载RK3568、RK3399处理器的核心板和开发板等,并为研发每一款产品分别设立独立研发团队。同时为保障用户在使用产品开发过程中能够得到强有力的技术支撑,飞凌嵌入式凭借16年的积累,拥有一大批嵌入式领域软硬件技术精英,助力客户成功开发,快速上市,也期待您的咨询与进一步合作。

vue element ui table行点击添加自定义行背景色

1.在table添加cell-style属性 :cell-style="TableCellStyle" 2.在methods中添加TableCellStyle TableCellStyle(row) { if (this.row === row.row) { return "background-color:#214F81;color: #ffffff !important;"; } else { return "background-color:transparent;"; } }, 3.在table添加row-click @row-click="RowClickFun" 4.在methods中添加RowClickFun RowClickFun(row, column, event) { console.log("row, column, event", row, column, event); debounce(() => { this.row = row; }, 500); }, 5.代码 tablecpt组件,tablecpt/index.vue <template> <div class="TableComponent"> <el-table :data="TableData" style="width: 100%; height: 100%" :row-class-name="tableRowClassName" :header-cell-style="tableHeaderColor" @row-click="RowClickFun" :cell-style="TableCellStyle" > <el-table-column prop="chargeMessage" label="时间" show-overflow-tooltip align="center" > <template slot-scope="scope"> <div class="chargeMessageDiv"> {{ scope.

Nginx配置 转发URL中包含特殊字符

Nginx经常被用来作为代理服务器,可以有效的避免跨域问题。 老项目需要对接一个新的服务,但是存在跨域问题,然后就配置了一个代理 可是突然在某天,新接口出现了异常。接口报了400错误。 # 转发 location /test { .......其他配置信息....... proxy_pass http://127.0.0.1:8080/; } 然后定位发现新接口url比较特殊还不能修改,在其他的地方也用了,整个URL中包含了特殊字符,nginx接收之后会解码但是转发出去不会对其进行编码,导致对方访问无法解析而报错。 例如这样的url services/lists/aa/bb/~~/resource-lists/list%5B@id=%221%22%5D?&t=1669973282354 nginx 进行转发时,url存在特殊字符会导致请求报400错误。 一般正常的处理方式都是直接进行正则匹配,使用 $1 直接获取匹配到的URL,不做任何处理,直接拼接在后面,这样可以避免报错。 # 转发 location /test { if ($request_uri ~* ^/(.*)$) { proxy_pass http://127.0.0.1:8080/$1; } } #不对url进行处理 最终在此基础上采用了正则进行了url匹配截取了部分url拼接,解决转发400错误。 url截取 正则匹配来获取截取 # 转发 location /test { if ($request_uri ~ /test/(.*)$ ){ proxy_pass http://127.0.0.1:8080/$1; } $1就是test/后的所有url参数。 以上只是举例 正常只需要去掉匹配路径,在完整转发即可。 正常转发情况 1、去掉匹配路径转发 转发示例: 请求:http://somedomain.com/test/path/request 转发:http://otherdomain.com/path/request location ^~ /test/ { proxy_pass http://otherdomain.com; } 2、完整路径转发 转发示例 请求:http://somedomain.com/test/path/request

Typora收费了,于是乎我自己写了一个

Typora受大家欢迎的一点莫过于两大核心优势 所见即所得,简洁的功能、和丰富的主题。 但是缺点也挺明显的 不支持云存储,对于碎片化笔记非常不友好图片默认在本地,图床使用麻烦好用的收费。太折腾了使用成本高不支持标准的文件目录(我知道可以查看系统的目录) 第三方、有道云笔记(上传图片受限,需要开会员,快捷键难用)。 于是乎我就诞生了自己写一个的打算,当然不可能从0开始,于是乎我逛遍百度、Google、发现大家都遇到了类似问题。 下面是我考察用使用人数较多的markdown CherryMarkdown 腾讯开源的 https://github.com/Tencent/cherry-markdown Vditor https://github.com/Vanessa219/vditor Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript 以及 Vue、React、Angular 和 Svelte 等框架。 样式感觉有点不好看,代码的所见即所得分成上下编辑和显示两块了,有点不好。 Arya https://github.com/nicejade/markdown-online-editor 基于Vditor开发的丰富了功能,感觉核心功能差不多。 bytemd https://github.com/bytedance/bytemd 字节跳动旗下->掘金开源的Markdown https://bytemd.js.org/ mavonEditor https://github.com/hinesboy/mavonEditor mavonEditor-基于Vue的markdown编辑器,支持多种个性化功能 www.mavoneditor.com/ am-editor https://github.com/red-axe/am-editor https://editor.aomao.com/zh-CN 类似于语雀,用的人挺少的,但是我感觉挺好用的。功能也挺多的 tui-editor https://github.com/nhn/tui.editor https://ui.toast.com/tui-editor markdown-it https://github.com/markdown-it/markdown-it 据说只提供核心的解析渲染,需要额外的功能需要基于提供的插件功能实现,于是很多好用的功能都需要集成插件。Vue Press 用的就是这个。 文章没写完。。

PHP 的快速介绍

2.3 Super Globals Name Value HTTP_REFERER If the user clicked a link to get the current page, this will contain the URL of the previous page they were at, or it will be empty if the user entered the URL directly. HTTP_USER_AGENT The name reported by the visitor's browser PATH_INFO Any data passed in the URL after the script name PHP_SELF The name of the current script REQUEST_METHOD Either GET or POST

使用vite-plugin-style-import插件报错Cannot find module ‘consola‘和解决方法

使用的 Vite创建的项目,使用 unplugin-vue-components 来进行按需加载。但是此插件无法处理非组件模块,如 message,这种组件需要手动加载,如: import { message } from 'ant-design-vue' import 'ant-design-vue/es/message/style/css' 由于已按需导入了组件库,因此仅样式不是按需导入的,因此只需按需导入样式即可。 使用 vite-plugin-style-import 可以帮助我们按需引入样式 安装: npm i vite-plugin-style-import -D // 或者 yarn add vite-plugin-style-import -D 使用: 在vite.config.ts 中的配置插件: import { createStyleImportPlugin, AndDesignVueResolve, VantResolve, ElementPlusResolve, NutuiResolve, AntdResolve, } from 'vite-plugin-style-import' export default defineConfig({ plugins: [ // ...... createStyleImportPlugin({ resolves: [AndDesignVueResolve()], // 如果没有你需要的resolve,可以在lib内直接写 libs: [ { libraryName: 'ant-design-vue', esModule: true, resolveStyle: name => { return `ant-design-vue/es/${name}/style/index` }, }, ], }), ], // 1.

处理stable-diffusion-webui本地部署过程中的commit hash <none>问题的一个方法

安装webui时一直卡在commit hash none RuntimeError: Couldn't determine Stable Diffusion's hash: 69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc 这一步 报错类似于这个(因为我没有存截图) Commit hash: <none> Traceback (most recent call last): File "D:\GitHub Desktop Files\stable-diffusion-webui\launch.py", line 130, in <module> git_clone("https://github.com/CompVis/stable-diffusion.git", repo_dir('stable-diffusion'), "Stable Diffusion", stable_diffusion_commit_hash) File "D:\GitHub Desktop Files\stable-diffusion-webui\launch.py", line 93, in git_clone current_hash = run(f'"{git}" -C {dir} rev-parse HEAD', None, f"Couldn't determine {name}'s hash: {commithash}").strip() File "D:\GitHub Desktop Files\stable-diffusion-webui\launch.py", line 55, in run raise RuntimeError(message) RuntimeError: Couldn't determine Stable Diffusion's hash: 69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc.

[附源码]计算机毕业设计基于SpringBoot动漫电影网站

项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。 环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7/8.0等版本均可; 毕设帮助,指导,本源码分享,调试部署(见文末) 3.1 需求分析 动漫电影网站主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。 系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改动漫电影网站信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以动漫电影网站的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。 3.2 系统可行性分析 3.2.1技术可行性:技术背景 本动漫电影网站在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。 系统的开发环境和配置都是可以自行安装的,系统使用SPRING BOOT开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。 硬件可行性分析:动漫电影网站及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。 因此,我们进行了可行性研究,可以看出系统的开发没有问题。 3.2.2经济可行性 在动漫电影网站开发之前所做的市场调研及其他的公司相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于动漫电影网站的开发在经济上是完全可行的,没有任何费用支出的。 使用比较成熟的技术,系统是基于SPRING BOOT的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。 3.2.3操作可行性: 可操作性主要是对动漫电影网站设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、用户两个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。 3.3 项目设计目标与原则 1、关于动漫电影网站的基本要求 (1)功能要求:可以管理首页、个人中心、用户管理、在线动漫管理、付费观看管理、动漫类型管理、最新动漫管理、手办商城管理、观后感评论、管理员管理、留言板管理、系统管理等功能模块。 (2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。 (3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。 (4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。 2、开发目标 动漫电影网站的主要开发目标如下: (1)实现管理系统信息关系的系统化、规范化和自动化; (2)减少维护人员的工作量以及实现用户对信息的控制和管理。 (3)方便查询信息及管理信息等;

[附源码]计算机毕业设计基于springboot的桌游信息管理系统

项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。 环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7/8.0等版本均可; 毕设帮助,指导,本源码分享,调试部署(见文末) 3.1需求分析 桌游信息管理系统可以提高工作人员的效率,协助他们对桌游信息进行统一管理,为管理者提供信息储存和查询搜索系统。一个良好的桌游信息管理系统可以实现对桌游信息的精细化管理:对桌游管理流程的全过程进行电子化操作,其主要作用是管理和控制桌游所有的信息,分析库存数据,使工作人员对桌游信息管理系统进行监管,根据系统所提供的相应信息,采取适当的措施,及时补救管理中的漏洞,提高桌游管理的工作效率,使得桌游管理变的更加系统和规范。 3.2系统可行性分析 可行性分析是在进行初步调查之后,对系统开发的必要性和可行性的研究。针对本系统,主要从技术可行性,经济可行性,社会可行性,法律可行性等方面来论证,具体分析如下: 技术可行性:当今社会人类的科技水平的不断发展,软件开发产业也在不断的壮大。目前,市面上流行的开发产品,已经能过满足不同行业的各种需要。 经济可行性:在当今社会,计算机的性能已经有了很大的提升,价格也不断的下降。因此,并不需要对此程序投入过高的成本。并且,在程序投入使用之后,可以为管理人员带来极大的便捷,大大提高工作效率,减少人力浪费,避免许多不必要的工作和开支。 社会可行性:管理者效率的增加,以及在管理过程中出现错误的可能性的大大减少,也是为了更好的发展铺平道路服务大众。这理应得到各界的一致认可。 法律可行性:本系统绝不违反任何相关的法律法规。 3.3 系统现状分析 系统使用用户的数量直接决定了用户信息管理者的工作量,毫无疑问,管理者的工作量较大较繁琐。通过总结出系统当前对用户管理的工作状态得以下分析: 统筹规划,如果系统在信息化管理中不够全面,缺少综合性、系统性、整体性,那不可避免的需要投入大量人力物力来规划整理信息。引入信息化管理方式无疑可以达到节省信息管理成本的目的不仅减少资源浪费还可以使桌游信息变得井井有条,成为市场竞争中的一大优势。 要循序渐进,做事不能心急,一步一个脚印,都不可能一步到位,就算信息管理系统也一样,要让系统发挥最大效率还是应该多调研,多听取用户和管理者的意见,并进行必要的统筹规划,有组织有目的地设计系统功能,团结各个部门发挥主观能动性。 (3)信息安全措施不到位 隐私权神圣不可侵犯,这是中华人民共和国宪法赋予我们的权利,人和人都不能侵犯我们的正当权益,而网络用户信息管理存在极大安全隐患,信息泄露的案列不在少数,加强信息安全措施是完善网络信息管理过程中不可避免的一环。 (4)资源不能充分共享 资源共享是网络的一大特点,没有共享就没有社交,网络也就失去了他应有的魅力,如果能够实现用户信息共享,无疑对于用户的发展存在不可或缺的帮助。 (5)现有系统可扩展性不高。 如今科学技术发展飞速,随着而来的就是技术更新,那势必会给软件更新带来挑战,因此,系统必须具备良好的开放性和可扩充性,为了不落后于时代,这是必备特色之一。 基于上述分析,桌游信息管理系统应该切合实际,做到确实有效,集体表现为:一是系统能够整理并集合归类用户信息,防止用户信息混乱,难以整理;二是系统要安全稳定,不能泄露用户信息,造成隐私泄露,不仅伤害用户利益更是对经营者名誉的损毁;三是系统要具有良好的开放性,不仅要方便定期的维护维修,更要方便及时增加新功能,保证先进的时代契合性。经过详细的讨论论证,确定系统的总体要求。 3.4 性能需求分析 对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析; 1. 系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整; 2. 系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅; 3. 系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。 4. 系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。