自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unexpected template string expression

在使用模板字符串时,我发现我这样写,展示不出我想要展示的数据,它不符合规则,并被视为 ESLint 中的错误。此规则是在 ESLint 3.3.0 中引入的。因为从 ES6 开始,可以使用反引号来使用模板字符串。ES6代表ECMA脚本编程语言的第6版。应该使用反引号,也就是Tab键上面那个符号,这样即可成功展示。

2022-11-28 10:33:10 909 1

原创 【配置nacos】使用application.yml配置文件来配置spring-cloud-starter-alibaba-nacos-config

spring-cloud-starter-alibaba-nacos-config 模块移除了 spring-cloud-starter-bootstrap 依赖,如果你想以旧版的方式使用,你需要手动加上该依赖,现在推荐使用spring.config.import方式引入配置。,我加了@RefreshScope注解也没法自动刷新,后来我发现,每次启动能获取到nacos配置中心的内容,但是修改配置中心的文件进行发布,刷新发现没有变化,还是一开始启动的内容。中进行的配置,那需要对应。解决:后来我发现我是在。

2022-11-26 13:33:55 21908

原创 【docker学习记录】docker安装mysql、redis

上面命令中,-p是指端口映射:Linux下的3306对应mysql容器下的3306端口,访问Linux下的3306端口就能访问容器下的3306端口。-v 目录挂载,相当于:将冒号后面容器内的文件内容挂载到Linux下的文件中,在Linux下就可以实时观察到mysql容器里面文件夹的内容。mysql的不同版本对应的文件路径有点区别,mysql5版本下为/etc/mysql,4.修改redis的配置文件,使其可以持久化(AOF),可以没有这一步,看个人。查看容器是否启动:docker ps。

2022-11-24 19:03:23 397

原创 【docker学习记录】配置docker阿里云镜像

2. 然后点击镜像加速器,选择对应的系统,我的是Ubuntu。1.登录阿里云找到容器镜像服务。3.按照顺序输入相应的命令。

2022-11-24 18:33:48 509

原创 【docker学习记录】在ubuntu下安装docker

Docker,虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间相互隔离。该文章将记录docker安装记录:

2022-11-24 10:16:43 229

原创 JVM知识点详细整理(长文警告)

JVM概述Java跨平台特性JDK、JRE和JVM的区别为什么要学习JVM自动内存管理Java内存区域与内存溢出异常运行时数据区域对象的创建对象的内存布局对象的访问定位垃圾收集器与内存分配策略判断对象是否存活的方法引用的分类(强、软、弱、虚)被判定为不可达的对象一定会被清除吗?方法区的垃圾收集垃圾收集算法分代收集理论Minor GC、Major GC、Full GC定义垃圾收集算法分类经典垃圾收集器.........

2022-07-28 18:41:20 976

原创 排序:归并排序和快速排序

力扣leetcode912.排序数组,可以用来练习排序算法题目给你一个整数数组nums,请你将该数组升序排列。归并和快排都运用了递归和分治的思想。归并二叉树的后续遍历;快排二叉树的前序遍历。为什莫这么说呢?先对左右数组进行排序,再合并。先构造分界点,然后去左右子树组构造分界点。...

2022-07-25 16:05:04 169

原创 如何保证缓存和数据库的双写一致性?

先更新数据库、再删除缓存是影响更小的方案。如果第二步出现失败的情况,则可以采用重试机制来解决问题。

2022-07-23 12:37:11 770 1

原创 【力扣刷题】460.LFU缓存——哈希表+LinkedHashSet

然后其实get和set代码有重复的,比如可以将key从freq移动到freq+1对应的映射链表上封装起来,然后调用,会使代码好看一点。①get(key)方法会去缓存中查询键key,如果key已存在,则返回key对应的val值,不存在则返回-1。intget(intkey)-如果键key存在于缓存中,则获取键的值,否则返回-1。5.希望快速删除key列表中的任何一个key,如果频次为freq的某个key被访问,那么。从freq对应的key列表删除,加入到freq+1对应的key的列表中。...

2022-07-21 19:46:35 356

原创 IO多路复用机制——epoll

高效地对海量用户提供服务,必须要让进程能同时处理很多个tcp连接。假设一个进程保持了10000条连接,如何发现哪条连接上有数据可读、可写?实现循环遍历来发现IO事件?效率太低了。epoll的通俗解释,当文件描述符的内核缓冲区非空的时候,发出可读信号进行通知,当写缓冲区不满的时候,发出可写信号通知的机制。..................

