博客重启
Hexo博客重建为啥还是Hexo博客之前是使用Hexo+Github Page搭建的 使用Github Page肯定是没有问题,因为只有白嫖的东西才能持久运行,国内访问速度不关键,常年你懂的 至于静态内容生成框架,有考虑过Hugo,因为生成速度比Hexo快很多,调试方便,同时安装起来比较方便(npm那堆东西恶心一批)。但是Hexo众多主题还是留住我了哈哈哈(真香警告) 新的主题之前的配置博客已经很久了,很多东西已经忘记了,所以这次打算重新配置下,使用新的主题,新年新气象。 hexo-theme-butterfly功能丰富的Hexo博客主题Features: 卡片式两栏 UI 设计 响应式布局 支持搜索和 TOC 展示 可自定义博客主题色 支持 Disqus、Gitalk、Valine、Waline 等评论系统 丰富的动画效果 内置 Mathjax 和 Katex Butterfly 主题的开发基于 Melody 主题,在此基础上做了两栏设计,并带来了很多一眼看不出的实用功能。同时,作者也提供了一些文档便于大家安装和使用,涵盖入门至进阶需求。但我认为这些文档不够连贯,有些功...
【翻译】MDN-全局对象之Promise
借助AI翻译自:Global_Objects - Promise - JavaScript | MDN 整体上翻译的一般,作者已细读过,并且尽量修改了译文,但是根据译文和作者的水平,目前整篇文章翻译有待优化。 The Promise object represents the eventual completion (or failure) of an asynchronous operation and its resulting value. Promise 对象表示一个异步操作最终完成(或失败),以及该异步操作产生的结果值。 To learn about the way promises work and how you can use them, we advise you to read Using promises first. 想要了解 Promise 的工作方式以及使用方法,我们建议你先阅读《Using Promise》。 DescriptionA Promise is a proxy for a value not necessarily known when ...
【翻译】【NodeJS】事件循环中的Microtask和Macrotask
借助 AI 翻译自Event loop: microtasks and macrotasks,以供打下基础学习 Pi Coding Agent 代码 Browser JavaScript execution flow, as well as in Node.js, is based on an event loop. 浏览器以及 Node.js 中的 JavaScript 执行流程都基于事件循环(event loop)。 Understanding how event loop works is important for optimizations, and sometimes for the right architecture. 理解 event loop 的工作原理对于性能优化十分重要,有时对于搭建合理的架构也同样关键。 In this chapter we first cover theoretical details about how things work, and then see practical applications of that knowledg...
【翻译】【Pi Agent】打造有主见的极简coding agent的经验总结
借助 AI 翻译自What I learned building an opinionated and minimal coding agent,以供学习 Pi agent 的基本理念。 In the past three years, I’ve been using LLMs for assisted coding. If you read this, you probably went through the same evolution: from copying and pasting code into ChatGPT, to Copilot auto-completions (which never worked for me), to Cursor, and finally the new breed of coding agent harnesses like Claude Code, Codex, Amp, Droid, and opencode that became our daily drivers in 2025. 过去三年里,我一直在使用 LLM ...
播客音频提取实体方案
一、背景需求:指定播客频道,从以往所有播客中提取出实体列表,比如公司列表。 播客音频规模:数量大概 500 条,每个时长在 1 小时~2 小时之间 速度要求:离线处理,不需要实时快速处理,但是离线处理要尽量快 预算:0 二、方案总体方案: 根据频道获取所有播客列表 获取所有音频 所有音频转文字 使用 llm 根据文字提取出实体列表 三、获取播客列表和音频找到播客频道的 rss,rss 里面有该频道的所有播客列表比如下面的: 知行小酒馆:https://feed.xyzfm.space/j8yp8gxkmgqr 中场沉思录:https://feed.xyzfm.space/jtvfkcxqmnkg 无人知晓:https://feed.xyzfm.space/ypn9dydpbxpc 面基:https://feed.xyzfm.space/6hpdgggtxpxb 里面包括了该频道所有的播客列表,每个播客都有具体的信息还有音频的下载链接,并且 rss 和音频下载链接直接访问就行,不需要鉴权 刚开始的时候我是直接调用小宇宙的接口来获取播客列表,然后得到每一集的详细页面,接...
【翻译】NumPy与数据表示可视化入门
借助 AI 翻译自 A Visual Intro to NumPy and Data Representation,以供学习 Numpy 的基本概念。 The NumPy package is the workhorse of data analysis, machine learning, and scientific computing in the python ecosystem. It vastly simplifies manipulating and crunching vectors and matrices. Some of python’s leading package rely on NumPy as a fundamental piece of their infrastructure (examples include scikit-learn, SciPy, pandas, and tensorflow). Beyond the ability to slice and dice numeric data, mastering numpy wil...
【翻译】MDN-使用Promise
借助AI翻译自Using Promise - JavaScript | MDN A Promise is an object representing the eventual completion or failure of an asynchronous operation. Since most people are consumers of already-created promises, this guide will explain consumption of returned promises before explaining how to create them. Promise 是一个对象,代表一次异步操作最终的完成或失败。由于大多数人都是直接使用别人创建好的 Promise,本指南会先讲解如何消费返回的 Promise,再讲解如何创建它们。 Essentially, a promise is a returned object to which you attach callbacks, instead of passing callbacks into...
【翻译】MDN-数字音频基本概念
借助 AI 翻译自MDN Web Docs-Digital audio concepts,以供学习数字音频的基本概念。 Representing audio in digital form involves a number of steps and processes, with multiple formats available both for the raw audio and the encoded or compressed audio which is actually used on the web. This guide is an overview examining how audio is represented digitally, and how codecs are used to encode and decode audio for use on the web.将音频以数字形式呈现需要历经诸多步骤与流程,原始音频以及 Web 实际使用的经过编码、压缩处理的音频均拥有多种可用格式。本指南整体梳理了音频的数字化呈现方式,以及编解码器如何对音频进...
Tracking history with git in a team scenario
Git workflowThis article walks through a practical Git workflow for a small developmentteam. We will follow three developers—Alice(admin), Bob(dev), and Carol(dev). They work on new features, handle an urgent security fix, and integrate theirwork into the main branch using commands like rebase, cherry-pick. Setup the remote repoTo simulate a remote server for this local test, we’ll create a bare repository. 123456789git init --bare remote-repo.gitfor user in Alice Bob Carol; do git clone r...
CMU445-Project2-BPlusTree-Delete-Single-threaded
单线程版 B+树删除操作 Delete在删除时用到两个重要的属性是,也就是node最多有多少个search-key value,最少有多少个,根据这个可以决定采用什么措施去维持整个树的平衡 Each leaf can hold up to n−1 search-key values. We allow leaf nodes to contain as few as ⌈(n−1)/2⌉ search-key values. Each nonleaf node in the tree (other than the root) has between ⌈n/2⌉ and n children. 下面举例课本中的删除过程,粗略了解一下删除的过程: 已经有一棵B+树如下,从leaf node可知N=4 所以leaf node最多放3个search-key value,最少2个search-key value;nonleaf node最多4个children,最少2个children。 Coalesce一开始要删除Srini这个Index,首先查找到Srini位于哪个leaf no...