08 2023 档案
摘要:在站点后端服务如果宕掉或在重启的时候,用户访问网站时,nginx引导跳转到网站维护页面。 为了实现这个功能,需要在Nginx配置中做两件事情: 定义一个备用的错误页面:为Nginx设置一个备用页面,当后端服务不可用时,它将显示这个页面。 使用proxy_intercept_errors指令:使Ngi
阅读全文
摘要:安装步骤 我所使用的Linux版本是CentOS 8,在CentOS 8上安装MySQL的步骤: 启用MySQL 8.0存储库 首先,您需要启用MySQL 8.0存储库。为此,请下载和安装MySQL的存储库包: sudo dnf install https://dev.mysql.com/get/m
阅读全文
摘要:要使 Spring Boot 服务的 JAR 包在 Linux 重启后自启动,您可以使用 systemd。以下是步骤: 1. 创建一个 systemd 服务单元文件 在 /etc/systemd/system/ 目录下,创建一个新的服务单元文件,例如 my-springboot-app.servic
阅读全文
摘要:最近做了个需求,就是http调第三方地图图层接口获取点位信息,要把reponseData转换为我们自己的entity数据结构然后入库,因为每种图层返回的json数据结构都不一样,并且图层种类又很多,于是就考虑使用drools来根据规则动态转换,为了使得规则修改后不需要重启服务,我把.drl配置到了n
阅读全文
摘要:要使用 Nginx 作为 FastDFS 的代理并处理 token 验证逻辑,你可以结合 Nginx 和其他模块或脚本来完成。以下是一个基本的流程和配置示例: Nginx 安装: 如果你尚未安装 Nginx,首先需要在你的服务器上安装它。对于大多数 Linux 发行版,通常可以使用包管理器轻松地安装
阅读全文
摘要:OWASP Java HTML Sanitizer 是一个开源的Java库,用于防止跨站脚本(XSS)攻击。它通过对用户输入的HTML进行清洁和过滤来实现这一点,确保输出的HTML不包含任何恶意代码。 以下是关于 OWASP Java HTML Sanitizer 的一些关键点: 策略驱动: 这个库
阅读全文
摘要:Siege是一个HTTP/HTTPS负载测试和基准测试工具,可以模拟多个用户同时访问一个URL。 centos安装Siege sudo yum install epel-release sudo yum install siege 使用siege模拟20个并发用户。 siege -c 20 -r 1
阅读全文
摘要:X-Frame-Options 是一个 HTTP 响应头,设置 X-Frame-Options HTTP 响应头为 DENY 或 SAMEORIGIN,用于控制页面是否可以被嵌入到 <iframe>, <frame>, <embed>, 或 <object> 等元素中。这有助于防止点击劫持攻击。 D
阅读全文
摘要:在 vim 中,粘贴从其他地方复制的内容时,常规的 Ctrl+V 方法确实不会工作。以下是如何在 vim 中粘贴内容的步骤: 确保你已经复制了你想要粘贴的内容。 在 vim 中,确保你处于普通模式(不是插入模式)。你可以按 Esc 键确保你已退出插入模式。 按下 Shift+Insert 或者中键(
阅读全文
摘要:当你尝试连接到 GitHub 时遇到 “ssh: connect to host github.com port 22: Connection timed out” 这个错误,这通常意味着有些东西阻止了你的连接。下面是一些建议的解决步骤: 网络连接:确保你的网络连接是稳定的。 端口阻塞:某些网络或I
阅读全文
摘要:SourceTree里有个很方便的本地分支重新跟踪远程分支的功能,但在idea里一直没找到(也可能是我idea版本太低),于是问了下gpt4,下面的回答是正确的,记录一下。 我问: IntelliJ IDEA操作git,从一个叫"abc"的远程分支checkout一个新的本地分支"def"后,本地"
阅读全文
摘要:接口的幂等性意味着一个请求被执行一次与被执行多次应该具有相同的效果,这确保了系统的一致性和稳定性,特别是在网络不稳定或多次重试的场景下。以下是确保接口幂等性的建议: 选择适当的HTTP方法: 遵循REST原则:使用GET方法获取资源,使用PUT方法更新资源,使用DELETE方法删除资源。这三种方法在
阅读全文
摘要:文件上传功能在许多应用程序中都有应用,但如果没有正确地实施安全措施,它可能会成为攻击者的入口点。以下是与文件上传相关的一些常见恶意攻击方式以及预防措施: 恶意文件执行: 攻击方式:上传包含恶意代码的文件,如PHP、JavaScript或其他可执行文件,然后远程触发这些文件,从而执行恶意代码。 预防方
阅读全文
摘要:在互联网软件项目上线前,确保安全性是至关重要的。这样不仅可以保护您的用户,还可以避免潜在的法律风险和声誉损失。以下是一些上线前需要考虑的安全问题: 注入攻击:如SQL注入、XML注入等。确保所有的输入都经过适当的验证和清洁。 跨站脚本(XSS):确保不允许恶意脚本在用户浏览器中执行。 跨站请求伪造(
阅读全文
摘要:常见的HTTP返回状态码大全 HTTP状态代码用于表示服务器对客户端请求的响应状态。以下是常见的HTTP状态代码及其描述: 1xx – 信息响应 100 Continue:请求的初始部分已被接受,客户端应继续发送其余部分。 101 Switching Protocols:服务器根据客户端的要求正在切
阅读全文
摘要:如何调整MySQL InnoDB缓冲池大小? 调整InnoDB缓冲池是优化InnoDB性能的关键步骤。InnoDB缓冲池是InnoDB存储引擎在内存中缓存数据和索引的地方,适当地调整它可以大大提高数据库的性能。 以下是调整InnoDB缓冲池的步骤和建议: 确定合适的大小: InnoDB缓冲池应该设置
阅读全文
摘要:当表的数据达到亿级别时,使用 SELECT COUNT(*) FROM table 会变得特别慢,主要是因为以下几个原因: 全表扫描:SELECT COUNT(*) FROM table 通常会导致全表扫描,除非有一些优化手段被应用(例如使用覆盖索引)。当你执行这样的查询,数据库实际上需要读取表中的
阅读全文
摘要:InnoDB 和 MyISAM 有不同的设计哲学和用途,这影响了它们如何维护和管理行数。以下是为什么 InnoDB 不像 MyISAM 那样维护一个预存储的行数计数器的原因: 事务支持:InnoDB 是一个事务型存储引擎,支持ACID事务。在任何给定时间,多个事务可能都在同一个表上进行操作,这使得持
阅读全文
摘要:让我们重新审视那三个查询在 InnoDB 存储引擎中的行为: select count(*) from table; 这个查询用于计算表中的所有行数。当使用 count(*) 时,MySQL 不会去检查列的值,它只关心行数。对于 InnoDB,这并不意味着它可以从某个内部计数器快速获取行数,而是需要
阅读全文
摘要:索引下推(Index Condition Pushdown,简称 ICP)是MySQL优化器的一个特性,从MySQL 5.6开始引入。它允许MySQL优化器更早地在索引搜索过程中应用WHERE子句中的条件,而不是在检索到行后再进行过滤。这种优化可以大大减少存储引擎必须检查的行数。 不使用索引下推之前
阅读全文
摘要:聚簇索引和非聚簇索引是数据库索引的两种主要类型,它们在物理存储和查找数据的方式上有所不同。下面是对两者的详细介绍: 聚簇索引 (Clustered Index) 物理排序:聚簇索引决定了表中数据行的物理排序。因为数据行与索引的排序方式是相同的,所以一个表只能有一个聚簇索引。 存储方式:在聚簇索引中,
阅读全文
摘要:空间索引是一种特殊的数据库索引,用于存储空间数据并加速空间查询。空间数据通常是指与地理位置或空间坐标有关的数据,如经度和纬度、多边形边界、点等。空间索引的目的是快速查找在特定地理区域内或与特定地理形状相交的对象。 以下是空间索引的一些核心概念和特点: 基本原理 数据结构:常用的空间索引数据结构包括R
阅读全文
摘要:假设有一张用户表,姓名和创建时间是用来查询最多的字段,如果要建索引,是单独给姓名、创建时间来建单列索引好?还是给它们建组合索引好? 其实决定为MySQL表中的字段创建单列索引还是组合索引需要考虑你的查询模式和需求。下面是一些建议: 单列索引 vs. 组合索引 单列索引:当我们经常单独基于姓名或创建时
阅读全文
摘要:什么是全文查询的“分词机制”? 分词机制,也常称为“分词”或“词条化”(Tokenization),是将一段连续的文本切分成若干独立的词汇或词条的过程。在很多文本处理和信息检索的任务中,分词是首要且关键的步骤。 分词机制的重要性主要体现在以下几个方面: 信息检索:搜索引擎在索引和查询时,需要对文本内
阅读全文
摘要:接上篇《MySQL全文索引的布尔搜索使用介绍》 自然语言搜索是全文搜索技术中的一种模式,它允许用户使用普通话语或句子来查询,而不需要使用特定的查询语言或格式。这种搜索方式的目的是使查询更加直观和人性化,从而为非技术用户提供更好的搜索体验。 以下是关于MySQL中自然语言搜索的详细介绍: 基本原理 词
阅读全文
摘要:其实只要知道矩形的左上角经纬度和右下角经纬度即可。 如果有左上角的经纬度点(top_left_longitude, top_left_latitude)和右下角的经纬度点(bottom_right_longitude, bottom_right_latitude),那么查询语句如下: SELECT
阅读全文
摘要:查询扩展(Query Expansion)是全文搜索的一个高级特性,尤其对于某些搜索需求来说非常有用。它是基于原始查询返回的结果来进一步扩展并改进搜索结果的过程。 当用户执行全文搜索查询时,可能会遇到以下情况: 查询结果太少或没有。 由于用户不熟悉正确的术语或关键字,查询不准确。 在这些情况下,查询
阅读全文
摘要:假设我们有一个名为 articles 的数据表,其中有一个名为 content 的列,用于存储新闻文章的文本内容。这个列已经建立了FULLTEXT索引。 ALTER TABLE articles ADD FULLTEXT(content); 示例1:使用AND操作符 要找出同时包含“apple”和“
阅读全文
摘要:数学中的对数关系是基于幂运算的逆运算。如果一个数可以表示为另一个正数的某个指数,则对数关系给出了这个指数。 在现实生活和工程领域中,对数经常被用来处理涉及指数增长或减少的情况,如地震的震级、酸度的pH值、音量的分贝值等。 其中,两种最常见的对数基数是10(常用于科学计数法,称为常用对数)和自然对数的
阅读全文
摘要:这个脚本其实不光可以监控nacos服务,所有的服务都可以监控。 脚本逻辑是,如果检测到nacos服务挂掉后调用http接口发送警告通知,然后暂停5分钟,之后继续监控。如果正常就暂停一小会,之后继续循环。 使用 Bash 脚本和 curl 命令: 安装所需工具: 确保 CentOS 服务器上已经安装了
阅读全文
摘要:RequestId生成工具类,兼顾可读性和随机性 生成的id是这样的 202308060935013260E345D142718AF524 202307301911464809D0978E04DB2458AD 这两个样例的requestId包括了日期、时间、一串随机数字和字母。可以使用以下格式来生成
阅读全文
摘要:具体逻辑参考《java/springboot服务第三方接口安全签名(Signature)实现方案》,这边只是做了更细化的代码实现,另外也没有完全贴出所有代码。 封装SDK的pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt
阅读全文
摘要:假设现有一个叫user的bean,里面有username、passsword、sex、createTime这四个属性,需要实现一个功能,把其它bean里的字段分别映射到user里的username、passsword、sex、createTime这几个属性上,然后可以根据其它的bean的实例自动转化
阅读全文
摘要:spring工具类 方便在非spring管理环境中获取bean import org.springframework.aop.framework.AopContext; import org.springframework.beans.BeansException; import org.sprin
阅读全文