2026-02-08
后端技术
00

分布式

单机架构的三大问题

  • 数据量上限
    • 磁盘、内存、CPU 都有限
  • 性能瓶颈
    • 查询再快,也只能一台机器扛
  • 单点故障
    • 机器一挂,服务直接不可用

单机扛不住,所以需要分布式

2026-02-08
后端技术
00

相关信息

es基础知识点学习(Elasticsearch)

为什么要使用es

  • 先抛出一个问题

如果数据库已经能 like '%关键词%' 查询了,为什么还要 ES?

  • 可以总结为三点
    • 海量数据(千万、上亿)
    • 高性能搜索(毫秒级)
    • 复杂搜索需求(全文检索、相关性排序、高亮、分词)

ES的核心概念

elasticsearchmysql
Index(索引)database
Document(文档)row(行)
Field(字段)column(行)
Mapping表结构
Shard(分片)数据拆分
Replic(副本)数据备份
2026-02-06
后端技术
00

二叉搜索树删除节点实现

二叉搜索树(左子树比根节点小,右子树比根节点大) 里面查找并删除一个值和节点, 删除后保持搜索树结构,返回树的跟节点,假定树节点的值不重复

golang实现

js
type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func deleteNode(root *TreeNode, key int) *TreeNode { if root == nil { return nil } if key < root.Val { root.Left = deleteNode(root.Left, key) } else if key > root.Val { root.Right = deleteNode(root.Right, key) } else { // 找到要删除的节点 if root.Left == nil { return root.Right } if root.Right == nil { return root.Left } // 左右子树都存在:找右子树最小节点 minNode := root.Right for minNode.Left != nil { minNode = minNode.Left } root.Val = minNode.Val root.Right = deleteNode(root.Right, minNode.Val) } return root }
2026-01-28
后端技术
00

每日温度

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1:

输入: temperatures = [73,74,75,71,69,72,76,73] 输出: [1,1,4,2,1,1,0,0] 示例 2:

输入: temperatures = [30,40,50,60] 输出: [1,1,1,0] 示例 3:

输入: temperatures = [30,60,90] 输出: [1,1,0]

js
func dailyTemperatures(temperatures []int) []int { n := len(temperatures) res := make([]int, n) stack := []int{} // 存下标 for i := 0; i < n; i++ { for len(stack) > 0 && temperatures[i] > temperatures[stack[len(stack)-1]] { prev := stack[len(stack)-1] stack = stack[:len(stack)-1] res[prev] = i - prev } stack = append(stack, i) } return res }
2026-01-23
ai 学习
00

ai概念学习

对于程序员来说,掌握ai相关的知识是现在以及未来必须具备的能力,所以先要掌握ai的相关概念

总览

LLM 是大脑,Prompt 是说明书,Context / Memory 是它记住的事

Agent 是会自己干活的 AI,Skill 是工具

Workflow / LangChain / MCP 是把这些东西组织起来的“系统”。

RAG (发音为软安哥)

  • 概念:Retrieval-Augmented Generation(检索增强生成)
  • 什么是RAG:
    • 一种结合 检索(Retrieval) 和 生成(Generation) 的自然语言处理技术。
    • 先从知识库或文档库中检索相关信息,再基于这些信息生成回答或文本。
    • 解决纯生成模型可能“凭空编造”(hallucination)问题,提高回答准确度。
  • 解决什么问题
    • 用来解决:模型不知道 / 不准 / 不能瞎编

MCP 模型上下文协议(Model Context Protocol)

  • 概念:一个统一的通用协议,给 AI 接工具的“统一插头”
    • 工具怎么描述
    • 参数怎么传
    • 返回结果怎么给模型
  • MCP 是标准,Skill 是具体工具

Function Calling

  • 概念: AI 调用程序函数的能力
  • AI 不自己算,而是叫程序来算

skill

  • 对于小白来说,可以先理解为skill是大模型可以动态调用的工作流(区别n8n:n8n是一开始就定义好的workflow)