“在代码的世界里,每一行都是进步的足迹,每一次挑战都是成长的机遇。”

利用 Nginx 配置屏蔽恶意扫描的策略

网站的安全性面临着诸多挑战,其中恶意扫描行为是一个不容忽视的威胁。恶意扫描往往是攻击者试图寻找网站的漏洞、薄弱环节,以便进一步实施入侵、窃取数据或者进行破坏等恶意活动。而通过合理配置 Nginx 服务器,我们可以有效地屏蔽掉很多这类恶意扫描行为,就像利用如下这段配置代码...
查看

WordPress后台开启友情链接

  步骤 1:启用链接管理器 1. **进入外观和主题编辑器**: - 登录到你的 WordPress 后台。 - 导航到“外观” > “主题编辑器”。 2. **找到 `functions.php` 文件**: - 在右侧的文件列表中,找到并点击 `f...
查看

Java OOM 问题排查思路

OOM(Out Of Memory,内存溢出)问题是比较棘手的情况,下面讲一些常见的排查思路。 一、利用监控系统查看内存情况 Prometheus + Grafana 组合可以借助 Prometheus 与 Grafana 这套搭配来监控内存使用状况。 阿里的 ARMS...
查看

Python报错 cannot import name ‘url_quote’

最近新写了一个小项目,本地环境是Anaconda, python版本是装的python3.7,部署到亚马逊AWS提示cannot import name 'url_quote' from 'werkzeug.urls' ,线上的版本是python3.2,这个项目安装的包...
查看

Eureka 注册中心大致原理

1. 注册服务:服务提供方在启动时,会向Eureka Server发送注册请求,将自己的信息注册到Eureka Server。这些信息包括服务名、IP地址、端口号等。Eureka Server会将这些信息存储在注册表中。 2. 获取服务:服务消费方在需要调用某个服务时,...
查看

常见JVM参数配置和说明

JVM有许多参数可以用于调整其行为。以下是一些常用的JVM参数: -Xmx:设置JVM的最大堆大小。例如,-Xmx2g表示JVM的最大堆大小为2GB。 -Xms:设置JVM的初始堆大小。例如,-Xms1g表示JVM的初始堆大小为1GB。 -XX:+UseG1GC:启用G...
查看

编写程序操作数据库 I/O 的一些注意事项

### 避免在 for 循环中执行低效的数据库操作1. **数据库 CRUD 操作方面**: - 不要在 for 循环体内部直接执行增删改查(CRUD)操作。因为每一次循环都执行一次数据库操作会带来大量的 I/O 开销,严重影响性能。 - 建议使用 JDBC 的 `ad...
查看

常见负载均衡算法demo

1. 随机算法(Random):随机选择一个服务器来处理请求。 2. 轮询算法(Round Robin):按照顺序依次将请求分发给每个服务器,循环往复。 3. 加权轮询算法(Weighted Round Robin):根据服务器的权重,按照...
查看