
后端
后端技术
清风细雨_林木木
把复杂的知识简单到通俗易懂。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
为什么短信验证、邮件验证、临时令牌都建议存Redis呢?
摘要:Redis 更适合存储短信验证码、邮件验证码等短时数据,因其支持自动过期(TTL)、读写速度快且避免污染数据库。典型场景包括验证码存储(如 sms:code:13812345678)和临时令牌,Redis 的隔离性和高效清理机制提升了安全性。相比 MySQL 需手动维护,Redis 通过 SET key value EX seconds 实现自动化管理,适合高并发场景,代码示例展示了如何设置和获取验证码。结论:Redis 是临时数据的首选,数据库存储此类数据不推荐。原创 2025-06-23 18:52:20 · 252 阅读 · 0 评论 -
Nodejs 操作数据库时,代码解决同步执行的写法
本文介绍了 Node.js 中实现批量删除文件的两种方法:传统嵌套回调写法和基于 Promise 的封装写法。嵌套写法结构直观但容易产生回调地狱;Promise 写法通过链式调用提升了代码可读性和复用性,并支持统一错误处理。两种方式均需要验证用户权限和文件存在性,Promise 写法更适合复杂业务逻辑的编排,推荐在现代项目中优先采用。文章最后对比了两种方法在可读性、错误处理、复用性和控制流方面的差异。原创 2025-06-21 14:00:10 · 165 阅读 · 0 评论 -
私有 Word 文件预览转 PDF 实现方案
本文介绍了一种私有Word文件在线预览方案,通过后端将.doc/.docx转换为PDF实现浏览器预览。主要内容包括: 方案概述:利用LibreOffice将Word文件转换为PDF后返回前端 实现步骤: 后端判断Word文件类型 安装LibreOffice转换工具 安装中文字体避免乱码 转换流程及PDF文件处理 优化建议:缓存PDF、错误重试、任务队列等 前端实现:使用Blob对象和临时URL进行预览 该方案解决了Word文件无法直接浏览器预览的问题,同时提供中文支持和性能优化建议。原创 2025-06-21 00:33:43 · 508 阅读 · 0 评论 -
res.json() vs res.send() 的区别
Express.js 中 res.json() 与 res.send() 的区别 res.json() 和 res.send() 都是 Express.js 的响应方法,主要区别在于数据处理方式: res.send() 自动推断 Content-Type,支持字符串、JSON 和 Buffer 等数据类型; res.json() 强制设置 Content-Type 为 JSON,无论输入类型如何都会转为 JSON 格式。 使用建议: 明确返回 JSON 时优先用 res.json()(如 API 响应) 需原创 2025-06-01 23:29:23 · 460 阅读 · 0 评论 -
Redis 存储邮件验证码的完整代码
本文介绍了一个基于Redis和Node.js实现的高性能邮件验证码系统。系统通过Redis存储验证码并设置过期时间,包含发送验证码和验证接口。关键功能包括:防刷机制限制60秒内只能发送一次、验证码5分钟有效、IP限流防止滥用。文章还提供了安全增强选项如加密存储验证码,以及生产环境部署建议如Redis密码认证和持久化配置。该系统具备高性能、防刷能力和生产级可靠性,适用于各种需要邮件验证的场景。原创 2025-06-01 23:18:27 · 304 阅读 · 0 评论 -
邮件验证码存储推荐方式
摘要: 邮件验证码存储推荐使用 Redis,因其具备高性能、自动过期(TTL)、原子性操作及分布式支持等优势。对比内存(Map)易丢失、数据库性能低等缺点,Redis 通过 SETEX 命令存储验证码并设置有效期,结合加密存储和防刷策略(如限制尝试次数)可显著提升安全性。生产环境中建议配置 Redis 集群和高可用方案,并遵循 业务前缀:唯一标识 的键名设计规范。完整流程示例涵盖发送、验证及防刷逻辑,适用于绝大多数高并发场景。其他方案(如内存或数据库)仅推荐用于开发测试或特定需求场景。原创 2025-06-01 23:05:26 · 1076 阅读 · 0 评论 -
mac终端使用mysql,提示command not found
【代码】mac终端使用mysql,提示command not found。原创 2023-01-11 21:41:37 · 375 阅读 · 0 评论 -
Linux安装JAVA版本
默认软件包、headless和devel的区别。原创 2023-01-11 21:21:51 · 802 阅读 · 0 评论 -
xampp 数据库是自己的还是系统的,怎么启动和使用
由资料“XAMPP启动数据库时,如果本地已经安装过MYSQL数据库,则无法正常启动,此时我们需要更改注册表来解决问题”可以知道xampp数据库是集成环境的并不是系统自带的。原创 2023-01-09 07:45:25 · 804 阅读 · 0 评论 -
0107-JAVA和JDK的区别
因为工作需要现在也不得不接触后端java语言,对于java和jdk一直存在疑惑,今天就详细总结一下人话就是java是一门后端脚本语言和PHP一样Java开发工具包什么又是JRE呢?JER是Java Runtime Environment 缩写,意思是:java运行环境JRE=JVM+ java核心库JVM是 Java Virtual Machine 是缩写,意思是:虚拟机总结:jdk 包含 java语言 和 java运行环境。原创 2023-01-07 16:14:14 · 3828 阅读 · 0 评论 -
Vue使用UEditor百度编辑器,上传图片服务配置问题,查看版本
查看文档前先查看理解手册基本配置此文档只针对TomcatWeb服务vue版本为2.0版本和 vue-cli2.0。原创 2023-01-05 23:32:09 · 3465 阅读 · 2 评论 -
线下安装Nginx
参考:http://t.zoukankan.com/giswhw-p-15214761.html。原创 2022-11-02 11:42:32 · 503 阅读 · 0 评论 -
系统重装-win7
第一步:下载大白菜装机软件,并安装上电脑 第二步:下载并且安装好大白菜装机版,打开安装好的大白菜装机版,插入u盘等待软件成功读取到u盘之后,点击“一键制作启动u盘”进入下一步操作。 第三步:根据提示安装好启动U盘 第四步:重启电脑,设置默认读取方式为U盘读取 第五步:进入虚拟的操作系统,运行重装程序,选中下载好的win7 镜像文件(百度搜索下载...原创 2018-09-13 11:32:50 · 680 阅读 · 0 评论 -
VS Code 的常用快捷键
VS Code 的常用快捷键和插件 一、vs code 的常用快捷键1、注释: a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/ b) 取消单行注释:[ctrl+k,ctrl+u] (按下ctrl不放,再按k + u) c) 多行注释:[alt+shift+A] d) 多行注释:/**2、移动行:alt+up/down3、显示/隐藏左侧目录栏 ...转载 2018-08-27 22:35:01 · 425 阅读 · 0 评论 -
阿里云 OSS浏览器使用步骤
阿里云 OSS浏览器使用步骤管方参考资料: https://help.aliyun.com/document_detail/61872.html?spm=a2c4g.11186623.6.1194.127643cbNPJu1h第一:下载合适的pc端,并安装好; 第二:登录RAM控制台创建子账号 https://ram.console.aliyun.com/?spm=a2c...原创 2018-08-27 19:58:24 · 16476 阅读 · 0 评论 -
HTML5添加网页背景音乐
HTML5添加网页背景音乐方式一: 这种方式会显示播放器。方式二: 这个方式主要是支持的播放器多。一定程度上解决了浏览器兼容的问题。方式三: 这个不显示播放器。方式四:方式五: ...原创 2018-08-08 19:22:22 · 2540 阅读 · 0 评论 -
阿里云服务器上传TP5 显示服务器错误
原因分析经历: 首先,测试了服务器是否能解析 .php文件,结果是可以; 然后测试了端口,端口也是开放的;解析: 项目代码逐条注销分析结果: 发现不是项目本身问题,是由于使用的阿里云服务器安装的php兼容环境里面的软件与设置的网站项目产生冲突导致解决办法: 打开“主机助手”软件,然后删除里面的所有已有的网站,然后回到iis中设置自己需要的,然后重启iis,就可以解...原创 2018-08-08 19:03:58 · 635 阅读 · 0 评论 -
使用 Navicat 备份还原数据库
基本步骤: 1.将服务器的备份文件夹复制到本; 2.打开软件; 3.选择要备份的数据库; 4.点击备份,然后点击确认。原创 2018-07-12 16:40:42 · 5367 阅读 · 0 评论 -
安装SQL server 以后无法使用 Apache 解决办法
前言:一般能正常使用的 Apache 安装软件不能使用都是因为 端口被占用第一步:进入Apache配置文件 F:\xampp\apache\conf (各自的不一样)查看文件httpd.conf ,看端口使用的是什么 第二步:进入cmd ,输入netstat -ano查看端口占用情况; 第三步:查看PID 后面的数字值,通过数值对照 如果是系统本身正在使用那就停止不了...原创 2018-03-16 16:25:51 · 1000 阅读 · 0 评论 -
学习日记-Navicat中密码修改出现1064错误解决方案
1.问题显示图: 2.问题分析:查看了SQ语句,以及其他的设置没有问题,尝试卸载安装,问题都没有得到解决,查看询问以后发现可能是MySQL的版本问题,最后通过phpMyAdmin修改成功,运行正常,最后结论可能是MySQL数据库版本过低的问题。3.解决方案:不使用Navicat,直接使用phpMyAdmin进行操作。 流程如下: 备注:重新进入PHPMyAdmin时会出现以下错误原因是密码修改原创 2017-06-29 13:54:40 · 8212 阅读 · 0 评论 -
MySQL修改root密码的多种方法
详细说明: http://www.yishimei.cn/network/392.html转载 2017-06-29 10:13:10 · 272 阅读 · 0 评论 -
MySQL数据库数据传到Excel
准备工作: 1.安装office2007(其他版本也可以) 2.添加MySQL_ODBC(连接配置程序)开始制作: 1、首先去下载 mysql Connector: http://dev.mysql.com/downloads/connector/odbc (有的话就不用了)继续下载: mysql-connector-odbc-5.2.4-ansi-win32(64位的安装包在offi原创 2017-03-22 16:09:26 · 367 阅读 · 0 评论 -
PHP:php 上传文件大小控制配置文件中设置的
参考:https://www.cnblogs.com/zonglonglong/p/5898885.html编修php.ini找到:max_execution_time= 30,这个是每个脚本运行的最长时间,单位秒,修改为:max_execution_time = 150找到:max_input_time = 60,这是每个脚本可以消耗的时间,单位也是秒,修改为:max_in...原创 2019-09-17 18:26:43 · 381 阅读 · 0 评论 -
PHP:使用$_SESSION设置和读取Session
参考:https://blog.youkuaiyun.com/sm20170867238/article/details/90745969//test1.php<?php session_start(); $_SESSION['name']="admin"; $_SESSION['password']=123456; echo "所在文件:".$_SERVER["PHP_SELF"]."...原创 2019-09-17 17:58:54 · 3055 阅读 · 0 评论 -
2019 Thinkphp开发笔记
1..htaccess文件的具体意思<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index...原创 2019-08-27 14:35:11 · 535 阅读 · 0 评论 -
IIS PHP 项目 显示PHP版本过低,请升级
前言:一般表示项目没有问题可以加载,但是得下载更高级的php版本步骤: 1.找到PHP的位置 2.下载更高级的PHP版本,放入指定文件夹3.选择使用更高级的PHP文件就可以了。...原创 2018-03-21 15:29:38 · 3706 阅读 · 0 评论 -
Spring Cloud Alibaba微服务从入门到进阶
Spring Cloud Alibaba 微服务1.基础准备2.Maven管理软件3.1.基础准备JDKMySqlMaven的安装和配置IDEA配置与快捷键技巧2.Maven管理软件版本:3.6.1下载地址:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/安装 Maven:(1)下载指定版本,这里是3.6.1;(2)配置环境变量配置【Maven_HOME】和【Path】(3)点击【win + r】输原创 2021-05-09 23:23:52 · 380 阅读 · 0 评论 -
java-idea 项目建立
1.创建项目2.选择JDK、选择Web Application3.项目名、项目地址4.添加测试信息5.配置Run环境加号添加选用Local服务器配置部署服务器编译代码根据URL进入网页...原创 2019-05-29 20:05:29 · 225 阅读 · 0 评论 -
java 基础笔记
java学习笔记:2018-02-27(1-2,3-4)一、java简介 1.java有三个版本(javaSE javaEE javaME 分别代表标准Standard Edition Enterprise Edition Micro Edition 标准 企业 微型)二、java配置 2.直接下载eclipse安装,使用eclipse三、java基本语法 ...原创 2018-03-04 22:33:41 · 289 阅读 · 0 评论 -
xampp 手机访问
xampp 搭建好本地服务器以后手机无法访问解决办法: 1.将网络连接修改为工作网络,然后关闭工作局域网的防火墙; 2.当端口不是80的时候,后面必须添加端口号,例如:xxxxx.com:800; 3.域名指定的配置文件路径(自己百度); 4.以上都试过还是不行就使用ipconfig 查看自己的ip,使用ip号登陆。...原创 2018-04-25 11:10:51 · 1937 阅读 · 0 评论 -
修改 Apache端口 解决端口占用
备注:Xampp 在第一次使用的时候 必须先使用 localhost 运行一遍页面 否则后面修改以后页面无法显示文件!!!!! 前言:一般我们使用Apache的是时候都会使用80端口,但有的时候我们必须要修改这个80端口,但当我们修改端口以后又会发现我们再次使用localhost进入本地服务器进不去了?这个时候我们就必须添加端口号了,例如:localhost:800;但很多时候我们需要...原创 2018-03-16 17:23:42 · 8510 阅读 · 3 评论 -
XAMPP 虚拟机配置
1.进入config文件 打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf&lt;VirtualHost _default_:80&gt; DocumentRoot "D:/wamp/www" ServerName jtw.com&lt;/VirtualHost&gt;// 备注:除了localhost以外其余的自设域名都必须使...原创 2018-02-21 10:57:37 · 1148 阅读 · 1 评论 -
wow.js 使用方法
使用方法:1、wow.js依赖于animate.css,首先需要在 head内引入animate.css或者animate.min.css。&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;css/animate.css&quot;&amp;gt;2、引入wow.js或者wow.min.js,然后js文件里再写一行代码。&amp原创 2018-08-16 09:25:14 · 4715 阅读 · 0 评论 -
学习日记-0129 php邮件发送
运行环境:XAMPP 准备工作: 1、检查有没有sendmail程序。具体步骤:在xampp安装目录下查看是否存在sendmail.exe,没有就建立文件夹sendmail,下载一个sendmail.zip(http://glob.com.au/sendmail/),放进去。2、注册一个163邮箱,然后进行配置: (1)php.ini 设置 SMTP=local原创 2018-01-29 22:05:28 · 1359 阅读 · 0 评论 -
TP路由地址叠加
造成与原因,a标签的href中的路径末尾添加了“ / ”出现叠加:解决办法:去掉“ / ”原创 2019-10-20 23:30:03 · 274 阅读 · 0 评论 -
TP 公共模板(模板继承)的使用
要求:达到模板的公共使用,提升代码的维护效率参考资料:https://www.kancloud.cn/manual/thinkphp5_1/354080代码实践:文件结构:base.html文件:index继承base文件:替换区块和base里面的name对应,实现替换的效果。备注:使用{block}可以实现添加替换效果(被继承文件在前,继承文件字啊后)...原创 2019-10-19 21:58:17 · 864 阅读 · 0 评论 -
ThinkPHP 多表联查
三表联查效果Db::table('dp_cms_document') ->alias('a') //首表另命名为a ->join('dp_cms_document_article b','a.id = b.aid') // 条件查询 ->join('dp_admin_attachment c','b.cover = c.id') ->where('trash=0 AND cid=5') ->select();例子2$api_data = D.原创 2018-05-09 10:02:09 · 944 阅读 · 0 评论 -
thinkphp-实现邮件发送
参考:https://blog.youkuaiyun.com/iloveyougirls/article/details/52710284目标:使用thinkphp5.0 实现邮件发送步骤: 第一步:进入163邮箱,开启SMTP服务、POP3服务、IMAP服务 第二步:开通客户端授权码,密码只显示一次必须记住 第三步:下载phpmailer 压缩包下载链接:h...原创 2018-04-09 15:48:59 · 4628 阅读 · 1 评论 -
ThinkPHP 数据库多表联查 where多条件查询
数据库多表联查Db::table('think_artist')-&gt;alias('a') // alias 表示命名数据库的别称为a-&gt;join('think_work w','a.id = w.artist_id')-&gt;join('think_card c','a.card_id = c.id')-&gt;select();数据库 多条件查询// 使用...原创 2018-03-27 18:07:48 · 4457 阅读 · 0 评论 -
thinkPHP5 错误页面修改
1.进入手册找到错误配置文件位置和模板信息,最快速的办法是直接修改框架错误文件; 进入手册:https://www.kancloud.cn/manual/thinkphp5_1/3540922.找到错误位置: thinkphp/tpl/think_exception.tpl3.进入模板,找到信息进行修改。...原创 2018-02-21 10:22:45 · 6860 阅读 · 0 评论