- 博客(20)
- 收藏
- 关注
原创 VS code(Cursor)使用ssh连接远程服务器失败:Downloading VS Code Server failed. Please try again later.
wget: unrecognized option '--no-config' / Downloading VS Code Server failed. Please try again later.
2024-12-22 23:02:07
2125
6
原创 Git LFS上传大文件
后面正常push,其他的文件会以常规形式上传,大文件会上传到lfs的服务器,并返回到仓库一个链接。2、再运用git lfs track “*.zip” (这里的意思是zip文件标记为大文件)1、首先到项目目录下执行 git lfs install。自己记录一下(我是用的github mac客户端)
2024-02-19 22:17:31
490
1
原创 @JsonFormat 不起作用,日期数据返回毫秒数
今天遇到一个bug,后端一个接口返回给前端的json数据中,date类型字段返回的是毫秒数而不是格式化的日期数据,但其他接口是正常的。实体类字段是这样的@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="Asia/Shanghai") private Date gmtCreate;json转换是这样的httpServletResponse.getWriter().write(JSON.toJSONString(responseJso
2022-02-28 20:44:05
5244
原创 pytorch 一个tensor去除指定值的元素
可以用集合运行实现,但转换为set之后会删除重复值,所以接用np.isin实现。A = torch.tensor([1, 2, 3])B = torch.tensor([2])A[~np.isin(A, B)]np.isin还可以用于dataframe数据的过滤中,速度很快非常好用。
2022-02-18 18:36:02
5534
原创 Redis + Mysql 实现点赞功能
本文所有代码已在gitee开源 :freefancy1、需求首先说明功能需求:用户可以对动态点赞/取消点赞,用户可以查看已经点赞的动态,动态下显示点赞的数量和点赞的用户。2、分析传统数据库是可以实现这个需求的,动态表需要有一个字段like_num记录点赞数,另外需要一个表记录点赞,需要有的字段是用户iduser_id、动态idarticle_id、点赞状态status、创建时间gmt_create、最后修改时间gmt_modified。功能的实现也很简单不赘述。mysql应对查询可能还能应付,但点
2022-02-14 23:38:11
2584
6
原创 JWT过期处理——单token方案
前后端分离的项目中采用jwt作为接口的安全机制会遇到jwt过期的问题。jwt中可以设置过期时间,即使是设置成一个月,但可能用户正上一秒还在使用,下一秒jwt过期被叫去重新登录,这是不能接受的,所以需要有处理jwt过期的机制。在这个问题上比较常用的做法是采用双token——access token和refresh token来处理,access token用户授权,refresh token用于前者过期后获取新的access token。这里。我在这里记录我单token方案的思路。用户登录时生成t
2021-12-04 21:06:25
10098
1
原创 SpringBoot + SpringSecurity + JWT 实现后端校验
集成了SpringSecurity后,又花了一天时间集成了JWT,记录一下。0、一些背景HTTP是无状态的,我们不能确定两次请求是不是一个用户发出的,就必须要每次都进行认证。传统方法解决这个问题是采用session和cookie机制,虽然解决了问题,但有一些缺点:session通常是保存在内存中的,用户数量如果较多,服务器的压力大;因为session是保存在最初认证的那台服务器上,换了一台服务器又需要认证,不能很好的适应分布式的环境;有CSRF的风险。因为是基于cookie来进行用户识别的, c
2021-11-19 23:48:24
3196
原创 docker-Jenkins之Gitee Push后自动构建和运行
1、Gitee Push自动构建配置这一步官方文档讲得很清楚了,大家可自行参考配置。Gitee Jenkins插件官方文档这里提一嘴Gitee仓库中的webhook配置这里的URL来自于Jenkins 项目使用Gitee插件的配置中。WebHook密码也来自于配置gitee和jenkins的webhook密码保持一致。配置完成后点击测试,gitee会向jenkins发送消息,正常情况下jenkins中的项目就开始自动构建了。2、构建后自动运行我的项目是一个Springboot项目,
2021-11-17 16:33:38
1188
原创 docker-Jenkins之Maven项目构建(使用服务器环境)
我这里选择的方式利用服务器上的环境(jdk,maven等)。1、安装JDK,Maven现在服务器上安装好jdk和maven,我的安装路径是jdk: /usr/jdk/jdk8maven: /usr/maven/maven3.3.32、创建Jenkins的docker容器先拉镜像,最新的就可以docker pull jenkins创建容器,重点注意要挂载!我们先在服务器上创建目录 /var/jenkins_home,用来挂载jenkins的工作目录,另外我们需要将jdk和maven的目录挂
2021-11-16 18:02:39
1316
1
原创 SpringBoot全局处理异常并记录异常日志
SpringBoot版本:2.5.6@ControllerAdvice(类似的还有@RestControllerAdvice) 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping、@PostMapping, @GetMapping注解中。我们可以利用这个注解做SpringBoot项目的全局异常处理。package com.whut.idea.freefancy.common.exception;i
2021-11-11 22:54:52
2698
原创 pytorch-gradual-warmup-lr安装
项目的github地址:https://github.com/ildoonet/pytorch-gradual-warmup-lr1、命令行安装作者给出的安装方式:$ pip install git+https://github.com/ildoonet/pytorch-gradual-warmup-lr.git自己的环境有点问题,不能顺利安装。可以尝试离线安装。2、离线安装点开项目一看,其实就是一个.py文件,直接在自己的项目中新建一个文件,把scheduler.py内容复制过来即可。
2021-11-05 22:56:17
1319
原创 java.sql.SQLException: Access denied for user ‘‘@‘localhost‘ (using password: YES)
springboot连接数据库时报错java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)开始我的数据库连接是这么写的spring: datasource: password: 123456 url: jdbc:mysql://localhost:3306/env_text?serverTimezone=Asia/Shanghai driver-class-name:
2021-10-20 20:49:41
4103
2
原创 SpringBoot异常处理及其原理——源码学习
SpringBoot版本:2.3.4应用SpringBoot默认的异常处理机制是:对于浏览器客户端,返回一个白页(whiteLable)对于机器客户端,返回一个json,包含错误信息自定义错误页面页很简单,只要在静态资源路径里放置我们的页面,并用4xx.html和5xx.html命名,就把相应状态码的异常映射到相应的页面。原理下面来探究一下原理在控制器方法中设置一个除零错。@RestController@RequestMapping("/demo")public class
2021-10-20 13:10:50
532
原创 SpringBoot拦截器的使用及其原理——源码学习
该文的SpringBoot版本:2.3.4SpringBoot在web场景下,底层使用的是SpringMVC,所以这篇文章讲的本质上还是SpringMVC的内容。1、拦截其的使用使用拦截器有三步:实现HandlerInterceptor接口下的三个方法,分别是preHandle,postHandle,afterCompletion在WebMvcConfigurer中注册配置拦截路径和放行路径1.1实现HandlerInterceptor接口public class myIntercept
2021-10-19 17:12:38
667
原创 SpringBoot请求返回值处理与内容协商——源码学习
SpringBoot的web场景中,底层依然使用的是SpringMVC,框架会根据请求url找到它对应的handler,然后再找到该handler的handlerAdapter,handlerAdapter先回处理handler(controller.method())的形参,然后执行该方法,并返回方法的返回值,对应源码ServletInvocableHandlerMethod.invokeAndHandle()中的第一行,但这个返回结果并不能直接返回,而是需要进行进一步的处理,public void i
2021-10-19 14:08:07
474
原创 SpringBoot请求处理之控制器参数处理——源码学习
在DispatchServlet的doDispacth方法中,通过mappedHandler = getHandler(processedRequest);获得请求应用的处理器(controller.method())和拦截器,但没有立刻执行处理器中对应的方法,而是通过HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());获得一个处理器的适配器,这个适配器主要是为了在原有处理器基础上,处理请求参数的返回值。这里面包含了大量的工作,
2021-10-18 21:22:11
354
原创 SpringBoot请求处理之获取处理器——源码学习
在springboot中,请求会交由doDispatch()方法处理,其中调用mappedHandler = getHandler(processedRequest);,我们来看看它具体的获取过程。protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception { if (this.handlerMappings != null) { for (HandlerMapping mappi
2021-10-18 15:50:07
487
原创 SpringBoot请求处理过程(简略)——源码学习
在springboot的web场景中,底层依然是使用的spring mvc,收到的所有请求都要交由dispatchservlet来处理。DispatchServlet的继承关系:在原生的java servlet中,请求会交给service()方法处理,spring MVC是对原生servlet的封装,自然也是如此。在HttpServlet中,该类重写了service()方法,并将请求根据不同的方法分发给不同的doXXX()处理,后面的子类只有FrameworkServlet重写了service()方法
2021-10-18 13:51:47
836
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人