2026-01-23
后端技术
00

相关信息

算法题实现

题目一

  • 给定一个旋转的有序数组,比如{7,8,9,10,1,2,3} // 是{1,2,3,7,8,9,10}旋转之后得到的, // 在数组中查找是否存在元素key。假定数组中不存在重复元素。 golang进行实现
2026-01-15
网络协议
00

相关信息

本章节主要学习长连接、短连接、web_socket的区别

  • 短连接
    • 模式:建立连接 -> 发送数据 -> 关闭连接。
    • 背景:早期的 HTTP/1.0。每请求一个网页上的图片或 CSS,都要经历一次 TCP 三次握手和四次挥手。
    • 缺点:开销极大。频繁地创建和销毁连接非常耗费 CPU 和内存资源。
  • 长连接
    • 模式:建立连接 -> 发送数据 -> 保持连接 -> 发送数据 -> ... -> 关闭连接。
    • 背景:HTTP/1.1 默认开启。在 HTTP Header 中加入 Connection: keep-alive。
    • 特点:
      • 复用:同一个 TCP 连接可以发送多个 HTTP 请求。
      • 半双工:虽然连接没断,但依然是“请求-响应”模式。必须客户端先问,服务端才能答。
      • 阻塞:前面的请求没处理完,后面的请求就得排队(Head-of-line blocking)
  • WebSocket (全双工长连接)
    • 模式:HTTP 握手升级 -> 建立持久 TCP 连接 -> 双向实时传输。
    • 背景:为了解决“服务端主动推送到客户端”的问题(如聊天、实时股票)。
    • 特点:
      • 全双工:客户端和服务器可以同时给对方发消息,不需要等对方回应。
      • 协议升级:它开始时借用 HTTP 的 80/443 端口进行握手,握手成功后就“脱离” HTTP,转为 WebSocket 协议。
      • 轻量:数据头非常小,适合频繁发送短消息。
2026-01-15
网络协议
00

相关信息

ipc(进程间的通信)

  • ipc的常见方式有信号量、pipe(管道)、消息队列、共享内存、套接字等
2026-01-15
后端技术
00

相关信息

堆栈的区别

内存分配的区别

  • 栈内存
    • 分配方式:由编译器自动分配和释放
    • 存储内容: 函数的局部变量、参数值、返回地址
    • 生长方向: 向低地址生长
    • 连续的内存区域
    • 异常类型: 栈溢出
    • 访问速度: 快
  • 堆内存
    • 分配方式: 由程序员手动申请和释放(go中的new),go中由垃圾回收期处理
    • 存储内容: 动态生成的对象,大型数组
    • 访问速度:慢(随机访问较多)
  • go中堆栈的情况
2026-01-13
后端技术
00

背景

随着各种LLM的普及,ai agent的开发逐渐成为后端开发的必备,所以需要掌握相关的知识是后端所必须的 这里主要记录一些agent开发相关的基础知识学习

技术架构

  • python 相关框架 langChain LangGraph
  • golang 相关框架 eino 是字节跳动开源的一款基于 Go 语言 的大模型(LLM)应用开发框架