2022-07-21 17:17:42 2916

原创 【力扣刷题】146.LRU缓存——哈希表+双向链表

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类:LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;如果不存在,则向缓存中插入该组 key-value 。如果插入操作导致关键

2022-07-12 11:11:52 414

原创 【力扣刷题】一维动态规划记录(53零钱兑换、300最长递增子序列、53最大子数组和)

【力扣刷题】一维动态规划记录(53零钱兑换、300最长递增子序列、53最大子数组和)。题目二、题目三属于同一类动态规划问题。

2022-07-03 13:03:02 223

原创 【力扣刷题】32. 最长有效括号

给你一个只包含 和 的字符串,找出最长有效(格式正确且连续)括号子串的长度。利用栈,学过利用栈来判断一个只包含'('和')'的字符串是否是括号匹配的,那个题目解题就是,遍历整个字符串,是左括号就入栈,是右括号则①判断栈是否有左括号且弹出一个左括号,②如果栈为空则为false,如果所有字符都遍历完了,栈中还有元素则为false,否则为true。利用这个思路,增加一个标记数组arr,初始化所有元素为1,栈中存的是数组下标(字符索引)。遍历整个字符串,如果是左括号则把索引下标(i)加入栈,如果是右括号则判断栈

2022-07-02 11:05:36 676

原创 【力扣刷题】15.三数之和(双指针);17.电话号码的字母组合(递归回溯)

15.三数之和(双指针);17.电话号码的字母组合(递归回溯)给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。.........

2022-06-27 11:04:43 247 1

原创 【力扣刷题】二分查找:4. 寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/median-of-two-sorted-arrays题目难度主要是在时间复杂度上面,O(log(m+n)),我一开始是用的双指针来实现的,两个指针分别指向两个数组的初始位置,因为两个数组都是已知且有序的,则长度也已知,所以只需要找到中点

2022-06-26 14:12:14 471

原创 【力扣刷题】单调栈:84. 柱状图中最大的矩形

题目:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。 //单调递增栈,对于栈中的柱体来说,左边第一个高度小于自身的柱体就在自己下方//遍历每个柱体,若当前的柱体高度大于等于栈顶柱体的,就入栈//否则就是找到了栈顶元素的右边的第一个小于自身的柱体,出栈栈顶元素,同时可以计算栈顶元素的对应的矩形的最大面积了//给数组最后一个元素添加一个0,用这个条件来让栈里面所有元素都出栈//左边特殊处理的话,如果某个栈顶元素出栈后栈为空,

2022-06-23 09:51:45 158

原创 【力扣刷题】11.盛最多水的容器//42.接雨水

题目:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/container-with-most-water 我一看到这个题目脑子里首先想的是应该是用单调栈来解决吧:因为想的是求最大的话,找到两根线,利用单调递

2022-06-21 11:27:13 232

原创 【SDU项目实训2019级】个人主页页面展示+个人总结

学会了前端vue框架的使用,它数据的双向绑定,美观页面样式的设计,学到了服务器的搭建、部署和维护,以后个人做项目时同样可以用到,以及springboot框架内部的流程和它注解的区别和使用,还有学会了非关系型数据库redis的特点和使用,虽然改bug的过程很辛苦很难过,但是还是学会了很多东西............

2022-06-06 18:19:25 166

原创 【SDU项目实训2019级】router-link的:to 和@click谁先执行

在写下面的代码的时候:由于点击这个router-link会触发两个不同的事件,一个是href属性所对应的链接,一个是@click,然后我发现,我每次点击,并不会触发我的@click里面调用的js函数,搜了一下,然后发现:原因:router-link会阻止click,mouseover事件,只用click不用native,事件不会触发。根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件。但父组件想在子组件上监听自己的click的话,需要加上nati..

2022-06-05 10:50:25 622 2

原创 【SDU项目实训2019级】前端设计——推荐界面,存储用户职业、专业、感兴趣的词

自己设计的单选框/复选框按钮,完成注册之后,会让用户选择自己与中医相关的职业、专业、以及感兴趣的热词/领域词,以便后续来实现用户推荐排序功能

2022-06-03 16:11:08 120 2

