MySQL:concat()函数的使用

前言本文来记录下 MySQL 中 concat() 函数的使用。实现concat函数语法:CONCAT(str1,str2,…)concat() 函数用于将多个字符串连接成一个字符串。例如转换如下数据:示例:SELECT concat(user_name, ';;;', passwo
MySQL 2023年04月21日 908次浏览

Redis进阶

前言本文将介绍 Redis 进阶的一些操作。实现Redis 安装已在《Redis入门》一文中详细说明,本文不再赘述。客户端工具介绍一款 Redis 客户端工具——AnotherRedisDesktopManager,支持 Windows、macOS 和 Linux,性能出众,可以轻松加载海量键值。数
Redis 2023年04月03日 905次浏览

Redis入门

前言本文介绍一下 Redis 的入门操作。实现安装RedisRedis 的下载地址。有两种安装方式:第一种是 MSI 的方式,双击运行后安装;第二种是免安装,绿色版,只需要把 ZIP 包解压就可以了。启动 Redis:打开命令行,进入到当前解压后的目录,输入启动命令:redis-server red
Redis 2023年04月03日 788次浏览

Java:对空白/空字符串的处理

前言总结一下 Java 中对空白/空字符串的处理。实现空白字符串通常指空格、换行符、制表符等,空字符串通常指 String str = ""; 声明的字符串(注意与 null 值区分)。注意:下文中关于空白/空字符串的操作均未涉及 null 值判断。业务代码中是应该增加 null
Java 2023年04月03日 700次浏览

SpringBoot:统一接口封装

前言接口统一封装、统一返回可以更规范地给出接口返回的状态码和信息。实现状态码封装这里以常见的状态码为例,包含 responseCode 和 description 两个属性。如果还有其它业务状态码,也可以放到这个类中。package com.langjialing.helloworld.config
SpringBoot 2023年03月31日 866次浏览

Linux:给二进制文件添加可执行权限

背景今天在 Linux 中执行一个二进制文件,使用 ./filename 命令提示 sudo: ./filename: command not found。解决问题原因:首先我们要检查当前路径使用处于二进制文件所在的目录(或者在命令中写明路径也是可以的),如果文件路径没有问题且仍在提示 comman
Linux 2023年03月24日 1,513次浏览

接口幂等解决方案——防重Token令牌

前言针对客户端连续点击或者调用方的超时重试等情况,例如提交订单,此种操作就可以用 Token 的机制实现防止重复提交。简单的说就是调用方在调用接口的时候先向后端请求一个全局 ID(Token),请求的时候携带这个全局 ID 一起请求(Token 最好将其放到 Headers 中),后端需要对这个 T
Java 2023年03月22日 1,237次浏览

接口幂等解决方案——单机版(防止数据重复提交)

前言在业务开发中,接口的幂等性是一个十分重要的设计。接口幂等是指对于同一个接口的多次调用,其结果应该和单次调用的结果一致。 也就是说,无论调用接口的次数是一次还是多次,最终的结果都应该是一样的。本文我们主要介绍单机服务的接口幂等解决方案,解决的问题为防止数据重复提交。实现模拟用户场景例如我们有一个如
Java 2023年03月22日 660次浏览

网站禁止IP访问

问题偶然发现本站可以通过 IP 进行访问,补一下网站漏洞。解决找到网站的 Nginx 配置文件,在 Nginx 中加一个如下 server 块,然后重新加载 Nginx 配置文件即可。但这个 server 块必须要作为 Nginx 配置文件的第一个 server 块,不可以放在后面。server{
个人站点 2023年03月20日 559次浏览

SpringBoot:请求参数中特殊字符的处理

背景开发过程中遇到在请求参数中添加特殊字符导致请求报错的问题,特记录一下。解决问题复现代码:一个简单的 get 请求。@GetMapping("/t3")public String test3(@RequestParam String s){ return s;}POSTM
BUG 2023年03月20日 924次浏览