<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
    <channel>
      <title>Labulakalia&#039;s Blog</title>
      <link>https://blog.medianex.app</link>
      <description>最近的10条笔记 on Labulakalia&#039;s Blog</description>
      <generator>Quartz -- quartz.jzhao.xyz</generator>
      <item>
    <title>Wasi介绍</title>
    <link>https://blog.medianex.app/Wasi%E4%BB%8B%E7%BB%8D</link>
    <guid>https://blog.medianex.app/Wasi%E4%BB%8B%E7%BB%8D</guid>
    <description><![CDATA[ WebAssembly是一种基于堆栈的二进制类汇编语言，可以接近原生的性能运行，可以在Web浏览器上运行，并且C/C++、Rust、Golang、C#等语言可以直接编译为Wasm，大大提高了Web平台的扩展性。 wasi Wasm的初始目标是为Web浏览器服务，但是随着Wasm的发展，一个新的标准出现了，WASI（WebAssembly System Interface），WASI将wasm带到了Web浏览器之外的地方，做到了真正的one build, run everything，不过目前还有很多局限性，例如IO、网络都有很大的限制，基本不能使用。 wazero 是一个WebAssembly... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>WSL安装alpine,docker</title>
    <link>https://blog.medianex.app/Wsl-%E5%AE%89%E8%A3%85Alpine%E5%8F%91%E8%A1%8C%E7%89%88%E5%B9%B6%E5%90%AF%E5%8A%A8docker</link>
    <guid>https://blog.medianex.app/Wsl-%E5%AE%89%E8%A3%85Alpine%E5%8F%91%E8%A1%8C%E7%89%88%E5%B9%B6%E5%90%AF%E5%8A%A8docker</guid>
    <description><![CDATA[ 启动Windows Linux子系统 安装适用于 Linux 的 Windows 子系统 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 启用“虚拟机平台”可选组件 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 设置WSL2为默认版本 wsl --set-default-version 2 下载Alpine Image $VERS... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>在Cloudflare worker免费部署Golang服务</title>
    <link>https://blog.medianex.app/cloudflare_deploy_golang_by_wasm</link>
    <guid>https://blog.medianex.app/cloudflare_deploy_golang_by_wasm</guid>
    <description><![CDATA[ 目前Cloudflare Worker只支持四种Lang Runtime和WebAssembly,那么可以编译为Wasm的语言也就可以部署到Worker里 部署前环境准备 Node.js How to Install Tinygo安装 由于官方Golang编译为Wasm的优化实在太差劲，所以直接采用Tinygo来编译Wasm,Tinygo先会将Golang代码转换为LLVM的中间表示(LR)，然后通过LLVM的后端(LLC)，然后将这些IR编译为标准的WebAssembly指令，所以Tinygo编译出来的Wasm文件比官方Golang编译的文件小很多。 Tinygo Install 由于最新版... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>Welcome My Blog</title>
    <link>https://blog.medianex.app/</link>
    <guid>https://blog.medianex.app/</guid>
    <description><![CDATA[  ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>使用iPXE网络安装Ubuntu</title>
    <link>https://blog.medianex.app/%E4%BD%BF%E7%94%A8iPXE%E7%BD%91%E7%BB%9C%E5%AE%89%E8%A3%85Ubuntu</link>
    <guid>https://blog.medianex.app/%E4%BD%BF%E7%94%A8iPXE%E7%BD%91%E7%BB%9C%E5%AE%89%E8%A3%85Ubuntu</guid>
    <description><![CDATA[  Docker版本 ipxe_docker 环境准备 1.下载ubuntu iso Download 镜像，我这里选择的是ubuntu-24.04.4-live-server-amd64.iso 2.Docker 环境 从iso提取网络引导文件 挂载iso镜像 mkdir -p iso_mount data/boot data/boot/iso mount -o loop ubuntu-24.04.4-live-server-amd64.iso iso_mount 复制网络引导需要的文件 cp iso_mount/casper/vmlinuz iso_mount/casper/initrd d... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>Mysql InnoDB锁介绍</title>
    <link>https://blog.medianex.app/%E6%95%B0%E6%8D%AE%E5%BA%93/Mysql-InnoDB%E9%94%81%E4%BB%8B%E7%BB%8D</link>
    <guid>https://blog.medianex.app/%E6%95%B0%E6%8D%AE%E5%BA%93/Mysql-InnoDB%E9%94%81%E4%BB%8B%E7%BB%8D</guid>
    <description><![CDATA[ 共享锁和排他锁 Innodb实现标准行级锁定，其中有两种类型的锁，即共享锁（S）和排他锁（X） 共享锁允许持有锁的事务读取一行 排他锁允许持有锁的事务更新或删除一行 意向锁 InnoDB支持多粒度锁定，允许行锁和表锁共存。为了使更多的锁粒度，InnoDB使用意向锁，意向锁是表级锁，指示事务稍后需要对表中的行使用哪种类型的锁（共享锁和排他锁） 意向排他锁（IX） SELECT … FOR UPDATE设置IX锁 意向共享锁（IS） SELECT …FOR SHARE设置IS锁 X、S、IS、IX表级锁类型兼容性如下表 | X | IX | S | IS X 冲突 | 冲突 | 冲突 | 冲突 I... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>Docker原理</title>
    <link>https://blog.medianex.app/%E7%AC%94%E8%AE%B0/Docker</link>
    <guid>https://blog.medianex.app/%E7%AC%94%E8%AE%B0/Docker</guid>
    <description><![CDATA[ 与传统的虚拟化技术相比1.与宿主使用同一个内核，性能损耗更小2.不需要指令模拟化3.轻量级隔离，在隔离的同时还提供共享机制，以实现容器和宿主的资源共享 容器时在linux本机运行，并与其他容器共享主机的内核，它运行的一个独立的进程，不占用其他任何可执行文件的内存，非常轻量。 虚拟机运行的是一个完整的操作系统，通过虚拟管理程序对主机资源进行虚拟访问，相比i之下需要 的资源更多。 docker本质就是宿主机的一个进程，docker通过namespace实现资源隔离，通过cgroup实现资源限制，通过COW（Copy On Write）实现了高效的文件操作 Namespace UTS 主机名与域名 ... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>Golang Gc</title>
    <link>https://blog.medianex.app/%E7%AC%94%E8%AE%B0/Golang-GC</link>
    <guid>https://blog.medianex.app/%E7%AC%94%E8%AE%B0/Golang-GC</guid>
    <description><![CDATA[ GC（Garbage Collection） 一种内存管理机制， STW（Stop the word） GC期间某个阶段会停止所有赋值器，中断你的程序逻辑， Root对象 根对象是指赋值器不需要通过其他i对象就可以直接访问的对象，通过Root对象，可以追踪到其他的存活对象。常见的root对象有 全局变量 程序在编译器就能确定的那些存在于程序整个生命周期的对象 执行栈 每个goroutinue都拥有自已 的执行栈，这些执行栈上包含栈上的变量及堆内存指针。 三色标记法 1 初始化所有的对象被标记为白色 2.GC开始，遍历rootset，将直接可达的对象标记为灰色3.遍历灰色对象，将直接可达对象标记... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>Golang Map</title>
    <link>https://blog.medianex.app/%E7%AC%94%E8%AE%B0/Golang-Map</link>
    <guid>https://blog.medianex.app/%E7%AC%94%E8%AE%B0/Golang-Map</guid>
    <description><![CDATA[ 链表法 如果key映射到了相同的位置，然后就把这些key 和 value存在一张链表里 golang的header存储了map有关的元数据 len 当前pma中键值对的大小 bucket array 存储数据的bucket数组，每个bucket本身可以存储多个键值对，而不是指向一个键值对的链表 hash seed 用于哈希计算的的种子，用于分散数据并提高安全性 通常一个bucket可以存储8个键值对，这些键值对是根据键的哈希值分配到对应的bucket， overflow bucket 当一个bucket的数据数量超过bucket的容量时，会创建overflow bucket来存储多余的数据，这... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item><item>
    <title>Redis数据结构</title>
    <link>https://blog.medianex.app/%E7%AC%94%E8%AE%B0/Redis</link>
    <guid>https://blog.medianex.app/%E7%AC%94%E8%AE%B0/Redis</guid>
    <description><![CDATA[ String、Hash、List、Set、Zset、BitMap、HyperLog、Geo、Stream 常见的五种数据结构及其实现 String 底层的数据结构主要实现是SDS（简单动态字符串），可以保存文本数据、二进制数据，获取字符串长度时间复杂度是O(1)，并且会自动扩容 List 3.2版本后，List数据类型底层数据结构只有quicklist实现。替代了双向链表。 quick实际上i是ziplist和linktlist的混合体，他将linkedlist按段切分，每一段使用ziplist来紧凑存储，多个ziplist之间使用双向指针串接起来 Hash Hash类型的底层结构是由压缩列表... ]]></description>
    <pubDate>Sat, 16 May 2026 03:48:22 GMT</pubDate>
  </item>
    </channel>
  </rss>