原创 【SDU项目实训2019级】前端设计——注册界面,向后端发送获取验证码请求,后端存储验证码到redis,实现注册功能

①用户填写用户名、密码、手机号②点击获取验证码,前端判断以及向后端发送获取验证码请求③发送验证码④用户填写验证码,点击立即注册,前端向后端发送注册请求⑤后端验证+完成注册,保存用户信息至数据库,添加用户登录状态信息,返回结果...

2022-06-03 15:14:31 456

原创 【SDU项目实训2019级】本地后端能正常运行,部署到服务器会报错是什么原因

resource路径问题Could not resolve placeholder 'spring.redis.host' in value "${spring.redis.host}"守护进程nohup

2022-05-31 11:38:57 5716

原创 【SDU项目实训2019级】Failed: error unmarshaling bytes on document #0: JSON decoder out of sync - data chang

Failed: error unmarshaling bytes on document #0: JSON decoder out of sync - data changing underfoot?

2022-05-31 10:49:44 207

原创 【SDU项目实训2019级】阿里云服务器部署与环境配置Ubuntu之redis+mongodb的安装配置

我们的项目使用的数据库为redis+mongodb,所以我在Ubuntu 20.4(阿里云服务器)下配置安装了redis和mongodb,以下为下载安装过程:1.在Ubuntu下redis的安装配置1.wget命令下载安装cd /usrmkdir rediscd rediswget http://download.redis.io/releases/redis-5.0.8.tar.gz2.redis编译先把压缩包解压缩,然后进入该文件夹下:使用make命令进行编译:

2022-05-29 18:01:40 192

原创 【SDU项目实训2019级】(超详细)阿里云服务器部署与环境配置之后端vue项目

我们的项目是前端vue+后端springboot来实现的关于服务器的购买、远程连接、以及springboot项目的部署具体可以查看我的另一篇博客:(超详细)阿里云服务器部署与环境配置之后端springboot项目现在来看看前端vue项目在服务器上的部署:1.在服务器上下载安装nginxnginx安装:apt install nginx查看nginx的安装目录:ps -ef | grep nginx查看配置文件 nginx.conf 路径 :nginx -t.

2022-05-29 17:15:54 201

原创 【SDU项目实训2019级】(超详细)阿里云服务器部署与环境配置之后端springboot项目

目录1.购买云服务器2.使用本地应用连接到服务器3.项目环境配置1.配置Java的jdk2.redis安装和mongodb安装3.后端springboot项目部署4.前端vue项目的部署1.购买云服务器因为项目需要部署在服务器而非本地运行,于是在阿里云购买了云服务器ECS,现在新用户可以免费使用一个月,有需要的可以尝试一下。我选择的是Ubuntu 20.04 64位系统,然后公网ip和内网ip如上2.使用本地应用连接到服务器我使用的是Xshell连..

2022-05-29 16:30:47 332

原创 【SDU项目实训2019级】前端和后端实现手机短信验证码登录和注册功能

注册功能也类似,多几个判空条件(如名字、密码不能为空,用户是否存在,手机号是否已被注册,用户名是否已被注册),实现的流程相似,先通过手机获取验证码,将发送成功的验证码存到redis数据库,有效时间为5分钟,然后用户填写验证码,前端向后端发送请求,后端验证是否正确,正确则返回注册成功。......

2022-05-29 14:46:18 2683 1

原创 【SDU项目实训2019级】前端页面搭建、设计与展示,功能实现之登录页面

1.前端总体项目的搭建在配置文件main.js里面导入相关包,插件等,例如axios插件等。导入相关的js和css框架和动态样式,方便之后使用,例如bootstrap等框架,前端页面设计

2022-05-29 14:45:38 385 2

原创 【SDU项目实训2019级】阿里云服务器部署与环境配置 前端vue、后端springboot

我们的项目,前端vue+后端springboot,以下是我给我们项目在阿里云服务器的部署过程:

2022-05-28 13:33:06 117

原创 【SDU项目实训2019级】客户端服务端实现token保存用户状态信息(redis数据库)

中医汉英语料库资源平台:实现用户状态信息的保存(是否是登录状态)token实现思路 1.用户登录校验,校验成功后就返回Token给客户端。 2.客户端收到数据后保存在客户端 3.客户端每次访问API是携带Token到服务器端。 4.服务器端校验token状态。服务端使用redis保存用户token状态,存储的key-value是:key:userId + "_token"value:token字符串token字符串生成用的是UUID类,根据机器和时间生成唯一字符串首先先编写服务端生成t

