Sirius
Sirius
Home avatar

Fan的博客

Mermaid语法

Mermaid 是一种轻量级的、基于文本的图表绘制工具,它允许你使用类似 Markdown 的简洁语法来创建各种复杂的图表和可视化内容。由于其学习成本低、易于集成和版本控制的特性,Mermaid 在开发者社区和技术文档中广受欢迎。

Golang context 原理

  1. 取消传播 (Cancellation Propagation):

    • 这是 context 最核心和最常用的功能。当一个操作因为某种原因(例如,用户取消了请求、上游服务超时或出错、父操作不再需要结果)需要被终止时,可以使用 context 来通知所有相关的、为此操作派生出来的 Goroutine 停止它们的工作。
    • 这有助于避免不必要的资源消耗(如 CPU、内存、网络连接),并及时释放资源。例如,一个 HTTP 请求可能触发多个后台 Goroutine 去查询数据库、调用其他微服务等。如果客户端断开了连接,服务器应该能够取消这些后台任务。
  2. 超时控制 (Timeout/Deadline Management):

MySQL RR 中依然存在幻读的场景

MySQL 的 REPEATABLE READ (RR) 隔离级别通过临键锁 (Next-Key Lock) 机制,在很大程度上解决了幻读问题。不过在某些特定场景下,“幻读”现象依然会发生。

Linux下的虚拟网卡TUN TAP

通常的socket编程,面对的都是物理网卡,Linux下其实很容易创建虚拟网卡;本文简单介绍一下Linux虚拟网卡的概念,并以tun设备为例在客户端和服务器端分别建立一个实际的虚拟网卡,最终实现一个从客户端到服务器的简单的IP隧道,希望本文能对理解虚拟网卡和IP隧道有所帮助,本文将提供完整的源程序;

常见技术指标计算

在技术分析中,移动平均线(MA)、相对强弱指数(RSI)、平滑异同移动平均线(MACD)和随机指标(KDJ)是投资者和交易员最常使用的技术指标。它们通过不同的数学模型,帮助分析者判断市场趋势、动量和超买超卖状态。以下将分别详细介绍这些指标的计算方法。

简单移动平均线(Simple Moving Average, SMA)是最基础的趋势指标之一,它计算指定时间周期内收盘价的算术平均值。

计算公式:

MySQL学习笔记

mysql学习理解+ 课程笔记: 黑马程序员 https://www.bilibili.com/video/BV1Kr4y1i7ru/?share_source=copy_web&vd_source=e43c1de8e41e1499f7f3fdb03fba0eb6 黑马程序员 MySQL数据库入门到精通,

特别感谢:

基础篇

  • DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)
  • DML: 数据操作语言,用来对数据库表中的数据进行增删改
  • DQL: 数据查询语言,用来查询数据库中表的记录
  • DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限

数据定义语言

Golang 垃圾回收

本文对 Go 语言垃圾回收(GC)的整体流程进行一次清晰的总结。

Go 的 GC 设计核心目标是实现极低的延迟,尤其是要最大限度地缩短“Stop-The-World”(STW,即程序完全暂停)的时间。为了达到这个目标,它采用的是并发三色标记清除(Concurrent Tri-color Mark-and-Sweep)算法,和混合写屏障(Hybrid Write Barrier)