这个博客是怎么搭的
从零到上线,这个博客的技术选型、目录结构、构建流程和踩过的坑。
Archive
41 篇
从零到上线,这个博客的技术选型、目录结构、构建流程和踩过的坑。
更新: 把该修的问题都修了之后依然可能复现,可能当时好了,过一段时间又坏了,估计要重装电脑才能解决了。 目前的方案是回到NAT模式,…
要讨论Redis事务,首先要明确讨论的是什么,我们实质上在讨论“Redis有没有操作能实现ACID,或者部分实现ACID”,在这个定义的基础上,可以找到两个知识点
DDIA 第一章笔记:操作型与分析型系统、数据仓库与数据湖、云数据系统、分布式系统与微服务的取舍。
DDIA 第二章笔记:性能(响应时间与吞吐量)、可靠性、可伸缩性与可维护性这些非功能需求该如何定义和衡量。
招新平台的公告设计确实简单,除了发布、查询、编辑功能以外,对用户的已读/未读状态维护得并不完整,用户的已读状态在客户端保存,通过轮询发送本地已读公告id请求服务端未读id,如果有新未读id,直接显示
1NF(第一范式):属性不可再分。 - 2NF(第二范式):1NF 的基础之上,消除了非主属性对于码的部分函数依赖。 - 3NF(第三范式):3NF 在 2NF 的基础之上,…
在递增或者递减的一列数中,依次用目前区间最中间的数跟target比较,根据比较结果更新区间,再循环这个过程,知道找到最中间数=target或区间长度为0为止
给定一个含有 n 个正整数的数组和一个正整数 target 。…
在学动态规划之前,要先学回溯算法,作为动态规划的基础
<u堆(heap)</u是一种满足特定条件的完全二叉树,主要可分为两种类型
二叉树(binary tree)是一种非线性数据结构,代表“祖先”与“后代”之间的派生关系,体现了“一分为二”的分治逻辑。与链表类似,二叉树的基本单元是节点,每个节点包含值、…
题意:反转一个单链表。 示例: 输入: 1-2-3-4-5-NULL 输出: 5-4-3-2-1-NULL
<u分治(divide and conquer)</u,全称分而治之,是一种非常重要且常见的算法策略。分治通常基于递归实现,包括“分”和“治”两个步骤
给你一个数组arr一个权重值k。有一个数m,m的值是1......n,然后针对这个数组你可以进行n-m次删除某个元素的操作,也可以不删除,每删除一个元素需要花费k,针对删除后的新数组,…
哈希表是根据关键码的值而直接进行访问的数据结构
用变量标记窗口的右区间,右区间每次向右挪动一位,验证左区间能否缩小,如果可以就缩小,然后记录此时的长度,维护一个最小长度变量就可以了
List类表示有序可重复集合,特点是有序
我们需要格外注意的是 .class-机器码 这一步。在这一步 JVM 类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对比较慢。而且,…
针对代码,逐行从上到下计算代码一共的操作次数即可。此操作数量中的各种系数、常数项都可以忽略。根据此原则,可以总结出以下计数简化技巧
线程共享的,里面装着所有的对象(现代编译器会进行一定的优化,一部分对象会直接放到栈里面)
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。…
给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。…
1. 最左匹配原则失效:在使用联合索引时,如果查询条件没有遵循索引的最左前缀规则,即没有从索引的最左边列开始匹配,索引将不会生效。 2. 使用函数或计算导致索引失效:对索引列使用函数或进行计算操作时,…
1. 尽量避免使用 SELECT \,只查询需要的列。 2. 使用 JOIN 代替子查询,减少嵌套查询的层次。 3. 避免在 WHERE 子句中使用 LIKE '%value%',这会导致全表扫描。…
给定一个整数数组 Array,请计算该数组在每个指定区间内元素的总和
Role-Based Access Control:基于角色的权限控制。通过角色关联用户,角色关联权限的方式间接赋予用户权限。在后端开发场景下,权限即表示对某path的可访问性or能访问到什么地步。…
Redis为了保证高可用/提高性能,需要将多个Redis节点作为集群处理,那么常见的方法有三种:主从复制、哨兵模式、集群模式
MemBased、单线程事件循环和 IO 多路复用
如果要在数组中删除符合某特定条件的元素,暴力解法是用一层循环遍历数组,如果符合条件,就开一层循环把后面的元素全部往前移动,然后继续遍历。时间复杂度是O(n^2)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法
Spring AOP(面向切面编程)是一种编程范式,它允许你在不修改业务逻辑代码的情况下,对业务逻辑进行横向切入。它通过预定义的方式(切面)来拦截业务逻辑的执行,…
Spring Security是Spring项目组提供的安全服务框架,核心功能包 括认证和授权。它为系统提供了声明式安全访问控制功能,减少了 为系统安全而编写大量重复代码的工作
Spring 框架的核心模块,也可以说是基础模块,主要提供 IoC 依赖注入功能的支持
在我使用的gdb版本(GNU gdb (GDB) 15.2)中,无需额外配置即可启用
在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评支付系统中,数据日渐增长,对数据分库分表后需要有一个唯一 ID 来标识一条数据或消息,数据库的自增 ID 显然不能满足需求;…
在注册账号、重置密码、验证身份等场景下,需要利用验证码验证用户身份,在确认用户操作后再执行下一步操作
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。…
这次主要掌握C++中栈的相关操作 在C++中,栈的最常用操作如下表
注解提供了一系列数据用来装饰程序代码(类、方法、字段等),但是注解并不是所装饰代码的一部分,它对代码的运行效果没有直接影响,由编译器决定该执行哪些操作
通信故障、请求三态(成功、失败、超时)、节点故障等,这些问题会导致一系例数据不一致的问题,那么分布式一致性算法就是用来解决这个问题的