- 博客(169)
- 问答 (1)
- 收藏
- 关注
原创 Centos7环境下更新PHP7.3到PHP7.4(WordPress)
近日在对个人网站例行维护时,发现WordPress 后台的站点健康提示推荐更新 PHP 7.4。
2023-06-05 14:49:54
189
原创 CentOS + Nginx 环境自动申请和部署Let‘s Encrypt免费SSL证书教程
本文介绍如何在 CentOS + Nginx 环境下,自动申请和部署Let’s Encrypt免费SSL证书。
2023-06-05 08:52:05
94
原创 若依如何修改超级管理员登录密码
数据库找到sys_user表,复制System.out.println(result)打印出来的值,将admin的password改掉。进行密码加密是Spring Security推荐的安全做法,可以保证密码在存储和验证过程中的安全性。方法来修改超级管理员的密码。1.随便在哪个地方写个main 方法。通过以上步骤,你可以使用。
2023-05-30 18:35:39
577
原创 Springboot中拦截器和过滤器的区别
虽然拦截器和过滤器的功能有些重叠,但它们的应用场景不同。拦截器用于拦截请求并执行某些任务,而过滤器用于过滤和修改请求或响应。
2023-05-30 09:28:30
461
原创 若依源码解析:代码生成ruoyi-generator
若依的代码生成器模块(ruoyi-generator)可以根据数据库表的设计信息和配置的模板,自动生成相应的Java代码文件。代码生成器使用Velocity作为模板引擎,根据模板文件中的占位符和变量替换规则,将元数据信息嵌入到生成的代码中,生成具体的代码文件。通过导入表结构和生成代码两个后端接口,实现了快速导入数据库表结构和生成代码的功能。
2023-05-29 09:49:25
543
原创 若依源码解析:图片验证码生成
若依通过合理的验证码生成流程和相应的代码实现,为应用程序提供了生成图片验证码和基于数学运算的验证码文本的功能,以增加系统的安全性和防护能力。本文讨论了若依(Ruoyi)生成图片验证码的过程以及相关代码。首先,我们了解了生成图片验证码的基本步骤,包括生成随机字符串、创建图片对象、绘制背景和文本、添加干扰线等。接下来,我们分析了若依中的验证码生成控制器,它根据配置的验证码类型,在后台生成对应类型的验证码,并将验证码图片以Base64编码的形式返回给前端页面。
2023-05-28 11:20:03
1026
原创 定制底部footer bug:切换tab时position fixed会抖动
当元素祖先的 transform、perspective、filter 或 backdrop-filter 属性非 none 时,容器由视口改为该祖先。fixed的元素的父级元素有任意一个的 transform、perspective、filter 或 backdrop-filter不为空,则会基于这个容器而定位,而不是浏览器窗口了。element-admin在切换tab的时候,会有一个动画效果,是基于transform来实现的。
2023-05-27 23:05:45
645
原创 若依源码解析:pagehelper和mybaties进行分页
在BaseController中有一个startPage()方法用于设置请求分页数据/*** 设置请求分页数据} }setLocalPage是将page保存到本地线程变量里面。/*** 开始分页* @param pageNum 页码* @param pageSize 每页显示数量* @param orderBy 排序} ··· /*** 开始分页* @param pageNum 页码* @param pageSize 每页显示数量。
2023-05-22 08:35:05
319
原创 若依源码解析:DataScopeAspect实现数据范围的控制
*** 部门表的别名/*** 用户表的别名/*** 全部数据权限/*** 自定数据权限/*** 部门数据权限/*** 部门及以下数据权限/*** 仅本人数据权限/*** 拦截带有@DataScope注解的方法* 它接收JoinPoint和DataScope对象作为参数。拦截带有@DataScope注解的方法* DataScope是一个注解类。
2023-05-21 10:50:34
603
原创 若依源码解析:用LoggingAspect进行日志处理
本文将深入探讨若依框架中的LoggingAspect切面的作用和重要性。LoggingAspect是若依框架中用于实现日志记录功能的切面组件,它通过切点和切面的概念,将日志记录逻辑与业务逻辑解耦,实现非侵入式的日志记录。文章首先介绍了切面编程和AOP的概念,然后重点讨论了LoggingAspect的作用,包括捕获方法调用、记录日志信息以及提供代码重用和可维护性等优势。此外,文章还解释了@Pointcut注解的作用,它用于定义切点表达式,精确定位目标方法。
2023-05-20 23:15:50
322
原创 若依源码解析:防止表单重复提交@RepeatSubmit、RepeatableFilter、RepeatedlyRequestWrapper和RepeatSubmitInterceptor
若依(Ruoyi)是一款基于Spring Boot和MyBatis的开源后台管理系统,它提供了一系列的拦截器(Interceptor)用于处理请求。其中,RepeatSubmitInterceptor(重复提交拦截器)是若依系统中的一个关键拦截器,用于防止用户重复提交表单请求。在Web应用程序中,用户可能会重复提交表单,例如在点击提交按钮后多次点击或者网络延迟造成用户误以为提交未成功而再次提交。这可能导致一些问题,例如重复的数据插入或重复的业务逻辑处理。
2023-05-17 19:00:48
103
原创 springboot源码解析:用@RestControllerAdvice和@ExceptionHandler处理全局异常
本文讨论 Spring Boot 中的注解及其作用。注解用于定义全局异常处理器和全局数据绑定设置。它标记的类可以处理全局范围内的异常,并根据定义的处理方法执行自定义逻辑。我们还探讨了 Spring 底层是如何实现和处理的。Spring Boot 使用基于注解的配置方式,通过扫描和初始化标记了注解的类来创建全局异常处理器。该类中的方法使用注解来标记,用于处理特定类型的异常。通过 AOP 和事件机制,Spring 在关键的处理流程中拦截、处理异常和数据绑定,并使用。
2023-05-17 14:22:54
303
原创 面试官:java中Date与LocalDateTime的区别
本文探讨了Java中Date和两个日期和时间类的区别。Date是Java早期引入的日期和时间类,而是Java 8中引入的新日期和时间类。Date是可变类,容易引发线程安全问题,而是不可变类,更加可靠和可维护。Date考虑系统时区,而不带时区信息,如果需要处理时区,可以使用类。Date精确到毫秒级别,但设计存在问题,容易出错。提供了更好的精确度,可表示纳秒级别的时间。Date的API设计相对较旧,不够直观,部分方法已过时。的API设计更现代化、易于使用,并提供了方便的方法来处理日期和时间。
2023-05-16 10:59:29
256
原创 若依源码解析:RuoYi-Vue登录和鉴权的实现
若依(RuoYi)是一款基于 Spring Boot 和 Vue.js 的开源权限管理系统,若依登录和鉴权的实现还包含验证码的生成与校验,这是为了增加系统的安全性,防止恶意攻击和暴力破解等行为。验证码生成前端页面:登录页面中的验证码显示区域,通常位于 Vue.js 的 src/views 目录下。验证码 API:后端应用的验证码接口。该接口接收请求并生成验证码图片,并将验证码字符保存在 Redis 或者内存中。
2023-05-15 08:58:00
533
原创 若依源码解析:RuoYi-Vue权限系统设计
若依(RuoYi)是一款基于Spring Boot和Vue.js开发的快速开发平台,它的权限管理是通过RBAC(Role-based Access Control 基于角色的访问控制)模型来设计的。RBAC模型将权限控制分为角色管理和权限管理两个部分。在若依中,角色是指对系统的一类用户或操作者的定义,而权限是指对系统中某个资源或操作的访问控制。通过为每个角色分配相应的权限,可以实现对系统的全面管理和控制。
2023-05-11 16:04:23
991
原创 php+nginx部署wordpress,如何设置nginx配置文件
本文是关于在CentOS上使用Nginx和PHP部署WordPress的指南。文章提供了一个Nginx配置文件示例,该示例包含了监听端口、网站域名、网站根目录、WordPress主页面配置、PHP解释器配置等多个方面的内容。并解决了wordpress文章发布后,nginx报404,413 Request Entity Too Large两个问题。需要根据实际情况进行相应的修改。
2023-05-02 10:43:58
632
原创 解决wordpress 没有“add new“按钮
禁用插件和主题更新和安装,这将阻止用户使用WordPress管理区域中的插件和主题安装/更新功能。设置此常量还会禁用“插件和主题”编辑器(即,您不需要设置DISALLOW_FILE_MODS和DISALLOW_FILE_EDIT,因为它本身具有DISALLOW_FILE_MODS的作用)。禁用插件和主题编辑器,有时您可能希望禁用插件或主题编辑器,以防止过分热心的用户能够编辑敏感文件并可能使站点崩溃。如果黑客获得了特权用户帐户的访问权限,则禁用这些功能还可以提供额外的安全保护。
2023-05-02 10:28:45
912
原创 WordPress 不使用ftp更新
每次 WordPress 有插件或主题更新都要用 FTP,服务器没有搭 FTP 或者嫌输密码太麻烦,怎么破?我们可以通过 wp-config.php文件来解决,另外,nginx和php的配置也要略加修改,不然会因为文件太大而上传不了。
2023-05-01 12:00:55
641
原创 CentOS+nginx手动搭建WordPress
进入移动后的WordPress路径下,软连接配置文件wp-config.php。systemctl enable php73-php-fpm #开启开机自启。编辑wp-config.php文件。
2023-05-01 11:46:50
678
原创 解决 WordPress 出现 413 Request Entity Too Large和 uploaded file exceeds the upload max filesize错误
nginx配置改完以后还有会出如下错误,uploaded file exceeds the upload max filesize,这个是php上传文件限制,可以在php.ini文件改一下。这个是nginx上传文件的大小限制,可以在nginx配置文件里面改一下。client_max_body_size改成你想要的大小。
2023-04-28 10:40:26
34
原创 nginx部署vue项目,给访问路径加前缀的方法:vue.config.js配置publicPath和nginx配置alias
本文主要涉及到 Vue.js 项目部署在 Nginx 上的相关问题。其中,publicPath 选项可以用于设置 Vue.js 项目的访问路径前缀,alias 指令可以用于 Nginx 中将请求路径映射到指定的文件系统路径。同时,通过设置 Nginx 配置文件,可以将多个 Vue.js 项目部署在同一个域名下的不同路径中。使用 alias 指令可以更加方便地管理多个 Vue.js 项目,并使配置文件更加简洁易读。
2023-04-18 11:09:11
1072
原创 经营软件公司五年,从外包到SaaS的踩坑笔记
经营公司已有五年,经历了三年的疫情停滞,现在正在转型为一家SaaS公司。虽然曾经迷茫过,但现在我深感庆幸当初成立公司的决定,并由衷感激所有支持我坚持下来的家人和朋友。封面展示了我的合伙人在西藏拍摄的照片,令人赞叹它的美丽。在这个过程中,我们踩了不少坑,但也积累了宝贵的经验。以下是我们的采坑笔记,希望能够与大家分享和探讨。
2023-04-18 08:48:32
537
原创 HR:面试官最爱问的linux问题,看看你能答对多少
本文介绍了Linux系统的常见面试题,主要包括文件系统管理、环境配置、进程管理、系统资源使用情况、网络设置、任务调度器、软件包管理和系统日志查看,希望对你有所帮助。当然,在面试中,你可能会遇到更多针对具体工作和岗位的问题,要做好充分准备。祝你面试成功!
2023-04-16 13:25:40
339
原创 关于VS CODE,面试官最爱问的问题都在这了
本文讨论了一些关于VS Code的问题,包括VS Code的常用快捷键、如何安装和使用插件、如何设置代码格式化、如何进行代码片段编辑、如何进行远程开发和如何使用任务功能。这些问题都是在VS Code开发环境中可能会遇到的面试题。以下是一些可能会在 VS Code 开发环境中遇到的面试题,希望对你有所帮助。当然,在面试中,你可能会遇到更多针对具体工作和岗位的问题,要做好充分准备。祝你面试成功!
2023-04-16 13:03:51
213
原创 HR:这些IntelliJ IDEA的面试题,请好好看看
本文将介绍一些常见的IntelliJ IDEA面试题。文章将涵盖使用内置的调试器进行 Java 应用程序调试、使用代码优化工具提高代码质量和性能、使用 Maven 构建项目自动管理依赖项和测试等方面。通过本文的指导,您将能够更加高效地使用 IntelliJ IDEA 进行 Java 开发,并提高代码的质量和性能。
2023-04-16 11:53:55
411
原创 HR:这些常问的git问题,你能回答出来吗?
Git 是一种强大的分布式版本控制系统,它提供了许多有用的功能来帮助开发人员管理代码。在这篇文章中,我们总结了 Git 的一些面试常问的问题,包括分支管理、代码冲突的解决和代码回滚。通过这些工具和命令,开发人员可以更轻松地管理代码的版本历史和分支,解决代码冲突,回滚代码等。
2023-04-16 11:31:54
391
原创 准备了一些面试官常问的springboot问题,快来看看吧
本文主要介绍了如何在 Spring Boot 中实现常用的 Web 开发功能,包括 RESTful 接口、缓存、文件上传下载、定时任务和跨域处理。通过本文的学习,读者可以了解到 Spring Boot 的基本用法以及如何使用 Spring Boot 开发 Web 应用。本文提供了清晰的代码示例和详细的操作步骤,希望能够帮助读者更好地使用 Spring Boot 进行 Web 开发。} }以上是处理异常的几种方式,具体使用哪种方式需要根据实际情况进行选择。
2023-04-15 23:01:13
401
原创 面试官:这是我准备的一些java后端maven面试题
Maven 坐标是用于唯一标识一个 Maven 项目或模块的字符串,通常被用于指定依赖关系。Maven 坐标由三个元素组成:groupId、artifactId 和 version。其中,groupId 用于标识项目组织或公司的名称,artifactId 用于标识项目或模块的名称,version 用于标识项目或模块的版本号。
2023-04-15 22:14:03
40
原创 某大厂面试官:这三道算法题是每个软件工程师必须掌握的
如果你正在准备面试,或者想要进一步提高自己的编程技能,那么掌握一些基本的算法题目就尤为重要。在这篇文章中,我们将分享某大厂面试官的三个算法问题,并为您提供Java代码实现。这三个问题是:两数之和、寻找两个有序数组的中位数和反转链表。通过学习和实践这些问题,您将不仅能够提高自己的编程技能,还能更好地准备面试,增加自己的成功机会。这三个算法问题是非常常见的问题,通常在面试中被提及。此外,这些问题也是在线编程挑战网站如LeetCode和HackerRank等网站上的热门问题。
2023-04-02 22:02:50
71
原创 《黑客与画家》一:极客小时候为什么不受欢迎
本章中的“书呆子”指的是那些在学校中比较擅长学习和考试,但在社交场合中比较不擅长的人。之后,他和几位合伙人成立了 Y Combinator,这是一家著名的创业加速器,帮助了许多初创公司成功地发展壮大。《黑客与画家》第一章:为什么书呆子不受欢迎,主要探讨了在当代社会中,为什么书呆子经常受到歧视和排斥,以及如何通过黑客文化的思维方式来突破这种局限。《黑客与画家》是格雷厄姆的一本著名书籍,被誉为“计算机科学界的启示录”,在计算机科学、黑客文化、创业和风险投资等领域都有很高的影响力。为什么小孩子会这样做呢?
2023-04-02 16:27:45
279
原创 程序员的进阶指南:《黑客与画家》中的启示
大多数人都会自称接受新思想,但实际上,他们的思想已经有了不可逾越的边界,对于对错早已有了固定的看法。换句话说,他们认为可以讨论所有观点,除了那些不正确的观点。本文将分享一些书中关于程序员成长和进阶的经验和故事,希望能够启发你在技术和思维上的提高,成为更优秀的程序员。优秀的运动员和设计师都能让人感觉他们轻松自如地完成了任务,但这只是因为他们经过了长时间的训练和反复的实践,将刻意的练习变成了自然的行为。优秀的艺术家和钢琴家,熟练后能够不经过大脑直接完成复杂的任务,仿佛有一股神奇的力量在指引他们的手。
2023-04-02 16:26:42
30
原创 如何用《黑客与画家》中的智慧思考你的创业公司?
然而,迎合用户的一切要求并不等于让用户满意,因为用户不了解所有可能的选择,也会经常错误地判断自己真正想要的东西。在软件领域,贴近用户的设计思想被总结为"Worse is Better"(弱即是强)模式,其中包含了多种思想,但至少这个模式的一部分是正确的:如果你正在设计某种新产品,应该尽快拿出原型,听取用户的意见。如果你的竞争对手的产品很糟糕,也不要自以为是。他们网站上的其他内容无非是一些陈腐的照片和夸夸其谈的文字,但是招聘职位却不得不写得很明确,反映出他们到底想干什么,否则就会引来一大批不合适的求职者。
2023-04-02 16:25:30
18
原创 从《黑客与画家》看技术进步对贫富分化的影响
例如,使用拖拉机的勤劳农民可以比使用马耕作多六倍的土地,但前提是必须掌握新技术的使用方法。1900年,拥有马车的人是有钱人,而今天,即使是最贫穷的美国人也有自己的汽车。在参观雅虎、英特尔和思科的办公室时,你会发现每个人穿着差不多的衣服,在同样的办公室(或小隔间)工作,使用同样的家具,并称呼彼此的名字,而不是加头衔或敬语。贫富分化的扩大是否一定是坏事?这似乎已成为公理,但事实上,在工业化的民主国家中,这种观点更可能是错误的。在过去的社会中,收入差距的加大意味着财富从农奴流向了贵族,是社会问题加剧的信号。
2023-04-02 16:24:04
37
原创 面试官:在vue3中 jsx 和 template语法,你更推荐哪个?
Vue 3 支持两种模板语法:JSX 和 Template。它们都有自己的优缺点和适用场景。JSX 是一种 JavaScript 语法扩展,它允许开发者在 JavaScript 代码中嵌入 HTML。JSX 代码在编译时会被转换成普通的 JavaScript 代码,这样就可以被浏览器或者 Node.js 运行环境识别和执行。在 JSX 中,可以使用大括号 {} 来插入变量或表达式:在 Template 中,则使用双花括号 {{}}:条件循环在 JSX 中,可以使用 JavaScript 的条
2023-03-25 23:26:12
484
原创 面试官:vue2和vue3的区别有哪些
每个管道都会创建一个新的函数,这会导致更多的函数创建和执行,而这些函数可能只是对数据进行了一些简单的操作,这些操作完全可以在组件中使用计算属性或方法来完成。Vue3 组合式API(Composition API)则很好地解决了这个问题,可将同一逻辑的内容写到一起,增强了代码的可读性、内聚性,其还提供了较为完美的逻辑复用性方案。是 Vue 3 中的工具函数,可以将一个响应式对象转换成一个由所有属性都为响应式对象的普通对象。当响应式对象中的某个属性发生改变时,这个改变会被追踪,并且会触发视图更新。
2023-03-25 22:54:46
1683
1
原创 面试官:讲讲vue中的指令、参数、修饰符
在 Vue 中,指令(Directive)是一种特殊的 HTML 属性,它们的值被绑定到 Vue 实例的数据上,并且在数据发生改变时,它们会自动更新视图。指令以 v- 开头,后面跟着指令的名称。
2023-03-25 20:09:19
432
原创 实现vue3版本uniapp hbuilder 转 vue-cli
有个开源项目是用hbuilder编译的,现在想通过vue cli实现。本文记录过程中的采坑。
2023-03-21 14:36:36
338
原创 面试官:整理了一些react的基础面试题
React生命周期是指组件从创建到销毁的整个过程。它包括三个阶段:组件挂载、组件更新和组件卸载。在这三个阶段中,React提供了一些钩子函数,用来处理组件在各个阶段的行为。例如,componentDidMount函数会在组件挂载后执行,可以用来初始化一些数据;componentDidUpdate函数会在组件更新后执行,可以用来更新一些数据。
2023-03-19 17:21:33
325
原创 面试官:html里面哪个元素可以让文字换行展示
br>在HTML中,可以使用元素来强制换行,也可以使用CSS的word-break或属性来实现自动换行。
2023-03-17 17:24:35
4808
2
空空如也
Spring Data Elasticsearch @Query 报错
2015-08-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人