2022-05-18 13:36:29 1001

原创 【SDU项目实训2019级】redis学习记录1

1.redis是什么redis是互联网技术领域使用最为广泛的存储中间件,[Remote Dictionary Service]->[远程字典服务],国内外很多大型互联网公司都在使用redis,如Twitter、GitHub、腾讯、阿里、华为等。redis已经成为当下中高级后端开发者绕不开的必备技能。redis能用来做什么?很多人第一个想到的就是“缓存”,没错,确实是。再然后呢?“分布式锁”,再后来呢,不知道了,确实是不知道了,接下来便来系统的学习理解redis背后的原理和实践经验吧。2.r

2022-05-16 21:25:55 178

原创 【SDU项目实训2019级】解决vue前后端分离使用ajax跨域问题 Access to XMLHttpRequest at ‘http://localhost:8081...

项目前后端分离,会报Access to XMLHttpRequest at ‘http://localhost:8081类似于这样的错误

2022-04-17 14:14:43 2196 1

原创 报错:UserWarning: find_elements_by_class_name is deprecated. Please use find_elements(by=By.CLASS...

爬虫遇到的小错误,UserWarning: find_elements_by_class_name is deprecated. Please use find_elements(by=By.CLASS_NAME, value=name) instead warnings.warn("find_elements_by_class_name is deprecated. Please use find_elements(by=By.CLASS_NAME, value=name) instead")

2022-04-11 10:33:40 3642 1

原创 【SDU项目实训2019级】学习过程记录——vue框架2

SDU项目实训2019级学习工作记录

2022-03-19 15:50:25 980

原创 【SDU项目实训2019级】学习过程记录——vue框架1

SDU项目实训2019级学习工作记录

2022-03-19 12:55:48 1524

原创 网络会议openmeetings下的openmeetings-util文件分析7

2021SC@SDUSC上篇文章分析了main下的:ConnectionProperties类、NullStringer类、OMContextListener类、OmException类、Version类。接下来将继续分析main下的类,还剩下OmFileHelper类、OpenmeetingsVariables类、StoredFile类、XmlExport类,则openmeetings-util包分析完毕。OmFileHelper类public class OmFileHelper {

2021-12-19 15:15:50 432 2

原创 Android Studio ndk-build 编译C生成.so文件

现在的Android Studio打包so文件有两种方式,第一种是ndk-build编译项目,还有一种用CMake脚本构建项目,在这里主要介绍ndk-build的编译过程,并记录自己的调试过程。1.下载安装ndk在下载ndk之前要安装好jdk和sdk并配置好环境,这里就不说了,自己之前是配好了的:为了编译和调试,需要安装ndk组件,Android 原生开发工具包 (NDK):这套工具集允许您为 Android 使用 C 和 C++ 代码,并提供众多平台库,让您可以管理原生 Activity.

2021-12-16 13:43:13 3935 2

原创 Android中关于组件setWidth()和setHeight()没反应的问题

因为程序需要,我必须在代码里,动态设置控制的高度或宽度。我想当然的用setHeight(100)和setWidth(100)设置了高度以及宽度,按照往常的想法以为这样就可以了,但偏偏没有生效,而且尝试了很久利用这个办法来改变其高度和宽度属性,始终没有起作用。View view = new View(this);layout.addView(view); //layout为我的布局view.getLayoutParams().width = 50; //这样设置view.getLayoutPa

2021-12-15 21:43:24 3208

原创 网络会议openmeetings下的openmeetings-util文件分析6

2021SC@SDUSC上篇文章对main下的类进行了分析,对ws下的IClusterWsMessage接口,main下的CalendarHelper类、CalendarPatterns类、ImportHelper类进行了分析。本篇将继续分析main下的类。

2021-12-15 13:54:02 1190

原创 网络会议openmeetings下的openmeetings-util文件分析5

2021SC@SDUSC上篇文章将分析src/main下的process文件夹下的类。总共三个类,分别是ProcessResult类、ProcessHelper类和ProcessResultList类,均已分析完毕。接下来文章将继续对main文件下的类进行分析。

2021-12-08 20:40:05 153

空空如也

空空如也

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

TA关注的人

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