- 博客(48)
- 收藏
- 关注
原创 在 VSCode 中调试 Jest 的测试用例,VSCode调试Jest测试用例报错basedir=$(dirname “$(echo “$0“ | sed -e ‘s,\\,/,g‘)“)解决
步骤首先,如果没有launch.json文件,需要打开VsCode的运行和调试选项卡(快捷键Ctrl+Shift+D)创建launch.json文件然后,在launch.json中配置如下:{ "version": "0.2.0", "configurations": [{ "name": "Debug Jest Tests", "type": "node", "request": "launch", "runtimeA
2022-04-21 22:46:43 1409
原创 Js读取Cookie中指定字段的值,Js中读取某个Cookie,Js中根据Cookie的key得到对应的value,Js正则表达式匹配指定的Cookie
Js中想要读取Cookie中指定字段的值,可以遍历Cookie根据指定Key提取Cookie,或者使用正则表达式匹配Cookie,代码如下:/** * @description: 遍历cookie得到指定cookie * @param {string} cookieName * @return {*} */function getCookie(cookieName) { const strCookie = document.cookie const cookieList = strCoo
2022-04-12 22:26:52 1960
原创 ES6中Class的方法不可遍历的原因,TS中遍历Class的方法出现二义性的问题
前言今天写了一段Ts代码,发现编译成ES5和ES6时的执行结果居然不同,花了点时间学习了一下,总结如下。问题在ts代码中,使用in操作符遍历对象成员,将代码编译成ES5和ES6时,结果是不同的。原因es6中class的所有非静态方法虽然是定义到原型对象上的,但是却是不可遍历的,源码如下// 为target对象添加属性function _defineProperties(target, props) { for (var i = 0; i < props.length; i++)
2022-04-03 21:04:05 1527
原创 彻底搞懂Js中this指向,Js中this通俗易懂讲解
静态作用域与动态作用域Javascript 采用的是词法作用域(静态作用域),也就是说函数的作用域(可以访问到的变量)在函数定义的时候就确定了。与之相反的是动态作用域,即函数的作用域在函数调用时才确定。下边的代码可以很好的说明Js是一个静态作用域语言,如果函数的作用域是在运行时确定的话,运行foo函数时, 从 foo 函数内部没有找到局部变量 value后,会从调用函数的作用域,也就是 bar 函数内部查找 value 变量,那么会打印 2。Js引擎底层的实现为:函数在定义的时候,会把其所属环境(全
2022-03-26 10:56:08 1513
原创 Js isNaN()和Number.isNaN()、isFinite() 和 Number.isFinite()
isNaN()和Number.isNaN()当我们向isNaN传递一个参数时,它的内部实现是:通过Number()方法,尝试将参数转换成Number类型,如果成功返回false,如果失败返回true。 所以,isNaN只是判断传入的参数是否能转换成数字,并不是严格的判断参数是否等于NaN。Number.isNaN()会判断传入的参数是否严格的等于NaN (===)。console.log(isNaN('123')) //fasle,字符串类型的123能转成数字,所以返回falsecons
2022-03-15 22:25:05 623
原创 Js数字型范围,Js能表示的最大和最小值,Number.NEGATIVE_INFINITY 和 -Infinity,Number.POSITIVE_INFINITY和Infinity
Js数字型范围(Js能表示的最大和最小值)最大值Number.MAX_VALUE这个值为: 1.7976931348623157e+308,即Js能表示的最大的正数最小值Number.MAX_VALUE,这个值为 -1.7976931348623157e+308,即Js能表示的最小的负数正数的最小值Number.MIN_VALUE,这个值为:5e-32无穷大与无穷小Number.POSITIVE_INFINITY 和 Infinity 都代表无穷大,是一个大于任何数的数值, IEEE 75
2022-03-15 22:17:56 2498
原创 通俗易懂Json Web Token (JWT)
前言之前只是了解JWT是对cookie和session的一种升级方案,在前后分离的项目中用的比较多,今天突然好奇,它到底怎么解决session共享的问题的,觉得大概明白后,总结了一下相关知识。基于session认证所显露的问题session数据默认是保存在服务器内存中的,而随着认证用户的增多,服务端的开销会明显增大。因为session是保存在服务器内存中的,在分布式的应用上,不能保证每次都请求到同一台服务器,相应的限制了负载均衡的能力,只能通过服务器之间的session共享解决问题。session
2022-03-11 15:32:23 5997
原创 Hexo Matery主题添加百度统计
前言网站之前一直用的不蒜子统计,没有添加百度统计,今天心血来潮,想用一下。步骤首先需要注册百度统计账号,注册好账号后,点击管理-网站列表-新增网站,如图:添加好网站后,点击获取代码:可以看到百度统计的启用代码,这部分代码添加到我们的网站中后,就可以应用百度统计了。如果是自己写的前台页面,需要自己把这部分代码添加到页面中。而Matery已经为我们准备了这部分代码,在themes\matery\layout\_partial\baidu-analytics.ejs这个文件中。文件中代码如下
2022-03-04 11:49:43 904
原创 Js无分号代码风格注意事项(可能会导致力扣WA)
前言今天刷力扣的时候碰到一道题:链表相交,个人觉得我的思路明明是正确的,代码也没问题,却一直WA(能通过大部分测试用例)。WA的代码如下:const getListLen=(head)=>{ let cur=head let num=0 while(cur){ num++ cur=cur.next } return num}/** * @param {ListNode} headA * @param {ListN
2022-02-28 21:15:42 233
原创 Vue中.vue文件比main.js先执行的问题
问题在main.js,App.vue和两个子组件(A.vue和B.vue)中分别输出语句,查看他们的加载顺序:main.jsimport Vue from 'vue'import App from './App.vue'Vue.config.productionTip = falsenew Vue({ el: '#app', render: h => h(App), beforeCreate() { Vue.prot
2022-02-17 19:39:28 4359 4
原创 Js判断一个对象有没有某一个属性的总结(包含hasOwnProperty方法和in运算符的使用)
前言记录我在判断一个对象有没有某一个属性时的一些总结,错误方法是踩过的坑,只想看判断方法可以直接跳到正确方法部分。错误方法如果我们想判断一个对象有没有某一个属性,不能用对象.属性名或者对象[属性名]的方式,这种方式实现的功能是判断对象的属性值是否为真。var str = 'abcoefoxyozzopp';var o = {};for (var i = 0; i < str.length; i++) { var chars = str.charAt(i); // chars 是 字
2022-02-02 20:52:33 1596
原创 TensorFlow 2.0之后动态分配显存
import tensorflow as tf config = tf.compat.v1.ConfigProto()config.gpu_options.allow_growth = Truesess = tf.compat.v1.Session(config = config)tf.compat.v1.keras.backend.set_session(sess)
2022-01-17 20:15:56 1503
原创 Js基本包装类型(含原理)
前言错误理解:之前对Js基本包装类型的理解是,当我们创建了一个基本类型的变量时,Js会自动为我们将其包装成基本包装类型的实例,所以我们才能直接调用它的属性的方法。// 因为基本包装类型的存在,下边代码可以执行,我们可以直接对基本类型调用方法let str = 'hello'substr = str.substring(2)其实关于str到底是什么类型,我也没有太在意过,今天偶尔的一个测试却让我发现事情没有那么简单。可以看到,str不是一个实例对象,而是一个基本类型变量var str = "
2022-01-15 15:24:28 1637 1
原创 Python中使用jpype调用Jar包中的方法
安装pip install jpype1(注意要加后边这个1)使用基本流程如下:使用jpype开启jvm加载java类调用java方法关闭jvm说明我这里是在Python中使用Java的第三方抽象语法树包JavaParser(Python中的javalang实在太难用了),实现得到一个类文件中的所有的方法的功能代码Python代码:import jpypeimport osimport jsonif __name__ == '__main__': # 加载jar包
2022-01-13 16:32:38 1401
原创 Docker中的Oracle无法启动sqlplus(Error 6 initializing SQL*Plus,You may need to set ORACLE_HOME 错误解决)
错误复现进入docker的oracle容器docker exec -it oracle11g bash启动sqlplussqlplus /nolog此时报错Error 6 initializing SQL*PlusSP2-0667: Message file sp1<lang>.msb not foundSP2-0750: You may need to set ORACLE_HOME to your Oracle software directory解决在oracle
2022-01-07 14:54:57 4652
原创 Vue中为什么要引入render函数?
前言网上有很多关于Vue中render函数的用法,那么为什么要有这个函数呢,记录我的一点理解。背景Vue有两大部分组成,一个是核心功能,包括生命周期、事件处理等内容,另一部分是模板解析器,用来对Vue模板进行解析。Vue.js中包括了这两部分的全部内容(即完整版的vue),但是这样会有一个问题,当项目开发完毕进行打包时,打包后的文件会引入完整版vue的全部代码,但是实际上打包后的输出文件中已经不需要Vue模板解析器部分的代码了(模板已经被解析好了,浏览器可以直接运行),引入完整版Vue只会增大打包后
2022-01-07 12:58:47 1235 1
原创 Docker启动报错unable to configure the Docker daemon with file daemon.json:cannot unmarshal s…[]错误解决
服务器重启后,发现Docker启动不起来了[root@iZ2ze9d5m6vjfbqzb49i5qZ ~]# systemctl start dockerJob for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.按照提示,使用systemctl statu
2022-01-06 17:58:02 2626
原创 在Linux服务器上通过Docker配置Oracle11g数据库,并导入dmp数据库表(内含ORA-12899、oracle error 1错误解决)
前言之前维护的一个项目要重新部署到阿里云服务器上,记得之前学后端的时候Docker貌似比较火,使用它配置环境也比较简单,所以打算使用Docker配置。由于之前从来没有在服务器上配置过Oracle,所以来记录一下配置过程。Docker安装Oracle11g网上搜了一下,发现大家都是用的一个阿里的oracle镜像,于是我也用的这个拉取oracle_11g镜像docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g创建orac
2022-01-05 20:55:02 1808
原创 WPF中ComboBox中的TextChanged事件
前言最近在做WPF项目,有一个需求是用户在文本框搜索的时候,弹出下拉框预测用户想输入的信息,一开始想用TextBox做,后来觉得写下拉框的UI太麻烦了,于是换了一种思路,改用ComboBox做,只要每次在文本改变时换一下他的ItemsSource即可。问题一开始迟迟找不到ComboBox的TextChanged事件,用的是keyUp来做,每次keyUp时获取ComboBox中的文本内容,但是这样会有种种bug,后来用了TextChanged后完美解决。解决TextBoxBase.TextChang
2021-09-12 10:32:08 5983 1
原创 通俗理解word2vec
独热编码独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。举个例子,假设我们有四个样本(行),每个样本有三个特征(列),如图:我们的feature_1有两种可能的取值,比如是男/女,这里男用1表示,女用2表示。feature_2 和feature_3各有4种取值(状态)。one-hot编码就是保证每个样本中的单个特征只有1位处于状态1,其他的都是0。上述状态用one-hot编码如下图所示:
2021-06-10 10:46:08 151
原创 Thymeleaf中使用th:inline内联在JS代码中获取Model值不会更新的问题
前言最近在用Thymeleaf,发现在Js取出Model中的值后,如果Model中的值刷新了,Html页面中Model的值会刷新,但是JS中的值不会刷新,记录一下具体问题和解决方法。问题及解决先放一下之前有问题的代码:Html:<a th:text="${currentTypeNum<totalTypeNum}?'...':'收起'" class="ui large basic label m-margin-tb-tiny m-black" id="showOrHideType" t
2021-05-14 18:24:37 517
原创 SourceTree无法显示本地分支和远程分支的解决办法
打开 SourceTree导航栏的 工具- 选项- git,将推送分支由简单变为匹配,如下图:
2021-05-07 19:32:07 3165 2
原创 SonarQube安装及使用
前言最近需要使用SonarQube分析一下项目,简单记录一下下载安装和使用过程。下载安装7.4版本下载地址:链接:https://pan.baidu.com/s/1TBrO0kSy_5HOpbRUxzeDRw提取码:4ajt下载SonarQube之前,需要已经配好了JDK和MySQL的环境(数据库也可以不用MySQL)我这里使用的是JDK8和MySQL5.6.40,SonarQube使用的是7.4版本,一开始下载了最新版本(8.9),发现需要JDK11才能使用,果断放弃了,下载了支持JDK8的
2021-05-07 10:20:23 1753
原创 The temporary upload location [/tmp/tomcat.676427832.80/work/Tomcat/localhost/ROOT] is not valid错误解决
前言今天用到了项目的图片上传,发现之前好好的图片上传,今天突然传不上去了,记录一下解决过程。问题图片传不上去后,查看了一下日志报错,报错信息如下:org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomca
2021-03-31 17:01:17 785
原创 Oracle 11g数据库安装及数据库表的导出导入
前言之前项目一直连的是学校服务器上边的Oracle数据库,但是在外边连不上学校内网,项目也就启动不起来了,所以想在自己电脑上安装并配置好数据库,在这里记录一下Oracle数据库的安装配置及导入导出过程。安装Oracle 11g 官网下载地址:https://www.oracle.com/cn/technical-resources/百度云:链接:https://pan.baidu.com/s/1FI7hMGVb-duT730aYtbgvw提取码:kmcd下载完成后,将两个压缩包解压到同一个空的文
2021-03-29 21:29:33 314 1
原创 editorMd插件的使用总结(包括开启图片上传及拖拉粘贴上传图片)
前言最近搭建个人博客需要用到markdown编辑器,editorMd应该算是目前比较主流也比较好用的了,简单记录一下使用方法,直接上代码。HTML:(使用了semantic ui框架,其实只要有一个带id的div包裹一个textarea就可以使用了)<div class="required field"> <div id="mdContent" style="z-index: 1 !important;"> <textarea th:text="*{conten
2021-03-10 09:53:45 1627
原创 百度图片上传插件WebUploader的使用
前言最近在搭建个人博客,前端ui用的semantic ui,找了半天居然没看到图片上传组件,于是决定使用第三方的,比较了一下,决定采用百度的图片上传插件,踩了很多坑,下边是使用方法,话不多说,直接上代码WebUploader的使用HTML<div id="uploader-image" class="uploader-image-container"> <p style="font-size: 12px;font-weight: bold;color: rgb(187, 187,
2021-02-24 22:44:51 404
原创 Java工程国际化的使用
Java国际化Java 国际化的思想是将程序中的信息放在资源文件中,程序根据支持的国家及语言环境读取相应的资源文件在springboot项目中的简单使用(项目未前后分离)1.在对应路径下建立如下目录和资源文件(建立i18n目录并不是必要的,只是规范,资源文件的名字是固定的,不能自己取)下边三个资源文件,会在中文环境读取messages_zh_CN.properties,在英文环境读取messages_en_US.properties,都不匹配则读取message.properties2.在app
2021-02-24 22:03:47 270
原创 Thymeleaf中th:inline的用法,Thymeleaf在js代码中取出model的值,Thymeleaf内联[[]]
前言最近一直在使用thymeleaf,取后端的文本数据一直是用的th:text,今天才知道有个简单的写法,记录一下。thymeleaf渲染数据使用thymeleaf,我们可以做到先在页面中写好静态数据查看页面的效果,而当程序真正执行转发或重定向到该页面的时候,由thymeleaf帮我们从后台取出真实数据并渲染。比如下边代码,我们查看静态页面的时候,h3中的内容是hello,而程序运行时,则会通过thymeleaf结合el表达式加载model中的数据进行显示<h3 class="ui head
2021-02-01 18:53:13 2270
原创 boolean类型变量以is开头时导致springMVC无法获取到正确值的问题
前言记录前段时间的一个bug,当时坑了我好久,要不是出于偶然发现原因,估计可能现在都没有解决。问题在用thymeleaf和springboot的时候发现前台一个boolean类型的变量传递到后台的值一直有问题,无论前台是true还是false,到后台获取到的都是false,对此我很是费解,反复确认后台接口和前台请求都是没有问题的,是对应的,仔细调试发现前台提交后boolean值还是true,一进到后台接口就变成了false,简直是让人吐血,一时间不知道怎么下手,病急乱投医,没想到把变量名改了居然解决了
2021-01-27 19:15:18 1513
原创 利用spring data的page和pageable实现分页查询
前言总结一下利用pageable和page实现分页查询的方法PageablePageable 是Spring Data中定义的一个接口,用于构造分页查询请求,通过该接口,我们可以得到和分页查询请求相关的所有信息,这样,Jpa就能够通过Pageable来查询数据库。Pageable的属性如下:{ "page"://查询第几页,从0开始,默认为0也就是查询第一页 "size"://每一页的显示的数量,默认为20 "sort"://排序相关的信息,可以指明查询结果在页面显示的排序方式}
2021-01-24 15:43:22 2448
原创 An error happened during template parsing(template:“class path resource [template/*/*.html]“)错误解决
解决我是用thymeleaf的时候遇到了这个问题,在后端接口找了半天最后发现是页面写错了,不小心漏掉了一个引号,出现这个问题建议仔细检查页面,有没有少打了},”,@,$等等,少打了或者符号没有对齐页面也不会报错,有点坑。...
2021-01-23 20:46:20 5552
原创 @PathVariable设置路径参数可选的方法
前言最近从头开始搭一个项目,用到了@PathVariable注解,这个注解之前没有用过,踩了一些坑,记录一下。问题用这个注解是想做简单的增改,想法也很简答:前端修改和添加都请求同一路径/toSaveOrUpdateType/{id},如果有id则是修改,没有则是添加,但是实现的时候遇到了一些问题,前端用的是thymeleaf,添加的请求路径为th:href="@{/toSaveOrUpdateType/{id}(id=null)}",修改的请求路径为th:href="@{/toSaveOrUpdate
2021-01-23 20:37:04 1567
原创 Spring Data Jpa实体类自动创建数据库表失败
前言最近从头开始搭一个项目,发现写好了实体类后,Jpa并没有帮我自动生成数据库表,困扰了我几个小时,终于解决了,记录一下。问题问题很简单,就是写好了实体类,Jpa并没有帮我生成数库表,也没有报错。遇到这个问题,我首先检查了自己的实体类和实体类之间的关联,确认再三,发现都是没有问题的,然后又想到会不会是实体类的属性用到了MySQL的保留字,毕竟之前出过这种问题,很不幸,我一个一个查了实体类中的属性,发现都没有和MySQL保留字重名。然后又从网上查了很多办法,包括重启MySQL服务,把启动类和实体类放
2021-01-20 15:57:42 596 2
原创 Could not initialize class sun.awt.X11GraphicsEnvironment,java.awt.HeadlessException解决办法
前言最近甲方突然提出了一个新需求,web端登录的时候,在用户输入密码错误过多的情况下,需要显示验证码,并输入验证码进行登录,感觉不是很难,从网上随便找了个Java生成验证码的类,并自己加了一些显示和隐藏的逻辑后,功能完成了,在Windows上也使用正常,但是部署到Linux上的时候出现了问题问题一开始部署到Linux服务器上之后,验证码显示不出来,于是测试了一下生成验证码的接口,果然报错了:报错信息如下:HTTP Status 500 - Handler processing failed; n
2020-12-22 15:13:53 11308
原创 MySQL密码正确但是启动报错Unable to create initial connections of pool.Access denied for user ‘root‘@‘localhost
问题最近导入了一个SpringBoot项目,在本地配置好之后,项目启动一直报错:2020-12-17 15:46:42.136 ERROR 19320 — [restartedMain] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using
2020-12-17 16:58:18 1298
原创 double类型不能进行精确计算的问题
前言最近在维护一个wpf项目,甲方今天突然发现了一个bug,如下:也就是说,用户输入了一个有两位小数的数字,但是我们的校验发生了错误。问题项目中原始代码的校验方法如下:看了代码后感觉写的还是挺聪明的,代码中将用户输入小数的100倍取整,并和这个小数的100倍进行比较,若小于则说明用户输入了两位以上的小数,而问题就出在了他使用的是double进行计算,double作为双精度浮点数,本来就是由若干位的底数和指数的形式表示的,它本来就是不精确的,只能用它进行存储,不能用它进行计算,这里计算结果如下:
2020-12-16 21:52:28 1866 3
原创 Wpf设置Window的Icon路径(System.Windows.MarkUp.XamlParseException处理)
前言手上的项目用到了wpf,之前也没有学过,作为一个初学者,在给窗口设置图标的时候出现了问题,下边来记录一下:问题我在一个窗体里边设置的图标路径如下:Icon="Resources/32.ico"这里Resources是我项目文件夹下边的一个文件夹,可是当我运行的时候,总是报下边的异常:一开始还没有想到是图标路径的错误,把我的代码一点一点注释,最后才发现是图标路径出了问题换成如下的两种写法都可以解决问题:Icon="/Resources/32.ico"或者Icon="pack://ap
2020-12-12 20:43:45 3201 1
原创 Java YYYY/MM/dd遇到跨年日期的问题
前言2020年12月26号和27号这两天,即将迎来21考研,如果我们用YYYY/MM/dd来格式化这两个日期,那考研可真是”度日如年“啊!考之前还是20年,考了个研都变成了21年。YYYY与yyyy这是怎么回事呢?我们用SimpleDateFormat格式化日期的时候,有YYYY/MM/dd和yyyy/MM/dd这两种格式,而YYYY和yyyy是有区别的,在官方文档中对YYYY的解释是 week-based-year,表示当天所在周属于的年份,每周以周日开始,周六结束,而每周的年份是怎么确定的呢?是以
2020-12-11 21:43:05 1131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人