- 博客(173)
- 收藏
- 关注
原创 Spring中的统一异常处理
以上几种方式是 Spring 专门为异常处理设计的机制。就我个人而言,由于 ControllerAdvice 具有更细粒度的控制能力,所以我更偏爱于在系统中使用 ControllerAdvice 进行统一异常处理。除了用异常来传递系统中的意外错误,也会用它来传递处于接口行为一部分的业务错误。这也是异常的优点之一,如果接口的实现比较复杂,分多层函数实现,如果直接传递错误码,那么到 Controller 的路径上的每一层函数都需要检查错误码,退回到了C语言那种可怕的“写一行语句检查一下错误码”的模式。
2024-08-09 13:59:08
1070
原创 使用wagon-maven-plugin插件自动部署项目到远程服务器,并执行shell脚本
goals指定执行wagon插件的任务列表,这里指定两个:一个上传,一个执行shell命令;configuration中的serverId对应上面添加的server的id;url是上传的远程服务器地址;id随便取,唯一即可,username是远程服务器的登录用户名,password是远程服务器的密码。当然,wagon-maven-plugin还可以通过其他配置来部署应用,对应的也可以通过clean wagon:upload wagon:sshexec 等命令来执行上传、运行shell等功能。
2024-08-09 13:53:00
394
原创 CentOS7下搭建配置SVN服务器
2、建立版本库(subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置)修改/etc/sysconfig/svnserver将默认目录指定到/opt/svn(使用默认值也可以,后面几步的路径保持一致即可)这个命令是将 svn 相关的服务进程全部杀掉,也就是停止 SVN 服务,然后再执行下面的命令启动版本库code进程。绝大部分是因为防火墙的原因导致,如果是阿里云等服务器,需要检查服务器的安全组策略中的3690端口是否打开。
2024-07-31 20:20:43
940
原创 CentOS7使用yum安装MySQL
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。--add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp。1、CentOS7的yum源中默认是没有mysql的,我们先下载mysql的repo源。3、安装mysql,根据提示安装即可。
2024-07-28 15:14:48
704
原创 java使用google开源工具Thumbnailator实现图片压缩
其中的scale是可以指定图片的大小,值在0到1之间,1f就是原图大小,0.5就是原图的一半大小,这里的大小是指图片的长宽。而outputQuality是图片的质量,值也是在0到1,越接近于1质量越好,越接近于0质量越差。Thumbnailator,一款google使用的开源的图片压缩工具类。其他的具体方法细节可以自己去查看官方的API或者网络上的其他资源。5、可以实现对图片到编辑,如如旋转,裁切,加水印等等。1、压缩程度可控制,想压缩成多小就多小。2、压缩之后图片尽可能的不失真。4、代码简单,依赖较少。
2024-07-28 14:29:35
545
原创 Bootstrap实践之JavaScrpt递归转换treeview结构数据
【代码】Bootstrap实践之JavaScrpt递归转换treeview结构数据。
2024-07-17 20:33:35
489
原创 Linux网络攻击防御高级指南:结合 iftop 和 iptables
网络攻击,特别是DDoS(分布式拒绝服务)攻击,可能导致服务器带宽资源枯竭,严重影响服务稳定性。命令来列出所有的规则,其中包括了所有的封禁(DROP)规则。日志记录功能,对封禁的尝试进行记录,以便于事后分析。: 为了获得更详细的信息(包括封禁的具体 IP 地址),可以使用。的结果,对疑似攻击的IP地址或段设置封禁规则。: 如果您只对封禁(DROP)的规则感兴趣,可以通过管道命令。关注流量异常的连接,特别是那些带宽使用异常高的。这将详细列出所有规则,包括已封禁的IP地址。规则,并高亮显示那些具有。
2024-07-16 12:15:31
918
原创 Python 是一种用途广泛的编程语言,应用于各个领域
这段代码创建了一个简单的网页,当访问根目录时,会显示 "Hello, World!这段代码使用 Pandas 读取名为 "data.csv" 的文件,并打印前几行数据。Python 也可用于创建桌面应用程序,尽管它不如 Web 开发或数据科学那样常用。这段代码将所有以 ".txt" 结尾的文件重命名为以 ".md" 结尾的文件。Python 拥有丰富的框架和库,使其成为 Web 开发的理想选择。Python 简洁的语法使其成为自动化任务的理想选择。Python 是数据科学领域最流行的语言之一。
2024-07-15 19:24:44
580
原创 Oracle修改序列(Sequence)起始值
但是,有时需要修改序列初始值(START WITH)时,有同仁使用这个语句来修改:alter sequence sequencename start with。2.写个循环来增加。例如:若序列名称是SEQ_TEST,初始值是13,而现在要设置初始值为1013,Increment By值为:1000(1013-13)这个方法比较暴力,也比较方便,如果序列有在用,会影响应用的正常使用。Oracle 序列(Sequence)主要用于生成流水号,在应用中经常会用到,特别是作为ID值,拿来做表主键使用较多。
2024-07-15 19:21:03
1838
原创 Oracle创建DBLINK 实现跨数据库查询
第三种就是我们要讲的创建dblink实现跨库查询,创建本地数据库对远端数据库的dblink后,就可以像操作本地数据库一样操作远端数据库,这是Oracle给我们提供一个功能,让我们的跨库查询变得非常简单便捷。定时job,定时查询两张表数据或调用接口获取两张表数据,合并保存到一张表中或者MongoDB等数据库中,然后从这张表或MongoDB中进行查询。在分布式架构中,往往会经常遇到跨数据库查询的场景,即两个有关联的表不在一个数据库中。优点:就像操作本地数据库一样,支持分页,保证查结果数据强一致性。
2024-07-14 16:08:37
1004
原创 MySql的concat和group_concat的区别
concat示例Sql,把rule_id 和module_id拼接起来,中间用-隔开。group_concatconcat示例Sql,把多行数据拼接起来,不适用group_concatconcat效果是这样的。语句中做拼接使用的,但是两者使用的方式不尽相同,concat和group_concat组合使用。使用group_concatconcat效果。concat是针对一行数据多个字段拼接,而。是针对多行数据拼接,且。
2024-07-13 13:55:50
357
1
原创 Oracle字符集修改
Oracle数据库默认的字符集编码为US7ASCII,这个编码是不支持中文的,如果想要在数据库存储中文,就需要修改编码为。执行此命令可能会报错:ORA-12712: 新字符集必须为旧字符集的超集。-- 关闭Oracle数据库的Advanced Queuing进程。-- 关闭Oracle数据库的Job Queue进程。-- 修改为ZHS16GBK/GB18030。-- 设置Oracle数据库为限制访问状态。修改字符集的前提是知道我们现在用的是什么字符集。7. 关闭数据库,重新启动。-- 修改为UTF-8。
2024-07-12 17:34:46
1757
原创 numpy 解释函数nanmax
def nanmax(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue): """ 返回数组中的最大值,忽略任何 NaN 值。当遇到全 NaN 切片时,会发出 `RuntimeWarning` 并返回 NaN。参数 ---------- a : array_like 包含要计算最大值的数字的数组。如果 `a` 不是数组,会尝试进行转换。
2024-07-11 18:45:45
330
原创 Flask 静态文件处理
在使用 Blueprint 时,也可以为每个 Blueprint 指定静态文件目录和 URL 路径。通过以上方式,Flask 提供了灵活且强大的静态文件处理功能,满足不同应用场景的需求。在编写测试时,可以使用 Flask 提供的测试客户端来测试静态文件的访问。方法来发送静态文件。这个方法会自动注册一个路由来处理静态文件的请求。的文件夹,并将其作为静态文件的存储目录。参数来指定不同的静态文件目录路径。配置项来设置静态文件的缓存时间。默认情况下,静态文件可以通过。参数来更改这个路径。
2024-07-11 18:42:12
832
原创 什么是DNS欺骗
DNS欺骗(DNS Spoofing),也称为DNS缓存中毒(DNS Cache Poisoning),是一种网络攻击形式,攻击者通过操纵DNS记录,将用户重定向到一个伪造的、恶意的网站。这些恶意网站可能看起来与用户想要访问的合法网站非常相似,从而欺骗用户输入登录凭据或其他敏感信息。
2024-07-10 12:17:04
912
原创 DDOS 攻击原理
常见的攻击包括HTTP GET/POST洪水攻击、慢速攻击(如Slowloris)等。:这类攻击利用网络协议的漏洞或特性来耗尽服务器资源或中间设备(如防火墙、负载均衡器)的资源。常见的攻击包括SYN洪水攻击、Ping of Death、Smurf攻击等。:与传统的DoS(拒绝服务)攻击不同,DDoS攻击利用多个受控设备(通常称为“僵尸网络”)同时向目标发起攻击。:攻击者通过发送大量的请求或数据包,耗尽目标系统的资源(如带宽、CPU、内存等),使其无法处理正常的用户请求。
2024-07-10 12:15:21
527
原创 MySQL8开启root账号远程登录教程
完成以上步骤后,您的MySQL服务器应该允许root用户从远程位置进行连接。请记得在进行这些更改时考虑安全因素,如设置强密码、限制可访问的IP地址,并确保服务器的防火墙正确配置。如果您的MySQL root用户仅配置为从localhost访问,您需要更改这个设置以允许从任何主机连接。在安全模式下,您可以以root用户身份登录MySQL,而不需要密码。以无密码模式启动MySQL,这样您就可以在没有密码的情况下登录。输入密码时,使用您在上一步中设置的新密码。替换为您希望使用的新密码。的地方替换为您选择的密码。
2024-07-09 10:57:16
2691
原创 静态搜索iOS动态链接函数的调用位置
在动态链接时,如果一个函数或符号的地址尚未被解析,链接器会在__stubs节中放置一个跳转指令,该指令在运行时会被替换为实际地址。38993是当前数据在Symbol Table中的索引号,暂定为 symTab_index = 38993,仔Symbol Table中第38993条数据的前四个字节的值是0xBF6B,也就是49003,遍历Indirect Symbols中的每一条数据,第111条数据中存储的是38993,在读取二进制中的String Table数据时,可以用’\x00’作为字符串的分隔符。
2024-07-09 10:52:29
1230
原创 Visual Studio Code 教程 VsCode安装Live Server以服务形式打开html
选一个html文件,右键点击。,然后就自动弹出来了。
2024-07-08 22:21:28
491
原创 IntelliJ IDEA菜单不见了设置找回方法
找到View,然后自定义一个快捷键,然后保存。通过Ctr+Alt+S键按出设置。使用自定义快捷键弹出改界面,点击。
2024-07-07 18:10:44
682
原创 Git 完整的提交规范教程
本文中的关键词 “必须(MUST)”、“禁止(MUST NOT)”、“必要(REQUIRED)”、“应当(SHALL)”、“不应当(SHALL NOT)”、“应该(SHOULD)”、“不应该(SHOULD NOT)”、“推荐(RECOMMENDED)”、“可以(MAY)” 和 “可选(OPTIONAL)”
2024-07-06 18:14:12
2135
原创 如何从Git仓库中删除大文件并解决推送错误方案
远程设置:部分Git服务允许调整单个仓库的大小限制,如果频繁遇到此类问题,考虑调整这些设置或寻找更适合存储大文件的解决方案,如Git LFS(Large File Storage)。获取文件SHA:根据错误信息,首先运行Gitee提供的命令来定位问题文件的SHA值。分支名,以更新到最新的仓库状态。数据安全:在开始之前,请确保已备份好你的本地仓库,以防操作失误导致数据丢失。协作影响:强制推送会覆盖远程分支历史,务必与团队成员沟通,避免造成工作冲突。推送标签:如果有标签涉及被修改的提交,也需要强制推送标签。
2024-07-06 18:11:33
723
原创 Python和Java都属于比较成熟的语言,现在还有哪些新兴的编程语言值得关注?
这些新兴语言虽然在成熟度和生态系统方面可能还比不上 Python 和 Java,但它们在各自的领域都展现出独特的优势,并吸引了越来越多的开发者关注。Swift 注重性能、安全性和开发者体验,其简洁的语法和强大的功能使其成为构建现代应用程序的流行选择。: 以其安全性和高性能著称。Rust 致力于解决其他语言中常见的内存安全和并发问题, 非常适合对性能和可靠性要求高的系统级编程,例如操作系统、游戏引擎和嵌入式系统。它简洁的语法、快速的编译速度和强大的标准库使其成为构建网络服务、云平台和命令行工具的理想选择。
2024-07-05 11:54:43
586
原创 除了 Python 之外,程序员常用的编程语言还有哪些?它们的优缺点分别是什么?
选择哪种编程语言取决于具体的需求、项目的规模和开发者的个人偏好。
2024-07-05 11:53:30
454
原创 CAS服务端部署
将其改名为cas.war放入tomcat目录下的webapps下。启动tomcat自动解压war包。Cas服务端其实就是一个war包。登录成功后会跳到登录成功的提示页面。这里有个固定的用户名和密码。
2024-06-30 10:27:56
472
原创 MyBatis Plus条件构造器使用
1Wrapper: 条件构造抽象类,最顶端父类1.1: 用于查询条件封装,生成 sql 的 where 条件1.2: Entity 对象封装操作类,不是用lambda语法1.3: Update 条件封装,用于Entity对象更新操作1.4: Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。1.5:看名称也能明白就是用于Lambda语法使用的查询Wrapper1.6: Lambda 更新封装Wrapper使用Wrapper构建条件。
2024-06-29 17:33:39
596
西藏1959-2023年的第一产业地区生产总值(GDP)指数分析
2025-01-12
西藏GDP指数(上年=100)地区生产总值(GDP)变化趋势(1959-2023)
2025-01-12
西藏第三产业地区生产总值(GDP)指数变化(上年=100)1959-2023
2025-01-12
西藏1959至2023年GDP指数及第二产业地区生产总值(GDP)数据分析
2025-01-12
西藏人均GDP指数(上年=100)与地区生产总值(GDP)变化分析(1959-2023)
2025-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人