后端

使用栈解决简单迷宫

用二维列表模拟迷宫,1代表墙,0代表当前路是可以通过的 回溯法的核心是状态的转换,当当前状态不能进入下一状态,我们就回溯到之前能进入下一状态的某状态结点,我们用栈的append和pop去模拟这一过程 # 起始位置为(1, 1) 终点位置为(8, 8) maze = [ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 1, 0, 0, 0, 1,

浅谈日志框架slf4j原理,以及与logback,log4j的关系

# 前言 日志是每个Java项目必不可少的组成部分,我们几乎每天都和日志打交道。但是有的项目是logback,有的是log4j,有时候又是slf4j,傻傻分不清楚。 如果一个Spring项目原先是logback,合并一个新项目,新项目用的是log4j,那么日志文件用哪个,如果都用会怎么样? 下面就来说说。 slf4j,是个壳子,在java里面叫门面模式,顾名思义,就是一个代理的门面。它负责提供日志

(三十四)Flask之SQLAlchemy

目录: 每篇前言: SQLAlchemy 1. 安装: (1)执行原生SQL: (2)建表: 第一种:使用metadata创建表: 第二种:使用类的方式创建表: (3&#x

MySQL 索引分类、最左匹配与失效场景:面试必考点梳理

目录索引是什么?有什么好处?讲讲索引的分类是什么?按数据结构分. 对于 InnoDB 的聚簇索引 (Clustered Index)对于 InnoDB 的二级索引 (Secondary Index)按物理存储分按字段特性分按字段个数分类最左匹配原则失效情况索引是什么?有什么好处?索引类似与书籍的目录,从全表扫描改成

Redis大key 问题分析解决

背景 双十一大促期间, 收到客服反馈通知,说 APP 领券接口缓慢。找到一个case,通过调用链路发现,是操作redis 缓慢,并且还搜到一些redis 异常。 最后定位到原因:是发券场景下拿redis 做了一个缓存券批次的操作,记录用户当天领取的所有券批次 发券场景: key = userId, value = 券批次ID 列表, 而redis 查询发现多了许多大key,体现在 一个用户领取的几

Tomcat应用服务器:安装配置与项目部署

在应用服务器中间件的领域里,Tomcat是一款广受欢迎的开源Servlet容器,它能帮助我们轻松地部署Java Web项目。接下来,我们就一起深入学习Tomcat的安装、配置以及项目部署的详细内容。 目录 核心技术点概述 Tomcat的安装 配置文件修改 项目部署流程 实操模块:详细步骤说明 步骤一&#xff1a

Android工程师学习的AOP知识

一 在软件行业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程;通过预编译的方式和运行期间动态代理实现程序功能功能的统一维护的一种技术,AOP是OOP的延续,是一种思想,是软件开发中的一个热点。 举个例子: 设计一个日志打印模块,按照OOP思想,我们会设计一个打印日志LogUtils类,然后在需要打印的地方引用即可。看起来没有任何问题吧,但是这个类是横跨并

正则表达式--位置

前言     正则除了匹配字符外,也可以匹配位置,位置即字符之间的间隔,如'it',的i和t之间即是一个位置 表现形式     ^:开头     $:结尾     \b:单词边界(\w与\W、\w与^或$之间)     \B:对\b取反     (?=l):先行断言     (?!l):先行否定断言 ^     如果将it按位置拆分,则为''+i+''+'t'+''     ^表示第一个位置,即i

选择Rust的理由:从内存管理到抛弃抽象

引言:编程世界的革命性思维作为一名程序员,你一定遇到过这些糟心时刻: 程序运行到一半突然崩溃,提示"段错误" 多线程环境下数据莫名其妙被改乱 内存使用量不断增长,最后程序因为内存不足而崩溃 这些问题在C/C++中很常见,但在Rust中,它们大多在编译阶段就被消灭了&#x